一种基于深度学习的小目标检测方法与流程

    专利2022-07-08  128


    本发明属于计算机视觉领域,具体涉及一种基于深度学习的小目标检测方法。



    背景技术:

    近年来,随着深度学习以及卷积神经网络的兴起与发展。目标检测任务便是计算机视觉中一个十分重要的任务,他在自动驾驶,智能监控,医学图像等应用领域都发挥了很大的作用。同时目标检测也是许多高层视觉处理和分析任务的重要前提,比如动作识别,场景语义信息理解等领域,都需要通过目标检测结合语义信息进一步得出处理结果。

    目标检测任务通常可以划分成两个子任务:目标分类和目标定位。目标分类任务负责判断区域是否存在物体并判定类别;目标定位任务负责确定我们所感兴趣的物体的位置和范围。目前主流的基于深度学习的目标检测算法大致上可以分为两大类,一类是两阶段的目标检测算法,另一类是单阶段的目标检测算法。两阶段目标检测算法的典型代表就是rcnn系列,这类算法把检测任务划分成两个阶段,第一个阶段先生成一些候选区域,确定目标大概的位置信息,在第二个阶段对候选区域进行进一步的定位以及分类;单阶段的目标检测算法以ssd算法和yolo系列为代表。他不需要额外生成候选区域,直接通过卷积产生对目标的类别概率以及位置误差的估算,所以从整体上而言单阶段目标检测算法的检测速度相对较高,但是检测进度通常不如两阶段目标检测算法好。

    目前也有很多基于fasterrcnn和ssd算法的改进算法,但是在小目标检测方面的检测精度一直不是很高,这样的情况通常存在下列问题:(1)小目标由于其面积较小,在数据集中很难被关注到;(2)经过多层卷积操作后特征图上的小目标信息丢失;(3)在基于anchor的目标检测方法中,anchor的大小设置会存在锚框和小目标大小不匹配的问题。



    技术实现要素:

    本发明的目的在于提供一种基于深度学习的小目标检测方法,在通过骨干网络卷积获取特征图之后,再将特征图融合成不同感受野的特征图分别用于识别不同大小的目标,实现了对小目标的有效提取。

    实现本发明目的的技术解决方案为:一种基于深度学习的小目标检测方法,包括如下步骤:

    步骤(1):对数据进行处理;

    步骤(2):通过骨干网络提取图像特征,获得初步的特征图;

    步骤(3):对步骤(2)获取的特征图进行特征融合,通过不同的卷积操作融合出三张不同感受野的特征图分别去检测大中小三种目标;

    步骤(4):铺设锚框anchor并进行训练;

    步骤(5):将锚框从特征图上映射到原图区域,对网络进行训练,在预设的训练次数中,利用损失函数不断的对卷积参数进行评估,并保存中间的训练模型不断进行优化;

    步骤(6):通过nms操作筛掉重复的框,得出检测结果。

    进一步的,所述步骤(1)“对数据进行处理”包括如下步骤:

    步骤(11):划分训练集,测试集以及验证集;

    步骤(12):对数据进行归一化处理,修改成同一尺寸便于后续处理;

    步骤(13):对于较小的目标,采用数据增强操作,具体包括对小目标进行随机粘贴以及放缩等操作。

    进一步的,所述步骤(3)“对步骤(2)获取的特征图进行特征融合,通过不同的卷积操作融合出三张不同感受野的特征图分别去检测大中小三种目标”具体包括如下步骤:

    步骤(31):将骨干网络提取的特征图卷积到同一维度,进行初步融合,得到一张融合了各层信息的特征图;

    步骤(32):在步骤(31)得到的特征图上通过空洞卷积调整不同特征图的感受野,分为三个分支进行融合,分别应用于大中小三种目标类型。

    进一步的,所述步骤(4)“铺设锚框anchor并进行训练”具体为:对步骤(3)中得到的特征图的感受野进行计算,保证每张特征图的感受野要大于设置的锚框大小。

    进一步的,所述步骤(6)中在nms的过程中,对iou加上权重其中wg和hg是真实框的长宽,wb和hb是预测框的长宽。

    进一步的,步骤(2)中的骨干网络为resnet50。

    本发明与现有技术相比,其显著优点在于:

    (1)针对小目标分辨率低,所占面积小的问题,本发明加入了一种针对小目标的数据增强操作,提升小目标被检测到的概率。

    (2)本发明采用一种新的特征融合方式,将浅层与深层特征图进行融合,根据感受野的不同分别检测不同尺寸的目标。

    (3)由于小目标的iou普遍偏低,本发明提出对传统iou加入尺度权重,一定程度上的提升小目标iou。

    附图说明

    图1为本发明的检测方法流程图。

    图2为本发明的小目标数据增强示例图;图(a)为原图,图(b)为数据增强后的图。

    图3为本发明的特征提取的网络图。

    图4为本发明的特征融合详细图。

    图5为本发明的nms的流程图。

    图6本发明的检测结果示意图。

    具体实施方式

    下面我们结合说明书附图对本发明进行提出的多感受野目标检测方法进行进一步的详细说明,具体的步骤包含以下部分:

    步骤1:数据集整理以及划分。我们的数据集主要是由两部分组成,一部分是图片,每张图片中包含我们所要检测的一些目标,也有可能存在全部都是背景的图片(对于那些不包含目标的图片,我们进行舍弃操作)。另外一部分是每张图片所对应的标签文件,标签中所保存的是其对于图片的一些信息,包括图片位置,图片大小,最重要的是图片中物体所在的位置以及该物体所属的类别,我们通过先验框来表示物体,通过框的左上角坐标以及框的长度和宽度实现位置信息的标注,通过给定先验框的类别来标记目标的类别。

    整理好图片和标签信息后,我们需要将数据划分为三类:训练集,验证集,测试集。我们将图片分成三个部分,并将他们对应的标签打包成三个json格式的文件,方便对数据进行读取。

    这一步我们还需要对数据进行数据增强操作,尤其将重点关注于小目标的检测,如图2所示,首先我们将图片归一到大小为1000*600的尺寸,并筛掉不包含目标的图片,便于后续的训练。对于一些包含小目标的图片,我们对他进行随机复制和粘贴,增加小目标的数量,以提升小目标在训练过程中的存在感,使网络更加关注小目标。对图像数据整体,我们还需要进行归一化操作,减少因为其他噪声而产生的检测结果的差异。如果在训练数据不够的情况下,我们可以对数据集进行随机裁剪,旋转等操作扩充数据集。

    步骤2:通过骨干网络提取图像特征。常用的骨干网络包括:vgg16,vgg19,resnet50,resnet101等等。我们选择resnet50作为骨干网络对图像特征进行提取。下面说一下resnet50网络提取特征的步骤,在我们将图片输入进网络后,首先会对图片进行一个7*7的卷积操作,紧跟着的是四个残差块,每个残差块中需要进行1*1,3*3,1*1的卷积,我们保留每个残差块输出的结果(特征图)方便后面进行特征融合操作。使用残差结构的好处在于它通过恒等映射可以在一定程度上解决梯度爆炸以及由于网络深度不断加深所导致的网络退化等问题。

    图片经过骨干网络提取后,我们可以得到4张特征图,他们的维度分别为256,512,1024,2048维,并且特征图的大小从左至右依次减小。此时我们得到的特征图,浅层的特征图分辨率较高。包含更多的位置信息,并且小目标信息也较为清晰,但是缺乏语义信息。深层特征的语义信息较为充分,但是经过多次的卷积,分辨率很低,对细节以及位置信息的感知能力较弱。因此我们需要进行进一步的特征融合操作。

    步骤3:基于感受野理论的特征融合操作。在这一步,考虑到高低层特征图的特点,我们首先对步骤2得到的特征图大体上进行一个特征融合。我们首先通过1*1的卷积将四个特征图都转化成256维,便于下一步的特征融合。然后,通过对计算量与融合效果的双重衡量,本发明选择以第二个特征图的大小为基准,对于比他小的特征图采用插值操作,对于比他大的特征图我们通过池化操作将其下采样到和第二个特征图相同大小。将大小,维度都相同的这四张特征图,我们将其累加并求平均,这样我们就得到了一个256维既包含浅层特征图的信息也包含深层特征图信息的新特征图。

    对于小目标而言,分辨率高一些的特征图会保留更多的信息。但是我们单单使用我们求出的平均特征图并不能很好的满足各类尺寸的需求,我们需要实现多尺度的目标检测。对于目标检测任务而言,当特征图的感受野和目标的大小相近时,检测的效果是最好的。所以本发明采用三个改变感受野的卷积模块,用于对不同特征进行检测。三个模块的结构大致相同,都是先对该特征图进行1*1的卷积,在分别进行一个1*1,3*3,5*5的卷积,最终在通过一次1*1的卷积,对卷积后的特征图归一化一下。通过改变卷积核的大小改变感受野,最终,我们可以获得三张拥有不同感受野的特征图,整体的网络流程如图3所示。

    步骤4:分析数据集中的数据选择铺设合适大小的锚框。锚框(anchor)是我们在得到的三张特征图上将每个点映射回原图,每个点生成不同长宽比的6个锚框,我们需要不断的对锚框进行回归以及分类的准确率判断才能得出进一步的结果。以coco数据集中所定义的小目标概念为例,在coco数据集中,目标尺寸小于32*32像素就会被定义为小目标。所以这一步我们需要根据小目标的精度铺设合适的锚框。

    步骤5:正式训练,在这里我们需要将anchor和实际框的交并比称作iou,这是区分训练框时十分重要的一个参数。但是由于小目标的面积和锚框面积通常会存在不匹配的情况,这样的情况就会导致小目标的iou普遍偏低。所以本发明设计了一个权重为其中wg和hg是真实框的长宽,wb和hb是预测框的长宽;我们首先计算目标在全图中的相对大小,并且对其取对数,当目标相对面积越小时,该权重越大。当w为负数时,说明该目标属于大目标,我们不对齐进行操作,为正数时,他的值是0-1之间的一个数,我们将iou转换成(1 w)*iou进行下一步的计算,这样可以保留更多的小目标,对目标位置进行回归,对目标类别进行分类。这里我们需要将预设好的anchor进行回归并做分类操作。我们分别对三张特征图进行1*1的卷积操作,然后进行分支处理,通过两个3*3的卷积对图像进行卷积,一个用于分类一个用于回归。分类的分支一共有锚框的数量*目标类别个维度,每个维度是该框属于某个类别的概率;定位的分支一共是锚框数量*4个维度,4个数分别是左上角的坐标x,y以及锚框的长宽w,h。

    为了评估预测结果与实际真实结果的差异(groundtruth),我们这里介绍一下使用的损失函数,和上面介绍的一样,两个分支选择的是不同的损失函数,所以损失函数由两部分组成,一部分是分类的损失函数,另一部分是回归的损失函数:

    下面我们对本发明的分类损失函数进行具体介绍:

    对于分类,我们采用softmax进行计算,softmax将网络的输出通过指数转变成概率的形式。前一部分是第i个预测框和第p个类别匹配所得到的预测概率,预测的概率越高,损失函数越小。第二部分是对于那些不包含目标的锚框而言的,对于这一类我们要预测的概率是预测其是背景的概率是多少,概率越高那么越接近真实情况损失函数越小。

    下面是位置回归的损失函数:

    我们只需要对实际包含目标的锚框进行计算即可,对于属于背景的目标不需要进行位置回归。我们通过判定该预测框属于前景或者背景,是第i个预测框与第j个groundtruth之间的类别匹配的概率,概率越高,我们对他进行回归的重要程度越强。后面通过smooth损失计算预测框与实际框的位置偏差。

    步骤6.通过nms对预测框进行筛选。通过之前的操作我们可以得到许多预测框,但是这些框很有可能存在互相重叠的情况,就是同一个目标有多个预测框可以与其进行匹配。这时我们就需要采用非极大值抑制的方法筛选出最优的框。

    nms的大致过程如图5所示,首先从未筛选的box中选出一个得分最高的框来,计算他与其他框之间的iou,如果某个框和他的交并比大于阈值,那么则将其认为是重合的框将其删除,遍历完其他框后,再次从未筛选的框中找出得分最高的一个,重复上述过程,直到所有的框都被筛选完成,最终留下的box就是检测结果。


    技术特征:

    1.一种基于深度学习的小目标检测方法,其特征在于,包括如下步骤:

    步骤(1):对数据进行处理;

    步骤(2):通过骨干网络提取图像特征,获得初步的特征图;

    步骤(3):对步骤(2)获取的特征图进行特征融合,通过不同的卷积操作融合出三张不同感受野的特征图分别去检测大中小三种目标;

    步骤(4):铺设锚框anchor设置正负样本并进行训练;

    步骤(5):将锚框从特征图上映射到原图区域,对网络进行训练,在预设的训练次数中,利用损失函数不断的对卷积参数进行评估,并保存中间的训练模型不断进行优化;

    步骤(6):通过nms操作筛掉重复的框,得出检测结果。

    2.根据权利要求1所述的方法,其特征在于,所述步骤(1)“对数据进行处理”包括如下步骤:

    步骤(11):划分训练集,测试集以及验证集;

    步骤(12):对数据进行归一化处理,修改成同一尺寸便于后续处理;

    步骤(13):对于较小的目标,采用数据增强操作,具体包括对小目标进行随机粘贴以及放缩等操作。

    3.根据权利要求2所述的方法,其特征在于,所述步骤(3)“对步骤(2)获取的特征图进行特征融合,通过不同的卷积操作融合出三张不同感受野的特征图分别去检测大中小三种目标”具体包括如下步骤:

    步骤(31):将骨干网络提取的特征图卷积到同一维度,进行初步融合,得到一张融合了各层信息的特征图;

    步骤(32):在步骤(31)得到的特征图上通过空洞卷积调整不同特征图的感受野,分为三个分支进行融合,分别应用于大中小三种目标类型。

    4.根据权利要求3所述的方法,其特征在于,所述步骤(4)“铺设锚框anchor并进行训练”具体为:对步骤(3)中得到的特征图的感受野进行计算,保证每张特征图的感受野要大于设置的锚框大小。

    5.根据权利要求4所述的方法,其特征在于,所述步骤(6)中在nms的过程中,对iou加上权重其中wg和hg是真实框的长宽,wb和hb是预测框的长宽。

    6.根据权利要求1所述的方法,其特征在于,步骤(2)中的骨干网络为resnet50。

    技术总结
    本发明公开一种基于深度学习的小目标检测方法。对数据集进行划分并处理好标签,对整体数据进行归一化处理,针对小目标进行拷贝粘贴,随机裁剪以及放大缩小操作;选用骨干网络对图像特征进行初步提取,将网络的最后四张特征图保存下来;对这四张特征图进行维度转换将其变成同一维度,通过插值与下采样操作后将特征图对应相加求平均得到一张融化后的特征图;对特征图进行卷积,分三个分支,采用不同的卷积方式控制三个分支的感受野,分别适用于检测大、中、小目标;铺设Anchor并映射回原图;对结果进行进一步的处理,保留最佳检测结果。本申请加入了一种针对小目标的数据增强操作和新的特征融合方式以及正负样本匹配策略,提升小目标被检测到的概率。

    技术研发人员:曹国;蒋佳宜;黎雄
    受保护的技术使用者:南京理工大学
    技术研发日:2020.12.07
    技术公布日:2021.03.12

    转载请注明原文地址:https://wp.8miu.com/read-18902.html

    最新回复(0)