基于深度学习YOLOV5网络模型的金枪鱼延绳钓电子监控系统目标检测应用
2021-11-17王书献张胜茂朱文斌孙永文杨昱皞隋江华沈烈沈介然
王书献,张胜茂,朱文斌,孙永文,杨昱皞,隋江华,沈烈,沈介然
(1.大连海洋大学 航海与船舶工程学院,辽宁 大连116023;2.中国水产科学研究院东海水产研究所 农业农村部远洋与极地渔业创新重点实验室,上海200090;3.浙江省海洋水产研究所 浙江省海洋渔业资源可持续利用技术研究重点实验室,浙江 舟山316021;4.深圳市联成远洋渔业有限公司,广东 深圳518035)
随着海洋强国战略的实施,渔业中对捕捞量、捕捞努力量、捕捞效率等捕捞数据的精度要求逐渐提高。对船队捕捞数据做更高精度的统计不仅能够显著提高捕捞效率、节约人类观察员成本,还能够降低兼捕误捕量、减轻捕捞工作对海洋生物环境的破坏,对海洋强国战略具有重要意义。
由于传统的人类观察员难以满足日渐提高的统计精度要求,近年来电子监控系统(electronic monitoring system,EMS)逐渐在渔业企业中普及,该系统有可能成为人类观察员的替代或补充办法。金枪鱼是一种具有高蛋白、低脂肪的大洋性洄游鱼类,是国际营养协会推荐的绿色无污染健康美食。因其营养价值高、肉质柔嫩鲜美,受到市场青睐[1]。Ruiz等[2]密切观察并比较了7次金枪鱼围捕作业中EMS系统与人类观察员所获取到的捕捞努力量、捕捞量、兼捕量等信息,认为EMS对金枪鱼等大型物种有较好的记录,能够可靠地估算捕捞数据。该研究同时指出,EMS系统在标准化安装、视频处理方法等方面仍有诸多改进之处,且这些改进对EMS方案的效果具有较大影响。Gilman等[3]使用Satlink数字观察员服务对比了人类观察员与EMS数据差异,认为EMS在渔获物种类、渔获量、捕捞量等数据上与人类观察员所获数据差异很小,但是在丢弃物种类、渔获长度等数据上表现不佳。Gilman等[4]为扩展EMS功能、提高EMS准确率,提出了重新定位相机、集成额外传感器等EMS改进措施。在渔获识方面,该研究还使用Bicknell 等[5]提出的图像识别软件,使用机器学习(machine learning)方法识别渔获物。机器学习方法在物种分类、行为识别等方面较传统方法有突出表现,一些学者利用TensorFlow等机器学习系统,对鱼类目标检测、鱼类识别、鱼类运动目标提取等进行研究[6-9],取得了良好效果,证明了机器学习方法能够与计算机视觉方法结合,在EMS系统中为鱼类识别做出贡献。
深度学习(deep learning)是机器学习的一个分支[10],关于深度学习的研究最早可以追溯到20世纪40年代。1943年,Mcculloch等[11]提出神经活动中内在思想的逻辑演算,正式开启近代关于深度学习的研究。近年来,深度学习为人工智能技术在自动控制系统[12-13]、人脸识别[14-16]、目标检测[17-19]、自动驾驶[20-21]、生物建模[22]等领域中的快速增长提供了强大动力。深度学习在水产及船舶领域的应用也已见雏形。部分学者利用深度学习算法,对复杂海况下的船舶识别[23-24]、船舶定位[25]等课题展开研究。2016年, Redmon等[26]针对目标检测任务提出一种新的思路,即YOLO(you only look once)神经网络模型。YOLO初代版本中,在R-CNN、Fast R-CNN等目标检测模型的基础上,首次提出将“目标识别”和“目标定位”两大任务合二为一。自2016年至今,经过各界学者的努力,YOLO神经网络模型经历了数次更新迭代,先后解决了多目标检测、小目标检测、漏检修复、多尺度预测等多个维度的问题[27]。
YOLO神经网络模型在各个领域的研究[28-30]显示,该模型在目标检测领域有较为突出的表现和应用前景。由于远洋渔船作业类型多、监控安装位置缺乏统一标准,传统EMS系统的计算机视觉方法已经很难满足行业对目标识别精度的需求。EMS系统也逐渐朝着通过机器学习实现目标识别的方向发展[31-32]。但是,目前仍鲜有YOLO神经网络模型在EMS系统目标检测中的应用研究。本研究中,基于YOLOV5神经网络模型,拟结合传统计算机视觉方法,从HNY722远洋金枪鱼延绳钓渔船EMS系统监控视频数据中,提取出某段视频或某一帧图片中的浮球、金枪鱼的数量及位置,以期为辅助渔业企业规范化管理及电子观察员技术应用提供技术参考。
1 YOLOV5网络模型
YOLOV5网络结构按照处理阶段分为Input、Backbone、Neck、Prediction 4个部分(图1)。其中,Input部分完成数据增强、自适应图片缩放、锚框计算等基本处理任务;Backbone部分作为主干网络,主要使用CSP(cross stage partial)结构提取出输入样本中的主要信息,以供后续阶段使用;Neck部分使用FPN(feature pyramid network)及PAN(path aggregation network)结构,利用Backbone部分提取到的信息,加强特征融合;Prediction部分做出预测并计算GIOU_loss等损失值。
YOLOV5代码中,YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4种网络基本结构类似,但网络深度及宽度存在差异。Neck部分5次使用CSP结构(图1中CSP2_X1、CSP2_X2、CSP2_X3、CSP2_X4、CSP2_X5),YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x分别使用1、2、3、4个残差组件。Backbone骨干网络部分3次使用CSP结构,4种网络模型使用的残差组件数不尽相同,具体深度差异如表1所示。
图1 YOLOV5网络结构
表1 网络模型深度差异
除深度差异外,上述4种网络模型在宽度上也存在差异。网络宽度上的差异主要由Focus及CBL方法中卷积核数量的差异导致(表2)。4种网络模型在深度、宽度等结构上的差异决定了其所需机器配置的差异及其在不同作业类型中表现的差异。
表2 网络模型宽度差异
2 4种YOLOV5模型目标检测效果对比试验
2.1 数据来源
延绳钓是一种经典的鱼钓方式,基本结构为一根主线上系结有等距支线,在支线的末端,置有鱼钩及鱼饵,利用浮球、沉子及浮球绳长度,控制调节作业水层[33-34](图2)。根据回收浮球、金枪鱼数量及状态信息,可以推断延绳钓系统运行状态,计算系统捕捞效率,为渔业企业带来便利,使远洋渔船管理有序、合理、规范、高效。
图2 金枪鱼延绳钓系统概念图
本文中监控数据来源于深圳联成远洋渔业有限公司HNY722远洋金枪鱼延绳钓渔船EMS系统,利用该渔船2018年10月12日—2019年3月2日在完成捕捞作业过程中产生的监控视频数据进行研究。该渔船左舷、右舷、前甲板、后甲板各安装有一个摄像头,由监控主机交换机传输至录像机、显示器、渔船终端、远程终端等设备(图3)。EMS系统每天动态生成一个文件夹,4个监控摄像头每小时自动保存一次。视频保存格式为DAV。收网过程主要由安装于渔船左舷的1号摄像头记录。
图3 HNY722渔船监控结构
2.2 数据集的制作
Pot Player播放器是免费的视频播放器,除解析常见视频格式外,该工具具有连续帧采集功能。使用Pot Player播放器打开HNY722远洋渔船监控视频文件,使用其“连续截图”功能,截取出大量画面中包含有检测目标(浮球和金枪鱼)的关键帧(图4)。经过人工筛选,最终以图片格式保存包含有不同日期、天气、时间段的关键帧共计15 778帧。将该15 778张图片划分为14 178张训练集图片及1 400张测试集图片。训练集用于在YOLO神经网络模型中训练、提取特征,测试集用于测试训练结果使用Anaconda工具创建一个Python3.8.5预处理工作环境,在该环境中,安装LabelImg工具及其依赖包。LabelImg工具为目标检测标记工作提供可视化支持,可使用矩形框快速确定目标位置及名称。标注后的文件为Pascal VOC支持的xml格式,编写Python脚本可以快速将xml格式输出文件转化为YOLO支持的txt标签格式。
图4 含有浮球的关键帧
txt格式的标签文件中包含有目标种类及目标位置等信息,种类以0、1表示(本文中目标仅包含浮球和金枪鱼两种),0表示浮球,1表示金枪鱼。位置信息以4个数字表示,4个数据分别代表归一化之后的中心点横坐标、纵坐标、目标宽度、目标高度。由于数值经过了归一化,数字值均在0~1,也即实际表示的是比例关系。
2.3 结果与分析
2.3.1 样本数据统计结果 对15 778个标签数据进行目标位置及目标大小整体分析,得到目标相对位置图(图5(a))和目标相对大小图(图5(b))。结果显示,目标相对位置集中在x、y坐标值较大处,由于计算机视觉中以左上角像素为原点,故目标应集中在图片的右下侧位置。目标宽度大多数占图片宽度的2.5%~5.0%,目标高度大多占图片高度的5.0%~7.5%。
图5 标签总体特征图
2.3.2 参数收敛结果 试验结果表明,4组试验的各个参数均逐渐收敛(损失参数收敛至0,结果参数收敛至1)。除YOLOV5x网络模型在训练至100~250轮次(epoch)时,出现了一段时间内的结果异常外,各个网络模型的广义交并比损失(GIoU loss)、目标检测损失(objectness loss)、目标分类损失(classification loss)、准确率(precision)、召回率(recall)、广义交并比阈值下多类别平均精度值(mAP@0.5)和变化交并比阈值下多类别平均精度值(mAP@0.5∶0.95)7个参数均在500轮次内达到收敛(图6,objectness loss、classfication loss、mAP@0.5∶0.95图略)。但是仅凭参数收敛性分析,只能判断出YOLOV5x模型在本文试验中存在较强的不确定性,而YOLOV5s、YOLOV5m、YOLOV5l网络模型的选择是否会对训练结果产生影响需要进一步分析。
图6 训练参数收敛分析
2.3.3 模型对参数的影响 为研究模型对训练参数的影响,在500轮次训练中,用YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4种模型对GIoU loss、objectness loss、classification loss、precision、recall、mAP@0.5和mAP@0.5∶0.95等7个参数做单因素方差分析。各组分析结果如表3所示,其中,classification loss 的P=0.32,GIoU loss、objectness loss、precision、recall、mAP@0.5、mAP@0.5∶0.95等6个参数的P值均小于0.01,这表明,YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x模型的选择对GIoU loss、objectness loss、precision、recall、mAP@0.5、mAP@0.5∶0.95等6个参数均具有显著性影响(P<0.05),而对classification loss参数无显著性影响(P>0.05)。
表3 单因素方差分析组间P值
为进一步研究各网络模型在不同参数中的表现情况,在500轮次训练中,统计上述GIoU loss、objectness loss、precision、recall、mAP@0.5、mAP@0.5∶0.95等6个受模型选择影响显著的参数平均值,结果如表4所示。GIoU loss、objectness loss参数值越接近0,表示训练效果越好; precision、recall、mAP@0.5、mAP@0.5∶0.95参数值越接近1,表示训练效果越好。
表4 模型参数平均值
这表明, 选择YOLOV5l作为模型时,GIoU loss、objectness loss、precision、recall、mAP@0.5∶0.95等5个参数值最接近理想状态;选择YOLOV5m作为模型时,mAP@0.5参数值最接近理想状态。因此,YOLOV5l网络模型在本试验中综合性能最强,可以在金枪鱼延绳钓EMS系统监控视频提取中得到深入应用。
2.3.4 模型消耗GPU资源分析 由于YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4种模型深度、宽度上的差异,其训练过程中对资源的消耗情况也有所不同。为充分考虑程序的普适性,从GPU内存消耗的角度对各模型的性能进行分析。结果显示:在500轮次的训练中,4种网络模型的GPU内存占用情况均在前3个轮次内达到一个稳定值,后续训练过程中占用情况保持稳定;YOLOV5s模型GPU占用明显低于YOLOV5m模型,且这两个模型GPU占用均低于YOLOV5l、YOLOV5x模型,而YOLOV5l、YOLOV5x模型的GPU占用曲线基本重合(图7)。
图7 部分GPU占用情况
为进一步研究4种模型的GPU占用情况,计算4种网络模型在500轮次训练中GPU占用的平均值,结果如表5所示,其中YOLOV5l与YOLOV5x的GPU占用平均值十分接近,均在26~27 GB,而训练机器配置有32 GB GPU,并未达到满载情况,因此,受配置限制的可能性较小。
表5 GPU占用平均值
3 讨论
3.1 神经网络模型的选择
在深度学习目标检测发展进程中,先后诞生了许多优秀的深度学习框架和神经网络模型,如R-CNN、Fast R-CNN、Faster R-CNN等。一些研究基于这些框架,挖掘出深度学习在各个领域的利用价值[35-36]。目标识别算法实质上包含了识别目标及定位目标两个核心任务。在识别目标的核心任务上,CNN算法的实现使得结果已经满足了现阶段需求。后续诸多目标检测算法都借鉴了CNN的目标识别方法。在目标检测这项任务上,常规传统方式是对所有像素不同大小框进行反复搜索,这样的方式显然是十分低效的,实际环境中应用较为困难。R-CNN提出了候选区(region proposals)的思路,即先从图像中找到若干个待选择区域(selective search)(一般约2 000个),再从所有的selective search中识别目标,该方法大幅提升了目标定位的耗时(相较于完整搜索的思路)。Fast R-CNN、Faster R-CNN算法在R-CNN算法的思路基础上,提升了单张照片的识别速度。YOLO的创造性在于其将候选区的确定和对象的识别合二为一。本试验的预试验中也采用了Fast R-CNN等其他优秀的算法,但是相较之下,YOLO网络更适宜于本应用。
Deepa等[37]在网球轨迹提取试验中,结合图像处理技术,使用动作决策网络重构网球的运动轨迹,并比较了YOLO、SSD、Faster R-CNN 3种网络模型在该试验环境下的性能情况,结果表明,YOLO神经网络模型的处理速度优于Faster R-CNN神经网络,但SSD神经网络的处理速度和效果优于YOLO网络模型。该研究的YOLO与Faster R-CNN网络模型比较结果与本试验的预试验结果一致,但本试验的预试验中参与比较的网络模型不包括SSD模型。值得关注的是,该研究未明确指出所使用YOLO的版本。Liu等[38]研究了YOLOV3、YOLOV4、YOLOV5在公共数据集上的训练和表现情况,结果表明,YOLOV4在mAP值方面优于YOLOV3,但在速度方面略低,而YOLOV5在各方面均优于YOLOV3及YOLOV4。因此,YOLO(尤其是YOLOV5)网络模型与SSD网络模型在目标检测任务中的性能情况仍有待进一步研究。
Liu等[39]研究了YOLO模型与GPR(ground-penetrating radar)三维图像在道路检测中的应用,并设计试验对比了YOLOV3、YOLOV3-Tiny、YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x等6种网络模型的性能情况,结果显示,YOLOV5的各个模型在收敛程度及mAP值的表现上均明显优于YOLOV3,YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4种模型的mAP值均高于90%(最高值为94.45%,由YOLOV5x训练得到),mAP值由低到高排序为YOLOV5s Zhou等[40]在工地安全头盔检测试验中对比了YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x 4种网络模型的表现情况,结果显示,YOLOV5x在mAP参数上的表现最佳,达到了94.7%,该试验结果与本试验结果有一定差异。本试验中YOLOV5x模型在各个参数上均出现了较大程度的波动现象,但是观察其GPU占用情况,并未达到满载(YOLOV5x训练过程中稳定状态下GPU占用约为26.58 GB,而训练机器GPU内存为32 GB)。本试验中造成YOLOV5x模型表现不稳定的因素有待进一步研究。 Li等[41]在Faster R-CNN模型的基础上,提出一种改进的水培生菜幼苗检测方法,该方法中采用高分辨率网络进行图像特征提取,并使用RoI Align方法提高不同状态下幼苗的检测精度,训练后mAP值达到了86.2%。Liu等[42]基于YOLOV3模型,提出了一种改进的番茄检测模型(YOLO-Tomato),该研究中将传统的矩形边界框替换为新的圆形边界框对番茄进行定位,以提高识别率,改进后的网络模型在番茄识别场景中的mAP值达到96.4%,高于YOLOV3原模型在该场景下达到的94.06%。Sharma[43]针对新冠肺炎病毒将YOLOV5模型应用在口罩检测上,在该试验的100轮次训练中,mAP值最终达到65%左右,召回率也不足70%。该研究者认为试验结果的不尽人意可能与其使用的个人电脑配置有关(受设备限制,该研究仅测试了YOLOV5s模型)。Junos等[44]提出一种改进的YOLO模型,用于检测无人机图像中的油棕果,改进的模型在训练后mAP值达到了99.76%。本试验中综合性能最佳的YOLOV5l模型mAP值达到了99.1%,召回率达到了98.4%,在相似应用中处于较高水平,但仍有一定改进的空间。 1)YOLO V5算法经过训练,可以识别出渔船EMS系统视频数据中所有的浮球、金枪鱼等检测目标,能够解决EMS系统中目标分类问题。 2)YOLOV5s、YOLOV5m、YOLOV5l、YOLOV5x模型的选择对GIoU loss、objectness loss、precision、recall、mAP@0.5、mAP@0.5∶0.95等参数均具有显著性影响,而对classification loss参数无显著影响。 3)选择YOLOV5l模型时,GIoU、objectness、precision、recall、mAP@0.5∶0.95等5个参数值最接近理想状态;选择YOLOV5m模型时,mAP@0.5参数值最接近理想状态。 4)YOLOV5l在4种网络模型中表现最为均衡,在mAP值、召回率等参数上的表现处于类似研究中较高水平。3.2 目标检测网络在各领域应用效果比较
4 结论