基于DeepSORT算法的鱼道过鱼种类识别和计数研究

Xsens动作捕捉 2023-05-09 3803

《水利水电技术(中英文)》已迁移至新网
https://sjwj.cbpt.cnki.net,旧网站已经关闭。

摘 要:

为了解决鱼道过鱼监测中鱼类种类识别和计数问题,基于深度学习技术,以异齿裂腹鱼、拉萨裂腹鱼、拉萨裸裂尻和尖裸鲤为目标鱼类,在Y江某水电站鱼道开展过鱼种类识别和计数实验。首先,将过鱼视频制作成数据集,评估Faster R-CNN、YOLOv4和YOLOv5s 3种目标检测算法的性能。其次对DeepSORT算法中检测部分做出改进:将目标检测算法由Faster R-CNN替换为YOLOv5s,用于检测视频中的鱼类。然后采用卡尔曼滤波算法和匈牙利匹配算法对检测到的鱼类进行跟踪预测和最优匹配,通过对每一条目标鱼类分配唯一的ID,在视频中部划分虚拟“检测线”的形式,对过线的鱼类实现计数。结果表明:(1)Faster R-CNN、YOLOv4和YOLOv5s的鱼类平均检测准确率分别为80.85%、82.85%和86.6%。其中,YOLOv5s的准确率最高,异齿裂腹鱼、拉萨裂腹鱼、拉萨裸裂尻和尖裸鲤的种类识别准确率分别为94.19%、90.22%、84.57%和77.41%。(2)以YOLOv5s为检测器的DeepSORT算法鱼类计数平均准确率为71%,异齿裂腹鱼、拉萨裂腹鱼、拉萨裸裂尻和尖裸鲤计数准确率分别为80.7%、66.2%、64.8%和72.4%。研究结果能够为实现鱼道过鱼监测的自动化、智能化提供新方法,为鱼道的运行管理提供决策参考依据。

关键词:

DeepSORT;YOLOv5;鱼道过鱼种类识别;鱼道过鱼计数;深度学习;

作者简介:

吴必朗(1997—),男,硕士研究生,主要从事水生态监测研究。

*柳春娜(1985—),女,高级工程师,博士,主要从事水生态监测研究。

基金:

中国水科院“五大人才”计划专项项目(SD0145B032021);

国家自然科学基金项目(51809291);

引用:

吴必朗, 柳春娜, 姜付仁. 基于 DeepSORT 算法的鱼道过鱼种类识别和计数研究[ J] . 水利水电技术(中英文), 2022, 53(9): 152- 162.

WU Bilang, LIU Chunna, JIANG Furen. Species identification and counting of fishes in fishway based on DeepSORT algorithm[ J]. Water Resources and Hydropower Engineering, 2022, 53(9): 152- 162.


0 引 言

鱼道可以辅助洄游性鱼类通过大坝造成的物理阻隔,实现上溯或者下溯,有助于维护流域的生态平衡。鱼道过鱼种类识别和数量统计是鱼道过鱼智能监测的重要任务。鱼道过鱼效果的优劣对鱼道功能的完善与优化,提升鱼道运行管理水平有重要意义。国际上,欧盟水框架指令对过鱼设施运行效果评估做出规定:需要明确过鱼的种类。美国水电站运行许可证中要求过鱼设施在运行期间需保证洄游性目标鱼类能够及时顺利地通过闸坝,实现上行或者下行。现有的鱼道过鱼效果监测技术包括人工观测、张网法、声呐法、电阻法和PIT射频标记法等方法,这些方法难以同时兼顾到种类和数量两个监测指标。人工观测、张网法等方法可以判断鱼道过鱼种类和数量,但过度依赖人工操作,因此要求运行管理人员具备较强的鱼类识别能力,且长时间监测效率较低。声呐法和电阻法监控对后期的数据分析处理要求很高,且主要用于鱼类数量统计,难以实现鱼类种类的识别。PIT射频等标记跟踪方法需要人工捕鱼标记,适用于单次的过鱼效果评估,不适用于长时间连续的过鱼效果监测。

基于光学成像的过鱼监测技术具有高效率、无损性、可重复批量监测和低成本等优点。早期,研究人员倾向于通过鱼类自身的颜色、纹理和形状等特征构建鱼类分类模型。STRACHAN等使用计算机对鳕鱼、比目鱼等7种不同类型的鱼类图像进行分析,然后通过人为划分特征值的方法实现鱼类识别。ZION等基于计算机视觉,通过对鱼的体长、尾鳍等形态特征进行分析,实现了对鲤鱼、鳃鱼和罗非鱼3种鱼的分类。此类方法的重点在于鱼类分类模型的构建和特征形态的选取,模型适用性不强。近年来,得益于深度学习技术的快速发展,通过将特定场景下的大量图像作为数据集,直接输入至卷积神经网络(Convolutional Neural Network, CNN)中,自动学习对图像的特征表示后,在模板库中对样本进行分类匹配,最终实现对目标准确识别的目标检测算法,已经逐渐成为鱼类识别的主流算法。林明旺等设计了一种基于卷积神经网络的鱼类图像识别与分类系统,该模型对长鳍金枪鱼、大眼金枪鱼等8种鱼类的分类准确率达到96.24%;张俊龙等基于CNN构建的深度学习模型,通过将鱼类特征权重化,再进行卷积,显著提升了对海洋鱼类的识别准确率;李庆忠等通过改进YOLO(You Only Look Once)算法和使用迁移学习方法训练的方式实现了鱼类目标实时检测,对鱼类小目标和重叠目标的检测效果较好。这些研究主要关注鱼类种类的识别,且以静态识别为主,尚未开展动态鱼类图像计数的相关研究。这是因为动态鱼类图像计数的实现涉及到相邻帧之间多个目标间的信息关联,需要解决因鱼类游动所引起的鱼类运动方向、所在位置和躯体的形变不断变化的问题。因此,动态鱼类图像计数要比静态识别复杂得多,除了要实现鱼类的识别外,还需要根据获取的前后帧之间的信息,完成相邻帧之间的多目标的数据关联匹配。

目标跟踪可以实现对动态图像中每一条鱼进行轨迹跟踪,这是实现鱼道过鱼计数的基础。它是利用图像序列中的前后帧信息,对目标的外观和运动信息进行建模,从而预测目标的运动状态并标定目标位置的一种技术。随着深度学习的发展和GPU并行计算能力的提升,基于目标跟踪的技术被广泛应用于无人驾驶、交通流量监控和人群计数等方面。张宏鸣等基于YOLOv3算法,结合Mudeep重识别模型,实现了养殖环境下的肉牛实时跟踪。游峰等提出基于多目标跟踪FairMOT框架及K-means聚类的行人轨迹捕获和运动语义信息感知方法,实现了行人轨迹的提取。李永上等提出一种改进YOLOv5s检测结合DeepSORT跟踪的车流量统计方法,该方法在平峰、高峰、夜间三种不同的场景下车流量计数准确率达到89.9%以上。

为解决鱼道过鱼监测中鱼类种类识别和计数问题,本文基于最新的深度学习技术,对鱼道过鱼种类识别和数量统计方法进行研究,旨在通过在鱼道内安装水下摄像系统采集图像信息,利用目标检测算法和目标跟踪算法实现过鱼种类识别和计数。

1 材料与方法

Y江某水电站鱼道工程过鱼对象包括异齿裂腹鱼、巨须裂腹鱼、拉萨裂腹鱼、尖裸鲤、双须叶须鱼、拉萨裸裂尻、黑斑原鮡7种鱼类。通过对监测期内过鱼数据的人工核查,共采集到异齿裂腹鱼、拉萨裂腹鱼、拉萨裸裂尻和尖裸鲤4种鱼类的过鱼视频(在本次试验的监测期内未收集到其他3种鱼类的过鱼图像,故不列为本次试验的目标鱼类),作为本次实验的目标鱼类。

1.1 技术路线

本文旨在利用深度学习方法通过视频图像信息实现鱼道过鱼种类识别和计数,本方法的技术路线如图1所示。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第1张

图1 技术路线


(1)图像获取:

设置水下图像采集系统,实现对鱼道水下图像的无干扰自动获取。主要包括对水下摄像头进行密封改造、安装和调试等工作。

(2)数据集构建:

筛选有效过鱼片段,提取视频中关键的过鱼图像,通过对过鱼图像进行标注、裁剪等处理,构建目标鱼类种类识别、目标鱼类跟踪计数数据集。

(3)目标鱼类种类识别网络构建:

将目标鱼类种类识别数据集分别输入到Faster R-CNN、YOLOv4、YOLOv5s网络模型中进行训练,并筛选出最适合用于鱼类目标检测的模型,作为鱼类目标跟踪计数的检测器。

(4)鱼道过鱼种类识别和计数的实现:

将采集到的过鱼视频,使用改进后的DeepSORT算法进行鱼类的种类识别和计数实验。

(5)结果分析:

通过对目标鱼类种类识别效果、鱼类计数结果进行评估,将模型输出的结果与人工核验的结果进行对比分析,验证其方法的可行性。

1.2 鱼类图像采集与处理

图像采集与处理包括图像采集、图像传输和图像处理3个部分。图像采集模块用于采集鱼道过鱼图像和视频数据。由于水下成像易受到光的散射和色彩畸变效应的影响,可能导致水下图像模糊、对比度低且可视距离短。为采集到清晰的过鱼图像数据,不仅要对摄像头进行单独封装,而且要将水下摄像头、LED光壁和过鱼箱涵组合成一个框架式结构,称为水下摄像系统(见图2)。为保证水下摄像系统能采集到每一条过鱼图像,最大限度地获取到鱼类的外观特征和运动信息,将其布置在两块竖缝式隔离板之间,同时把过水网固定在水下摄像系统上侧不让鱼通过,使鱼只能从过鱼箱涵通过。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第2张

图2 水下摄像系统布置示意


图像传输模块主要负责将摄像头采集到的图像信息,通过线缆和路由器,基于RTSP协议传输至刻录机和服务器中。图像处理模块主要是对摄像头拍摄的视频图像进行预处理,包括图像筛选、图像增强。由于水下图像存在颜色失真、对比度低的问题,本文使用MSRCP算法对图像进行增强,提高图像质量。MSRCR算法是在光照-反射模型的Retinex理论下形成的,计算公式如下


基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第3张


式中,RMSRCRi(x,y)为增强后的图像;I(x,y)为接收到的图像信息;G(x,y)为高斯核;Ii(x,y)为原图像在第i个颜色通道的分布;β为增益系数;N为总尺度数;ωn为不同尺度下的权重参数;α为非线性调节因子。

通过公式(1)可调节图像在动态范围压缩、边缘增强和颜色恒常三个方面间的关系,进而实现对各种不同类型的图像进行自适应的增强。MSRCR算法的处理结果如图3所示,从结果上看,MSRCR算法提高了图像的对比度,在一定程度上恢复了图像的色彩信息,使鱼类图像的纹理和轮廓信息得到增强。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第4张

图3 水下鱼类图像增强


1.3 数据集制作

摄像头型号为海康威视DS系列,分辨率为1 280×720像素,保存为mp4格式,视频帧率为30 f/s。视频图像采集时间为2022年3月18—24日和4月7日—9日两个时间段,期间不间断监测,共收集到634段视频,平均时长为25 min。将无过鱼片段的视频剔除后,保留有效视频192个,涵盖了早中晚不同时段。为增强数据集的多样性,首先对部分视频分帧处理,每隔5帧提取一帧加入数据集,同时将增强后的图像也加入数据集,并使用Labelimg工具对图像中4种目标鱼类进行标注。最后,将6 822张标注完成的图像按照8∶2的比例随机划分为训练集和测试集。数据集部分图像如图4所示。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第5张

图4 鱼道过鱼目标检测数据集样例


1.4 鱼类目标种类识别和计数方法

DeepSORT算法的处理流程如图5所示。该算法主要包含以下4个步骤:

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第6张

图5 DeepSORT算法处理流程


(1)对输入的视频信息进行预处理,然后使用YOLOv5s网络提取图像的特征信息后得到候选框,再通过非极大抑制(Non-Maximum Suppression, NMS)算法去除重叠框,最后得到目标检测框和相应特征。

(2)通过递推的卡尔曼滤波对目标下一帧的位置信息和运动状态进行预测,并将结果与检测器获取的检测框进行对比,最终选取置信度更高的检测框为预测结果。

(3)使用基于运动信息的马氏距离和外观特征的余弦相似度的线性加权函数进行数据关联,并通过级联分配进行跟踪轨迹匹配。

(4)结果输出,同时更新跟踪器的参数,重新开始目标检测。

DeepSORT算法使用一个残差卷积神经网络提取目标的外观特征,输入的图像被缩放到64×128像素,这与目标鱼类的宽高比不符。为使模型适用于鱼类特征提取,调整网络的输入图像大小为256×128像素。同时考虑到算法的效率和准确率的因素,对该算法检测部分做出改进:将DeepSORT检测部分的算法由Faster R-CNN替换为YOLOv5s, 封装成一个模块,通过调用的方法,得到预测信息,再进行跟踪预测、匹配和更新。

1.4.1 基于YOLOv5s的鱼类种类识别

YOLOv5s的网络结构如图6所示,主要由输入端Input、主干网络Backbone、网络层Neck和输出端Head等4个部分组成。输入端Input负责数据预处理,主要包括Mosaic数据增强、自适应图像填充和自适应锚框3个子模块。其中自适应锚框是根据鱼类大小的不同而自动添加的适当图框。Backbone为模型的主干网络,它通过深度卷积操作从图像中提取出不同层次的特征信息,位于最前端的Focus和尾部的空间金字塔池化SPP(Spetial Pyramid Pooling)结构可实现对同一特征图不同尺寸的特征提取,有助于检测精度的提高。网络层Neck采用特征金字塔FPN(Feature Pyramid Networks)+路径聚合结构PAN(Path Aggregation Network)的结合方式,将Backbone中不同网络层之间的信息实现了融合,使得模型的检测能力得到进一步提升。输出端Head是模型的检测器,负责预测类别和锚定目标边界框,可在大小不同的特征图上实现对目标的多尺度预测。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第7张

图6 YOLOv5s算法结构


在进行图像预测时,YOLOv5s首先将输入的图像划分为N×N的网格。如果一个目标鱼类的中心落在某网格内,则该网格负责检测该目标鱼类。每个网格都预测边界框和这些框的置信度。每个边界框包含5个预测参数:(x,y,w,h)和confidence, 其中(x,y)、(w,h)分别代表预测边界框的坐标和宽度、高度。最后通过非极大值抑制将置信度最高的检测框作为预测结果。

1.4.2 基于DeepSORT的鱼类计数方法

DeepSORT算法属于基于检测的跟踪(Tracking-By-Detection, TBD)算法,即利用运动信息和外观特征进行帧与帧之间数据关联,当算法检测到目标后,通过带权值的匈牙利匹配算法将当前检测对象与之前的运动轨迹进行匹配,确定目标的运动轨迹。权值可通过马氏距离和最小余弦值相加得到。

运动信息的关联是通过马氏距离来计算卡尔曼滤波预测现有目标的运动状态的跟踪边界框与目标检测得到的检测边界框距离而得到的。然后再将马氏距离与设定的阈值t(1)比较,若关联的马氏距离小于阈值,则关联成功,可用函数式表述如下


基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第8张


式中,dj为第j个检测的目标边界框;yi为跟踪器第i个跟踪的预测目标边框;Si为两样本的协方差矩阵;b(1)i,ji,j(1)为指示器阈值,?=1。

当马氏距离不能很好地进行度量时,引入外观特征信息作为关联信息。外观信息关联可利用检测的特征描述与跟踪的特征描述之间的最小余弦距离来度量。通过将关联的余弦距离与训练得到的相关阈值t(2)相比较,若关联的余弦距离小于阈值,则关联成功,其计算式为


基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第9张


将(3)式和(5)式线性加权结合,即可得到判定关联是否成功的门限函数,可表示为


基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第10张


式中,Ri为描述目标外观特征的集合;b(2)i,ji,j(2)为外观指示器阈值;λ为权重系数;m={1,2}。

本文采用在视频中布置检测线的方法实现鱼道过鱼数量统计。在视频的中部设置一条竖直的虚拟检测线,当目标检测器识别到鱼类时,记录识别到的边界框和外观特征,并赋予每个目标一个单独的ID进行关联;然后进行IoU(Intersection over Union)匹配和级联匹配,通过卡尔曼滤波和匈牙利匹配算法实现目标匹配和跟踪;当目标跟踪框的中心点与检测线相交时,过鱼数量将按照种类对应相加;通过计算后一帧检测框中心坐标与前一帧检测框中心坐标的大小判断鱼类游动方向,最终达到计数的目的。

T-1帧到T+1帧的鱼类计数情况如图7所示,不同帧之间通过ID号将前后帧正确关联。从T-1帧到T帧,图中的检测目标由3个变为4个,新增目标ID号d。从T帧到T+1帧时,目标c消失,目标b仍存在且通过了鱼类计数检测线,所以达到计数的条件;目标a、目标d虽也存在,但因还未通过检测线,未达到计数的条件;目标e是在T+1时刻出现的,但由于未触碰到检测线,也没达到计数条件。因此,在T帧到T+1帧,鱼类上行数量增加1。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第11张

图7 鱼类计数示意


1.5 监测内容

本文监测内容主要由两部分构成:

(1)鱼类种类识别:

首先将6 822张过鱼图像基于目标检测框架分别训练Faster R-CNN、YOLOv4和YOLOv5s网络模型,均使用预训练模型。实验平台为自行搭建的服务器,硬件环境:Win10操作系统,处理器为Intel i9-10980xe 18核CPU,256 G内存,显卡为RTX3090 GAMING OC 24 G*2。软件配置:运算平台为Cuda Toolkit 11.4,深度神经网络的GPU加速库为Cudnn 8.2.4,编程语言为Python 3.7版本,深度学习模型框架为PyTorch 1.8版本。模型输入图片大小为608×608像素,初始学习率为0.001,权重衰减系数为0.000 5,Batch_size为8,采用冻结训练,epoch设为120。随后用训练得到的网络模型分别测试过鱼图像,评价各算法优劣。

(2)鱼类计数:

首先采用人工计数的方式对获取的视频进行过鱼计数,将视频逐帧播放,以视频中央为检测线,记录过鱼的种类和对应上下行的数量,直至视频播放结束,得到监测期内鱼道各目标鱼类过鱼的上下行数量以及总数量。随后基于DeepSORT算法对视频中的过鱼种类、数量、上下行进行统计,并将统计结果与人工计数的结果进行比较,评估算法的准确率。

1.6 评价指标

本文采用准确率(Precision, P)、召回率(Recall Rate, R)、平均检测准确率(Mean Average Precision, mAP)和FPS(Frames Per Second, 表示每秒的帧率大小,FPS值越大,算法的处理速度越快)来评估训练得到的模型性能,计算公式如下


基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第12张


式中,TP(True Positive)为正确识别的鱼类;FP(False Positive)为误识别的鱼类;FN(False Negative)为漏检的鱼类;M为目标鱼类的种类数量,M=4。

本文使用ACP值(Average Counting Precision)和mACP(Mean Average Counting Precision)来评估鱼类计数算法准确率,计算公式如下


基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第13张


式中,N为人工计数的结果;S为算法计数的结果;p表示上行;d表示下行。

2 实验结果与分析

将训练得到的Faster R-CNN、YOLOv4和YOLOv5s目标检测网络在相同的测试集(1 365张图像)下进行对比实验。基于公式(8)—(11)计算得到相应指标,如表1所列。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第14张


由表1可知,YOLOv5s平均识别准确率最高,为86.6%;其中对异齿裂腹鱼、拉萨裂腹鱼、拉萨裸裂尻和尖裸鲤4种目标鱼类的平均识别准确率分别为94.19%、90.22%、84.57%和77.41%,FPS达到了48.57 f/s。这里,拉萨裸裂尻和尖裸鲤的识别准确率明显低于其他鱼类,主要是因为躯体上有无斑点是区分这两种鱼的关键信息,鉴于水下图像对比度较低,导致该特征不明显,算法无法充分利用到该特征信息,影响了识别的准确率。可以看出,YOLOv5s模型在准确率、模型平均准确率和检测速率方面均领先于其他目标检测算法,证明了该算法的优越性,为跟踪器提供了可靠的检测框信息,为实现鱼类计数奠定了基础。

YOLOv5s的检测效果如图8所示,对于图像中只存在一条鱼,或多条鱼但无遮挡的情形,算法的识别正确率较高[见图8(a)—(d)]。鱼群在游动的过程中会出现彼此遮挡的现象,算法只能捕捉到鱼类的局部特征,可用的信息量少,导致部分鱼类被漏检[见图8(e)]或误识别[见图8(f)],影响了识别的准确率。鱼类的误检将会导致算法对鱼类进行错误的识别,进而影响鱼类计数。为了降低误检带来的计数误差,算法在检测视频中的鱼类时,将提高置信度阈值,以避免对检测准确度较低的鱼类执行跟踪匹配。漏检的鱼类多为被其他鱼类遮挡的鱼类,漏检会导致鱼类的计数数量少于实际数量。但在本文采集到的视频图像中,此类情况出现的概率极小,此外被遮挡的鱼类在多个视频帧中出现时,它被检测到的概率也会随之增加。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第15张

图8 Yolov5s算法测试结果


将鱼类识别实验中表现最好的YOLOv5s目标检测算法作为DeepSORT算法的检测器,对采集到的过鱼视频进行检测,为保证跟踪的准确度,将置信度阈值由0.5提高到0.8。基于本文算法对过鱼视频序列的跟踪结果示例如图9所示。可以看到,第7帧时跟踪到两个目标,ID号分别为1和2;第14帧时,2号目标丢失,直到第19帧时才恢复,ID号仍为2;第23帧时,鱼类发生遮挡,此时只检测出一个目标;第45帧时,虽然无遮挡,但产生了新的ID;直到第50帧时,算法匹配到原来的目标,恢复为原ID。因此,尽管在鱼类运动过程中存在间歇性检测或遮挡的情况,但是算法仍然可以跟踪到该目标,并保持原有ID不变。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第16张

图9 鱼类遮挡、间歇性检测跟踪示例


鱼道过鱼种类识别和计数示例如图10所示,首先使用改进后的DeepSORT算法对采集到的有鱼视频逐个识别、计数,然后将结果输出,最后再将各个有鱼视频的过鱼数量分别相加。人工计数结果与算法计数的统计结果如表2所列。基于公式(12)、(13)计算得到的异齿裂腹鱼、拉萨裂腹鱼、拉萨裸裂尻和尖裸鲤的计数准确率分别为80.7%、66.2%、64.8%和72.4%,平均计数准确率为71%。分类看,异齿裂腹鱼的计数准确率最高,拉萨裸裂尻的计数准确率最低,与鱼类种类识别实验的结果相仿。此外,算法计算得到的鱼类下行数量高于人工统计的数量,是因为鱼类计数是根据DeepSORT算法分配的唯一的ID号来跟踪判断不同帧的鱼类是否为同一条鱼。然而,鱼类之间的遮挡、运动的姿态变化和图像模糊等因素,会对跟踪效果产生影响,若跟踪失败,则会重新给鱼类分配新的ID。鱼类运动具有很强的随机性,运动方向难以预测,当鱼在计数检测线附近来回游动时,若它的ID发生改变,则很可能会造成重复计数。本试验虽采取了补光措施,但鱼道内光线较暗的问题仍然存在,图像总体对比度较低,易导致出现鱼类漏检现象,特别是当鱼穿过鱼类计数检测线时,若此刻跟踪不到鱼类,则无法实现计数;当同一时刻过鱼数量较多时,鱼群间易产生遮挡,对鱼类种类识别和计数造成影响。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第17张

图10 鱼道过鱼识别计数统计示例


基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第18张


3 结论与展望

本文基于DeepSORT算法,将其检测器由Faster R-CNN替换为YOLOv5s, 用于鱼道的过鱼种类识别和计数。通过布置水下摄像系统,将采集的鱼道过鱼图像作为数据集,训练并测试Faster R-CNN、YOLOv4和YOLOv5s目标检测模型;将YOLOv5s模型作为检测器,使用DeepSORT算法对视频中的鱼类进行逐帧轨迹匹配,并赋予鱼类唯一的数字ID,以视频虚拟中线为鱼类计数检测线,实现了鱼类过线计数。

(1)YOLOv5s目标检测模型的性能最优,鱼类种类平均识别准确率为86.6%,其中异齿裂腹鱼、拉萨裂腹鱼、拉萨裸裂尻和尖裸鲤4种目标鱼类的识别准确率分别为94.19%、90.22%、84.57%和77.41%,检测速度达到为48.57 f/s。

(2)鱼类计数平均准确率为71%,其中异齿裂腹鱼、拉萨裂腹鱼、拉萨裸裂尻和尖裸鲤的计数准确率分别为80.7%、66.2%、64.8%和72.4%。

本文所使用的方法可实现鱼道过鱼种类识别和计数自动化,满足了过鱼效果长期监测需求。该方法可以为优化鱼道设计和运行提供决策参考依据。下一步可以扩充数据集,增强模型的鲁棒性。未来可考虑增加监测时间,优化监测设备,对其他鱼类进行数据采集,进一步提高模型的鲁棒性,优化损失函数,进而提高算法的精度和应用范围。


水利水电技术(中英文)

水利部《水利水电技术(中英文)》杂志是中国水利水电行业的综合性技术期刊(月刊),为全国中文核心期刊,面向国内外公开发行。本刊以介绍我国水资源的开发、利用、治理、配置、节约和保护,以及水利水电工程的勘测、设计、施工、运行管理和科学研究等方面的技术经验为主,同时也报道国外的先进技术。期刊主要栏目有:水文水资源、水工建筑、工程施工、工程基础、水力学、机电技术、泥沙研究、水环境与水生态、运行管理、试验研究、工程地质、金属结构、水利经济、水利规划、防汛抗旱、建设管理、新能源、城市水利、农村水利、水土保持、水库移民、水利现代化、国际水利等。

基于DeepSORT算法的鱼道过鱼种类识别和计数研究  第19张

The End