1. 目标检测器的组成
1)用于预训练的backbone
GPU上的VGG、ResNet、ResNeXt等;CPU上的SqueezeNet、MobileNet、ShuffleNet
2)用于预测类别和bounding box的head
有二阶段的R-CNN系列和一阶段的YOLO、SSD、RetinaNet
3)位于backbone和head之间的neck,用于搜集不同阶段的特征图(进行特征融合)
这样的网络结构有特征金字塔网络FPN(解决小目标的检测问题),路径聚合网络PAN, BiFPN,NAS-FPN
2.Bag of freebies即只增加训练成本的方法
由来:传统的目标检测器是在线下进行训练的。所以研究者致力于改进训练的方法来提高检测的准确率。称呼只改变训练策略的方式为Bag of freebies。
方式:(1)数据增强data augmentation。数据增强的目的是增加输入图像的可变性,使所设计的目标检测模型对不同环境下获得的图像具有更高的鲁棒性。是在像素层面做调整。常用方法:光度畸变(调节颜色空间、图片亮度、对比度、色调、饱和度、噪声等;)、几何畸变(尺度变换、平移、旋转、翻转等)
(2)boundingbox回归
3.Bag of specials即只能加推理成本的方法
方式:
(1)插件模块:用于增强感受野
如SPP空间卷积池化金字塔(使输入图片的大小不受限制)、ASPP空洞空间卷积池化金字塔、RFB(receptive fields block)
(2)后处理:筛选预测模型的结果,如非极大值抑制NMS
(3)注意机制:分为通道式和点式。代表分别为 挤压-激发(SE)、空间注意模块(SAM)。
SE在GPU上会增加推理时间,更适用于移动设备。SAM不影响GPU的推理速度。
4.感受野
用来表示网络内部的不同神经元对原图像的感受范围的大小,或者说,convNets(cnn)每一层输出的特征图(feature map)上的像素点在原始图像上映射的区域大小。
神经元之所以无法对原始图像的所有信息进行感知,是因为在这些网络结构中普遍使用卷积层和pooling层,在层与层之间均为局部连接。
神经元感受野的值越大表示其能接触到的原始图像范围就越大,也意味着它可能蕴含更为全局,语义层次更高的特征;相反,值越小则表示其所包含的特征越趋向局部和细节。因此感受野的值可以用来大致判断每一层的抽象层次。
感受野的作用:
(1)一般task要求感受野越大越好,如图像分类中最后卷积层的感受野要大于输入图像,网络深度越深感受野越大性能越好
(2)密集预测task要求输出像素的感受野足够的大,确保做出决策时没有忽略重要信息,一般也是越深越好
(3)目标检测task中设置anchor要严格对应感受野,anchor太大或偏离感受野都会严重影响检测性能
版权声明:本文为CSDN博主「只需倾听」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/Brillian123/article/details/122542285
暂无评论