基于深度学习的水下模糊环境下鱼类识别研究

  摘要:

中国大陆的海岸线长达18000多千米,有着丰富的海洋资源。海洋鱼类不仅是人类食物的主要来源之一,而且是人类文明社会发展历程中不可或缺的一环,是维护地球生态平衡发展的重要因素,也是地球上重要的海洋生物资源,所以对于水产养殖的现代化管理,渔场环境的实时监测,尤其是水下模糊环境下的鱼类识别对我国开发和利用海洋鱼类等生物资源有着不可或缺的价值。传统的鱼类图像识别往往存在识别速度慢,识别率低,误判率,漏检率高等问题。随着现代信息社会,新科技,新技术,新设施的发展以及深度学习算法框架的完善,许多基于深度学习的水下鱼类图像识别算法被提出,例如:基于R-CNN深度学习的鱼类目标检测算法、基于水下图像底层特征的鱼类目标检测等算法,但通常都因为水下环境恶劣、可见性差、拍摄图片品质差等因素导致最终识别效果很差。本文将深度学习优秀的学习能力以及可移植性好等优点运用于水下模糊环境的鱼类识别领域,开展了基于深度学习的水下模糊环境下鱼类识别研究。目前YOLv5在目标检测领域从速度和精度综合来看,是明显优于其它先进的目标检测算法如:EfficientDet、SSD、FastR-CNN等。所以本文提出一种基于YOLOv5算法的水下模糊环境下鱼类识别模型。本文的主要工作和成果如下:(1)本文拍摄并制作了共计3595张水下模糊环境下的同种鱼类图片数据。为了克服水下模糊环境下拍摄图片整体光照强度低、可视范围小、水下背景模糊、杂质多等问题,首先,在预处理阶段采用暗通道先验算法,以提高图像的清晰度、明度,减少图片品质导致人工数据集标注的误差。(2)针对YOLOv5算法召回率低、mAP(平均准确度)低的问题,研究采用xxxxxx。实验结果验证了本文基于改进YOLOv5算法的水下模糊环境下鱼类识别模型的有效性。

  关键词:鱼类识别;目标检测;YOLO;深度学习

  1绪论

  1.1研究背景

随着海洋战略的发展,作为世界上最大的生态系统,海洋里的生物资源和非生物资源都非常丰富。地球上约有200万种不同的海洋生物。其中的海洋鱼类不仅是人类最重要的食物来源之一,在人类文明社会发展历程中发挥了重要作用,是维护地球生态平衡发展的重要因素,也是地球上重要的海洋生物资源,所以对于水产养殖的现代化管理,渔场水域环境的实时监测,尤其是水下模糊环境下的鱼类识别对我国的海洋鱼类资源的开发和利用具有重要的学术价值和经济价值。

鱼类检测和识别系统可以探索海洋生物的活动规律,运于改进水产养殖捕捞的方式,并在海洋鱼类知识科普宣传、海洋环境管理、稀有生物保护等领域有广泛的用途。它有助于发现海洋渔业资源,是我们人类合理开发利用海洋资源的重要依据。

鱼类识别问题,由于鱼类的形态各异,大小不一,且水下拍摄图像存在能见度低,环境复杂,噪声大等问题。所以相对于其他识别任务的难度也要高很多。传统实现鱼类识别与分类的算法是基于传统的机器学习。首先由人工根据事物设计特征,然后向分类器中输入特征向量来完成分类任务。然而,人工特征提取往往存在着特征提取困难、缺乏泛化性与通用性、工作量复杂又耗时等不可避免的缺点。

近年来,由于人工智能在图像处理、自然语言处理、语言识别等诸多领域的取得了很大的成就,基于深度学习的图像识别技术得到了快速发展,并广泛应用于人脸识别、行为识别、字符识别等领域,具有很高的识别水平和识别精度以及鲁棒性。

本文将深度学习优秀的学习能力以及可移植性好等优点运用于水下模糊环境的鱼类识别领域,开展了基于深度学习的水下模糊环境下鱼类识别研究。不仅能够克服传统方法特征提取难的问题,同时也提高了图像识别精度,扩大了识别范围,

在水下模糊环境下,基于深度学习的鱼类识别检测将是一个非常重要的研究课题,它不仅能克服传统方法中的特征提取难的问题,而且可以提高图像识别的准确率,扩大识别范围。为我国海洋鱼类资源的开发和利用发挥积极的作用。

  1.2国内外研究现状

1.2.1深度学习在图像识别领域研究现状

深度学习算法设计之初是最运用在图像处理邻域。早在1989年,加拿大多伦多大学的YannLecun教授和他的同事提出了卷积神经网络(CNN),它是一种具有卷积层的深度神经网络模型。通常,一个单独的卷积神经网络结构是由两个可通过训练产生的非线性卷积层、两个固定子采样层和一个全连通层组成。隐藏层的数量通常至少为5层。CNN的架构设计灵感来自生物学家Hube和Wiesel的动物视觉模型,特别是模拟了动物视觉皮层V1和V2层视觉系统中简单细胞和复杂细胞的功能。卷积神经网络在小尺寸图像问题上取得了当时世界上最好的成果

然而,这项技术在很长一段时间内都没有取得重大突破,主要是因为卷积神经网络在大尺寸图像中不能达到理想的效果,计算机无法理解存在大量像素的自然图像中的内容,这使得它在计算机视觉研究领域没有引起足够的影响。2012年10月,Hinton教授和他的学生AlexKrizhevsky构建了一个由65万多个神经元、6000多万个待估计参数组成的卷积神经网络,在著名的ImageNet问题上取得了37.5%的Top1错误率。取得了当下最好的图像识别处理结果,极大地促进了深度学习在工业领域的综合应用,使深度学习在图像识别领域取得了良好的成就。

自卷积神经网络提出以来,图像识别一直没有质的飞跃和创新但在2012年Hinton提出并构造了深度神经网络,取得了令人瞋目结舌的效果。这次主要是改进了神经网络的算法,在神经网络的训练过程中加入了权值衰减,其目的是降低权值幅度,防止网络过拟合现象的发生。更重要的是,随着计算机运算能力的提高和GPU加速技术的发展,训练过程中可以生成更多的数据用于训练,使网络获得更好的拟合训练数据。2012年,国内互联网巨头百度公司成功将这项技术应用于人脸识别和自然图像识别,并推出了轰动一时的产品。如今,深度学习网络模型已经能够理解和识别一般的自然图像。深度学习模型不仅大大提高了图像识别的准确性,而且避免了花费大量时间提取人工特征的需要,使得线上的运行速率有了极大的提升。

1.2.2目标检测方法

2006年以来,在Hinton、Bengio、Lecun等人的指导下,当时发表了大量关于深度神经网络的论文。辛顿教授和他的学生AlexKrizhevsky构造了一个含有65万多个神经元、6000多万个待估计参数的卷积神经网络,并将其命名为AlexNet[1]网络,极大地提高了卷积神经网络的分类精度。自此,卷积神经网络得到了广泛的关注。目前,基于卷积神经网络的模型被大量运用于计算机视觉领域。主要用于目标定位与识别、目标检测、语义分割等。运动目标的研究是计算机视觉领域的一个重要研究方向,许多基于卷积神经网络的模型也被使用。计算机对目标运动的分析大致可分为三个层次:运动分割、目标检测、目标跟踪、动作识别和行为描述[2]。目标检测是运动目标分析一个重要方面,同时运动目标的研究也是分析监控视频的基本任务。考虑到监控视频设备局限性所无可避免的景深、分辨率、天气、灯光等条件以及场景的多样性问题,因为视频画面中的物体体态不同,经常会出现物体被遮挡,运动不规则,而目标检测算法的结果会影响后续的跟踪、动作识别和行为描述。因此,目标检测技术还需要进一步的研究,以适应实际应用中的各种场景。目标检测技术一般应用于图像中存在多个目标的场景中。我们不仅要检测目标的位置,还要同时识别多个目标。即目标定位和目标分类。目标分类是输出一系列的分数矩阵,以显示感兴趣对象是否出现在输入图像或图像的选定部分中,表明感兴趣对象出现在输入图像或图像的选定部分中的可能性。目标定位是确定目标在输入图像或选定图像部分的位置和范围。边界框通常用来表示物体的位置信息。目前,目标检测算法主要是基于深度学习模型,可以分为两类:(1)两阶段目标检测算法,将目标检测问题分为两个阶段,第一阶段在第二阶段先生成区域,利用卷积神经网络对候选帧进行分类和回归,常见的算法有:R-CNN、SPP-Net、FastR-CNN、FasterR-CNN和R-FCN等。(2)One-Stage两阶段目标检测算法则是不用RegionProposals,直接在网络中提取特征来预测物体类别概率和位置坐标信息,常见算法有YOLO、SSD、RetinaNet和CornerNet等。一般而言,Tow-Stage算法较为准确,而One-Stage算法较为快速。下面对上述两种类型的算法进行介绍。

1.2.2.1两阶段目标检测算法

两阶段目标检测算法准确率较高,而One-Stage算法较为快速。Two-Stage算法的目标检测任务分为两个阶段,第一阶段首先尝试识别并预测物体位置,第二步则加工第一次的检测结果来获取目标图像更准确的坐标信息,然后再依次对每个候选区进行单阶段目标识别。

R-CNN是由RossGirshick提出使用候选区替代传统滑动窗口的目标检测算法[3],该算法将目标检测过程分为了三个阶段,首先基于SelectiveSearch(选择性搜索)生成一些候选的区域即Proposals;然后对于这些候选区进行长和宽的归一化后,输入到CNN中提取特征,最后使用SVM(支持向量机)分类模型结合NMS(非极大值抑制)即利用窗口得分分别对每一类物体进行非极大值抑制提出重叠建议框,最终得到每个类别中回归修正后的得分最高的窗口,获取区域边框来判断候选区内是否存在目标以及目标的类别。该算法需要大量的特征提取,计算量大、耗时长。

RossGirshick在R-CNN的基础上提出了FastR-CNN目标检测算法[4]。该算法将特征获取和分类放在在一个网络中进行联合训练。使用RoI-Pooling层代替了空间金字塔池化操作,加速了CNN提取特征的过程,RoIPooling是利用一个固定尺寸的矩形框将特征进行分割,得到不同候选区域,再将这些候选区域的特征传入Softmax分类器和位置回归函数中。该方法将在网络中加入了多任务函数边框回归,实现了端到端目标检测算法。

ShaoqingRen,KaimingHe等人针对之前目标检测算法检测速度仍较慢的问题,提出了FasterR-CNN目标检测算法[5]。该方法使用了RPN(RegionProposalNetwork)区域建议网络代替了SelectiveSearch,极大地提高了生成Proposals的速率。整个算法可大致分为两步:第一步是在一个滑动窗口上生成不同大小和长宽比例的anchorbox(描框),取定IoU的阈值,按GroundTruth(正确标注)标定这些anchorbox的正负。于是,传入RPN网络的样本数据被整理为anchorbox坐标和每个anchorbox是否有物体(二分类标签)。RPN网络将每个样本映射为一个概率值和四个坐标值,概率值反应这个anchorbox有物体的概率,四个坐标值用于回归定义物体的位置。最后将二分类和坐标回归的损失统一起来,作为RPN网络的目标训练。由RPN得到RegionProposal在根据概率值筛选后经过类似的标记过程,被传入R-CNN子网络,进行多分类和坐标回归,同样用多任务损失将分类损失函数和回归损失函数联合。该方法避免了上述方法的对大量候选区域进行检测的操作,减少了目标检测的时间。

1.2.2.2单阶段目标检测算法

与两阶段目标检测算法不同,单阶段目标检测算法将物体分类和物体定位放在一个步骤,没有生成候选区过程,直接从图片获得预测结果,也被称为Region-free方法,不仅简化了目标检测的整个过程,同时大大减少了目标检测所需的时间,在检测处理速度上更加满足现实实际需求。

YOLOv1(YouOnlyLookOnce)[5]将整张图片作为网络的输入,将图像分为的网格,对于每个网格,我们都预测B个边框(包括每个边框是目标的置信度以及每个边框区域在多个类别上的概率),根据上一步可以预测出个目标窗口,然后根据IoU阈值去掉可能性比较低的目标窗口,最后NMS去除冗余窗口即。输出结果包括每个类别的置信度以及预测框的位置坐标。该方法一个网格只预测两个框,因此无法对小目标和靠得很近的物体进行有效的检测。

SSD算法[5]针对YOLOv1算法检测性能较差的问题进行了改进,在保证了检测速度的前提下,使检测算法的性能大大提升。该算法对先验框的尺寸进行了固定,每个特征中有固定个数的先验框以进行检测,同时,该算法考虑到低层特征中小目标特征较为明显,使用了多个尺度的特征来进行检测,以解决YOLOv1算法中的小目标检测较差的问题。

YOLOv2(RedmonJetal.2017)对YOLOv1目标检测算法存在的问题进行了改进,该方法设计了一个新的特征提取网络来提取图像的特征,并使用聚类算法来确定先验框的尺寸,同时用于检测的特征尺寸为13×13,对小目标检测具有更好的性能。此外,在训练时使用多个尺度的图像对网络进行训练,使网络更能适应多个尺度的目标。

YOLOv3(RedmonJetal.2018)算法在YOLOv2算法的基础上做了进一步的改进。在该算法中设计了一个特征提取能力更强的Darknet-53网络,并对聚类算法进行了改进以获取更加精确的先验框尺寸。此外,引入了特征金字塔结构实现了多尺度检测,使模型的检测性能显著提升,同时检测速度未降低。达到相似的性能时,相比SSD,速度提高3倍。

目标检测至今仍然是计算机视觉领域较为活跃的一个研究方向,单阶段检测算法和两阶段检测算法都取得了很好的效果,但是与上述其它算法相比,YOLOv3算法在目标检测领域的性能更加优越,达到了速度和准确率的平衡,从运算速度上看,能达到接近实时的表现,从检测效果上看,有着较高的准确率。

1.2.3水下目标检测算法

水下目标检测是通过对水下光学信息进行分析,检测到水下图像或者视频中感兴趣的目标。近年来,各国研究人员对水下目标检测已经进行了大量的研究。

国外对水下目标检测方法的研究开展较早,并提出了一些代表性的方法。文献(WhiteDJetal.2006)针对同一种类的但品种不同的鱼进行了研究,使用机器学习算法实现了不同品种的鱼的分类。文献(BazeilleSetal.2007)对水下颜色的变化模型进行了分析,并采用颜色特征进行水下目标检测,但对图像序列的一致性没有考虑。文献(AlsmadiMKetal.2010)对BP分类器进行了改进,使用Memetic算法对其进行优化,对提取的特征进行分类,达到了84%的准确率。文献(ChristianBetal.2010)提出了一种水下目标分割方法,该方法基于主动轮廓,在目标的颜色跟背景不接近的情况下取得了比较满意的结果,但当两者接近时,检测结果会变得比较差。文献(Marlindiaetal.2011)利用Randon变换检测水下目标并对目标几何形状进行重构,因为目标几何形状由直线连接形成,在检测得到直线后,采用直线方程以计算边的角度和数目,进而重构得到目标几何形状。文献(BeijbomOetal.2012)提出在多尺度上采用颜色特征跟纹理特征检测水下珊瑚目标,实验结果表明,该方法对跨越年份和位置的水下珊瑚的覆盖率进行了准确的估计,为可靠的水下珊瑚礁图像的注释打下了坚实的基础。文献(ShihavuddinasASMetal.2012)提出利用视觉显著性对水下视频进行检测,将单帧图像跟邻帧图像的均值做差,然后利用显著性算法对目标进行检测,速度上获得了较大突破,精度上依旧达不到预期。文献(KimDetal.2014)提出一种水下目标的检测方法,该方法的对象选择基于多模板、图像分割基于颜色,并通过实验验证了该方法的性能。文献(HsiaoYHetal.2014)通过对水下图像的底层特征进行提取,并采用稀疏表达方法来设计分类器,以对真实的水下非限制的环境中的鱼类目标进行检测识别,准确率达到81.8%,但是实时性比较差。文献(CutterRGetal.2015)采用Haar-like特征与多个级联分类器以检测海底非限制环境中的岩石鱼类目标,准确率达到89%,但在光照条件比较差、背景比较复杂、分辨率比较低、噪声比较大、非正常姿态的非限制环境中的检测结果比较差,误检率比较高。文献(ChuangMetal.2016)采用相位傅里叶变换方法对鱼的纹理特征进行提取,并通过实验验证了该方法对纹理特征提取的优异性,但只对其感兴趣的目标的轮廓相对敏感。

国内对水下目标检测的研究对象比较规则、背景比较简单。冯占国等(2007)利用不变性特征对水下目标进行检测,该方法生成了基于区域矩的仿射变换不变量,用来克服水下的不确定因素为目标检测带来的影响。张铭钧等(2009)利用灰度-梯度不变矩实现对水下目标的检测,该方法采用梯度特征以弥补灰度特征空间信息,有效提升了检测的性能。但在深水区域目标的灰度信息不够显著,检测的准确率也比较低。李涛等(2010)对模糊熵的概念提出了新的表达,并改进了可自动选取阀值的PSO方法(朱炜等2007),以实现对水下图像的分割。张志强等(2011)对淡水鱼的分类问题进行了研究。首先使用图像处理技术处理图像,然后使用淡水鱼图像的颜色分量和长短轴比值等特征来表示淡水鱼图像,并利用这些特征实现了4种淡水鱼的识别。万鹏等(2012)提出了一种基于神经网络的鱼类识别方法。首先对鱼图像进行分析,将鱼体图像进行切分,然后采用切分后鱼体的平均宽度和鱼体的长度的比值来表示鱼体特征,最后使用反向传播神经网络对两种鱼类进行了分类,分类准确率为92.5%。董欣(2013)利用注意机制以解决水下图像视觉模糊与目标颜色失真导致检测困难,但该方法只考虑了水下图像的颜色特征的恢复和增强,对颜色特征变化不明显的方向与亮度特征的变化情况没有考虑,通用性较差。马伟英(2014)结合偏振信息和Itti模型(IttiLetal.1998)以实现对水下目标的检测。实验结果证明了该方法在一定程度上可以克服水下复杂环境对于目标检测的不利影响,有效提升了水下目标的检测精度。吴一全等(2014)提出了一种基于最小二乘支持向量机的鱼体识别方法。并使用Krawtchouk矩、灰度共生矩阵以及蜂群算法对该识别算法进行优化,实现了5种鱼类的识别。郭传鑫等(2015)对显著图与GrabCut算法进行融合,以实现对水下图像的分割。但是该方法的运行速度比较慢,无法达到实时性。吴健辉等(2016)采用鱼体背部弯曲潜能算法,对鱼鲫(Carassiusauratus)、草鱼(Ctenopharyngodonidellus)、团头鲂(Megalobramaamblycephala)、鲤(Cyprinuscarpio)四种淡水鱼进行了识别研究,基本上能准确实现四种鱼体的分类识别。乔曦(2017)提出一种分割评估水下图像的方法,该方法基于主动轮廓且自动定位,实验结果表明,该方法优于文献(Otsuetal.1979)提出的方法和文献(Chanetal.2001)提出的主动轮廓方法。同时该方法可以对水下目标快速进行自动定位,并精确分割水下目标。但是,速度上依然难以满足实时性。基于计算机视觉的水下目标检测的研究已经取得了重大进展,但是依然存在各种各样的问题。这些方法都是基于人的经验选择特征的传统检测方法,会导致遗漏重要的特征,进而导致分类准确率比较低。此外,由于水下环境的复杂性,这些方法只能够应用在特定环境,无法适用不同场景,同时上述方法的检测速度和准确率也需要进一步的提升。

  1.3研究目的及意义、内容、技术路线

1.3.1研究目的及意义

现阶段对于我国海洋资源的开发和利用,没有一个快速有效的办法运用在海洋鱼类图像识别领域,本研究就是想基于机器学习的方法针对海底环境恶劣、海底观测图片品质差导致图片中的海洋鱼类识别难、识别慢的问题,提出一种基于深度学习的水下模糊环境下鱼类识别方法。

1.3.2研究内容

中国大陆的海岸线长达18000多千米,有着丰富的海洋资源。所以对于海洋里的鱼类识别,尤其是水下模糊环境下的鱼类识别对我国开发和利用海洋鱼类等生物资源有着不可或缺的价值。本文将深度学习优秀的学习能力以及可移植性好等优点运用于水下模糊环境的鱼类识别领域,开展了基于深度学习的水下模糊环境下鱼类识别研究。本文结合YOLOv5检测算法的优缺点,提出一种改进的YOLOv5水下模糊环境下鱼类识别方法。

第一章为绪论,主要介绍了水下模糊环境下鱼类识别技术研究的相关背景、研究现状、研究目的及意义,并阐述了国内外现在主流的目标检测算法和鱼类识别的现状。同时梳理了水下模糊环境下鱼类识别的难点,通过上述分析确定了本文的、研究内容、技术路线,最后展示了本论文的组织架构安排。

第二章为背景知识介绍,本章首先对YOLOv5的相关理论进行介绍。主要介绍图像特征的卷积神经网络、YOLOv5的网络结构以及边界框预测等内容并介绍了目标检测常用的数据集以及使用场景,最后简单说明了一下目标检测与识别任务中常用的评价指标。

第三章介绍本实验基于改进YOLOv5水下模糊环境下的鱼类检测方法

第四章总结与展望,本章对本文的研究成功进行了总结,并对本文技术的改进方向进行了展望。

1.3.3技术路线

图1-1技术路线图

基于深度学习的水下模糊环境下鱼类识别研究

  2相关知识

  2.1YOLOv5模型

YOLO(youonlylookonce)是一个经典的one-stage方法。顾名思义,这种识别方法只需要扫描一次,就可以实时输出待测图中物体的位置以及类别。将检测问题转换为回归问题。通过一个CNN网络就可以完成特征提取,然后转换成预测的中心位置(x,y)、高(h)、宽(w)以及类别,从而完成对视频以及图像的实时检测。

YOLO是采用一个CNN的模型来实现目标检测的,具体做法是:首先将输入的图片切割成的网络,共有S2个grid。每个grid只能识别出一个物体,如果这个物体只能在grid内,那就与滑动窗口法无异了。但YOLO则是只需要检测物体中心点是否落在此grid内。然后,每个grid都要预测出B个boundingboxs,有5个变量,分别是待测物体中心的坐标(x,y)和boundingboxs的高(h)与宽(w),还有此次预测的置信度(confidencescore)。置信度分为两部分,一部分是boundingboxes内有特征对象的概率大小记为,另一部分是boundingboxes的准确度,准确度一般由预测框和实际框的IOU(intersectionoverunion,交并比)来表示,一般记为。置信度即为准确度与的乘积。最后便是分类问题,对于每个grid,都会给出预测C个类别的概率,其表征的是由该cell负责预测的boundingboxes目标属于各个类别的概率。综上便达到了最终的检测结果。实现了只需要扫描一次,就可以实时输出待测图中物体的位置以及类别的目的。

YLOLv5则采用了更轻量级的网络结构以及内置的超参优化策略实现了整体性能更为强大的目标检测算法。其将YOLOv4采用的Darknet更换成了pytorch。实现了140FPS的快速检测。考虑了邻域的正样本anchor匹配策略,增加了正样本。并且YOLOv5都会通过数据加载器传递每一批训练数据,同时使用mosaic增强训练数据。从而有效解决模型训练中最棘手的“小目标识别问题”,提升小物体检测性能。YOLOv5的网络结构如图2-1所示。

图2-1

基于深度学习的水下模糊环境下鱼类识别研究

由图可以看出,YOLOv5的网络结构是分为输入端、Backbone、Neck、Prediction四个部分。

2.1.1YOLO网络架构

2.1.1.1输入端

(1)Mosaic数据增强

YOLOv5采用了与上一代v4相同的Mosaic数据增强的方式。实现方式是:先随机读取4张图片,分别对所读取图片进行随机缩放、裁剪、翻转、色域变化等操作后,再随机分布进行拼接从而实现图片的组合和边界框的组合。这样在数据集一定的情况下,大大的丰富了检测数据集、也增加了模型学习的难度,尤其是其中的随机缩放操作增加了许多小目标,让网络的鲁棒性更好。同时该操作还能减少GPU:随机缩放,普通的数据增强也可以做,但实际情况是一台电脑只有一个GPU,因此在进行Mosaic增强训练时,可以同时计算4张图片的数据,使得Mini-batch的数值不需要很大,一个GPU就可以完成训练,达到很好的效果。

(2)自适应锚框重计算

在YOLO算法中,针对不同的预训练数据集,都会有一个初定长宽的锚框。在网络训练中,网络在初始锚框的基础上输出预测框,从而与实际框groundtruth进行比对,计算两者差距,再反向更新,迭代网络参数。YOLOv3网络模型采用K-means聚类方法,对训练样本已标注过的边界框的尺寸进行聚类,确定最合适的先验框的尺寸,以提升预测边界框和真实目标的重合率。

因此初始锚框也是比较重要的一部分,比如YOLO5在coco数据集上初始设定的锚框如图2-2所示。在YOLOv3、YOLO4中,训练不同的数据集时,计算初始锚框的值是通过单独的程序运行的。但YOLOv5中将此功能嵌入到代码中,每次训练时,自适应的计算不同训练集中的最佳锚框值。

图2-2

基于深度学习的水下模糊环境下鱼类识别研究

(3)自适应图片缩放

现在市面上的目标检测算法中,对于不同尺寸的原始输入图片,一般会先统一缩放到一个标准的尺寸,再放入检测网络中。YOLO算法中常用416×416,608×608等尺寸。但由于实际情况中,原始图片的长宽比不同就会导致填充黑边的比较多,就会出现信息冗余,降低推理的速度。而YOLOv5则是依赖datasets.py的letterbox函数对原始输入图像进行自适应的缩放从而添加最少的黑边,减少了计算量,同时也极大地提高了推理速度。

2.1.1.2Backbone

(1)Focus

从输入端拿到的原始特征图一般都比较大,直接进行卷积计算量会非常大。而YOLOv5的Focus主要是先对特征图进行间隔slice(切分),然后再进行组合,这样后续操作的特征图的大小就会小很多。便于后续处理的加速。

这个其实就是yolov2里面的ReOrg(多尺度)+Conv操作,也是亚像素卷积的反向操作版本,简单来说就是把数据切分为4份,每份数据都是相当于2倍下采样得到的,然后在channel(通道)维度进行拼接,最后进行卷积操作。其最大好处是可以最大程度的减少信息损失而进行下采样操作。在本文使用的原始权重文件YOLOv5s是将原始608×608×3的图像输入Focus结构,采用切片操作变成了304×304×12的特征图,w和h就由608降为了304,增加了后续的处理速度。

 

下载提示:

1、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“文章版权申述”(推荐),也可以打举报电话:18735597641(电话支持时间:9:00-18:30)。

2、网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。

3、本站所有内容均由合作方或网友投稿,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务。

原创文章,作者:打字小能手,如若转载,请注明出处:https://www.447766.cn/chachong/31395.html,

Like (1)
打字小能手的头像打字小能手游客
Previous 2022年6月25日
Next 2022年6月26日

相关推荐

My title page contents