改进类别不平衡的目标检测方法与流程

文档序号:18622231发布日期:2019-09-06 22:35阅读:313来源:国知局
改进类别不平衡的目标检测方法与流程
本发明涉及目标检测
技术领域
,尤其涉及一种改进类别不平衡的目标检测方法。
背景技术
:目标检测是计算机视觉中的基础,它的任务是从一张图像中定位出所有的物体,并且完成对该物体的分类识别。来自于各大国际权威数据集上的结果表明,现有的基于深度学习的目标检测器是最先进的检测方法,这些目标检测方法大多使用锚框进行检测框的预测。上述的锚框(anchor)可以理解为预设的方框,目标检测器通过设置多种样式的锚框去覆盖不同尺寸大小的物体。对于一张w×h的特征图,如果设置9种不同样式的锚框,那么就会有w×h×9个锚框,从输入图像的角度来看,这些锚框的中心是等间距均匀分布在图像上的。训练这些目标检测器即围绕如何训练锚框而展开,如将与真实物体交叠比较大的锚框视作为正样本(正锚框),对这个锚框的坐标进行回归,努力让其靠近真实的物体区域,并且使用真实物体的类别作为监督,对锚框进行分类任务;与真实物体交叠比较小的锚框视为负样本(负锚框),忽视其坐标回归的任务,并且使用“背景”这一类监督锚框的分类任务。然而,在目标检测器的训练过程中,锚框的训练将受到严重的类别不平衡影响。这是因为图像中的物体有限,正锚框的数量较少,而负锚框的数量远远多于正锚框的数量,造成正负比例不平衡。在锚框的种类设置较少时,正负比例可能达到1:1000左右,而当锚框的种类设置较多时,就可能达到1:10000以上。如此不平衡的比例将极大地影响目标检测器的可靠性,使得预测更加偏向于“背景”类别,召回率降低。现有的解决类别不平衡的方法主要是通过偏置加权方法的各种变式进行实现的。如在训练时进行采样,规定正负比例为1:3;或者在训练网络进行反向传播时,只考虑损失较大的“难样本”来平衡正负比例;或者是对于所有样本加权一个自适应的权重。这样会带来两个问题:(1)引入的参数难以说明如何设置更加好,只能通过启发式的方法进行选取,效果依赖于数据集;(2)采样的方法只是通过缓和的手段来助力于模型训练,并没有实质上改变锚框在训练时的正负比例,将造成训练与测试时的不同步。技术实现要素:本发明的目的是提供一种改进类别不平衡的目标检测方法,提升目标检测的准确度。本发明的目的是通过以下技术方案实现的:一种改进类别不平衡的目标检测方法,包括:在传统特征检测网络中添加用于生成掩码图的分支结构,得到与指定分辨率的特征图具有相同尺寸的掩码图;对掩码图进行训练,根据训练结果为掩码图中的每一掩码格分配正负标签,对于正掩码格,对其上的锚框进行训练,对于负掩码格,忽略在其上的锚框,不参与训练,最终得到训练好的目标检测模型;在测试阶段,利用训练好的目标检测模型进行锚框的筛选,进而得到目标检测结果。由上述本发明提供的技术方案可以看出,相比于传统的在目标检测器中解决锚框类别不平衡的方法,本发明更偏向于从根本上去解决问题,减少在训练和测试时需要考虑的锚框数量,并且设计了一个简单和有效的掩码机制,可以很好地应用在基于深度学习的目标检测器上,较好地解决在深度目标检测器中正负样例不平衡的问题,从而提升目标检测算法的精确度。附图说明为了更清楚地说明本发明实施例的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他附图。图1为本发明实施例提供的一种改进类别不平衡的目标检测方法的流程图;图2为本发明实施例提供的训练阶段掩码机制的结构图;图3为本发明实施例提供的使用掩码图来指导锚点框训练的示意图。具体实施方式下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明的保护范围。面向基于深度学习的目标检测方法中锚点正负比例失衡的现象,不同于一般的偏置加权方法,本发明引入掩码机制,提出一种改进类别不平衡的目标检测方法,主要原理为:为用于检测的特征图创造一个2d掩码图,掩码图的宽和高与特征图的宽和高相同。掩码图由一个个的网格组成,称为掩码格;掩码格会相应的给出预测0到1之间的分数,判断这个区域内是否包含有正锚框,正掩码格在训练时被看作为正掩码格,分数越高说明包含正掩码格的概率越大;在训练时仅仅选择正掩码格中的锚框进行训练;在测试时依据掩码分数和锚框给出的类别分数来得到预测框,从而完成目标检测。如图1所示,本发明实施例提供的一种改进类别不平衡的目标检测方法主要包括如下步骤:步骤1、在传统特征检测网络中添加用于生成掩码图的分支结构,得到与指定分辨率的特征图具有相同尺寸的掩码图。本发明实施例中,对传统的骨干网络结构进行了改进,所述骨干网络为目标检测模型中的卷积神经网络,可理解为用于提取检测特征的网络。骨干网络在不同分辨率的特征图上设置了不同的检测层,用于检出尺度不同的物体。通过对于骨干网络的结构做相应的改进,使其能够更加契合本发明使用掩码图改进目标检测不平衡的方法。如图2所示,改进结构的优选实施方式如下:1)传统特征检测网络能够提取若干不同分辨率的特征图,通过添加池化层对每一分辨率的特征特征图进行下采样,并将每一分辨率的特征图缩小到与最低分辨率的特征图相同的尺寸,再将所有特征图进行拼接。在进行池化-拼接操作后,就可以得到包含不同尺度物体,语义信息丰富的特征图,在这张特征图上,不同尺度的物体信息都会有相应的表达,将池化-拼接操作得到的特征图记为特征图a。2)通过添加卷积层使特征图a的尺寸变换为w×h×1,其中,w与h分别为分辨率最低特征图的宽与高;添加卷积层一方面用于降低维度减少计算量;另一方面是添加期望的学习映射,让其可以在空间位置上表达物体信息。3)添加掩码层,将尺寸变换后的特征图a看做掩码图。掩码图中有w×h个网格,每一个网格采用逻辑回归进行训练(将在后续步骤2进行介绍)。至此,完成了骨干网络结构的修改。需要说明的是,上述修改也可以依据实际情况进行适当修缮。步骤2、对掩码图进行训练,根据训练结果为掩码图中的每一掩码格分配正负标签,对于正掩码格,对其上的锚框进行训练,对于负掩码格,忽略在其上的锚框,不参与训练,最终得到训练好的目标检测模型。本步骤优选实施方式如下:1)掩码图训练。本发明实施例中,对于上述步骤2得到的掩码图,采用逻辑回归方式训练,逻辑回归的损失函数表达如下:lmask=∑{ylnσ(x)-(1-y)ln[1-σ(x)]}其中,y为掩码格的标签,x为掩码格的输出,σ(x)表示使用sigmoid函数对x进行变换,使其输出在0到1之间,变换得到的数值表示物体真实方框的中心落在相应掩码格内部的概率;按照变换得到的数值与掩码格标签的分配原则为每一掩码格分配正负标签;其中,掩码格标签的分配原则为:若物体真实方框的中心落在掩码格中,则分配相应掩码格为正掩码格;若这个物体完全在掩码格之外,这分配相应掩码格为负掩码格。上述掩码图为最低分辨率的特征图,为了使其能够应用于多个检测层,训练过程中以及后续介绍的测试阶段,均对掩码图进行上采样操作使其扩充到传统特征检测网络的所有检测层。本领域技术人员可以理解,检测层的作用是利用特征生成对应锚框的类别分数(分类),调整锚框的坐标变换(坐标回归);在特征提取阶段检测层不参与工作。本发明实施例中,希望生成一张掩码图,来快速过滤“负样本”。现有的目标检测方法中多采用“多层金字塔”预测方式,因此此处需要进行上采样,应用到每一层上,从而可以在训练和测试中发挥作用。上采样方法如下:扩大后的掩码图的每一个掩码格的填充即为扩大前掩码图相应位置值的复制;在训练过程中,对于掩码格的标签分配也是如此进行上采样;因此,掩码图可以通过上采样的方式扩充到所有的检测层。2)锚框训练在有了掩码图后,对于锚框的训练也不同于一般的方法,本发明实施例中,根据掩码格的正负标签类型进行锚框训练,如图3所示,对于正掩码格(如图3中三个用较粗线条标记的2×2大小的区域),相应的锚框按照与真实方框交叠比(iou)进行分配;而对于负掩码格,则直接忽略在其上的锚框,不参与训练。这样一来,参与训练的负锚框数量将大大减少,严重失衡正负比例将得到极大的缓和。训练锚框的总体的损失函数可以表达如下:l=lobj+lmask+lcls+αlloc其中,lobj为锚框对象似然性的损失,lmask为掩码图的损失,lcls为分类损失,lloc为边界框回归的损失,α为权重因子,可设置为2,表示模型更加倾向于先保证定位的准确性。步骤3、在测试阶段,利用训练好的目标检测模型进行锚框的筛选,进而得到目标检测结果。本步骤的优选实施方式如下:设置两个阈值,第一个阈值用于筛选掩码格,第二个阈值用于筛选锚框;通过训练好的目标检测模型对输入图像进行处理,得到相应的掩码图;通过第一个阈值,从掩码图中筛选出相应的掩码格;通过第二个阈值从筛选的掩码格中筛选出相应的锚框,从而得到初步预测结果;按照目标检测算法的流程(可通过常规技术实现),对于初步预测结果,采用非极大值抑制算法,去除冗余锚框,再遴选出类别得分排名靠前的若干预测框,作为目标检测结果。下面结合示例对本发明做详细介绍;值得注意的是,以下示例所涉及的网络类型、阈值的具体数值等均为举例,并非构成限制。本示例中,针对改进骨干网络的结构;在模型训练阶段设置掩码图;在模型推理阶段结合掩码图输出检测结果三个方面进行介绍。(1)改进骨干网络的结构:①改进darknet-53网络作为基础的特征网络,如图2所示,选择在74层、61层、36层着三个不同尺度的层上添加池化层,以期利用来自不同尺度上的特征来发现物体。以输入尺寸为512×512为例,在这三个尺度上的分辨率分别为16×16,32×32,64×64。接着,我们为这三个层分别接上窗口为4,步长为4、窗口为3,步长为2、窗口为2,步长为1的最大池化层,将它们特征图的分辨率都缩减到16×16。然后,我们再在维度方向上对这些特征图进行拼接,合并为一个分辨率较低,但维度较宽的,富有语义信息的特征图;需要说明的是,本发明采用的darknet-53网络仅仅是诸多骨干网络中的一种,也可以采用其他的骨干网络,如resnet-101,vgg-16,按照本发明上述的改进思想,即可进行相应的转换。②按照①中所述,在特征图后添加1个1×1的卷积和1个3×3的卷积,用以降低维度和扩充语义。最后,采用一个1×1的卷积生成掩码图。对于原本的网络的结构,没有进行任何改动,仅仅是添加了一个生成掩码的分支。需要说明的是,在其后添加的卷积层可以适当增多而可以进一步提升模型效果,本发明仅仅论述最简的实现形式;③对于②中所属的掩码图,继续添加掩码层,掩码图中有w×h个网格,每一个网格采用逻辑回归进行训练。至此,完成了骨干网络结构的修改。(2)在模型训练阶段设置掩码图:如图2所示,掩码图的维度为1,在其之上的每一个像素点被称为网格,网格的值代表有没有物体的中心落在这个网格内部。因此,对于原图像中的真实方框,将其按照尺寸关系等比例缩小后,可以得到与掩码图相同分辨率上的真实方框宽高与相应坐标。计算这个方框的中心点,并且为中心点落在的网格分配为正标签,对于没有包含物体的网格,为其分配负标签。每一个网格都采用逻辑回归来进行训练。利用上采样,可以将最低分辨率的掩码图应用到所有分辨率的检测层上。如16×16的掩码图上采样至32×32的掩码图,原来在16×16掩码图左上角的网格将对应32×32掩码图中2×2个网格,数值按照复制的方法填充到32×32的掩码图中。按照这种简单上采样的方式,可以将掩码标签扩充到大的分辨率上,从而可以获得大分辨率掩码图上不同的掩码格属性。通过上采样,将掩码图分配到各个分辨率下的检测层。接下来介绍如何利用掩码格来指导锚框的训练:如图3所示,对于正掩码格,锚框仍然按照与真实方框交叠比的多少(iou)进行分配;而对于负掩码格,则直接忽略在其上的锚框,不参与训练。这样一来,参与训练的负锚框数量将大大减少,严重失衡正负比例将得到极大的缓和。据统计,以输入尺寸为512×512为例,原本在一个批次中的正负比例能够达到1:4000,而使用了对象似然性掩码后将维持在1:30左右,极大缓解了极不平衡的正负比例。(3)在模型推理阶段结合掩码图在模型前向推理用于测试图像时,首先过滤掉掩码图上分数太小的网格。如果掩码分数低于0.1(第一个阈值),那么将这个网格进行筛出;接下来,在剩下的掩码格中筛选锚框。如果其对象似然分数小于0.05(第二个阈值),那么将这个锚框进行筛出,得到初步的预测结果。接下来,按照目标检测算法的流程,对于初步的预测结果,采用非极大值抑制算法后,对其排序并选出前100个预测框,得到最终的检测结果。需要注意的是,此处的用于筛选的掩码阈值和锚框阈值可以依据不同的数据集,在测试阶段时通过少量的前向推理后即可确定。通过对比实验可知,采用了掩码机制来缓解不平衡后,改进后的模型相对于原模型而比,能在对象似然性上取得更高的分数;并且能够显示出更高的召回率,提升了检测的准确度。为了便于理解,下面针对上述过程做必要的补充:(1)基础网络的建立darknet-53网络是yolov3所用的基础网络,其包含53个卷积层,大量的3×3和1×1的卷积层被应用在网络中。它在imagenet数据集上的准确率与resnet-101十分相似,这说明darknet-53和resnet-101的基础网络的特征表达能力基本相同。在进行骨干网络的选取时,可以按照imagenet数据集上的准确率为依据,选择准确率更大的模型建立骨干网络,相应的检测结果也可能会更好。(2)模型参数的训练如图3所示,对对象似然性掩码监督图在训练阶段如何应用于检测层进行可视化。对于正掩码格,只使用在该掩码格内的锚框进行训练。前文介绍了利用掩码格的值来分配掩码格的正负标签,从而筛选出正掩码格,该操作可以理解为初步筛选,其筛选的是cell。在掩码格筛选之后,我们只需要考虑剩下cell中的锚框即可;对于锚框,可以按照下述方式进行分配:锚框与相应的物体交叠比大于阈值时,我们将分配正标签,交叠比小于阈值时,我们将分配负标签。这个阈值一般可设置为0.5。此外,还可以采用目标检测方法中普遍采用的水平翻转,随机抠取,颜色变换,多尺度训练等数据增强方法来帮助提升检测器的鲁棒性。(3)模型前向推理可以设置的掩码阈值(即第一个阈值)为0.1,对象似然阈值(即第二个阈值)为0.05来帮助过滤掉无用的预测框。同时,我们采用0.6的非极大值抑制阈值(即nms阈值)来进行冗余框的去除。在实施过程中,也可以采用融合卷积层和批归一化层的技巧来帮助提升速度。按照上述说明,加入的模型中一共引入了三个需要调整的参数,这些参数仅仅是在测试时需要进行调整,而在训练时无需进行调整,列表如下:参数掩码阈值锚框阈值nms阈值默认值0.10.050.6表1参数值相应的阈值可以按照0.05为步长,在验证集上通过少数的前向推理得出最佳的组合。因此,本实施中所涉及的各种引入参数,可以根据所用数据集的实际情况做以适当的调整。本发明提供的改进后的方案能够适应密集、小物体等较难的目标检测场景。在实验中,其能够较偏置加权的相关方法提升大约8%左右的平均精度。本发明实施例提供的方案,可以较好地解决在深度目标检测器中正负样例不平衡的问题,从而提升目标检测算法的精确度。通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例可以通过软件实现,也可以借助软件加必要的通用硬件平台的方式来实现。基于这样的理解,上述实施例的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是cd-rom,u盘,移动硬盘等)中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本
技术领域
的技术人员在本发明披露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求书的保护范围为准。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1