【代码】mmdetection源码解读(从score获得bboxes)

0. 简介

anchor_head中的get_bboxes如何将score变成bboxes。

1. get_bboxes

        assert len(cls_scores) == len(bbox_preds)
        num_levels = len(cls_scores)

        mlvl_anchors = [
            self.anchor_generators[i].grid_anchors(cls_scores[i].size()[-2:],
                                                   self.anchor_strides[i])
            for i in range(num_levels)
        ]

首先生成anchor,存进mlvl_anchors,每个level一个M * 4的Tensor,左上角右下角表示,左上右下是缩放后图片中的左上右下。
在这里插入图片描述
之后使用get_bboxes_single处理每一张图片
对于每个level,取出cls_score(720xHxW),bbox_pred(36xHxW),anchor(Mx4)

  • 将score和pred拉直成Mx80、Mx4的Tensor,与anchor一致。
  • 使用sigmoid或者softmax将cls_score转化成scores
  • nms_pre=1000表示进行nms的个数
  • 取得每个anchor的score,存为max_score(Mx1)
  • 使用topk获得前1000个用来进行nms
  • anchor、pred、score均取前1000个
  • 使用delta2bbox将这1000个pred转化成bboxes
  • bboxes放入mlvl_bboxes中,scores放入mlvl_scores中

之后:

  • mlvl_bboxes(M(筛选过后)x4)、mlvl_scores中的各level合并
  • rescale=TRUE =》 mlvl_bboxes回归到原图的尺寸
  • use_sigmoid_cls = TRUE =》 mlvl_scores的每个元素第一维padding0,表示背景

将结果送入multiclass_nms进行nms,获得100个点,获得
det_bboxes(100x5), det_labels(100)。

  • 2
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
mmdetection是一个基于PyTorch开发的目标检测框架,它提供了一系列模型和工具,用于实现目标检测任务。该框架的源码解读可以从其网络结构设计入手。 在mmdetection中,网络结构的设计是通过继承SingleStageDetector和TwoStageDetector来实现的。SingleStageDetector继承了backbone、neck和head,而TwoStageDetector继承了backbone、neck、rpn_head和roi_head。这种继承关系的设计使得模型的构建更加灵活和可扩展。 另外,mmdetection框架还将网络结构的设计细分为detectors、backbones、necks、dense_heads、roi_heads和seg_heads等组件。这些组件都有自己的base定义接口,并扩展了不同经典论文的结构,可以直接使用。这样的设计使得用户可以根据具体任务的需求选择合适的组件进行组合,从而实现更加精确和高效的目标检测。 总之,mmdetection框架的源码解读主要涉及网络结构的设计和组件的使用。通过深入理解这些内容,我们可以更好地理解和使用mmdetection框架来进行目标检测任务。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [mmdetection源码解析](https://blog.csdn.net/Cxiazaiyu/article/details/123995333)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值