Anchor和RPN的浅薄理解(三)-mmdetection中Anchor生成源码分析

本文深入分析了MMDetection框架中AnchorGenerator类的工作原理,包括构造方法、num_base_anchors、gen_base_anchors、grid_anchors等关键方法。通过这些方法,理解了如何根据特征图尺寸和预设参数生成不同尺度和比例的Anchor,以及如何确定有效Anchor的标志位。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

在 MMDetection 中,RPN 网络使用 AnchorGenerator 类生成 Anchor,在config文件中 AnchorGenerator 的默认设置如下:

anchor_generator=dict(
    type='AnchorGenerator',
    scales=[8],
    ratios=[0.5,1.0,2.0], 
    strides=[4,8,16,32,64]),

接下来直接撸 AnchorGenerator 这个类,其实现源码目录为:mmdet\core\anchor\anchor_generator.py

在这个类中,有以下几个比较重要的方法,现有一个初步的认识:

  • 参数及demo调用:参数如果不懂可以在心里留个印象,下面具体分析。Demo直接复制官方:
    Args:
        strides (list[int] | list[tuple[int, int]]): 各尺度 feature map 相对于原图的缩放因子,也可以叫做anchor移动的步长
        ratios (list[float]): anchor 的高宽比列表
        scales (lis
mmdetection中,生成.pkl文件需要先生成.pth文件。可以参考以下步骤来生成.pkl文件: 1. 下载mmdetection模型文件,例如rpn_r50_fpn_1x_20181010-4a9c0712.pth。 2. 确保你的数据集符合COCO数据集的格式要求,因为生成.pkl文件需要使用COCO数据集格式。如果你的数据集不符合COCO格式,可以使用mmdetection自带的py文件来进行格式转换。 例如,你可以使用以下命令将数据集的格式转换为COCO格式: ``` python tools/dataset_converters/pascal_voc.py ../../../data/devkit ../../../data/coco ``` 这里的`../../../data/devkit`是你的数据集路径,`../../../data/coco`是转换后的COCO格式数据集的输出路径。 3. 一旦你的数据集格式符合COCO要求,你就可以使用mmdetection自带的测试脚本来生成.pkl文件。你可以使用`tools/test.py`或者`mmdet/datasets/coco.py`来进行测试,但是使用前需要先生成.pkl文件,这样会更快一些。生成.pkl文件的方式是使用.pth文件,具体生成步骤可以参考第一个问题中提到的方式。 4. 运行测试脚本,生成.pkl文件。注意,生成.pkl文件是为了在模型训练或测试时使用,以提高效率。 总结起来,生成.mmdetection中的pkl文件需要先将数据集转换为COCO格式,然后使用.pth文件生成.pkl文件。然后可以使用生成的.pkl文件进行模型训练或测试。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [mmdetection测试阶段生成各种评价指标,pkl,mAP,APm,APs,APl等](https://blog.csdn.net/qq_44666320/article/details/129142660)[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_1"}}] [.reference_item style="max-width: 50%"] - *2* [mmdetection 模型文件rpn_r50_fpn_1x_20181010-4a9c0712.pth](https://download.csdn.net/download/wscnwps/12261606)[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_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

刚哥吧

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值