提交 399b7846 编写于 作者: W Wenyu 提交者: GitHub

Revert "add gt as proposals for cascade (#6901)"

This reverts commit dafd365a.
上级 78f27c28
......@@ -98,8 +98,6 @@ CascadeHead:
reg_class_agnostic: False
stage_loss_weights: [1, 0.5, 0.25]
loss_normalize_pos: True
add_gt_as_proposals: [True, True, True]
BBoxAssigner:
batch_size_per_im: 512
......
......@@ -163,8 +163,7 @@ class CascadeHead(BBoxHead):
bbox_loss=None,
reg_class_agnostic=True,
stage_loss_weights=None,
loss_normalize_pos=False,
add_gt_as_proposals=[True, False, False]):
loss_normalize_pos=False):
nn.Layer.__init__(self, )
self.head = head
......@@ -180,8 +179,6 @@ class CascadeHead(BBoxHead):
self.stage_loss_weights = [
1. / num_cascade_stages for _ in range(num_cascade_stages)
] if stage_loss_weights is None else stage_loss_weights
self.add_gt_as_proposals = add_gt_as_proposals
assert len(
self.stage_loss_weights
) == num_cascade_stages, f'stage_loss_weights({len(self.stage_loss_weights)}) do not equal to num_cascade_stages({num_cascade_stages})'
......@@ -224,11 +221,7 @@ class CascadeHead(BBoxHead):
"""
targets = []
if self.training:
rois, rois_num, targets = self.bbox_assigner(
rois,
rois_num,
inputs,
add_gt_as_proposals=self.add_gt_as_proposals[0])
rois, rois_num, targets = self.bbox_assigner(rois, rois_num, inputs)
targets_list = [targets]
self.assigned_rois = (rois, rois_num)
self.assigned_targets = targets
......@@ -241,12 +234,7 @@ class CascadeHead(BBoxHead):
inputs['im_shape'])
if self.training:
rois, rois_num, targets = self.bbox_assigner(
rois,
rois_num,
inputs,
i,
is_cascade=True,
add_gt_as_proposals=self.add_gt_as_proposals[i])
rois, rois_num, inputs, i, is_cascade=True)
targets_list.append(targets)
rois_feat = self.roi_extractor(body_feats, rois, rois_num)
......@@ -318,7 +306,7 @@ class CascadeHead(BBoxHead):
# num_or_sections in paddle.split does not support LoDTensorArray,
# so we use [-1] to replace it if num_prop is not list. The modification
# This ensures the correctness of both dynamic and static graphs.
if not isinstance(num_prop, list):
if not isinstance(num_prop, list):
num_prop = [-1]
return pred_bbox.split(num_prop)
......
......@@ -186,8 +186,7 @@ def generate_proposal_target(rpn_rois,
use_random=True,
is_cascade=False,
cascade_iou=0.5,
assign_on_cpu=False,
add_gt_as_proposals=True):
assign_on_cpu=False):
rois_with_gt = []
tgt_labels = []
......@@ -205,7 +204,7 @@ def generate_proposal_target(rpn_rois,
gt_class = paddle.squeeze(gt_classes[i], axis=-1)
# Concat RoIs and gt boxes except cascade rcnn or none gt
if add_gt_as_proposals and gt_bbox.shape[0] > 0:
if not is_cascade and gt_bbox.shape[0] > 0:
bbox = paddle.concat([rpn_roi, gt_bbox])
else:
bbox = rpn_roi
......
......@@ -156,8 +156,7 @@ class BBoxAssigner(object):
rpn_rois_num,
inputs,
stage=0,
is_cascade=False,
add_gt_as_proposals=True):
is_cascade=False):
gt_classes = inputs['gt_class']
gt_boxes = inputs['gt_bbox']
is_crowd = inputs.get('is_crowd', None)
......@@ -167,7 +166,7 @@ class BBoxAssigner(object):
rpn_rois, gt_classes, gt_boxes, self.batch_size_per_im,
self.fg_fraction, self.fg_thresh, self.bg_thresh, self.num_classes,
self.ignore_thresh, is_crowd, self.use_random, is_cascade,
self.cascade_iou[stage], self.assign_on_cpu, add_gt_as_proposals)
self.cascade_iou[stage], self.assign_on_cpu)
rois = outs[0]
rois_num = outs[-1]
# tgt_labels, tgt_bboxes, tgt_gt_inds
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册