💡💡💡Yolo小目标检测,独家首发创新(原创),适用于Yolov5、Yolov7、Yolov8等各个Yolo系列,专栏文章提供每一步步骤和源码,带你轻松实现小目标检测涨点
💡💡💡重点:通过本专栏的阅读,后续你可以结合自己的小目标检测数据集,在网络不同位置(Backbone、head、detect、loss等)进行魔改,实现小目标涨点和创新!!!
专栏介绍:
✨✨✨解决小目标检测难点并提升小目标检测性能;
🚀🚀🚀小目标、遮挡物性能提升和创新;
💡💡💡 工业界小目标检测性能提升和部署可行性;
🍉🍉🍉持续更新中,定期更新不同数据集涨点情况;
1.小目标检测介绍
1.1 小目标定义
1)以物体检测领域的通用数据集COCO物体定义为例,小目标是指小于32×32个像素点(中物体是指32*32-96*96,大物体是指大于96*96);
2)在实际应用场景中,通常更倾向于使用相对于原图的比例来定义:物体标注框的长宽乘积,除以整个图像的长宽乘积,再开根号,如果结果小于3%,就称之为小目标;
1.2 难点
1)包含小目标的样本数量较少,这样潜在的让目标检测模型更关注中大目标的检测;
2)由小目标覆盖的区域更小,这样小目标的位置会缺少多样性。我们推测这使得小目标检测的在验证时的通用性变得很难;
3)anchor难匹配问题。这主要针对anchor-based方法,由于小目标的gt box和anchor都很小,anchor和gt box稍微产生偏移,IoU就变得很低,导致很容易被网络判断为negative sample;
4)它们不仅仅是小,而且是难,存在不同程度的遮挡、模糊、不完整现象;
等等难点
参考论文:http://sjcj.nuaa.edu.cn/sjcjycl/article/html/202103001
2. 本专栏小目标数据集
数据集下载地址:GitHub - YimianDai/sirst: A dataset constructed for single-frame infrared small target detection
Single-frame InfraRed Small Target
数据集大小:427张,进行3倍数据增强得到1708张,最终训练集验证集测试集随机分配为8:1:1
3.小目标专栏难点优化方向
3.1 合理的数据增强
-
将小目标在同一张图像中多拷贝几次;增加了匹配到小目标GT的anchor的数量;如涂鸦式增强
3.2 网络多尺度
通过P2层特征引出了新的检测头.P2层检测头分辨率为160×160像素, 相当于在主干网络中只进行了2次下采样操作, 含有目标更为丰富的底层特征信息. 颈部网络中自上而下和自下而上得到的两个P2层特征与主干网络中的同尺度特征通过concat形式进行特征融合, 输出的特征为3个输入特征的融合结果, 这样使得P2层检测头应对微小目标时, 能够快速有效的检测.
3.3 loss优化
3.3.1 Wasserstein Distance Loss
1)分析了 IoU 对微小物体位置偏差的敏感性,并提出 NWD 作为衡量两个边界框之间相似性的更好指标;
2)通过将NWD 应用于基于锚的检测器中的标签分配、NMS 和损失函数来设计强大的微小物体检测器;
3)提出的 NWD 可以显着提高流行的基于锚的检测器的 TOD 性能,它在 AI-TOD 数据集上的 Faster R-CNN 上实现了从 11.1% 到 17.6% 的性能提升;
3.4 注意力机制
未完待续