小目标检测的解决办法

在深度学习目标检测中,由于小目标分辨率低,图片模糊,信息少,噪声多所以是一个实际且常见的困难问题

解决方法:使用不同分辨率的图像金字塔,再对每层金字塔用固定输入分辨率的分类器在该层滑动来检测目标,以求在金字塔底部检测出小目标;或者只用一个原图,在原图上,用不同分辨率的分类器来检测目标,以求在比较小的窗口分类器中检测到小目标。
参考1

1.[将图像resize成不同的大小]
(http://xxx.itp.ac.cn/ftp/arxiv/papers/1604/1604.02878.pdf)

2.data augmentation:对小目标进行数据增强
1>过采样策略oversampling,改变采样率
2>针对同一张图片里面包含小目标数量少的问题,在图片内用实例分割的Mask抠出小目标图片再使用复制粘贴的方法(当然,也加上了一些旋转和缩放,另外要注意不要遮挡到别的目标)

3.特征金字塔网络FPN
浅层特征图感受野小适合小目标检测,深层特征图感受野大适合大目标检测

4.人脸检测SSH、Feature-Fused SSD、Deconvolutional Network

5.合适的训练方法‘’模型预训练的分布要尽可能地接近测试输入的分布‘’SNIP(An Analysis of Scale Invariance in Object Detection)训练时只训练合适尺寸的目标样本,只有真值的尺度和Anchor的尺度接近时来用来训练检测器,太小太大的都不要,预测时输入图像多尺度,总有一个尺寸的Anchor是合适的,选择那个最合适的尺度来预测,SNIPER,SAN,R-FCN

6.更稠密的Anchor采样和匹配策略S3FD,FaceBoxes
1>FaceBoxes:Inception3的anchors有三个scales(32,64,128),而32 scales是稀疏的,所以需要密集化4倍,而64 scales则需要密集化2倍
2>在S3FD人脸检测方法中,则用了Equal-proportion interval principle来保证不同大小的Anchor在图中的密度大致相等,

7.对小目标的Anchor使用比较宽松的匹配策略(比如IoU > 0.4),总之就是从anchor的密度,anchor的范围,anchor的形状数量来考虑,具体理解可参看2

8.GAN方法:使用GAN对小目标生成一个和大目标很相似的Super-resolved Feature,然后把这个Super-resolved Feature叠加在原来的小目标的特征图上,以此增强对小目标特征表达来提升小目标的检测性能。【Perceptual GAN】

9.利用Context信息的Relation Network和PyramidBox
比如检测人脸时,图片中不会仅仅只有一张脸,会有肩膀胳膊等,可以利用这些上下文信息,目标就变大了

10.ROI pooling和Context-Aware RoI Pooling,ROI align

11.回归损失函数:不同大小的目标大小给不同的损失函数加权系数

12.增大小目标的GT,从而变相加大目标。增加检测能力

13.Lucid Data Dreaming for Multiple Object Tracking,这是一种在视频跟踪/分割里面比较有效的数据增强手段,据说对于小目标物体检测也很有效。

参考3参考4

你可能感兴趣的:(深度学习)