1. 引言
中华鲟是硬骨鱼纲、鲟科的鱼类,是中国长江中最大的鱼,故有“长江鱼王”之称。由于中华鲟是地球上最古老的脊椎动物,其自身所具有的一系列原始特征具有重要的科学研究价值,同时研究其生态、社会和经济价值也有很大的前景。随着长江生态环境的恶化,以及人类对中华鲟的过度捕捞行为,使得中华鲟在栖息地不断减少,其自然种群规模也急剧缩小,中华鲟种群延续正面临严峻考验。
国内外学者基于计算机视觉对鱼类检测与识别进行了诸多的研究。传统的鱼类目标检测方法是机助提取鱼类的形状、大小、颜色、纹理等特征,然后把特征向量输入到分类器中进行分类。但是传统方法使用的特征较少,很难从大数据量的视频进行更丰富的特征提取,存在较大的局限性。随着深度学习的不断发展,众多科研机构将经典深度学习检测方法应用于水下目标识别 [1]。2016年LiXiu等 [2] 将Fast R-CNN应用于水下鱼类图像检测,该方法不仅平均检测精度比传统R-CNN算法提高了10%以上,而且检测速度更是提高了一个数量级。XuC等 [3] 利用Faster R-CNN检测算法评估视频中鱼的多样性和密度,在水下目标的数据集上分类准确率达到94.1%。2018年XinS等 [4] 就提出了一种CNN知识传递框架,这种框架用于水下目标识别,有效解决了低对比度图像鉴别特征的提取问题。ChunleiX等 [5] 利用YOLOv2模型实现了水下视频海参目标检测,提高了检测效率。沈军宇等 [6] 利用CNN和非极大值抑制(Non-Maximum Suppression, NMS)处理,基于YOLO算法提出了一种端到端鱼群检测算法,获得了良好的检测精度,提升了检测速度。LabaoA等 [7] 提出了一种基于深度网络结构的鱼类检测系统,该系统由一组卷积神经网络通过长、短期记忆网络串接组成,具有很好的鲁棒性。朱世伟等 [8] 提出了一种基于类加权YOLO网络的水下目标检测方法,引入了目标框自适应维度聚类算法来提升召回率,并用类加权损失来权衡不同样本的难易程度,提高了平均准确率。张明华等 [9] 提出了一种基于改进Cascade R-CNN目标检测模型和MSRCP图像增强的夜晚水下鱼类目标检测方法,实现对夜晚水下鱼类的精准检测,与其他目标检测方法相比,提高了检测精度和检测效率。2022年郑宗生等 [10] 基于YOLOv4网络模型,在CIOU损失函数的基础上引入新的损失项,改进YOLOv4模型的平均精度均值(mean Average Precision, mAP)比原模型有较大提升,但同时也存在对模糊图像的识别结果较差的问题。
为开展水下视频中华鲟的检测与识别,针对水下视频图像目标检测精度较低问题,研究并改进了YOLOv5检测算法,加入标签平滑与SENet注意力机制,以期提高检测精度和效率,从而为后续对中华鲟的行为分析与保护工作提供技术支持。
2. 研究方法
目前YOLOv5因其快速、准确、轻量等诸多优点,被广泛使用诸多方面。本文主要集中在原始的YOLOv5算法上使用一些技巧,用来提高检测精度和效率。鉴于YOLOv5的特点。在此介绍YOLOv5网络及其改进用于水下视频中华鲟的检测与识别方法。
2.1. YOLOv5网络
YOLOv5检测网络共有YOLOv5x、YOLOv5l、YOLOv5m、YOLOv5s四个版本。其中,YOLOv5系列中深度最小,特征图宽度最小的网络是YOLOv5s网络,其它的3种都是在此基础上不断加深,不断加宽。以YOLOv5s为例,其网络结构如图1。

Figure 1. YOLOv5s Network structure
图1. YOLOv5s网络结构
YOLOv5的结构分为输入端、骨干、颈部、预测输出端四个部分。
2.1.1. 输入端
1) 马赛克数据增强:YOLOv5的输入端继承了YOLOv4的马赛克数据增强方式。马赛克数据增强方法可以很好地丰富检测物体的背景,而且减少了本身对batch size的依赖,对小目标的检测有较好的提升效果。
2) 自适应锚框计算:这是YOLO中比较关键的一环,由于不同的数据集有不同的格式和大小,因此需要根据不同数据集来设定特定长宽的锚点框。在网络训练模型的初始阶段,模型首先根据初始锚点框对目标的大概位置进行预测,并产生对目标位置的预测框,然后计算其与真实框之间的差距进行调整,通过反向更新的操作来更新使整个网络的参数。不同于YOLOv3和YOLOv4中,对于不同数据集的锚点框的获取是通过单独的程序运行来获得,YOLOv5中将此功能嵌入到代码中,每次训练,根据数据集的名称自适应地计算出最佳的锚点框。
3) 自适应图片缩放:在目标检测算法中,常常会遇到图片尺寸差异问题,面对图片长宽都不相同的情况,在将其送入检测网络之前,需要将原始图片处理成一个统一的标准尺寸。在实际应用中,由于不同图片长宽比不同,经缩放填充一系列统一化操作后,不同图像两边会存在不同的填充黑边。如果黑边较大,则信息冗余明显会影响推理速度。因此YOLOv5对原始图像自适应地添加最少的黑边,从而减少信息的冗余,提升检测的速度。
2.1.2. 骨干
1) 聚焦结构:这一结构关键环节为切片操作。切片操作类似于邻近下采样对图片进行隔点抽取像素值,从而一张图片就变成了互补的四张图片,四张图片内容相似且无信息丢失。将四张图片拼接起来后,得到了一张12个通道的新图片,最后将得到的新图片再经过卷积操作,最终得到了没有信息丢失情况下的二倍下采样特征图。
2) 跨阶段局部网络(Cross Stage Partial Networks, CSPNet)结构:YOLOv5s的CSPNet结构是将原输入分成两个分支,分别进行卷积操作使得通道数减半,然后一个分支进行多个残差结构操作,另一个分支直接进行卷积;然后两个分支进行组合,使得BottlenneckCSP的输入与输出是一样的大小,这样是为了让模型学习到更多的特征。YOLOv5在骨干网络应用了CSP1_X结构,在颈部应用了CSP2_X结构。
2.1.3. 颈部
YOLOv5采用改进版本的CIOU_Loss做候选框的损失函数,使得预测框回归的速度和精度更高一些。在YOLOv5的颈部结构中,CSP2结构加强了其网络特征融合的能力。
2.1.4. 预测输出端
NMS非极大值抑制:目标检测中利用NMS操作来进行很多目标框的筛选,是目标检测后续处理过程中比较重要的一个环节。因为CIOU_Loss中包含影响因子v,涉及正确真实的标签信息,而测试推理时,是没有正确真实的标签信息的。YOLOv5采用加权NMS的方式,大多数状态下效果差不多,但在不增加计算成本的情况下,这种改变对于一些遮挡重叠的目标,确实会有改进。
2.2. YOLOv5算法改进
2.2.1. 标签平滑(Label Smoothing)
过拟合和概率校准是训练深度学习模型时出现的两个问题。深度学习中有很多正则化技术可以解决过拟合问题,而标签平滑是其中一种正则化技术,它扰动目标变量,使模型对其预测的确定性降低。它之所以被视为一种正则化技术,是因为它限制了softmax函数的最大概率,使最大概率不会比其他标签大得多,即过度自信。其公式如下:
(1)
式中q表示真实标签,ε是一个非常小的常数,K代表分类的类别数。经过标签平滑后能够减少模型过度依赖标签的问题,有效改善标签准确性不高的情况。
标签平滑方法用于YOLOv5的预测输出层。
2.2.2. SE注意力机制
在YOLOv5的支柱中引入SE注意力机制是根据CVPR2017的Squeeze-and-Excitation Networks [11] 一文中提到的注意力模块SENet,如图2所示。该模块旨在通过使网络能够动态调制各通道的权重,从而重新校准特征来提高网络的表示能力。
图2中给定一个输入x,其特征通道数为c_1,通过一系列卷积等一般变换后,得到一个特征通道数为c_2的特征。首先通过Squeeze操作将每个二维的特征通道变成一个实数,这个实数某种程度上具有全局的感受视野,并且输出的维度和输入的特征通道数相匹配。其次是Excitation操作,通过参数来为每个特征通道生成权重,这个过程参考Resnet中的瓶颈结构。
3. 试验与分析
3.1. 环境搭建
表1为基于YOLOv5的水下视频中华鲟检测与识别所用软硬件配置。

Table 1. Hardware resource configuration and software environment
表1. 硬件资源配置和软件环境
3.2. 试验分析
为进行水下视频中华鲟的检测与识别,视频采集获得包含中华鲟的5000张图像,对样本数据使用LabelImg标注工具进行人工标注,标签文件保存为xml形式文件,主要内容包含图像的宽、高、维度以及所标注的标签的类别、左上角坐标、右下角坐标等信息。图3为标注的示意图。将制作的样本集按照8:1:1分成训练样本集、验证集和测试集。上述工作完成后,开始网络训练。通过几次实验对比,将训练epoch时的训练周期设置为130。

Figure 4. Comparison of PR curves before and after YOLOv5s model improvement
图4. YOLOv5s模型改进前后PR曲线对比
为了评价训练好的网络监测水下视频中华鲟的效果,采用PR曲线和mAP进行评价。PR曲线中的P代表精准率(Precision),R代表召回率(Recall)。将R设置为横坐标,R设置为纵坐标,PR曲线反映了精准率与召回率的关系。
以YOLOv5s模型为例,该算法改进前后PR曲线图如图4。从图4中可以清楚地看到,算法改进后的PR曲线可以完全包住改进前的PR曲线,这说明改进后的算法精度有着较为明显的提高。

Table 2. Model detection accuracy of YOLOv5 algorithm
表2. YOLOv5算法模型检测精度
文中采用了YOLOv5四个模型中的YOLOv5s和YOLOv5l模型进行中华鲟检测试验。表2给出了不同模型进行中华鲟检测的mAP检测精度。表2中的Label代表Label Smoothing标签平滑,SE表示SENet注意力机制,“是”、“否”代表在模型中是否采用该类方法。从表2来看,对于YOLOv5s和YOLOv5l均进行标签平滑和注意力机制改进用于中华鲟检测,相比原YOLOv5s和YOLOv5l,mAP分别提高了9.5%和6.6%。可见,本文所采用的改进算法能有效提高水下视频中华鲟的检测精度。
4. 结语
在深入了解YOLOv5算法的基础上,对水下视频中的中华鲟检测提出了优化策略,引入标签平滑以解决标签过度自信的问题,提高模型的泛化性能;加入SENet注意力机制,增强网络的特征提取能力。试验结果表明,改进后YOLOv5算法的检测精度有明显提高,实现了水下视频中华鲟目标识别。但对于一些有差异的复杂水下环境还是会发生误检与漏检情况,仍需要探索对特征提取网络作进一步优化的可能性,同时扩大数据集,使训练出的模型具有更好的实用性与通用性。
基金项目
该项成果获得“中华鲟产卵场重建”项目、武汉大学创新创业项目资助。