APP下载

基于计算机视觉的鱼类低氧胁迫行为检测与跟踪算法

2023-11-23李道亮姜国旗杨建安王承国

农业机械学报 2023年10期
关键词:鲈鱼检测器加州

李道亮 姜国旗 杨建安 白 羽 谢 琰 王承国

(1.中国农业大学国家数字渔业创新中心, 北京 100083; 2.中国农业大学信息与电气工程学院, 北京 100083;3.中国农业大学烟台研究院, 烟台 264670)

0 引言

在水产养殖中,鱼类福利对于鱼的生长有着至关重要的影响[1-3],其中溶解氧是影响鱼类福利水平的重要指标之一。在工厂化水产养殖中,溶解氧含量与鱼类养殖密度密切相关,一旦水池长时间处于低氧状态下,鱼将会大面积的出现生长放缓、生殖能力下降、免疫功能低下和发病率、死亡率升高等现象[4-5]。传统水产养殖方式主要依赖养殖人员的经验和肉眼观察来判断鱼是否受低氧环境胁迫,但其实时性差、可靠性低、准确性低。为了工厂化水产养殖能够尽可能减少人工干预、增加鱼的福利以取得最大化的收益,有必要提出一种对鱼的低氧胁迫行为可实时、可靠、准确判断的方法。

计算机视觉技术作为一种非入侵式且稳定性较好的方法,逐渐成为鱼类物种行为检测的首选[6]。计算机视觉常见的任务包括图像分类、目标检测[7-8]、目标跟踪[9-10],在水产养殖行业已经得到了较广泛的应用。针对浑浊的水下环境,HUSSAM等[11]将彩色多尺度Retinex颜色增强技术与YOLO算法结合以实现较高的鱼类检测精度。DU等[12]提出了一种ResNet50-LSTM算法来识别鱼育种过程中的基本行为,该算法在光照强度低、养殖密度高、养殖环境复杂的养殖车间中检测效果显著,有很好的鲁棒性和有效性。CAI等[13]将YOLO v3和MobileNet进行结合,优化了MobileNet骨干网络中特征图的确定策略,相对于原模型其检测精度提升3.06个百分点,且推理速度也有明显提升。HU等[14]提出了一种改进的YOLO v4算法用于检测残余饲料颗粒,其对密集连接和去冗余操作进行特征映射改进,AP50增长27.21个百分点,计算量减少30%,但其更适用于极小目标的检测。

随着深度学习的迅速发展和目标检测算法精度不断提升,基于目标检测的多目标跟踪算法已成为主流,根据目标跟踪类型分为单目标跟踪和多目标跟踪。WANG等[15]提出了一种检测、跟踪鱼类异常行为的YOLO v5和SiamRPN++组合网络,其主要对检测头、上采样和下采样进行改进,检测精度和速度效果较好,但SiamRPN++采用迭代的方式实现多目标跟踪,原理上还是单目标追踪,当迭代次数过多时,会消耗大量的GPU资源。SI等[16]采用YOLO v5和多目标跟踪技术DeepSORT开发了一套准确可靠的多斑马鱼幼虫跟踪系统,其检测精度和跟踪精度的鲁棒性相对较好,但对于检测器和跟踪器还有很大的提升空间。

因此,本文构建一种改进的YOLO v5和DeepSORT组合网络算法用于检测和跟踪鱼类低氧胁迫行为,为鱼类高效养殖提供技术支持,其主要包含检测器YOLO v5和跟踪器DeepSORT两部分,在检测器原基础模型上增加基于移位窗口的自注意力机制Swin Transformer用于提升YOLO v5中Backbone和Neck对特征信息的提取能力,进而提高YOLO v5对鱼类低氧胁迫行为检测精度,在跟踪器方面采用Warmup和Cosine Annealing结合的策略对学习率进行调整以加速模型收敛,以提升跟踪模型整体性能。

1 数据采集与数据处理

1.1 数据采集

鱼类低氧胁迫行为识别所用到的实验数据取自于重庆农业科学院鱼菜共生AI工厂,选取对象为50条亚成年加州鲈鱼,采用海康威视变焦摄像头(4.0×106像素)以速度25 f/s拍摄视频数据片段共90个,拍摄时间为2022年6—8月,期间拍摄时间段为 09:00—11:30、13:30—17:30。整个视频数据采集的过程中,除实验池中溶解氧含量会出现大幅度变化外,其余水质参数指标均控制在亚成年加州鲈鱼正常生活范围内,实验场地(1.5 m×2 m)如图1所示。

图1 实验场地Fig.1 Experimental site

1.2 数据处理

从拍摄的视频中抽取图像序列并通过Labelimg工具进行标注、Python图像截取,其中1 439幅图像用于检测器,9 184幅图像用于跟踪器。对于检测器图像,为了防止过拟合、避免样本不均衡,并为了提升模型的鲁棒性及泛化能力,分别对其中的200、600、170幅图像添加高斯噪声、椒盐噪声及亮度调节,并对数据集进行随机划分,训练集与验证集图像数量比为8∶2。对于跟踪器图像,将截取图像按照Market1501数据集格式进行分配,训练集与验证集比为9∶1。

2 目标检测和目标跟踪算法原理

采用检测和目标跟踪算法YOLO v5与DeepSORT。YOLO v5作为检测器对视频帧中的目标进行检测,检测结果作为跟踪器DeepSORT的输入,更高的检测精度能提升DeepSORT的跟踪性能。DeepSORT提取检测器检测的目标特征,计算前后两帧目标的匹配程度,为每个所追踪到的目标分配对应ID。

2.1 目标检测算法

目前,主流的目标检测算法主要分为One-Stage和Two-Stage。One-Stage直接通过主干网络给出类别和位置信息,其算法包括YOLO[17-18]系列、SSD[19]和EfficientDet[20]。Two-Stage先由算法生成一系列样本的候选框,再通过卷积神经网络提取相关特征进行目标的分类和定位,其代表算法为R-CNN[21]系列。通常情况下,前者相对后者检测速度较快,在某些情况下检测精度略高。

2.1.1Swin Transformer注意力机制

Swin Transformer[22]作为一种通用的计算机视觉主干网络,主要解决Transformer从NLP领域调整到 CV领域所带来的实体尺寸、分辨率等差异。其作为一种分层级的Transformer,通过移位窗口将自注意的计算限制在非重叠的局部窗口上,并允许跨窗口连接。

Swin Transformer整体架构如图2a所示,它首先是通过面片分割模块将输入的RGB图像分割成不重叠的面片,每个面片都被看作一个“token”,其特征被设置为原始像素RGB的连接。本文使用的是4×4的面片尺寸,其特征维数为4×4×3=48,并将该原始值特征上应用线性嵌入层,将其投影到任意维度C。Swin Transformer共包含4个阶段,每个阶段都包含2部分,分别是Patch Merging(第1 阶段为Linear Embedding)和连续的Swin Transformer Block,目的是用来计算相关性和采样,其第1阶段不会改变特征图尺寸,其余3个阶段在改变特征图的同时改变了通道数。Swin Transformer Block是在标准的Transformer基础上,替换多头注意力计算部分MSA(Multi-head self-attention)为基于移位窗口的模块W-MSA(Windows multi-head self-attention)和SW-MSA(Shifted windows multi-head self-attention),其余结构不变,如图2b所示。

图2 Swin Transformer注意力机制Fig.2 Swin Transformer attention mechanism

2.1.2YOLO v5算法优化

本文构建了一种新的目标检测算法ST-YOLO v5,网络结构如图3所示,其主要由4部分组成,分别为输入端、Backbone、Neck和Prediction。输入端主要对输入数据进行Mosaic数据增强、自适应锚框计算以及自适应图像缩放。Backbone主要由Focus、C3及SPP等模块组成,主要目的是目标特征提取。Neck采用FPN+PAN结构,其中FPN和PAN的走向相反,前者从上往下传递强语义特征,后者从下往上传递强定位信息,让模型的参数在不同的层次进行聚合。Prediction的主体部分由3个Detect组成,其利用基于网格的anchor在不同尺度的特征图上进行目标检测,进行最终预测的输出。

图3 ST-YOLO v5网络结构图Fig.3 ST-YOLO v5 network structure

在ST-YOLO v5中,首先将原YOLO v5的C3模块与Swin Transformer模块结合成C3STR模块,并分别对Backbone中最后2个C3模块、Neck中前2个C3模块进行C3STR模块的改进替换。经过实验对比发现,ST-YOLO v5的检测效果明显优于原YOLO v5。因此,ST-YOLO v5更适合作为检测器。

2.2 目标跟踪算法

SORT算法是DeepSORT的前身[23-24],其跟踪过程是首先通过检测器(如Faster R-CNN、YOLO等)把每一帧的物体检测出来,随后通过卡尔曼滤波算法[25-26]和匈牙利算法[27]分别进行帧预测、匹配。SORT检测速度较快,但是当物体发生遮挡时会出现频繁的ID切换,进而导致跟踪效果不佳。因此,DeepSORT在SORT模型的基础上引入级联匹配(Matching cascade)和新轨迹确认(Confirmed),可以有效地改善遮挡情况下目标跟踪的效果。

2.2.1学习率策略

在训练过程初期因距离目标太远,一般采用较大的学习率,但较大的学习率容易导致不稳定性。DeepSORT的学习率策略为每过20轮迭代,学习率变为原学习率的1/10。而这种学习率策略会使学习率出现阶梯现象,导致模型不能快速、稳定收敛。为了解决这种慢且不稳定的收敛情况,本文采用Warmup策略[28]对前5个epoch进行预热学习率调整。该策略的核心在于逐步预热,它将学习率从一个小值逐渐增加到一个大值,可有效地解决模型前期收敛慢、不稳定问题。

通常在模型训练过程中,随着模型训练的进行,会逐渐降低学习率,这样才有助于找到最优解。因此,当采用Warmup策略逐步预热学习率到所设预值时,则采用Cosine Annealing策略[29-30]对学习率进行调整。在整个训练过程中学习率的变化曲线如图4所示。

图4 学习率变化曲线Fig.4 Learning rate change curves

由图4可知,采用Warmup和Cosine Annealing结合的学习率调整策略能够更好地减少学习率阶梯现象。通过大量测验来验证这种学习率结合调整策略的可行性,验证结果如图5所示。从收敛角度看,相对于原学习率调整策略,Warmup和Cosine Annealing结合的学习率调整策略能够加快跟踪模型收敛速度,减少了模型前期在收敛过程中阶梯现象。因此,在跟踪模型训练过程中,采用Warmup和Cosine Annealing结合的学习率策略比原有的学习率策略更适用于DeepSORT模型训练。

图5 不同学习率策略下损失值和错误率的变化曲线Fig.5 Change curves of loss value and error rate at different learning rates strategy

2.2.2DeepSORT算法

DeepSORT核心思想是采用传统的单假设追踪方法,使用递归的卡尔曼滤波和逐帧的数据关联。DeepSORT首先采用卡尔曼滤波预测轨迹,随后利用匈牙利算法将检测框和预测框进行级联匹配和IOU匹配,最后进行卡尔曼滤波更新,算法流程如图6 所示。

图6 DeepSORT跟踪流程Fig.6 DeepSORT tracking process

在匹配问题上,DeepSORT采用匈牙利算法来解决检测框和预测框之间关联性的问题。其中对于运动和外观信息的整合采用马氏距离来描述,其计算式为

(1)

式中dj——第j个缺氧鲈鱼检测框的状态

yi——第i个目标跟踪器对缺氧鲈鱼经过卡尔曼滤波后预测框的状态

Si——检测框和预测框之间的协方差矩阵

(2)

DeepSORT分别从运动物体可能位置的信息和外观信息两个方面考虑分配问题。为了构建关联问题,DeepSORT通过加权和将两个指标结合,其计算式为

ci,j=λd(1)(i,j)+(1-λ)d(2)(i,j)

(3)

3 实验结果与分析

3.1 检测器和跟踪器评估指标

3.1.1目标检测器评估指标

对ST-YOLO v5性能评价主要指标是精确率、召回率、平均精度、帧率以及权重。在指标计算方面,在ST-YOLO v5中采用混淆矩阵,真阳性(True positive,TP)、真阴性(True negative,TN)、假阳性(False positive,FP)、假阴性(False negative,FN)。

3.1.2目标跟踪器评估指标

在多目标跟踪评估方面,采用TrackEval工具对DeepSORT进行整体性能评估,主要评估指标分别为跟踪准确度(MOTA)、跟踪精度(MOTP)、ID切换数(IDSW)和综合指标(IDF1)。其中MOTA是跟踪准确度,MOTA是对漏报数(FN)、误报数(FP)、ID切换数(IDSW)的一个整体性评估,是衡量多目标跟踪模型DeepSORT在检测和跟踪方面一个非常直观的性能参数。MOTA的计算式为

(4)

式中N——真实轨迹总数量

MOTP为跟踪精度,主要考虑的是检测框和目标真实边框的重叠情况,其计算式为

(5)

式中dt,i——当前帧位置匹配误差

ct——当前帧匹配成功个数

IDF1为正确识别的检测数与平均真实数和计算检测数之比,主要评估DeepSORT算法的稳定性,值越大表示越稳定,其计算式为

(6)

式中IDTP——正确识别的目标数量

IDFP——错误识别为目标数量

IDFN——未能识别为目标数量

3.2 目标检测器选型

针对于不同场景和目标物,One-Stage和Two-Stage的算法检测效果不同。为了对目标检测模型进行准确选型,分别对One-Stage中的SSD、YOLO v4、YOLO v5、YOLO v6、YOLO v7、EfficientDet算法和Two-Stage中的Faster R-CNN进行对比实验,其实验结果如表1所示。表中mAP@0.5表示IOU阈值为5时识别对象的平均精度。

表1 目标检测算法对比实验结果Tab.1 Comparative experimental results of target detection algorithms

由表1可知,Two-Stage中最具有代表性的算法Faster R-CNN在帧率和权重方面均不如YOLO系列,其实时性较差,且不适合在移动端部署。在One-Stage中SSD和EfficientDet的mAP@0.5远低于YOLO系列。对于YOLO系列,YOLO v4的mAP@0.5略高于YOLO v5,但YOLO v5的帧率远高于YOLO v4,且YOLO v5权重远远小于YOLO v4的权重。YOLO v6的帧率高于YOLO v5,但mAP@0.5和权重均不如YOLO v5。YOLO v7的mAP@0.5、权重、帧率均不如YOLO v5。鉴于本研究对于检测精度和推理速度要求较高,因此采用YOLO v5作为基础目标检测模型。

YOLO v5提供4种规模的版本,分别为YOLO v5s、YOLO v5m、YOLO v5l、YOLO v5x。为了更加准确对目标检测模型版本进行选型,对以上4种规模的版本进行了实验对比,对比结果如表2所示。表中mAP@0.5:0.95表示不同IOU阈值(从0.5到0.95,步长0.05)上的平均精度均值。

表2 YOLO v5不同规模版本对比实验结果Tab.2 Comparative experimental results of YOLO v5 versions of different scales %

由表2可知,YOLO v5s的mAP、召回率均高于其余3种,且YOLO v5s结构相对简单,实时检测性能好。本文将采用YOLO v5s作为基础检测器。

3.3 不同注意力机制下检测器性能评估

在深度学习中,注意力机制已经成为一个重要的概念[31],其本质是通过网络自主学习生成一组权重系数,并以动态加权的方式来着重强调所关注的区域,同时忽略不相关信息。在目标检测领域,常见的注意力机制为SE、ECA、CA、CBAM等,它们与Swin Transformer都能提升目标检测模型对特征信息提取的能力,影响目标检测模型的精度。为了探究YOLO v5模型在不同注意力机制下提取加州鲈鱼低氧胁迫行为信息的能力,进行了一系列的对比实验,主要参考指标有mAP、精确率、召回率,其结果如表3所示。当把SE和ECA添加到YOLO v5模型中,其模型在mAP@0.5、mAP@0.5:0.95和精确率方面都有所降低。对于注意力机制CBAM,添加后其各项指标均不如原YOLO v5模型。注意力机制CA在mAP@0.5、mAP@0.5:0.95方面相较于原YOLO v5模型有一定的提高,但从整体指标对比来看提升效果远不如本文所提出的ST-YOLO v5模型。ST-YOLO v5在mAP@0.5、mAP@0.5:0.95和召回率方面分别提升1.9、1.3、0.8个百分点。因此,本文所提出的ST-YOLO v5更适合于检测加州鲈鱼的低氧胁迫行为。

表3 不同注意力机制对比实验结果Tab.3 Comparative experimental results of different attention mechanisms %

为了进一步验证ST-YOLO v5模型检测加州鲈鱼低氧胁迫行为的有效性,对包含加州鲈鱼低氧胁迫行为的随机视频帧图像进行实例测验,视频帧图像包含遮挡和非遮挡两种情况,其实例测验结果如图7所示。由图7可知,在相同实验环境下,以上6种模型均能够识别到加州鲈鱼低氧胁迫行为。但综合视频帧图像的遮挡和非遮挡两种情况来看,对于真实的加州鲈鱼低氧胁迫行为,ST-YOLO v5模型所提供的置信度相对更高,表明基于移位窗口的自注意力机制Swin Transformer模块能够最大程度地提升目标检测模型YOLO v5对加州鲈鱼低氧胁迫行为信息的提取能力,进而提升模型对目标行为的检测效果。

图7 不同注意力机制下YOLO实例检测图像Fig.7 YOLO instance detection images under different attention mechanisms

3.4 跟踪模型性能评估

为了验证本文所提出的关于加州鲈鱼缺氧行为跟踪模型的有效性,在所采集的数据集中随机挑选一段视频进行跟踪测验,其测验结果如图8所示。根据优化前后DeepSORT的实例跟踪结果,在遮挡和非遮挡情况下,优化后的跟踪模型并没有出现漏检、ID切换、重检的情况,表明本文所优化的跟踪模型相较于原跟踪模型性能优异。

图8 实例跟踪结果Fig.8 Instance tracking results

为了对优化后多目标跟踪模型做一个整体性能评估,采用跟踪性能评估工具TrackEval,并在采集的加州鲈鱼低氧胁迫行为视频数据集中随机选取一段视频用于跟踪模型整体性能评估,选取的视频数据片段采用DarkLabel标注工具进行目标真实路径标注,标注结果和跟踪模型输出结果作为评估工具的输入,优化前多目标跟踪模型与优化后多目标跟踪模型评估结果如表4所示。

表4 跟踪模型评估结果Tab.4 Tracking model evaluation results

由表4可知,所提出的改进YOLO v5与DeepSORT模型相对于优化前跟踪模型在MOTA、MOTP和IDF1方面分别提升4.0、0.7、10.7个百分点。在IDSW方面,改进后的算法模型在跟踪缺氧的加州鲈鱼时,并没有因遮挡出现ID切换的情况。

综上所述,改进后的算法模型在遮挡和非遮挡情况下性能表现优异,更适用于加州鲈鱼低氧胁迫行为的跟踪。

4 结论

(1)针对工厂化水产养殖中传统水产养殖方式对鱼类低氧胁迫行为判断存在准确率低、可靠性差、实时性差等问题,构建了一种基于ST-YOLO v5的多目标跟踪模型DeepSORT,该模型在鱼类低氧胁迫行为检测、跟踪方面性能表现优异,为鱼类养殖人员提供了一定的技术支持。

(2)对不同类型、不同规模版本的目标检测算法进行对比实验,最终选择YOLO v5s作为基础目标检测算法,并构建目标检测算法ST-YOLO v5。ST-YOLO v5相对于基础目标检测算法在mAP@0.5、mAP@0.5:0.95和召回率方面分别提升1.9、1.3、0.8个百分点,模型的整体性能更优异。

(3)在ST-YOLO v5的基础上引入多目标跟踪模型DeepSORT,并采用Warmup和Cosine Annealing结合的学习率调整策略加速跟踪模型收敛。实验结果表明,基于ST-YOLO v5的跟踪模型DeepSORT在MOTA、MOTP和IDF1方面分别提升4.0、0.7、10.7个百分点,并且ID的切换频率得到抑制。

猜你喜欢

鲈鱼检测器加州
见证!草鱼、加州鲈再度崛起
舌尖上的四鳃鲈鱼
一叶舟
加州鲈肝脏养护
明年或激增40%?华中3万多吨加州鲈市场谁能笑到最后?
车道微波车辆检测器的应用
一种雾霾检测器的研究与设计
加州美术馆
一体化火焰检测器常见故障分析
超高压处理对海鲈鱼鱼肉凝胶形成作用