掌桥专利:专业的专利平台
掌桥专利
首页

面向水面目标检测的轻量化卷积神经网络训练方法及系统

文献发布时间:2024-04-18 19:58:26


面向水面目标检测的轻量化卷积神经网络训练方法及系统

技术领域

本发明涉及计算机视觉领域,具体涉及一种面向水面目标检测的轻量化卷积神经网络训练方法及系统。

背景技术

目标检测是计算机视觉领域的核心问题之一,其任务就是找出图像中所有感兴趣的目标,确定他们的类别和位置。由于各类不同物体有不同的外观、姿态、以及不同程度的遮挡,目标检测一直以来是一个很有挑战性的任务。目标检测任务主要可以分为四个小任务:(1)分类classification:给定一张图像,要知道里面包含什么类别的目标。(2)定位location:给定这个目标在图像中的位置。(3)检测detection:定位出目标的位置并判断这个目标的类别。(4)分割segmentation:确定每个像素属于哪个目标或者场景。本发明的技术更偏向于水面场景下的目标检测,尤其是针对水面漂浮垃圾的目标清理。由于水面漂浮垃圾的堆积,使水质不断恶化,不仅水生物在不断的减少,而且河道淤堵的越来越严重,严重影响了防洪功能的发挥。为了构建良好循环功能的水生态系统,需要从治理中小河道开始着手,完善水面漂浮垃圾处理的配套设施,大力开展河道生态整治工作。

目前对于水面目标检测的研究,都从以下几个角度进行改进,首先是数据集方面,由于水面的目标检测数据集并不丰富,所以大部分的研究工作都会首先扩充数据集,以便更好地训练模型识别的准确率,比如基于自制的数据集的基础上采用泊松融合的方法进行扩展。其次是将模型结构进行改进,比如通过在主干末端增加特征映射关注(feature mapattention,FMA)层来提高网络特征提取能力来改进YOLOV5算法,或者是从网络通用性和场景复杂度的角度出发,采用更加简易实用的ResNet-50网络结构替换原有的主干网络DarkNet-53,便于后续联合算法的实现。为了将神经网络模型更好地在边缘端部署,也可从轻量化角度进行改进,比如对YOLOv3中的主干网络进行改进,在不降低原有模型准确度的前提下,通过计算量更少的线性操作替代部分卷积操作,从而使模型的参数更少,消耗算力更小;或者用一种基于深度学习的水面目标检测模型压缩方法:采用带有深度可分离卷积和轻量级注意力模型的改进网络替代特征提取网络DarkNet,通过多尺度特征融合进行模型压缩。

但是现存的大部分工作都是从单个方面进行改进,并没有从整体上设计一种轻量化的水面目标检测网络。针对水面目标检测的难点,也就是图像的背景光照不均匀问题,没有进行很好的改善,另外,上述网络在具体的应用场景中,无法满足实时性和准确性的要求。

发明内容

发明目的:针对现有技术的不足,本发明提供一种面向水面目标检测的轻量化卷积神经网络训练方法及系统,构造一组即插即用的轻量化卷积模块M-Conv,既可以添加到骨干网络进行特征提取,也可以嵌入到Neck端进行特征融合,在保证精度不损失的前提下,使网络实现轻量化,易于在边缘端进行部署。

技术方案:为了实现以上发明目的,本发明的技术方案如下:

一种面向水面目标检测的轻量化卷积神经网络训练方法,包括以下步骤:

获取水面漂浮垃圾数据集,该数据集包括训练集图像和验证集图像,并对输入网络的图像数据进行预处理操作;

预处理后的图像进入卷积神经网络,在网络输出端利用损失函数建立起端到端的训练,使网络收敛,其中卷积神经网络结构包括:输入端、骨干网络、Neck端、预测端,所述输入端输入预处理后的图像;所述骨干网络用于对输入的图像进行特征提取,所述骨干网络是由通过换位操作均匀的通道洗牌和深度可分离卷积两种卷积操作封装成的一组即插即用的轻量化卷积模块M-Conv;所述Neck端用于对提取的特征图进行特征融合;所述预测端用于根据融合之后的特征图进行最终检测结果预测和输出;

利用验证集图像对训练后的卷积神经网络模型进行校验;

其中,M-Conv模块通过使用均匀的通道洗牌操作将通道密集型卷积操作生成的信息渗透到深度可分离卷积生成的信息的每个部分,所述均匀的通道洗牌操作是指打乱原有的特征顺序后再进行重组。

优选地,所述均匀的通道洗牌操作包括:将输入层分成g组,每一组输入特征图的通道数为n,则总通道数为g*n,将特征图展开成g*n*w*h的四维矩阵,其中w和h代表输入特征图的宽和高,沿着尺寸为g*n*w*h的矩阵的g轴和n轴进行转置,将g轴和n轴进行平铺后得到洗牌之后的特征图,最后进行组内1*1卷积。

优选地,卷积神经网络的Neck端采用FPN与PAN网络结合的方式,FPN层自顶向下传达强语义特征,PAN则自底向上传达强定位特征,两两结合,并且两者之间通过自处理操作分离。

优选地,所述自处理操作包括:对特征图进行1*1卷积后,进行3*3卷积,再进行1*1卷积。

优选地,卷积神经网络中,PAN和FPN网络与M-Conv模块进行残差连接,M-Conv模块与注意力模块协同作用。

优选地,训练过程中的损失函数定义为:Loss=a*lossobj+b*lossrect+c*lossclc,其中lossrect为边界框损失、lossobj为置信度损失、lossclc为分类损失,a、b、c分别为对应损失项的系数,使用CIOU loss计算矩形框损失,置信度损失与分类损失都用BCE loss计算,计算公式如下:

CIOU loss:

其中,

BCE loss:loss

其中,L(z,x,y)和P(z,x,y)分别代表真实类标签和预测类标签,即坐标为(x,y)的第z个框对应位置的真实框置信度值和对应位置的预测框置信度值。

本发明还提供一种面向水面目标检测的轻量化卷积神经网络训练系统,包括:

输入端,输入水面漂浮垃圾数据集,该数据集包括训练集图像和验证集图像,并对输入网络的图像数据进行预处理操作;

骨干网络,用于对预处理后的图像进行特征提取,所述特征提取模式是由通过换位操作均匀的通道洗牌和深度可分离卷积两种卷积操作封装成的一组即插即用的轻量化卷积模块M-Conv;

Neck端,用于对提取的特征图进行特征融合;

预测端,用于根据融合之后的特征图进行最终检测结果预测和输出;

训练控制模块,用于根据由上述输入端、骨干网络、Neck端、预测端构成的神经网络结构,在输出端利用损失函数建立起端到端的训练,使网络收敛,并利用验证集图像对训练后的卷积神经网络模型进行校验;

其中,M-Conv模块通过使用均匀的通道洗牌操作将通道密集型卷积操作生成的信息渗透到深度可分离卷积生成的信息的每个部分,所述均匀的通道洗牌操作是指打乱原有的特征顺序后再进行重组。

本发明还提供一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如上所述的面向水面目标检测的轻量化卷积神经网络训练方法的步骤。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的面向水面目标检测的轻量化卷积神经网络训练方法的步骤。

本发明与现有技术相比,具有如下优点和有益效果:本发明针对复杂多变的水面场景,利用轻量化卷积模块M-Conv来提取特征,能够满足在存储和计算都受限的边缘端对小目标检测的实时性和准确性的要求。轻量化卷积模块M-Conv是通过通道洗牌操作以及深度可卷积操作封装而成的一种即插即用的轻量化卷积模块,它的工作原理是减少或直接舍弃不必要的卷积操作,并对有价值的信息进行充分的特征提取,在保证精度的基础上实现了网络模型的轻量化,此外,M-Conv模块可以与注意力机制协同作用,并在网络架构的Neck端和预测端残差连接,从而达到识别精度的进一步提升。

附图说明

图1是本发明面向水面目标检测的轻量化卷积神经网络训练方法流程图;

图2是本发明即插即用的轻量化卷积模块M-Conv的结构示意图;

图3是本发明Neck端的处理过程示意图;

图4是本发明提供的几种利用M-Conv的残差连接类型示意图;

图5是本发明提供的M-Conv在Neck端和预测端的残差连接方式示意图。

具体实施方式

下面结合附图对本发明的技术方案作进一步说明。

参照图1,本发明提供一种面向水面目标检测的轻量化卷积神经网络训练方法,包括如下步骤:

步骤(1),获取水面漂浮垃圾数据集,该数据集包括训练集图像和验证集图像,并对输入网络的图像数据进行预处理操作。

本发明实施例中,输入端采用以无人机为第一视角的水面漂浮垃圾数据集,该数据集包含1200余张训练集图像和800余张验证集图像。数据集应尽可能的涵盖多种能够反映真实水面场景的图像,如水面反光、水面落叶遮盖、水面漂浮植物等。

本发明中对图像的预处理参照YOLOv5中采用的预处理,包括Mosaic数据增强、随机缩放、裁剪以及随机排布等方式进行拼接,目的是增强小目标的检测效果。进一步地,考虑到本发明是面向水面目标检测,在这种场景下水面波纹以及风力的自然因素会不可避免的导致拍摄图片模糊现象,故在保留YOLOv5原本操作的基础上,增设运动模糊数据增强处理。示例性实施方式中,通过调用Albumentations库中的MotionBlur函数,设定参数blur_limit=[20,25],p=1来实现运动模糊数据增强。其中blur_limit可以表示为模糊的程度,数值越大越模糊,p表示这个函数触发的概率。目的是模拟在运动状态下被抓拍的图像,从而增强模型的健壮性。进一步地,YOLOv5的预处理中并没有涉及到由于光线不均匀而造成的目标漏检现象的处理,考虑到本发明是面向水面目标检测,在这种场景下水面反光现象会对目标的识别造成很大的干扰,基于此,在上述操作的基础上,对输入图像的灰度值进行亮度增强处理,首先将像素值归一化到{0,1}范围之内,然后gamma作为指数值求出新的像素值再还原,还原后的图像亮度会变得非常自然,不易失真。

步骤(2),输入端的图像数据进入骨干网络进行特征提取。

本发明实施例中,骨干网络结构中采用的是由一种通过换位操作均匀的通道洗牌(Channel Shuffle)和深度可分离卷积(Depthwise Separable Convolution,DSC)两种卷积操作封装成的一组即插即用的轻量化卷积模块,对预处理后图像的特征进行提取。

一般来说,为了加快最终预测的计算速度,卷积神经网络(Convolutional NeuralNetworks,CNN)中的图像几乎总是在主干网络经历类似的转换过程:空间维度的信息被逐步的向通道传送。而每次特征图的空间(宽度和高度)压缩和通道维度的扩展都会造成部分语义的丢失。单纯的使用DSC操作可提高检测器速度,但是这些模型在具体应用时,暴露出精度较低的现实问题。MobileNets使用大量的1*1密集卷积来融合独立计算的信道信息;ShuffleNets使用“channel shuffle”来实现通道信息的交互;GhostNet使用“halved”SC操作来保留通道之间的交互信息。但是,1*1密集卷积反而占用了更多的计算资源,使用“通道洗牌”的效果仍然没有触及标准卷积(Standard Convolution,简称SC)的结果。许多轻量级模型仅使用从开始到结束的深度可分离卷积,但是无论这是用于图像分类还是目标检测,DSC的缺陷在主干中被直接放大。基于此,在本发明中,将SC与DSC合作。因为在仅通过通道洗牌、DSC的输出通道而生成的特征图仍然是“深度可分离的”。为了使DSC的输出尽可能接近SC,本发明中引入了一种新的卷积模块—SC、DSC和通道洗牌混合卷积。

本发明,通过使用均匀的通道洗牌操作(Shuffle)将SC生成的信息(通道密集型卷积操作)渗透到DSC生成的信息的每个部分,这里的均匀通道洗牌就是打乱原有的特征顺序后再进行重组:假设将输入层分成g组,每一组输入特征图的通道数为n,则总通道数为g*n,将特征图(Feature Map)展开成g*n*w*h的四维矩阵,w和h代表输入特征图的宽和高,沿着尺寸为g*n*w*h的矩阵的g轴和n轴进行转置,将g轴和n轴进行平铺后得到洗牌之后的Feature Map,最后进行组内1*1卷积。如图2所示,假设输入特征图的通道数目为C1channels,首先进行一次3*3标准卷积进行处理得到C2/2channels的特征图。对这一步的输出进行均匀的通道洗牌操作,此操作只将通道均匀的打乱,并不改变特征图的通道数目,操作完之后的特征图仍然是C2/2channels,利用一次DSC操作将上述的信息融合,得到C2/2channels的特征图,将上述两步的输入图在通道维度进行拼接(Concat)最终得到C2channels的特征图,此时再一次将通道均匀打乱,进行步长为2的下采样处理(目的是降维,将图片通道数减少为原来的一半),得到的特征图与首次下采样得到的C2/2channels特征图进行通道维度的拼接,得到最终C2 channels的输出特征图。通过该操作允许来自SC的信息完全混合到DSC的输出中,达到均匀的交换不同通道上的本地信息的目的。

本发明将上述轻量化卷积操作封装成一组即插即用的卷积模块M-Conv,在骨干网络中使用此模块,模型在水面场景中检测特定目标的精确度高于原始模型,且参数量相较于原始模型下降了一半,总体上,该模型从更直接影响模型运行速度的角度出发,在速度与精度的平衡上达到了一种最佳水平,非常适合于移动端模型的应用。

步骤(3),提取特征后的图像输入到颈部(Neck端),从不同的主干层对不同的检测层进行参数聚合。

本发明实施例中,Neck端的网络结构对主流的特征金字塔网络(Feature PyramidNetwork,FPN)和路径聚合网络(Path Aggregation Network,PANet)进行了重设计。主流的FPN网络主要解决的是物体检测中的多尺度问题,通过简单的网络连接改变,在基本不增加原有模型计算量的情况下,大幅度提升了小物体检测的性能。通过高层特征进行上采样和低层特征进行自顶向下的连接,而且每一层都会进行预测。FPN中间经过多层的网络后,底层的目标信息已经非常模糊,因此PANet又加入了自底向上的路线,弥补并加强了定位信息,PANet的工作原理是在FPN的后面添加一个自下向上的金字塔,对FPN进行补充,将低层的定位特征传递上去,这样形成的金字塔既结合了语义信息又拥有定位信息。由此可以看出自顶向下和自底向上的操作是顺序(sequential)形式,并且在两种结构中均没有自处理(self-processing)操作。以PANet为例,自底向上操作紧接着自顶向下操作,这种操作方式是次优的,以P

此外,PAN与FPN网络可以与M-Conv模块进行残差连接,残差模块中包含两个或者多个M-Conv卷积,以及一个跳跃连接(SkipConnection),跳跃连接将输入直接与卷积层的输出相加,形成残差连接,如图4中的(a)所示,假设输入为(x),M-Conv模块的输出为F(x),则残差模块的输出为H(x)=F(x)+x,其中F(x)是残差映射,(x)是跳跃连接。图4的(a)是一个基本组成单元,(b)、(c)、(d)是指可以利用这个基本单元与其他网络再进行残差连接,这几种残差连接方式不同,在网络中都是可行的,这里是提供了几种连接的建议。bottleneck是指瓶颈模块,由于输入特征图大小为C1 channels,中间处理得到的特征图大小为C2/2channels,最后输出得到C2 channels的特征图,在视觉上类似于一个瓶颈。

此外,残差网络中还可以包含池化层、全连接层和激活函数。残差网络通过引入残差模块解决了模型在推理过程中的梯度消失问题,在现实场景中实现了更深层次的网络结构。

步骤(4),特征融合之后的图像输入到预测(Prediction)端进行最终输出。

输出端分别采用76*76、38*38、19*19三个预测头来预测小、中、大三种目标。

目前主流的注意力机制包括SE(Squeeze&Excitation)、CBAM(ConvolutionalBlock Attention Module)、CA(Coordinate Attention)等,SE包括两个操作流程:挤压(Squeeze)和激励(Excitation)。该模块允许网络更多地关注信息量更大的特征通道,而否定信息量更少的特征通道。CBAM是一个空间通道注意机制模块。CA模块是一种新的解决方案,以避免由全局池化2D操作引起的位置信息丢失:它将注意力分别放在宽度和高度两个维度上,以便有效利用输入特征图的空间坐标信息。在本发明中,注意力模块通常放置在骨干网络的末端以达到更好的效果,这是因为浅层网络充斥着大量的低级语义信息,导致注意力模块的信息融合功能的使用最小,完全不需要融合已经包含丰富低级语义信息的特征图。此外,M-Conv模块可以与CA模块协同作用,以图4为例,在预测头输出最终预测结果之前,可以将M-Conv模块与CA模块采用图4中(b)或(c)的方式进行残差连接,这对之前的体系结构无法对信道特性依赖性充分建模的问题进行了有效改正,在本实验场景中展现了充分的网络表示能力,实现了最先进的性能。

如图5所示,P3,P4,P5指的是在骨干网络对原始输入特征图进行处理得到的三个尺寸大小不同的特征图,假设输入网络的图片大小为640*640*3,最终在Neck端得到的P3的通道数为512,P4通道数为256,P5的通道数为128,分别用来预测小、中、大目标。图中的upsample是指上采样操作,目的是将底层的语音信息往顶层传送,如P5经过上采样后通道数由128改为256,可以与P4在通道维度进行拼接,然后将输出特征图输入到Res-M1网络中进行卷积操作,得到的特征图继续向上传递语义信息,本发明在每一次语义融合之后都会得到一张特征图,作为head端进行预测的输入特征图。图5所示的示例中,Res-M1中包括了CA,因CA也是一种即插即用的注意力机制模块,该示例采用图4中(b)的方式进行与CA连接。

在输出端利用损失函数建立起端到端的训练,损失函数的作用为度量神经网络预测信息与期望信息(标签)的距离,预测信息越接近期望信息,损失函数值越小。

在目标检测算法中通常会在输入图像中采样大量的区域,然后判断这些区域中是否包含感兴趣的目标,并调整区域边缘位置从而更准确地预测目标的真实边界框(ground-truth bounding box),如图1右侧所示。不同的模型使用的区域采样方法也可能不同。锚框指的是以每个像素为中心,生成多个大小和宽高比(aspect ratio)不同的边界框。假设输入图像高为h,宽为w。分别以图像的每个像素为中心生成不同形状的锚框。设大小为s∈(0,1]且宽高比为r>0,这里s表示尺寸缩放因子scale,即锚框占图片大小的比例,r表示ratio。有w’h’=whs,w’/h’=r,那么锚框的宽和高将分别为sqrt{shwr}和sqrt{shw/r}。当中心位置给定时,已知宽和高的锚框是确定的。分别设定好一组大小s1,…,sn和一组宽高比r

训练时主要包含三个方面的损失:边界框损失(lossrect)、置信度损失(lossobj)、分类损失(lossclc)。网络的损失函数定义为:Loss=a*lossobj+b*lossrect+c*lossclc。使用CIOU loss计算矩形框损失,置信度损失与分类损失都用BCE loss计算;

CIOU loss:

其中,

BCE loss:loss

BCE Loss主要用来创建衡量目标和输出之间的二进制交叉熵的标准。对于一张图像分割成的80*80的网格,神经网络对其中每个格子都预测三个位于该格子附近的矩形框(简称预测框),每个预测框的预测信息包括中心坐标、宽、高、置信度、分类概率,因此神经网络总共输出3*80*80个0~1的预测置信度,与3*80*80个预测框一一对应。每个预测框的置信度表征这个预测框的靠谱程度,值越大表示该预测框越可信靠谱,也即越接近目标的真实最小包围框。标签的维度应该与神经网络的输出维度保持一致,因此置信度的标签也是维度为3*80*80的矩阵。假设置信度标签为矩阵L,预测置信度为矩阵P,则有0≤z<3,0≤x<80,0≤y<80。其中L(z,x,y)和P(z,x,y)分别代表真实类标签和预测类标签,即坐标为(x,y)的第z个框对应位置的真实框置信度值和对应位置的预测框置信度值。

步骤(5)开启阶段性训练使网络收敛。

第一阶段,采用原YOLOv5s的初始训练权重训练数据集,在较短时间内使模型收敛;第二阶段,利用第一阶段的训练权重,在Backbone部分将原CSP Darknet替换为如上所述的轻量化网络模块M-Conv;第三阶段,将CA注意力机制叠加到网络结构的Neck端,进一步提高网络识别的准确度。在实际训练中,模型在300epoches后达到拟合状态,所以每一阶段都设置为300epoches进行训练。

在训练完模型之后,采用交叉验证的方法对训练的模型进行检验:将原始数据集分割为训练数据集和测试数据集,再将训练数据集分割为k个数据集,对每一组参数,都分别让每一个数据集作为验证数据集,其余数据集一起作为训练数据集,训练出k个模型,每一个模型都在对应的验证数据集上求出其性能的指标,k个模型的性能指标的平均值作为最终衡量该组参数对应的模型的性能指标。如果最终指标不理想,重新调整参数,再次得到这k个模型的性能指标的均值。经过验证的模型可用于水面浮物、垃圾等目标的检测。

本发明还提供一种面向水面目标检测的轻量化卷积神经网络训练系统,包括:

输入端,输入水面漂浮垃圾数据集,该数据集包括训练集图像和验证集图像,并对输入网络的图像数据进行预处理操作;

骨干网络,用于对预处理后的图像进行特征提取,所述特征提取模式是由通道洗牌和深度可分离卷积两种卷积操作封装成的一组即插即用的轻量化卷积模块M-Conv;

Neck端,用于对提取的特征图进行特征融合;

预测端,用于根据融合之后的特征图进行最终检测结果预测和输出;

训练控制模块,根据上述输入端、骨干网络、Neck端、预测端的网络结构,在输出端利用损失函数建立起端到端的训练,使网络收敛,并利用验证集图像对训练后的卷积神经网络模型进行校验;

其中,M-Conv模块通过使用均匀的通道洗牌操作将通道密集型卷积操作生成的信息渗透到深度可分离卷积生成的信息的每个部分,所述均匀的通道洗牌操作是指打乱原有的特征顺序后再进行重组。

应理解,本发明实施例中的轻量化卷积神经网络训练系统可以实现上述方法实施例中的全部技术方案,其各个功能模块的功能可以根据上述方法实施例中的方法具体实现,其具体实现过程可参照上述实施例中的相关描述,此处不再赘述。

本发明还提供一种计算机设备,包括:一个或多个处理器;存储器;以及一个或多个程序,其中所述一个或多个程序被存储在所述存储器中,并且被配置为由所述一个或多个处理器执行,所述程序被处理器执行时实现如上所述的面向水面目标检测的轻量化卷积神经网络训练方法的步骤。

本发明还提供一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现如上所述的面向水面目标检测的轻量化卷积神经网络训练方法的步骤。

以上实施例仅用以说明本发明的技术方案而非对其限制,尽管参照上述实施例对本发明进行了详细的说明,所属领域的普通技术人员应当理解:依然可以对本发明的具体实施方式进行修改或者等同替换,而未脱离本发明精神和范围的任何修改或者等同替换,其均应涵盖在本发明的权利要求保护范围之内。

相关技术
  • 一种基于轻量化目标检测卷积神经网络的目标检测方法
  • 深度卷积神经网络的轻量化方法、系统及目标检测方法
技术分类

06120116489788