用占空比的原理,缩小大目标像素

环境:pytorch+yolov7+py3.8 win10
目标:在复杂环境下的特殊车辆识别
难点:小目标

1.小目标为什么检测难

由于小目标的数据集本来就很少,导致用来训练提取特征的训练集就会非常少。以之前项目研究的河道船只识别来说:把占比3%的小目标标出来,并用更小的anchor框进行detect的时候,并没有能更好的增加召回率。经过valid中验证集的对比,发现许多岸边岩石的俯视图和小船的俯视图相似。哪怕是人眼也很难去辨别出是船和石头。3次反复对照训练以后(采用600epoch)
经过组内讨论考虑到占空比问题

2.占空比概念

那么什么是占空比呢?这个出自博主的老本行-通信工程里
指的一个脉冲循环内,通电时间占总时间的比例。
在图像分割中也有相关文章提出占空进行评估。

3.联系到图像应用

因为我们的小目标和图像中的中大型目标来比,占的像素比例实在是过于不均衡了。那么训练结果就会产生很多误差,和虚景,因为训练集标注的labels就比较模糊,因此如果可以把小目标的占比增大,那么对训练会不会有些提升呢?

4.大目标的占比问题

其次我们通过10次以上的训练,对不同的数据集进行了比较。得出了结论:
还是以船为例,河道中有大船,有小船。船因为拍摄角度问题,有远处的有近处的。近处的船只和远处的船只的特征又不一样,所以由于这个原因,很难在识别大船的同时,保证小船的精确度。
因此想到了把大目标缩小像素为小目标,借鉴yolov3的对比度图像增强法,和对于yolov5的马赛克增强,人为处理城想要的小目标状态。
后续会继续跟进进行探讨。(详见下一篇)