其实,水下目标检测相关的项目早在之前就已经做了几个了,但是没有系统性地对比过,感兴趣的话可以先看下之前的文章,如下:
《基于自建数据集【海底生物检测】使用YOLOv5-v6.1/2版本构建目标检测模型超详细教程》
《基于YOLOv5+C3CBAM+CBAM注意力的海底生物[海参、海胆、扇贝、海星]检测识别分析系统》
这是一个经过改进融合的模型。
本文的主要目的就是为后面的项目开发提前预研一下轻量级模型在水下目标检测任务上的表现究竟上限几何,这里选取的是yolov5系列中最为轻量级的三款模型:n、s和m系列。
首先看下数据集,这里数据集我是随机构建的,不到2k的级别,如下:
实例标注内容如下:
接下来看下对应的训练数据配置内容:
接下来看下对应选取拿来测试的三款模型,如下:
【yolov5n】
【yolov5s】
【yolov5m】
其余设置的话均采用默认参数,训练100次epoch,我们来看对应的结果详情:
【yolov5n】
【yolov5s】
【yolov5m】
系统性的开发模型、实验调参、可视化系统界面整合是一件有意思的事情,如果有想参与共同开发学习成长的朋友也可以搜索知识星球 AZX_cx,一起用代码挥汗如雨。
完成三款模型的独立实验与结果分析后,为了进一步直观体验不同量级模型的差异,这里对其进行综合的对比可视化,如下所示:
【loss曲线对比分析】
【Precision曲线对比分析】
【Recall曲线对比分析】
【F1曲线对比可视化】
不难看出来:全方位的表现都是一致的,m>s>n,这个一定程度上也证实了模型参数量级的降维打击能力,最近爆红的大模型不就是最好的实例吗。