![](https://csdnimg.cn/release/download_crawler_static/86388260/bg6.jpg)
2. 还是论文中提到的,anchor 尺度和比例都是人工给定的,尺度和比例必须要覆盖相应任
务的可能出现的所有目标,如 PASCAL VOC 评价每图目标数较少、目标较大,所以 SSD 中最
小 60x60 的 anchor 或许够用,但 MS COCO 中目标密集且小、数量多,对 anchor 的密度和
最小尺度都有严格要求,60x60 的最小框完全不够看,只能放大输入图像。
一个重要的点,貌似是,目前 anchor 模块的除了总体思路,具体设计没有特别统一规范的
方法,自行操作的地方比较多,不同网络可能都采取了很不相同的 anchor 模块,可以总结
如下
总结以上几篇论文,设计目标检测算法时,anchor 设置应该考虑一下几个方面 (以 RetinaNet
为例):
anchor 的密度:由检测所用 feature map 的 stride 决定,这个值与前景阈值密切相关,如同
样检测{32}尺度,FPN 阈值 0.7 用 P2,RetinaNet 前景阈值 0.5 用 P3。
anchor 的范围: RetinaNet 中是 anchor 范围是 32~512,这里应根据任务检测目标的范围确
定,按需调整 anchor 范围,或目标变化范围太大如 MS COCO,这时候应采用多尺度测试,
当然,实际应用中需考虑多尺度测试的复杂度问题。一般来说最后特征提取层感受野一定要
大于 anchor 大小,而且越大越好,这里感受野明显不足以支撑最大尺度的 anchor,导致大
尺度目标检测性能不够好;
anchor 的形状数量:RetinaNet 每个位置预测三尺度三比例共 9 个形状的 anchor,这样可以
增加 anchor 的密度,但 stride 决定这些形状都是同样的滑窗步进,需考虑步进会不会太大,
如 RetinaNet 框架前景阈值是 0.5 时,一般 anchor 大小是 stride 的 4 倍左右。
检测层 Pn 的数量:RetinaNet 中是 P3~P7 共 5 个检测层,如需检测更小的目标,可以考虑加
入 P2 检测层。
检测层 Pn 的感受野:前面计算了 RetinaNet 中是 ResNet+FPN 的感受野在检测中、大目标时
都是够用的,检测小目标时略显疲乏,kaiming 最新论文《Rethinking ImageNet Pre-training》
既然告诉我们预训练模型没那么重要时,那检测任务就可以着重考虑按照感受野的需求设计
ConvNet。
总之,要做到 anchor 以足够密度实现全覆盖。
CPSNET 结构
Cross Stage Partial Network(CSPNet)部分阶段交叉网络-就是从网络结构设计的角度来解决以
往工作在推理过程中需要很大计算量的问题。
实际上这个基本结构就相当于一个更大的残差块≈“在残差块堆叠层简称残差层的的上面再