APP下载

基于YOLOX的鱼苗检测与计数

2022-07-09黎袁富杜家豪莫家浩薛月菊

电子元器件与信息技术 2022年5期
关键词:鱼苗计数准确率

黎袁富,杜家豪,莫家浩,薛月菊

1.华南农业大学数学与信息学院,广东,广州,510642;2.华南农业大学电子工程学院(人工智能学院),广东,广州,510642

0 引言

鱼苗高效计数可为精准投喂、鱼苗销售、水质调控等智慧水产的主要环节提供关键的基础信息。而我国目前鱼苗计数仍大多采用网兜等容器取样、人工观察计数方法,不仅劳动强度大、效率低、主观性强、误差大,且易造成鱼苗损伤。因此,智能化的鱼苗计数器有待发展。

利用计算机视觉的鱼苗计数器,相比光电鱼苗计数器、电桥计数器等,具有对鱼苗不同尺寸适应性强、计数精度高和速度快等优点,近年来发展迅速。王文静等人利用局部阈值分割提取目标,计算出每帧图像中不重叠区域的幼苗数量[1];黄玲结合图像分割后的连通域和鱼苗像素点数进行鱼苗计数[3];朱从容对采集到的鱼苗灰度图像进行分析,通过数据拟合方法建立图像中鱼苗所占像素点数与鱼苗数的关系,从而对鱼苗进行计数[4];为解决目标粘连的问题,王硕等人提出了一种基于曲线演化的图像处理方法[2]。但是,上述方法对鱼苗的计数精度不高,难以实际推广应用。

近年来,基于卷积神经网络的目标检测算法Faster R-CNN、YOLO、RetinaNet和CenterNet等被相继提出[5]。YOLO算法运行速度具有明显优势,被广泛应用于各领域,如郭贵松等利用YOLOv4研究了斑马鱼群检测算法,但鱼之间的遮挡较大地影响了检测精度[6]。YOLOX为YOLO算法中最先进的无锚点检测器,能一定程度上克服重叠、粘连目标检测困难的问题[7]。

为此,本文使用摄像头实时采集鱼苗图像,研究基于YOLOX鱼苗的检测与计数算法,从而判断实际鱼苗数,有效解决了人工计数中存在的准确率低、效率低等问题,具有很好的实用价值和应用前景。

1 实验数据获取

本文使用了两批加州鲈鱼苗,体长分别为5~7cm和3~4cm。图像采集系统硬件由光源、摄像头、白色水箱、LED灯板和计算机组成,如图1所示。采用海康摄像头距水箱水面50厘米左右处拍摄鱼苗,图像分辨率为1080×1920。

图1 鱼苗自动计数系统硬件装置

实验中,以10条、20条、30条、40条和50条分成五组采集鱼苗图像。从五组鱼苗的视频,分别截取聚集、分散、游动、静止等各种场景下的视频帧图像100张,共500张图像,然后使用DarkLable软件对每一张图像中鱼苗标注包围框,形成txt文件格式,再转化为CoCo数据集格式。将每一组100张图像随机分为60%训练集、20%验证集和20%测试集,则训练集、验证集和测试集分别包含300张、100张和100张图像。

2 YOLOX

YOLOX是在YOLOv3的基础上,利用预测分支解耦、数据增强、Anchor-Free和样本匹配等策略而形成的精度高、速度快的目标检测器。它主要包括四个部分:输入端、主干网络、颈部(Neck)和预测分支[8]。

图2 YOLOX结构图

(1)输入端。在网络的输入端,YOLOX主要采用了Mosaic、Mixup两种数据增强方法。Mosaic数据增强,是通过随机缩放、随机裁剪、随机排布的方式进行拼接,可有效提升小目标的检测效果。MixUp数据增强是将随机的两张样本按比例混合,主要应用在图像分类精度。

(2)主干网络。YOLOX的主干网络可选配多种不同网络,为保证模型精度,本文选择YOLOX-L。

(3)颈部。YOLOX在主干网络特征提取之后,采用了FPN(特征金字塔)进行低层高分辨率特征与高层高语义特征融合,以提高对小目标的检测性能。

(4)预测。为降低耦合检测头可能带来的性能损害,YOLOX将分类头和定位头解耦,极大地改善了收敛速度和检测精度;输出层采用非锚框机制,相比锚点框机制,降低了检测头复杂度、减少了调整参数数量;并且充分利用了高级标签分配SimOTA(Simplified Optimal Transport Assignment)和全局信息的匹配策略,省去了OTA中的Sinkhorn-Knopp算法过程。

3 实验结果

本文在Pytorch框架上实现YOLOX和YOLOv3算法,服务器平台配置为:Intel(R)Xeon(R) Gold 5218 CPU @ 2.30GHz处理器,32GB 运行内存,12GB GTXForce RTX 2080 Ti GPU,系统为 Ubuntu 18.04.5 LTS。

在不同鱼苗密度场景下,在测试集上比较了YOLOX与YOLOv3的检测精度,检测结果如表1所示。随着数量的增加,YOLOX和YOLOv3的检测准确率、召回率都有所降低,但鱼苗数目在50条时YOLOX准确率仍然可以达到96.99%,召回率达到97.38%,比YOLOv3分别高出1.19%和5.38%。这是由于YOLOX应用了数据增强、预测分支解耦、Anchor-Free和样本匹配等策略,能较好地克服鱼苗遮挡和粘连引起的鱼苗检测困难问题。从表2中可以看出,用YOLOX自动数鱼苗个数与实际数量基本一致。YOLOX在不同鱼苗密度情况下的检测实例如图3所示。

表1 YOLOX和YOLOv3的检测结果比较

图3 YOLOX在不同鱼苗密度情况下的检测实例

表2 YOLOX计数结果

4 结语

本文采用摄像头实时采集鱼苗图像,研究基于YOLOX鱼苗检测与计数算法。在鱼苗数量较少时,YOLOX和YOLOv3的检测精度均较高,准确率和召回率分别可达到93.00%以上;但随着鱼苗数量的增加,YOLOX和YOLOv3检测精度均有所下降,但在50条时YOLOX准确率可以达到96.99%,召回率达到97.38%,YOLOX检测准确率和召回率均高于YOLOv3。目前无论国内外,水产养殖都在逐渐智能化,基于计算机视觉的鱼苗计数是解决人工鱼苗计数问题的一个有效途径,因此本文基于YOLOX的鱼苗检测与计数方法具有很好的实用价值和应用前景。

猜你喜欢

鱼苗计数准确率
乳腺超声检查诊断乳腺肿瘤的特异度及准确率分析
多层螺旋CT技术诊断急性阑尾炎的效果及准确率分析
不同序列磁共振成像诊断脊柱损伤的临床准确率比较探讨
颈椎病患者使用X线平片和CT影像诊断的临床准确率比照观察
古代的计数方法
古代的人们是如何计数的?
控流优选鱼苗检疫器
高原地区青海湖裸鲤鱼苗运输注意事项
黑鱼苗价格将继续高位运行