APP下载

基于改进YOLO-V4网络的浅海生物检测模型

2021-09-15毛国君翁伟栋朱晋德吴富村毛玉泽

农业工程学报 2021年12期
关键词:浅海部件卷积

毛国君,翁伟栋,朱晋德,张 媛,吴富村,毛玉泽

(1. 福建工程学院计算机科学与数学学院,福州 350118;2. 福建省大数据挖掘与应用重点实验室,福州 350118;3. 獐子岛集团股份有限公司,大连 116001;4. 中国科学院海洋研究所实验海洋生物学重点实验室,青岛 266071;5. 中国水产科学研究院黄海水产研究所,青岛 266071)

0 引 言

海洋经济已成为国民经济新的增长点,中国已经开始实施海洋牧场工程,并将其作为新兴战略产业来大力扶持[1]。事实上,随着中国国民生活水平的不断提高,鲍鱼、海参、海胆等珍贵海产品的市场需求与日俱增,极大促进了浅海养殖为代表的海洋渔业的蓬勃发展。人工潜水监控及捕捞的传统方法不仅耗时、人工成本高,而且人身伤害大、危险系数高。近年来,随着水下机器人等技术的日臻成熟和逐步应用,海洋养殖的信息化和智能化建设迎来新的发展契机。

为实现水下机器人的成功捕捞,研发海洋生物的自动化目标识别技术尤为重要,而支撑这一工作的核心技术是目标检测(Object Detection)模型和算法。由于水下获取视频及图像的特殊性,海洋目标检测在准确率和实时性等方面都有特殊的需求,所以面向于海洋环境研究海洋生物等目标的高性能检测模型已经成为一个重要的研究方向。本质上说,目标检测是计算机视觉的一项任务,旨在解决计算机视觉应用中最基本的问题:即检测物体的类别和位置,两个问题的解决程度和效率反映了不同目标检测算法的质量[2]。

传统的目标检测方法一般由图像特征提取和特征学习两个相对独立的过程来完成。从算法角度,传统的目标检测方法依赖于图像特征提取算子来预先将图像集抽取成多维特征值集。多维特征值集一旦建立,图像的学习就可以利用多维数据学习算法来完成知识模式的挖掘。由于传统的图像特征提取算子基本上是基于主观判断的,而且与知识模式的学习算法分离,存在提取特征难度大和泛化能力弱的致命缺点,因此目标的检测精度和效率都很难取得预想的效果[3]。

相比于传统方法,基于卷积神经网络(Convolutional Neural Networks,CNN)的深度学习目标检测算法逐渐成为了新的研究重点[4]。卷积神经网络是基于深度学习目标检测算法的基础,基于CNN的深度学习通过增加CNN的卷积层量来提高学习质量。一般而言,基于深度学习的目标检测方法的学习效果要比人工的特征提取和检测方法要好[5]。从技术角度上说,CNN使用反向传播算法进行反馈学习,通过自动化的特征提取和多层卷积学习,最大限度地减少人为干预,提升了建模能力[6]。此外,最新的CNN网络利用数据增强(Data enhance)技术来增加学习样本的质量及多样性,有利于CNN检测精度提高[7]。基于深度学习的目标检测算法已经在许多情况得到应用,如已经被用于苦瓜[8]、西红柿[9]、荔枝[10]、生猪脸部[11]等对象的检测。

基于深度学习的目标检测方法主要有两大类:第一类是基于区域建议的二阶段(Two-stage)目标检测算法,如R-CNN、Fast R-CNN、Faster R-CNN;第二类是基于回归的一阶段(One-stage)目标检测算法,如YOLO[12]、RetinaNet[13]、EfficientDet[14]。一阶段检测算法中应用最广的是YOLO系列算法。2016年5月,Redmon等[12]提出首个基于回归的目标检测方法YOLO-V1,算法一经提出就受到了研究者们的广泛关注。随着YOLO系列算法的发展,在2020年已经更新到了第四代。YOLO-V4[15]有着良好的性能,通过标准数据集上的验证,YOLO-V4是目前最好的目标检测算法之一,检测速度快是YOLO-V4的显著特点。

近年来,国内外研究人员已经将YOLO网络模型尝试性地应用到海洋生物的检测中。如:Wang等[16]在对水下不同类型的鱼类检测时,将迁移学习方法引入到YOLO模型中;Xia等[17]使用YOLO-V2算法,对浅海养殖的海参完成识别,论证了训练样本和优化检测模型对提高准确率的重要性;朱世伟等[18]为应对高密度水下目标检测任务,提出了基于类加权YOLO网络的水下目标检测方法,提升了网络学习的适应性;赵德安等[19]利用数据增强Retinex算法对数据进行预处理,增加了学习样本的数据量和多样性,提升了YOLO网络对水下河蟹的识别能力。李庆忠等[20]设计精简YOLO网络,再通过迁移学习的方法训练网络,在对海底鱼类等小目标检测上进行了尝试。

YOLO算法在某些方面已经得到应用,但是直接应用到浅海养殖生物识别仍然存在问题。试验中表现出的主要问题有:1)由于光线昏暗而且分布不均匀,导致采集的数据清晰度不高,检测精度达不到期望;2)有些海洋生物与生活的环境区分度不够,极易导致漏检的情况;3)生物体的遮挡、半隐藏等现象经常出现,对模型的泛化能力要求更高。因此,本文针对这些浅海海洋生物检测的突出问题,设计了嵌连接EC (Embedded connection)部件,并把它成功嵌入到YOLO-V4的颈网末端,该部件有望增强网络的学习和泛化能力。

1 海洋生物检测模型

本节主要目的是介绍本文的海洋生物检测模型MOD(Marine Organism Detection)。为此,从如下3个方面依次进行叙述:1)分析原始YOLO-V4的结构和工作原理,为改进YOLO-V4网络提供基本支撑;2)直接针对浅海生物检测的需求,设计嵌入式EC部件,得到改进的YOLO-V4网络结构;3)基于改进YOLO-V4网络,提出海洋生物检测模型MOD。

1.1 YOLO-V4网络分析

YOLO系列算法是目前应用最为广泛的一阶段目标检测算法之一,YOLO-V4是目前使用最多的版本。YOLO-V4主要包括输入层、主干网(BackBone)、颈网(Neck)和输出层4个基本构件[21]。输入层接受固定大小的图像,经过主干网进行特征提取后送到颈网进行特征聚合,最后在输出层输出 3 种不同尺度的预测锚框(原文称为YOLO Head)。

1.1.1 主干网

YOLO-V4设计的主干网是CSPDarknet53,它是在Darknet53的基础上参考了跨阶段局部网络CSPNet[22]提出的。Darknet53是YOLO-V3的主干网,因为它有53个卷积层而得名。YOLO-V4保留了Darknet53的框架,但是采用了CSP机制,优化了梯度反向传播路径,同时在保证准确率的前提下大大地减少了计算量。图1给出了CSPDarknet53的基本结构。

如图1所示,CSPDarknet53有2个主要功能单元:1) CBM(Conv+BN+Mish),用来控制拼接和采样等工作,其中Mish是YOLO-V4使用的新的激励函数(YOLO-V3使用的是Leaky_relu);2)CSP,一组跨阶段残差单元(如CSP8就是8个残差单元)。

YOLO-V4与 YOLO-V3的主要区别是:YOLO-V4参考了CSPNet机制,对残差单元的连接结构进行了改进,加入了一条跨残差块的旁路,形成跨阶段局部连接。这样就有效减少了梯度消失的危险。简单地说,在YOLO-V4的主干网中,一个残差单元可以形成两条路径:一条和它的下一个残差单元直接连接;另一条和CSP的末端残差单元连接(旁路)。由于在YOLO-V4中增加了旁路,就可以CSP的推理更合理,而且有效地分割了内部梯度流,减少了梯度消失的危险,进而泛化了学习能力。

1.1.2 颈网

颈网是在主干网和预测输出层之间增加的一个特征传递网络,主要作用是对主干网提取的特征值进行采样聚合,形成不同尺度下的聚合特征。

YOLO-V4的颈网采用的是路径聚合网络(Path Aggregation Network, PANet)结构。如图2所示,PANet[23]采用特征金字塔和路径聚合技术,使得低层信息更容易传播到高部,定位更加准确,同时支持大、中、小三类目标的预测。

1.2 嵌连接EC部件设计

设计EC部件的目的主要是为了增强特征聚合的适应性和泛化能力。就是说,面对浅海环境及其生物的特殊性,需要研究高性能的部件来有效提升特征聚合能力。图3给出了EC部件的结构示意图。如图3a所示,EC部件有两条通路,一条通过卷积1和卷积2两个单元来完成,另一条只通过卷积2一个单元来完成。这样,综合两条通路的结果就可以有效削弱聚合过程中的偏差,同时卷积1和卷积2使用不同的激励函数也增加EC部件的适应性。如图3b所示,卷积1是第一类卷积单元,使用的是Leaky_Relu激励函数,保留了原来YOLO-V4特点。如图3c所示,卷积2是第二类卷积单元,使用的是Linear激励函数。从预测角度,Linear函数更快和更容易形成可预测的输出结果。

本文将EC部件加入到YOLO-V4的颈网末端,即在YOLO-V4颈网的末端增加EC部件,形成了改进YOLO-V4网络。

1.3 模型MOD设计

通过在颈网末端加入EC部件后,改进了YOLO-V4网络,作为本文海洋生物检测模型的技术基础。嵌入EC部件的YOLO-V4网络丰富了颈网的反向传播能力。颈网末端直接连接到YOLO-V4的预测端,增强的反向传播能力有助于提高网络的泛化能力,减少预测偏差[24]。同时,由于EC部件被嵌入到整个网络的末端,使最终的预测加入了浅层的聚合信息,可以有效地提升预测的精确性。

基于改进YOLO-V4网络,本文设计了海洋生物检测模型MOD(Marine Organism Detection)。图4给出了MOD的详细结构图。

在MOD的结构中,特征提取阶段是基于YOLO-V4的CSPDarknet53来完成。主要的变化是在特征聚合阶段,网络分别在三个尺度上提取特征,深层信息将经过两次上采样与浅层信息聚合,聚合后的信息再经过两次下采样分别在像素40×40、20×20、10×10尺度下做预测,它们分别对应着大、中、小3种不同尺寸的目标做预测,深层信息负责检测较大尺寸目标,浅层信息负责检测较小尺寸目标,从而提升网络的适应性。在输入信息到检测头之前,本文加入了EC部件,这样的设计延缓了梯度消失现象的出现,有效增强了特征的聚合能力。

2 试验与分析

2.1 试验环境与数据集

本文试验的硬件环境是:8 G内存的Intel® CoreTM i7-8700为中央处理器(Central Processing Unit),配有图形加速器(4 G的GeForce GTX 1650),在Windows10计算机系统环境下进行。

使用的数据来自于獐子岛集团的浅海养殖视频数据。通过对视频分帧处理得到原始图片1 810张,利用数据增强技术对原始图片集进行了容量扩充和数据预处理,因此数据增强后的图片数据量达到7 420张,作为本文性训练和测试的数据集。关注的浅海生物种类有4种:鲍鱼、海胆、海参和绿鳍马面鲀。使用LabelImg软件对筛选出的图片进行了人工标注,其中训练集占80%,测试集占20%。值得注意的是,软件采用的是矩形框来标注检测目标,而许多浅海生物的外形是极不规则的。以海胆为例:海胆是呈球状的,而且周围还布满了伸出的棘刺或管足,因此在标注时需进行必要的预处理。在图像预处理过程中,本文重点关注海胆的主体部分,可以包含少部分棘刺但是不宜过多。此外,试验中所有信息文件以XML格式存储,包含对应的图片名、目标类别名称、图像尺寸、目标框位置信息等。

2.2 评价指标设定

模型预测时需要对交并比(Intersect Over Union,IOU)阈值参数进行设定。IOU阈值的设定与输出预测框有直接关系。一般地,阈值越大预测准确率越高。本文试验的数据面对复杂海底环境,检测目标与环境之间的差别较小,因此增加IOU的阈值有利于提高有效目标检测精度。本文试验中使用的评价指标主要包括: mAP50(IOU阈值为0.5的精度均值)、mAP75(IOU阈值为0.75的精度均值)、帧检测速度(ms)。mAP由召回率和精确率组成的PR曲线进一步得到,是衡量目标检测模型的检测精度的重要指标,公式(1)~(3)给出了召回率、精确率和平均精度均值(mAP)的计算方法。

式中P为精确率;R为召回率;E为正样本正确划分为正样本的数量;N为负样本被错误划分为正样本的数量;M代表正样本被错误划分负样本的数量;AP代表单类检测目标对应的PR曲线与坐标轴围成的积分面积;mAP代表各个类别检测目标平均检测精度求和的均值;K代表检测目标类别的数量,本文试验中K=4。

2.3 MOD模型相比YOLO-V4模型有效性

本节试验旨在验证MOD模型的有效性,主要是和原始的YOLO-V4模型进行对比试验。试验中YOLO-V4和MOD模型使用相同的训练集,设置相同超参数:输入图像像素尺寸为320×320,batch_size为16,初始学习率为0.001 3,动量为0.949,权重衰减正则系数为5×10-4,迭代次数为200。为了避免训练收敛前学习停滞,当迭代至160时,降低学习率为初始学习率的1/10,当迭代至180时降低学习率为初始学习率的1/100。当用测试集对模型进行测试时,设置0.5和0.75两个交并比阈值进行试验。表1给出了YOLO-V4模型和MOD模型迭代次数在50、100、150、200时mAP50和mAP75的指标。依据表中数据得到,MOD模型比YOLO-V4模型在训练时mAP上升得更快,并且训练结束时MOD模型表现更好,mAP50提高了0.9个百分点,mAP75提高了4.8个百分点。表2给出两个模型的计算成本及检测速度,MOD计算成本为35.328个BFLOPs(十亿浮点运算数),与YOLO-V4相比仅提高了0.2%,mAP50和mAP75均有提高。

表1 目标检测模型测试结果Table 1 Test results of target detection model

表2 模型计算成本及其检测速度Table 2 Model calculation cost and detection speed

PR曲线是一条精确率为纵轴和召回率为横轴的曲线,观察曲线可以反应出深度学习模型的性能。一般来说,精确率和召回率是相互制约的度量值。若将所有预测结果都回归,那么召回率高精确率就会较低;相反,若只回归搜索最准确的预测结果,那么召回率低精确率就会较高,因此绘制PR曲线可以探究模型的综合性能。从图5看出,MOD曲线包裹在YOLO-V4曲线外侧,并且平衡点(Precision = Recall时的取值)位置更接近于坐标(1, 1),故MOD模型性能更好。

图6 是使用YOLO-V4模型与MOD模型分别在检测绿鳍马面鲀、鲍鱼、海胆、海参4类浅海生物时的测试图像。从图中可以看出,YOLO-V4模型在检测鲍鱼的试验中存在误检现象,检测绿鳍马面鲀、海胆和海参的试验中,存在漏检现象,也从一个侧面说明MOD模型在检测浅海生物的有效性。

进行测试试验时,各个类别物种检测准确率结果如表3所示。一方面,在IOU阈值为0.5,绿鳍马面鲀、海参和海胆的检测中,YOLO-V4模型和MOD模型的检测基本持平,而在鲍鱼的检测中,mAP50提高3.4个百分点;另一方面,在IOU阈值为0.75,绿鳍马面鲀、海参、海胆和鲍鱼的检测中mAP75均有提高,分别为2.5、4.5、3.1、9.2个百分点。

表3 模型测试集各个类别准确率结果Table 3 Accuracy results of each category in model test set

2.4 更多模型的对比试验

为进一步验证MOD模型的有效性,本文选择了发布于2018年的RetinaNet算法[13]和2020年的EfficientDet算法[14]作对比试验。这两个算法和YOLO是目前最典型的一阶段目标检测算法。表4给出了两种模型的主要指标对比。

表4 不同方法目标检测结果Table 4 Target detection results of different methods

表4 (参考表1)说明,在被观察的浅海生物数据集下,本文提出的MOD模型在mAP50指标方面,对比RetinaNet、EfficientDet_D0分别高1.3、32.1个百分点;在mAP75指标方面,对比RetinaNet低6.3个百分点、EfficientDet_D0高21.0个百分点。在检测速度方面,RetinaNet模型检测帧速达185 ms,较MOD模型慢46 ms;EfficientDet使用D0版本,速度较快,检测帧速达72 ms,较MOD模型快67 ms,但检测准确率较低。综合考虑检测准确率和运行速度,在4种模型中MOD模型较适合水下机器人智能捕捞任务。

3 结 论

本文针对浅海生物检测的特点,设计了嵌入式EC部件,提出了海洋检测模型MOD,并建立浅海生物数据集,在浅海生物数据集上对MOD模型有效性加以验证。

1)设计嵌入式EC部件,将EC部件嵌入网络末端改进了YOLO-V4,构建了MOD模型。本文提出的模型和方法为海洋生物目标检测提供新思路,可以为多类别海洋生物目标识别提供有益参考。

2)对比原始的YOLO-V4模型,MOD模型检测精度在mAP50和mAP75指标上分别达到了0.969和0.734,提升了0.9和4.8个百分点,计算量仅提高0.2%。特别是检测精度在mAP75指标上获得较大提升,说明MOD模型比YOLO-V4模型对复杂环境的目标检测能力更强。

3)对比原始的YOLO-V4模型,MOD模型适应性更强。模型在各类别检测精度中均有提高,特别是在mAP75指标上最为明显,说明MOD模型比YOLO-V4模型对各类浅海生物检测适应能力更好。

4)对比同为一阶段目标检测算法的RetinaNet和EfficientDet_D0,MOD模型的检测效果总体优于两种模型。速度和检测精度方面达到了很好的平衡,说明MOD模型更适合浅海生物检测任务。

由于条件限制,本文的研究和试验仍有一些需要进一步改进的地方。1)受网络传输和存储容量限制,本文使用的原始图片数据只有1 810张,使用数据增强技术来扩充数据集容量,扩充后的数据图片达到7 240张,和大部分同类研究文献的试验数据相当。下一步研究将提升试验环境,采集更多的原始数据,来丰富数据集,提升研究质量;2)YOLO系列算法目前已经出到第五代,后续将研究YOLO-V5算法,进一步在浅海生物数据集上进行针对性改进。

猜你喜欢

浅海部件卷积
基于3D-Winograd的快速卷积算法设计及FPGA实现
为什么浅海海鲜比深海多呢?
从滤波器理解卷积
Automatic extraction and structuration of soil–environment relationship information from soil survey reports
基于Siemens NX和Sinumerik的铣头部件再制造
基于傅里叶域卷积表示的目标跟踪算法
部件拆分与对外汉字部件教学
水轮机过流部件改造与节能增效
滨州浅海海域浮游植物丰度及其多样性
一种基于卷积神经网络的性别识别方法