faster-rcnn-pytorch icon indicating copy to clipboard operation
faster-rcnn-pytorch copied to clipboard

关于小目标检测和input_shape的问题?

Open ChenMaolong opened this issue 2 years ago • 5 comments

大佬,我做对比试验可以将[faster-rcnn-pytorch]中input_shape改为 input_shape = [608, 608] 然后在其他程序里面也都改为 input_shape = [608, 608] 吗?这里nets.rpn.py里面class ProposalCreator(): def init( self, mode, nms_iou = 0.7, n_train_pre_nms = 12000, n_train_post_nms = 600, n_test_pre_nms = 3000, n_test_post_nms = 300, min_size = 16

):

这里 n_train_post_nms = 600,需要改为608吗? 我map很差,是不是input_shape = [608, 608]最好设置为600,因为我检测小目标,50冻结250解冻训练,24.18% = nodule AP || score_threhold=0.5 : F1=0.37 ; Recall=40.34% ; Precision=34.04%太低了, 还有代码中你说 # 如果想要检测小物体,可以减小anchors_size靠前的数。 # 比如设置anchors_size = [4, 16, 32],这里utils.anchors.py中# 生成基础的先验框 #--------------------------------------------# #def generate_anchor_base(base_size=16, ratios=[0.5, 1, 2], anchor_scales=[8, 16, 32]): def generate_anchor_base(base_size=16, ratios=[0.5, 1, 2], anchor_scales=[4, 16, 32]): anchor_base = np.zeros((len(ratios) * len(anchor_scales), 4), dtype=np.float32) 也需要改anchors_size = [4, 16, 32]吗? 我改了后效果很差(24.18% = nodule AP || score_threhold=0.5 : F1=0.37 ; Recall=40.34% ; Precision=34.04%),很多map_out/detection-results里面没检测出来是空白的,我的map_out/ground-truth中基本都是nodule 259 98 263 102这样小的(4*4),我设置anchors_size多少合适啊?

ChenMaolong avatar Oct 12 '22 01:10 ChenMaolong

我很难理解你的意思

bubbliiiing avatar Oct 16 '22 15:10 bubbliiiing

你默认参数试过?

bubbliiiing avatar Oct 16 '22 15:10 bubbliiiing

我很难理解你的意思

呃,就是我anchorsize改了,然后检测效果很不好,单类别小目标检测训练300epoch的map只有二十,是哪参数还得改吗?另外能inputshape608×608吗,这样的话除了改inputshape还需要改什么参数?

ChenMaolong avatar Oct 16 '22 16:10 ChenMaolong

你默认参数试过?

试过,效果还是很差,即使到600epoch还是二十多太低了,会是什么问题?

ChenMaolong avatar Oct 16 '22 16:10 ChenMaolong

啊这,要不换个模型试试

bubbliiiing avatar Oct 22 '22 16:10 bubbliiiing