杨浩康 牛馨乐 何航
关键词:对虾养殖;YOLOv5;生长率
1 研究背景
一直以来,我国在水产养殖行业的产出量有增无减,随着互联网、人工智能技术的发展,我国新一代信息产业与水产养殖业深度融合技术在全世界有着举足轻重的地位[1]。目前,我国的南美白对虾养殖应用科技成果,可以实现高密度短周期的养殖模式,这大大带动了工厂化对虾养殖厂以及乡村农业的经济发展,推动乡村振兴的进一步发展,带动农村就业[2]。但是,该领域也存在着很多痛点问题,诸如:养殖人员依靠经验估计对虾生长基本情况存在误差、养殖经验不足导致养殖利润低、养殖过程中不能合理调配投料、换水的量和频率。这会在一定程度上导致行业产量低、对虾品质差等结果,影响总体发展。
以上的行业痛点抑制了我国互联网技术与农业领域的深度融合,调查痛点并研究一套智能方法来缓解这种矛盾,使水产养殖业从传统“经验型”向“精准型”工厂化养殖升级转变,是当下我们要完成的任务。
首先,对于传统对虾养殖行业中养殖人员只能在养殖池放置小型料台来获取对虾生长状况和了解对虾饲料投喂情况,不能实时、快速地了解并且掌握对虾的实时生长状况这一痛点,其次,传统水产养殖行业中养殖人员投料、增氧、换水的频率和数量都依赖于养殖员的个人经验,使得养殖过程可能受到个人经验导致会导致对虾养殖效率低下,死亡率高等现象。
本次应用实践采用海康威视水下摄像头,使养殖人员足不出户就可以掌握对虾的生长状况,并且可以在非接触的情况下得到对虾的尺寸和生长率,在降低养殖人员工作量的情况下辅助工作人员调整养殖方案,合理的控制投料、增氧、换水的频率和数量。
2 设计思路
本文方法通过水下双目摄像头对虾体进行图像采集, 采集到的视频图像实时传送到PC 端, 配合YOLOv5 深度学习算法进行图像识别,精准识别虾体,切片后对虾体进行图像分割等图像处理步骤后进行虾体体长及生长率的计算。根据虾体生长、平均生长率情况进一步制定并且调整养殖方案,来提高对虾的养殖效率并且降低死亡率,达到智能、精准、高效的对虾养殖目标。
本次方法实践包括四大步骤,分别是数据集的获取与制作、YOLOv5 深度学习模型训练、水下虾体尺寸测量、平均生长率计算,其中运用双目视觉算法求得虾体尺寸方法包括视差图分析、OPENCV 图像处理得到分割图像,最小矩形法寻优尺寸测量点。本次实践运用计算机视觉、大数据、人工智能等技术,辅以资深养殖人员的多年养殖经验,在一定程度上实现虾类养殖的定量化、客观化,将是养殖领域发展的大趋势。
2.1 数据集准备
2.1.1 双目摄像头校准
由于水下折射成像会导致测量误差,因此在水下摄像机投放之前,首先使用相机对棋盘格点进行角点提取,进而调焦获取相机的参数,矫正相机畸变的问题,然后拍摄图像[3]。
2.1.2 图像数据集准备
通过在养殖场投放水下双目摄像头捕获不同生长时期水下虾体图像,由于实验室搭建1.5×2×1 米的水箱拍摄的水下虾体图像数据规模较小不足以支持精确的神经网络的训练,为保证模型的精准性和应用的广泛性,通过网络搜集到的南美白对虾图像、公共数据集PASCAL VOC、COCO、Image Net 等以及利用实验室实地拍摄养殖的对虾图片,建立了一個包含21509 张水下对虾图片数据库。
由于南美白对虾白天一般静伏池底,晚上则活动频繁,因此本项目实际采集时主要在22:00-6:00 的时间段,每隔20 s 采集一次,每次采集2 张,最后经人工筛选剩余大概500 张作为该天的数据采集,对这些图片使用几何变换、添加噪声、颜色抖动等手段进行数据增强,最终建立起适合训练的、含有较少噪点的南美白对虾实地数据库。
将数据增强后的图像使用LabelImage 对虾体进行手动框选标注,数据集采用YOLO 格式。其中,每张图片中有几个目标框代表该张图像上标注了多少只对虾,未标注的部分是背景。
为了使得模型能过得到清晰的特征,从而学习到正确的知识,这里通过人工筛选的方式,剔除包含以下特征的图片:(1)水中杂质的遮挡;(2)图像过于模糊;(3)虾体形态过于弯曲(由于弯曲度造成计算长度误差);
2.2 基于YOLOv5的虾体检测
YOLOv5 的深度学习模型,借鉴CSPNet 网络结构,为了防止模型因训练不足导致欠拟合和训练次数过多导致过拟合,本文采用自己采集的数据集进行训练,这将大大提高模型的准确率。把数据集的对虾图片以8:2 的比例划分训练集和验证集。其中,对虾识别模型的权重参数从训练集中得出,验证集的结果用来对识别模型进行验证并评估模型精度,最后通过微调参数的方法完善模型结果,提高模型的精度和稳定性。
网络模型训练阶段,Batch size 设置为64[4],权重的衰减系数为0.001,有利于防止过拟合,迭代次数Epoch 设置为为300 次,初始学习率设置为0.001,当Epoch 等于100 和150 的时候,把学习率设置为0.0001和0.00001。在Epoch 为200 的时候,模型精度较高,达到收敛。
平均精度均值是所有类别的平均精度求和除以数据集中所有类的平均精度的平均值,当Epoch 等于30 的时候,mAP 近似为1。召回率,是模型把正确的类别预测为正值的概率。由公式知,代表模型把正确的类别预测为正值的数量,FN 代表模型把正确的类别预测为负值的数量[5]。在模型迭代到20 次时,已经达到0.9 以上,可见模型的精度较高。
2.3 基于双目视觉的对虾尺寸计算
对YOLOv5 检测完的每一只虾体图像进行切片操作后,基于最小矩形法寻找最佳尺寸测量点,之后通过水下坐标点的二、三维转换关系获取最佳测量点的三维坐标,进而根据算法实现对虾长度的无接触测量。
2.3.1 求取视差图
根据查阅文献得到立体匹配求取视差图像方法,公式如下:
2.3.2 虾体区域分割
运用图像分割技术把虾体图像与背景分割开来,定位虾体的位置进而计算虾体体长数据。基于OSTU 最大类间差方法(大津法)这一目标分割算法把对虾虾体和背景分割成黑色和白色,α = 0 代表属于背景,α =1 代表属于前景。
2.3.3 基于最小矩形法寻找虾体尺寸最佳测量点
首先把目标分割后的彩色图像二值化[6],虾体为白色,背景为黑色。然后基于最小矩形法在目标分割后的图像里寻找最优测量点,最后,在外接矩形中找到面积最小的矩形,通过测量矩形的长度得到对虾的长度。如图所示,矩形为虾体目标的最小外接矩形示例。
得到面积最小的矩形之后,本文近似地以最小包围面积的矩形的长边为参照,获得一条长边的两个端点M、N,这两个端点就是水下虾体自然情况下的体长。上图是虾体最小外接矩形与最佳尺寸测量点示意图。最后根据双目视觉算法,把确定的二维像素点的坐标通过坐标系变换转换为空间三维坐标,进而依据公式获取到最佳测量点的空间三维坐标M(XM,YM,ZM)、N(XN,YN,ZN),最后根据欧式距离等式可以计算得到水下虾体体长实际尺寸S。
将当前阶段拍摄到的所有虾体体长取平均后,得到当前阶段虾池平均体长,将该数值与正常养殖情况下该阶段虾体体长进行数值拟合,分析当前养殖效果是否达到對虾正常生长状态[7]。
2.4 生长率计算
将同时期所拍摄的大量虾体体长取平均后(每3 天为一周期),根据这一数据与上一测量周期所得数据求取这段时间内的虾体生长率,依据下述公式计算某一生长周期的生长率:生长率=(某一周期虾体长度- 前一周期虾体长度)/前一周期虾体长度在正常养殖情况下采用捕捞测量法取该周期内平均值后计算虾体生长率曲线函数:
根据正常情况下的生长率函数图像与实际计算所得的生长率函数图像进行拟合对比,当偏差大于5% 时即认为当前养殖模式下导致虾体生长偏慢,结合水质参数和饲喂情况分析影响虾体生长的因素。同时,将所得参数进行可视化后在界面进行显示。
对虾瞬时生长率以幼体期最高,随个体长大而快速下降,但在近成体后下降又趋平缓,幼体的瞬时生长率随温度升高而提高,近成体后不同温度下的瞬时生长率差异已不明显。在同一温度下,不同期采获的瞬时生长率变化不大,近成体后尤是如此。
因此,本系统主要在虾体的幼体期将生长率作为养殖状况参照指标。
3 结论
目前,尚未有学者通过机器视觉方法对虾体生长及生长率情况进行研究,而本文设计的系统,首先基于YOLOv5 深度学习模型对图像进行虾体识别框选,然后通过双目摄像头完成双目图像的立体匹配,把二维坐标点转换为三维坐标点计算虾体真实长度及其平均生长率。
由于对虾在不同的生长周期里表现出来的生长率是不同的,比如幼时1 个月的生长率平均增长速度要比第2 个月平均增长速度快2% 左右,故本文以养殖池里的对虾平均生长率作为参考数据,结合养殖人员累计的多年经验,判断一个对虾养殖池内在某一个时间周期里对虾的生长状况是否正常,如果情况良好,则按照原来的养殖方案饲养;如果生长率偏低,养殖人员应该尽快调整养殖方案,加大换氧量等等措施来调整对虾的生长状态。
针对目前虾类养殖场仍存在死亡率高、智慧化水平低、依赖人为经验养殖等问题,本文提出的方法能有效降低对虾死亡率、减轻养殖人员机械化的体力劳动、降低养殖能耗,保障水产养殖系统的稳定运行,本产品适用于水产养殖领域中的智慧化升级改造和乡村渔业振兴,具有一定的实用价值和社会效益。