本文记录仅仅对现阶段小目标检测可能会用到的一些方法进行汇总,并未有独创的解决办法。
定义
一般为原数据比例小于0.1就可以认为是小目标,或者小于35*35像素。CNNs的更深层有很大的步长(32 pixels)会导致对于输入图片有个非常粗糙的表示,从而小目标的检测非常困难。例如:下面为COCO数据上的小目标比例
可以看出: 存在数量多,但集中的特点。
现存解决办法
数据预处理部分
过采样多复制多尺度数据拼接调整图像分辨率
网络模型部分
FPNROI池化YOLTSNIP系列
训练方法部分
可训练两个模型,一个用于检测小目标,另一个用于检测大目标。将浅层的特征与深层的特征相结合,用于检测小目标实例。浅层的特征映射拥有更高的分辨率,包含更完整的信息。深层特征通常包含补充的信息,包含高级语义特征。例如FPN, Mask-RCNN, RetinaNet,使用金字塔形式的表示,结合浅层与深层的特征,至少获得了更高级的语义信息。许多目标检测器使用扩张/萎缩的卷积神经网络来增加特征映射的分辨率。拓展 / 变形的卷积被用来增加检测对象的感受野,用于检测大尺寸实例。在不同分辨率网络层上进行的独立预测,用于检测不同尺寸的对象实例。例如SDP,SSH 或 MS-CNN,是在不同的分辨率的层上进行独立预测,也确保更小的对象在更高分辨率的层上训练(如conv3),更大的对象在更低分辨率的层上训练(如conv5)。这种方法以牺牲高级语义特性为代价提供更好的分辨率,这可能会使性能降低。利用上下文信息来进行消歧。在一个大范围的尺寸内进行训练,在训练时对图片进行1.5到2倍的上采样,在推断时对图片进行4倍的上采样。在一个多尺寸的图片金字塔上进行推断,并且结合非极大值抑值进行预测。