YOLOv5小目标检测(方法与评价)

问题:

当我们在对小目标数据集进行检测时,发现无论如何都有一些漏检的,其中我们也添加一些模块,以及其他的一些改进方法,如注意力、激活函数等等,结果始终不会令人满意,map也没有丝毫的提升。

目的:

增加对小目标的检测能力,不能产生漏检!

自述:

许多关于小目标的资料,包括知网上的一些期刊,真的是无力吐槽,可能他们也只是提供方法,而不考虑结果吧,虽然注意力机制个别情况确实有效,但这种几率太低太低(陨石撞地球)。

还有一些增加小目标检测层来提高检测能力的文章,这种提高的可能只有50%(基本没用),map只会直线下降。

提高map只能靠不断尝试,不是在网上随便拷个检测层就能提高的,需要在固定的层数添加,大部分跟着其他博主的博客进行操作,都不会有提升的,不是自己数据集的问题,而是自己的添加层有问题,如果只想靠一个注意力和检测层就提高map的话,那基本就是痴心妄想了,不要被一些博主的几句话封固自己的想法,实践是检验真理的唯一标准。

下面放几张我的小目标检测图片:

 

 YOLOv5小目标检测(方法与评价)_第1张图片

 

方法:

达到工业级别的检测能力与精度,需要不断地进行迭代更新与完善;而不是说我训练个模型,map达到了99%以上就能满足工业检测需求(例如知网上的很多论文....),map高并不代表检测能力好,反而他的泛化能力差,并且工业检测也不看map值

最简单直接的方法就是从数据集下手,并且先考虑这种方法不用担心之后的检测能力出现大的失误,并且还有可能会被检测环境所影响。可以考虑数据集的类别数量不要过多,否则导致误检率的提高,每种类别的图片数量差距不要太大,否则也会产生过拟合的现象;如果误检情况比较严重,可以添加少量的负样本;在保持每种类别数量较为平均的状态下,可能扩充一下数据集,增强一下学习能力,这都是比较有效的提升方法。

结束:

如果是要写论文,或许可以多尝试一下改动检测层,注意力的话不要浪费太多时间;工业的检测讲究速度与精度,在这方面还是有很多可以尝试的改进点,欢迎一起交流。

你可能感兴趣的:(YOLOv5,目标检测,深度学习,人工智能)