基于YOLOv5s-Mask和梯度回归的对虾投饵量预测系统设计
2023-11-12闫家兴
闫家兴,刘 敏
(河北农业大学海洋学院,河北 秦皇岛 066000)
在传统的凡纳滨对虾养殖过程中,需要根据养殖经验确定投喂量,容易导致饲料过剩或不足的问题。为解决这一问题,研究者建立预测模型预测投喂量,主要使用BP 神经网络预测模型对水产养殖投饵量进行预测(杨加庆,2018;陆天辰,2020)。近年来,随着计算机深度学习的发展,相关模型具有更强的数据挖掘和泛化能力。何津民(2022)提出IPSO-CNN-LSTM-ATTN 对虾投饵量预测模型,改善了BP 神经网络过拟合和稳定性差的问题,然而该类模型训练数据来自养殖记录,这需要人工长期进行记录。
目前计算机视觉技术快速发展,本文设计一个对虾投饵量预测系统,从图片中挖掘虾群表型数据,可根据虾群照片直接得出预测投饵量。投饵量预测值是根据系统预测虾群的体重计算得出,因此能够精准预测虾群体重是系统的核心。
一、材料与方法
1.精准投喂方案设计
基于计算机视觉的饵料精准投喂系统流程如图1所示。首先将输入的图片进行预处理,特征提取后进行目标检测和实例分割,获得对虾的数量和图像中对虾背部总面积数据信息,并作为梯度回归模型的训练数据集,通过回归模型的训练和优化,实现预测虾群体重和精准估算投喂量。
图1 精准投喂系统流程
2.实验材料
本研究所用凡纳滨对虾为从市场购买,数量200 尾,规格10.9~35.8 克/尾。环境模拟采用装有海水的鱼缸,共采集群虾照片2 000张。
3.数据采集和数据集构建
精准投喂系统需要训练学习两个模型的权重,首先训练的是YOLOv5s-Mask 模型,以该模型的输出结果作为输入数据训练回归模型以获得其权值,利用回归模型完成虾群体重的预测值。最终,根据具体投饵率得到预测投喂量。
YOLOv5s-Mask 数据集构建:使用VIVO IQOO Neot5手机摄像头拍摄,拍摄时镜头位于虾的正上方,拍摄时镜头焦距和高度不固定,选择多种环境下拍摄群虾群的背部照片,使得数据更加丰富,以提高训练后模型的鲁棒性(稳健性)。
回归数据集构建:工厂化养殖的对虾在投喂均匀的条件下,对虾具有体重接近的特点,因此在拍摄照片时,选择个体重接近的凡纳滨对虾。在拍摄前先选取不同数量的虾进行称重,每次称重后记录数据并拍摄虾照片,手机摄像头固定于养殖缸的正上方80 厘米处,同时拍摄过程需注意如下事项:①拍摄时保持手机高度和焦距不变;②采集时保证拍摄整个虾群的照片;③拍摄的图片中不能出现与虾形状和大小相似的物体,避免对实验结果造成干扰。
将体重均匀的凡纳滨对虾图片放在1个文件夹中,并以称重结果重命名,改变虾的数量后重复操作。将图片像素值降低处理后可以极大提高模型训练速度,数据集制作使用labelme标注,标注结果见图2。数据集中训练集和验证集的比例按9∶1分配。
图2 labelme标注
4.模型构建与实验设置
(1)YOLOv5s-Mask模型网络结构。YOLO作为单阶段目标检测的经典代表之一,具有检测速度快、易于部署的特点。Mask-RCNN作为双阶段目标检测经典算法,可完成更为精准的实例分割,生成Mask掩码,但检测速度非常慢。因此以YOLOv5s为基础模型,可在YOLOv5s的Neck上单独分出1个检测头,以同时完成目标检测和实例分割(Wu 等,2022)。YOLOv5s-Mask模型可以快速地进行目标检测和实例分割,但也有部分精度损失。主干网络选择CSPDarknet 进行特征提取,采用CPS、Focus结构减少计算量以加速训练,利用SPP特征金字塔池化将Feature map划分成多个尺度。Neck网络进行一系列混合和组合图像特征,并将图像特征传递至预测层,利用FPN 和PAN 结构融和多级特征,解决目标检测中的多尺度问题。Head 网络对最终的特征图进行预测输出,包括了虾实例分割头和目标检测头两个部分,分别对目标进行分类并输出置信度。模型损失函数包括目标检测损失和分隔损失,目标检测损失包括分类损失、置信度损失和定位损失。其中分隔损失和目标检测中分类损失及置信度损失为BCE Loss,目标检测中定位损失为CIoU Loss。
(2)回归模型。梯度提升回归(GBR)是一种从错误中进行学习的技术,原理是训练多个弱学习器,集成一堆较差的学习算法进行学习,每个学习算法的准确率均不高,但集中起来可以获得较高的准确率,这是因为每个算法都不是单独学习,而是在前一个算法的基础上进行学习。
二、结果
1. YOLOv5s-Mask模型训练
YOLOv5s-Mask 的训练损失包括位置损失、目标损失、分割损失等,训练过程中边框损失降低至0.020 45,分割损失降低至0.021 09。训练结果表明,训练前80 次损失下降较快,80 次后趋于平稳,训练过程中没有出现过拟合和欠拟合现象;模型分隔精度0.99,召回率1,mAP 0.5:0.95 Mask为0.739。
2.梯度回归模型验证
为了探究凡纳滨对虾体重对预测结果的影响,本次实验将10~30 克/尾的虾以5 克为步长将其分成4 组,按体重范围从小到大依次分为小虾、中小虾、中虾、大虾4种类型。数据采集时选择同一类型的虾,将照片输入训练好的YOLOv5s-Mask分隔模型,求出群虾的像素面积和虾数量,利用分隔模型进行检测,检测后得出凡纳滨对虾的类别和置信度,并生成分隔掩码。YOLOv5s-Mask 模型检测每张图片消耗时间为20~30 毫秒,检测消耗时间小于Mask-RCNN 模型检测消耗时间(170~200毫秒)。
将统计好的检测数据导入回归模型进行训练,训练后测试数据如表1所示。
利用回归模型评价指标对模型进行评估,GBR模型拟合优度R2为0.936、平均绝对误差(绝对值)为1.280 克、均方根误差(绝对值)为2.120 克。最大相对误差(绝对值)为3.503%,最小相对误差(绝对值)为0.033%。
3.模型相关性分析
相关性热力分析表明,凡纳滨对虾预测体重和其在图片中所占面积相关性为0.980,占比最高,其次是虾的数量,占比为0.880。根据相关性分析热力图可以得出,10克/尾以上的虾体重预测和虾群的类型没有显著关系。
三、讨论
虾的体重是虾养殖过程中的重要数据。有学者利用计算机视觉和深度学习等技术对养殖动物体重进行过预测(唐杨捷,2019;Dang 等,2022)。对于虾投饵量的估算,何津民(2022)提出了IPSO-CNN-LSTM-ATTN 对虾体重预测模型,最大相对误差为2.32%,最小相对误差为0.33%,平均绝对误差为0.681克。IPSO-CNN-LSTM-ATTN对虾体重预测模型从养殖过程中记录的数据中提取特征,最终通过模型预测投饵量。本文提出的精准投喂系统的数据来源是基于计算机视觉,从图像中获取信息。以上两种方式各有优势,前者模型预测精度要优于本文模型,但不同地域养殖环境不同,每次更换饲料要重新记录数据并训练模型。本文提出的系统设计可解决上述因素的影响,但对图片质量和清晰度要求较高。由于虾体在测量时会有少许水存于其表面,因此在测量虾体重时也存在一定的误差。
四、小结
本文利用计算机视觉完成凡纳滨对虾精准投喂系统的设计。系统首先经过YOLOv5s-Mask 模型进行虾体的识别和分隔,求出对虾的数量和所占像素的面积,通过回归模型对虾的体重进行回归预测,最终根据虾群重量计算得出投喂量,实现了对虾的投饵量预测。模型mAP 0.5:0.95 Mask为0.739。YOLOv5s-Mask主干网络选择CSPDarknet进行特征提取,采用CPS、Focus 结构减少计算量,利用SPP 将Feature map 划分成多个尺度。Neck网络利用FPN和PAN结构融和多级特征,解决目标检测中的多尺度问题。相同面积下,不同生长阶段的虾体重相同。将虾的体重范围作为一个因素,验证是否对预测结果造成影响,经实验验证得出,10克/尾以上的虾在投喂量预测时不需要考虑该因素。
本文基于YOLOv5s-Mask 和梯度回归的对虾投饵量预测系统虽然具有智能化程度高、检测精准等优势,但也存在依赖养殖水环境的清晰度的短板,测量时图片质量会影响测量结果。因此下一步将对模型进一步进行优化,以构建性能更好的目标检测、实例分割以及回归模型。