标签:box loss gt boxes 源码 vec 阅读 small stitcher
陈康老哥的实现虽然是用maskrcnn-benchmark的 但实现的还挺全,batch和非batch都实现了,基本配置在这里
https://github.com/yukang2017/Stitcher/blob/41063c4d9af077908cd1368ae86d43a27c77f479/maskrcnn_benchmark/config/defaults.py#L91
stitcher合成
主要合成图片的地方在 BatchCollatorSynthesize (https://github.com/yukang2017/Stitcher/blob/41063c4d9af077908cd1368ae86d43a27c77f479/maskrcnn_benchmark/data/build.py#L184) 调用了 to_image_list_synthesize 进而调用了 to_image_list_synthesize_4 (https://github.com/yukang2017/Stitcher/blob/41063c4d9af077908cd1368ae86d43a27c77f479/maskrcnn_benchmark/structures/image_list.py#L79)
计算small object loss
https://github.com/yukang2017/Stitcher/blob/41063c4d9af077908cd1368ae86d43a27c77f479/maskrcnn_benchmark/modeling/roi_heads/box_head/loss.py#L168
reference_boxes = matched_targets_boxes[sampled_pos_inds_subset]
gt_widths = reference_boxes[:, 2] - reference_boxes[:, 0]
gt_heights = reference_boxes[:, 3] - reference_boxes[:, 1]
gt_areas = gt_widths * gt_heights
small_index = gt_areas < 1024
box_loss, box_loss_vec = smooth_l1_loss(
box_regression[sampled_pos_inds_subset[:, None], map_inds],
regression_targets[sampled_pos_inds_subset],
size_average=False,
beta=1,
return_loss_vec=True
)
if cfg.STITCHER.FEEDBACK == 'cls_loss':
cls_loss_vec = F.cross_entropy(class_logits, labels, reduction='none')[sampled_pos_inds_subset]
ratio_small = cls_loss_vec[small_index].sum()/classification_loss
else:
ratio_small = box_loss_vec[small_index].sum()/box_loss
box_loss = box_loss / labels.numel()
return classification_loss, box_loss, ratio_small
很简单的实现,默认是reg_loss
标签:box,loss,gt,boxes,源码,vec,阅读,small,stitcher 来源: https://blog.csdn.net/carry_hjr/article/details/117607546
本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享; 2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关; 3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关; 4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除; 5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。