Unverified Commit 710b8e22 authored by Kai Chen's avatar Kai Chen Committed by GitHub
Browse files

Use different configs for proposal train/test (#587)

* use different configs for proposal train/test

* update configs for dcn

* update inf speed

* update inf speed in dcn, gn, htc

* update comparision

* keep backward compatibility
parent 14fc9f0f
...@@ -111,6 +111,13 @@ train_cfg = dict( ...@@ -111,6 +111,13 @@ train_cfg = dict(
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0, smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict(
nms_across_levels=False,
nms_pre=2000,
nms_post=2000,
max_num=2000,
nms_thr=0.7,
min_bbox_size=0),
rcnn=[ rcnn=[
dict( dict(
assigner=dict( assigner=dict(
...@@ -165,9 +172,9 @@ train_cfg = dict( ...@@ -165,9 +172,9 @@ train_cfg = dict(
test_cfg = dict( test_cfg = dict(
rpn=dict( rpn=dict(
nms_across_levels=False, nms_across_levels=False,
nms_pre=2000, nms_pre=1000,
nms_post=2000, nms_post=1000,
max_num=2000, max_num=1000,
nms_thr=0.7, nms_thr=0.7,
min_bbox_size=0), min_bbox_size=0),
rcnn=dict( rcnn=dict(
......
...@@ -111,6 +111,13 @@ train_cfg = dict( ...@@ -111,6 +111,13 @@ train_cfg = dict(
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0, smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict(
nms_across_levels=False,
nms_pre=2000,
nms_post=2000,
max_num=2000,
nms_thr=0.7,
min_bbox_size=0),
rcnn=[ rcnn=[
dict( dict(
assigner=dict( assigner=dict(
...@@ -165,9 +172,9 @@ train_cfg = dict( ...@@ -165,9 +172,9 @@ train_cfg = dict(
test_cfg = dict( test_cfg = dict(
rpn=dict( rpn=dict(
nms_across_levels=False, nms_across_levels=False,
nms_pre=2000, nms_pre=1000,
nms_post=2000, nms_post=1000,
max_num=2000, max_num=1000,
nms_thr=0.7, nms_thr=0.7,
min_bbox_size=0), min_bbox_size=0),
rcnn=dict( rcnn=dict(
......
...@@ -69,6 +69,13 @@ train_cfg = dict( ...@@ -69,6 +69,13 @@ train_cfg = dict(
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0, smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict(
nms_across_levels=False,
nms_pre=2000,
nms_post=2000,
max_num=2000,
nms_thr=0.7,
min_bbox_size=0),
rcnn=dict( rcnn=dict(
assigner=dict( assigner=dict(
type='MaxIoUAssigner', type='MaxIoUAssigner',
...@@ -88,9 +95,9 @@ train_cfg = dict( ...@@ -88,9 +95,9 @@ train_cfg = dict(
test_cfg = dict( test_cfg = dict(
rpn=dict( rpn=dict(
nms_across_levels=False, nms_across_levels=False,
nms_pre=2000, nms_pre=1000,
nms_post=2000, nms_post=1000,
max_num=2000, max_num=1000,
nms_thr=0.7, nms_thr=0.7,
min_bbox_size=0), min_bbox_size=0),
rcnn=dict( rcnn=dict(
......
...@@ -72,6 +72,13 @@ train_cfg = dict( ...@@ -72,6 +72,13 @@ train_cfg = dict(
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0, smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict(
nms_across_levels=False,
nms_pre=12000,
nms_post=2000,
max_num=2000,
nms_thr=0.7,
min_bbox_size=0),
rcnn=dict( rcnn=dict(
assigner=dict( assigner=dict(
type='MaxIoUAssigner', type='MaxIoUAssigner',
...@@ -91,9 +98,9 @@ train_cfg = dict( ...@@ -91,9 +98,9 @@ train_cfg = dict(
test_cfg = dict( test_cfg = dict(
rpn=dict( rpn=dict(
nms_across_levels=False, nms_across_levels=False,
nms_pre=12000, nms_pre=6000,
nms_post=2000, nms_post=1000,
max_num=2000, max_num=1000,
nms_thr=0.7, nms_thr=0.7,
min_bbox_size=0), min_bbox_size=0),
rcnn=dict( rcnn=dict(
......
...@@ -69,6 +69,13 @@ train_cfg = dict( ...@@ -69,6 +69,13 @@ train_cfg = dict(
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0, smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict(
nms_across_levels=False,
nms_pre=2000,
nms_post=2000,
max_num=2000,
nms_thr=0.7,
min_bbox_size=0),
rcnn=dict( rcnn=dict(
assigner=dict( assigner=dict(
type='MaxIoUAssigner', type='MaxIoUAssigner',
...@@ -88,9 +95,9 @@ train_cfg = dict( ...@@ -88,9 +95,9 @@ train_cfg = dict(
test_cfg = dict( test_cfg = dict(
rpn=dict( rpn=dict(
nms_across_levels=False, nms_across_levels=False,
nms_pre=2000, nms_pre=1000,
nms_post=2000, nms_post=1000,
max_num=2000, max_num=1000,
nms_thr=0.7, nms_thr=0.7,
min_bbox_size=0), min_bbox_size=0),
rcnn=dict( rcnn=dict(
......
...@@ -71,6 +71,13 @@ train_cfg = dict( ...@@ -71,6 +71,13 @@ train_cfg = dict(
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0, smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict(
nms_across_levels=False,
nms_pre=2000,
nms_post=2000,
max_num=2000,
nms_thr=0.7,
min_bbox_size=0),
rcnn=dict( rcnn=dict(
assigner=dict( assigner=dict(
type='MaxIoUAssigner', type='MaxIoUAssigner',
...@@ -90,9 +97,9 @@ train_cfg = dict( ...@@ -90,9 +97,9 @@ train_cfg = dict(
test_cfg = dict( test_cfg = dict(
rpn=dict( rpn=dict(
nms_across_levels=False, nms_across_levels=False,
nms_pre=2000, nms_pre=1000,
nms_post=2000, nms_post=1000,
max_num=2000, max_num=1000,
nms_thr=0.7, nms_thr=0.7,
min_bbox_size=0), min_bbox_size=0),
rcnn=dict( rcnn=dict(
......
...@@ -71,6 +71,13 @@ train_cfg = dict( ...@@ -71,6 +71,13 @@ train_cfg = dict(
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0, smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict(
nms_across_levels=False,
nms_pre=2000,
nms_post=2000,
max_num=2000,
nms_thr=0.7,
min_bbox_size=0),
rcnn=dict( rcnn=dict(
assigner=dict( assigner=dict(
type='MaxIoUAssigner', type='MaxIoUAssigner',
...@@ -90,9 +97,9 @@ train_cfg = dict( ...@@ -90,9 +97,9 @@ train_cfg = dict(
test_cfg = dict( test_cfg = dict(
rpn=dict( rpn=dict(
nms_across_levels=False, nms_across_levels=False,
nms_pre=2000, nms_pre=1000,
nms_post=2000, nms_post=1000,
max_num=2000, max_num=1000,
nms_thr=0.7, nms_thr=0.7,
min_bbox_size=0), min_bbox_size=0),
rcnn=dict( rcnn=dict(
......
...@@ -58,6 +58,13 @@ train_cfg = dict( ...@@ -58,6 +58,13 @@ train_cfg = dict(
pos_weight=-1, pos_weight=-1,
smoothl1_beta=1 / 9.0, smoothl1_beta=1 / 9.0,
debug=False), debug=False),
rpn_proposal=dict(
nms_across_levels=False,
nms_pre=2000,
nms_post=2000,
max_num=2000,
nms_thr=0.7,
min_bbox_size=0),
rcnn=dict( rcnn=dict(
assigner=dict( assigner=dict(
type='MaxIoUAssigner', type='MaxIoUAssigner',
...@@ -76,9 +83,9 @@ train_cfg = dict( ...@@ -76,9 +83,9 @@ train_cfg = dict(
test_cfg = dict( test_cfg = dict(
rpn=dict( rpn=dict(
nms_across_levels=False, nms_across_levels=False,
nms_pre=2000, nms_pre=1000,
nms_post=2000, nms_post=1000,
max_num=2000, max_num=1000,
nms_thr=0.7, nms_thr=0.7,
min_bbox_size=0), min_bbox_size=0),
rcnn=dict( rcnn=dict(
......
...@@ -137,7 +137,9 @@ class CascadeRCNN(BaseDetector, RPNTestMixin): ...@@ -137,7 +137,9 @@ class CascadeRCNN(BaseDetector, RPNTestMixin):
*rpn_loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore) *rpn_loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore)
losses.update(rpn_losses) losses.update(rpn_losses)
proposal_inputs = rpn_outs + (img_meta, self.test_cfg.rpn) proposal_cfg = self.train_cfg.get('rpn_proposal',
self.test_cfg.rpn)
proposal_inputs = rpn_outs + (img_meta, proposal_cfg)
proposal_list = self.rpn_head.get_bboxes(*proposal_inputs) proposal_list = self.rpn_head.get_bboxes(*proposal_inputs)
else: else:
proposal_list = proposals proposal_list = proposals
......
...@@ -175,7 +175,9 @@ class HybridTaskCascade(CascadeRCNN): ...@@ -175,7 +175,9 @@ class HybridTaskCascade(CascadeRCNN):
*rpn_loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore) *rpn_loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore)
losses.update(rpn_losses) losses.update(rpn_losses)
proposal_inputs = rpn_outs + (img_meta, self.test_cfg.rpn) proposal_cfg = self.train_cfg.get('rpn_proposal',
self.test_cfg.rpn)
proposal_inputs = rpn_outs + (img_meta, proposal_cfg)
proposal_list = self.rpn_head.get_bboxes(*proposal_inputs) proposal_list = self.rpn_head.get_bboxes(*proposal_inputs)
else: else:
proposal_list = proposals proposal_list = proposals
......
...@@ -108,7 +108,9 @@ class TwoStageDetector(BaseDetector, RPNTestMixin, BBoxTestMixin, ...@@ -108,7 +108,9 @@ class TwoStageDetector(BaseDetector, RPNTestMixin, BBoxTestMixin,
*rpn_loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore) *rpn_loss_inputs, gt_bboxes_ignore=gt_bboxes_ignore)
losses.update(rpn_losses) losses.update(rpn_losses)
proposal_inputs = rpn_outs + (img_meta, self.test_cfg.rpn) proposal_cfg = self.train_cfg.get('rpn_proposal',
self.test_cfg.rpn)
proposal_inputs = rpn_outs + (img_meta, proposal_cfg)
proposal_list = self.rpn_head.get_bboxes(*proposal_inputs) proposal_list = self.rpn_head.get_bboxes(*proposal_inputs)
else: else:
proposal_list = proposals proposal_list = proposals
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment