一种快速目标检测方法与流程

文档序号:17290719发布日期:2019-04-03 03:56阅读:307来源:国知局
一种快速目标检测方法与流程

本发明涉及目标检测技术领域,特别涉及一种快速目标检测的方法。



背景技术:

随着科学技术的进步,目标检测的需要越来越多。美颜应用中需要检测目标,在此基础上进行美颜;换脸应用中也是先检测目标,然后在进行换脸;目标考勤也需要先检测目标,在识别目标。以上应用中,目标检测的准确性对上述应用有至关重要的影响。

随着卷积神经网络的兴起,目标检测取得了显著的进展,其准确率一路飙升。但是,由于卷积网络的计算量巨大,需要高性能的gpu(如titan)才能实时检测。其高成本一直是制约其量产的关键瓶颈。

本文提出了一种快速目标检测方法,其通过分类网络鉴别目标候选框是否为目标,通过回归网络来预测目标候选框相对于真实目标的偏移量,分类网络和回归网络共享特征层,来降低算法的计算量,采用分类误差和回归误差一起训练卷积神经网络,实现了端到端的训练。此网络通过贡献特征层,达到了降低计算量和模型参数量的目的,从而为实时检测创造的条件。



技术实现要素:

本发明的实施例提供一种快速目标的检测方法,可以实时快速检测目标。

本发明是实施例采用的技术方案为:

一种快速目标检测方法,包括:

s100,获取标注过的目标样本数据;

s200,建立基于目标候选框的卷积网络,所述卷积网络包含特征提取网络和目标分类回归网络;

s300,根据所述特征提取网络和所述目标样本数据,确定目标候选框的标签信息和目标样本数据的目标标注框在所述特征提取网络最后一层特征层上的目标标注框的映射信息;

s400,根据所述目标候选框的标签信息和所述目标标注框的映射信息,确定所述目标候选框的回归信息;

s500,将所述目标候选框的标签信息和所述目标候选框的回归信息作为所述目标候选框的真值数据,训练所述卷积网络,当所述卷积网络模拟出所述目标候选框的真值数据的分布时,训练结束;

s600,接收待测目标图像,通过所述卷积网络输出目标区域和目标得分进行目标预测。

进一步的,所述特征提取网络为vgg-16去除最后三层的全连接层后剩余的部分。

进一步的,所述确定目标候选框的标签信息和所述目标标注框的映射信息,包括:

s301:获取所述特征提取网络的最后一层信息,记为待映射特征图;

s302:在所述待映射特征图上,针对每一个像素位置,按照目标尺寸s和目标长宽比r,生成目标候选框;

s303:确定所述目标候选框的标签信息。如果所述目标候选框与所述目标样本数据的目标标注框有交集,并且其交集与其并集之比,大于预设阈值t1,则将所述目标候选框标记为正样本;如果其交集与其并集之比,小于预设阈值t2,则将所述目标候选框标记为负样本;

s304:确定所述目标标注框的映射信息。计算所述特征提取网络的放缩比例,将所述目标样本数据的目标标注框映射在待映射特征图上,获得目标标注框的映射信息。

进一步的,所述步骤s302中,所述生成目标候选框的个数为所述目标尺寸s的个数与所述目标长宽比r的个数的乘积。

进一步的,所述步骤s303中,还包括:

标记所述目标样本数据的目标标注框。如果目标候选框与所述标注过的目标样本数据的目标标注框有交集,并且其交集与其并集之比,大于预设阈值t1,则所述目标候选框标记为正样本,并且将所述目标标注框标记为已配对目标候选框;

统计没有与目标候选框配对的目标标注框;

重新将没有与目标候选框配对成功的目标标注框进行配对操作。针对每一个没有与目标候选框配对成功的目标标注框,计算该没有与目标候选框配对成功的目标标注框与全部目标候选框的交集与并集的比率,并进行排序;将最大的比率所对应的目标候选框,标记为正样本。

进一步的,所述所述目标候选框的回归信息,包括:

所述目标候选框的标签信息包含正样本和负样本;

如果所述目标候选框的标签信息为正样本,获取与所述目标候选框的交集和并集之比最大的目标标注框;计算所述目标候选框位置相对于所述目标标注框的偏移量,将所述偏移量作目标候选框的回归信息。

进一步的,所述训练所述卷积网络,包括:

所述目标候选框的标签信息包含正样本和负样本;

随机选取所述标签信息为正样本和负样本的目标候选框,训练所述卷积网络,其中所述标签信息为正样本的目标候选框的数目和所述标签信息为负样本的目标候选框的数目一致。

进一步的,所述训练所述卷积网络,包括:

计算所述卷积网络的目标代价函数,所述目标代价函数包含:分类代价和回归代价。

其中,计算所述卷积网络的目标代价函数,包括:

分类代价除以参与计算的目标候选框的个数进行归一化,

回归代价除以四倍的正样本目标候选框的个数进行归一化。

进一步的,所述接收待测目标图像,通过所述卷积网络输出目标区域和目标得分进行目标预测,包括:

s601:获取所述卷积网络的目标区域,记为第一目标区域,获取所述卷积网络的目标得分,记为第一目标得分;建立所述第一目标区域和所述第一目标得分的映射集合,记为第一目标集合;

s602:根据第一目标得分,对所述第一目标集合进行排序,获取当前第一目标集合中的最高目标得分;

s603:计算s602中的所示最高目标得分对应的目标区域与第一目标集合中其余目标区域的交集和并集之比,当所述交集和并集之比大于预设阈值t3时,从第一目标集合中删除其交集和并集之比对应的目标区域;

s604:重复s603,直至遍历完第一集合中的所有目标区域;

s605:将第一目标集合中最高目标得移除,保存至第二目标集合;

s606:重复s602-s604;直至第一目标集合中没有元素或者第一目标集合中任意两个目标区域的交集和并集之比均小于预设阈值t3;

s607:合并第一目标集合和第二目标集合,为待测目标图像的目标区域。

与现有技术相比,本发明提出了一种快速目标检测的方法。本方法采用注意力机制关注目标候选框,通过分类网络鉴别目标候选框是否为目标,通过回归网络来预测目标候选框相对于真实目标的偏移量,分类网络和回归网络共享特征层,来降低算法的计算量,采用分类误差和回归误差一起训练卷积神经网络。本发明提出的方法,可以在低性能的显卡上可以实时准确的检测检测,其帧率可以达到45fps/s,其准确率为98%,满足了工业中目标检测的需求。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其它的附图。

图1为本发明实施例一提供的方法流程图。

图2为本发明实施例二提供的方法流程图。

图3为本发明实时例三提供的方法流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。

为使本发明技术方案的优点更加清楚,下面结合附图和实施例对本发明作详细说明。

实施例一

本实施例提供一种快速目标检测方法,如图1所示,所述方法包括:

s100:获取标注过的目标样本数据。

所述目标样本数据包含但不限于目标检测数据,如bioidfacedatabase-facedb和labeledfacesinthewildhome(lfw)等。

目标样本的标注,包含但不限于将目标区域用规则的矩形框标记。如,图像i中(x,y,w,h)位置表示目标区域,其中x和y表示目标区域左上角的坐标,w和h分别为目标区域的宽和高。

此外,所述目标样本数据还可以包含实际应用场景中的样本数据。例如,如果应用于手机客户端的目标检测,可以采用手机在不同视角,不同距离,不同环境下拍摄的图像,然后标注目标区域。此种方式虽然比较复杂,人工成本会比较高,但是此数据可以针对性的改善算法在此领域的准确性。当然,此类数据是非必须的,即:如果没有实际应用场景中的样本数据,此算法模型也可以应用于手机客户端,只是其准确率没有前者高。

s200:建立基于目标候选框的卷积网络,所述卷积网络包含特征提取网络和目标分类回归网络。

基于目标候选框的卷积网络,在训练阶段和测试阶段会有稍许不同。在测试阶段,其输入为任意尺寸的待测图像,其输出为该待测图像中目标检测框的位置坐标和目标得分值;在训练阶段,其输入为任意尺寸的样本图像,其输出为损失值,此损失值反应目标候选框的卷积网络预测的目标位置与真实的样本图像的目标位置的偏差。

基于目标候选框的卷积网络包含特征提取网络和目标分类回归网络。

特征提取网络用于提取待测图像的特征信息,其可以为基础网络,可以为多种网络进行组合。如此特征提取网络可以为vgg-16去除最后三层的全连接层后剩余的卷积网络,其包含5个阶段,每个阶段包含2-3个卷积层和一个池化层,每个阶段的卷积层的超参数一样。此处的特征提取网络可以使用原始的切除最后三层全连接层后剩余的卷积网络。此网络提取待测图像的特征,然后将其特征分别送入目标分类网络,每一个目标候选框位置是否为目标,同时将此特征送入回归网络,在每一个目标候选框位置,预测相对于目标候选框偏移的目标位置。

特征提取网络目标是提取待测图像中目标的特征。当目标的特征相对复杂,因为目标包含形变变化、穿戴变化引起的遮挡问题、妆容引起的特征变化、饰品引起的变化等。鉴于特征学习网络需要学习如此复杂的特征信息,其特征提取网络可以采用inception模块,即可以考虑使用googlenet中的特征提取层。

所述特征提取网络,可以采用迁移学习的方法进行训练,即先使用别的分类图像来训练底层的基本特征学习底层的模型参数,然后采用收集的已经标注过的目标样本图像训练高层的语义信息。在ilsvrc比赛中,vgg16和googlenet已经有公开的模型参数,在设备等不允许的情况下,可以直接采用网上公开的模型参数。此模型参数作为特征提取网络的初始参数,然后在此基础上进行训练,获取特征提取网络的完整的参数。

分类回归网络用于检测待测图像中的目标位置。所述分类回归网络,位于特征特征提取网络的后面。记特征提取网络的最后一层为待映射特征图,待映射特征图上每一个像素位置称为一个锚点,分类回归网络分别遍历每一个锚点,对每一个锚点上的目标候选框,分别预测其为目标的得分和真实目标相对于锚点的偏移。

所述分类回归网络的网络结构为,将一个特征层压缩为一个d维的列向量,此列向量送入目标分类网络,生成2*k维的列向量,分别表示待映射特征图的每一个锚点的k个目标候选框是否为目标,其中k为待映射特征图的每个锚点的拟目标候选框个数。所述列向量送入目标回归网络,生成4*k维的列向量,分别表示目标相对于待映射特征图的每一个锚点的k个目标候选框的偏移量。即,所述目标分类回归网络预测和回归的目标位置均是相对于锚点的,而不是对整张图像进行预测。

s300:根据所述特征提取网络和所述目标样本数据,确定目标候选框的标签信息和目标样本数据的目标标注框在所述特征提取网络最后一层特征层上的目标标注框的映射信息。

此步骤的主要目的是构造基于目标候选框的卷积网络的训练的真值数据的标签信息。此标签信息用于训练目标分类网络的参数。具体步骤的详解在实施例二中进行说明。

s400:根据所述目标候选框的标签信息和所述目标标注框的映射信息,确定所述目标候选框的回归信息。

此步骤的主要目的是构造基于目标候选框的卷积网络的训练的真值数据的回归信息,即真实目标位置相对于待映射特征图上的锚点的目标候选框的偏移量。基于目标候选框的卷积网络的回归信息,仅计算存在目标位置时的回归信息。即,只需要计算真实目标所在锚点位置的多个回归目标。

计算基于目标候选框的卷积网络的回归信息的方法如下:在步骤s300的基础上,如果所述目标候选框的标签信息为正样本,计算真实目标框与目标候选框的交集和并集的比率。对每一个真实目标框,选择一个交并比最大的目标候选框,计算此目标候选框的回归信息。此回归信息为真实的目标框相对于目标候选框的偏移量,即:

其中,xa、ya、wa、ha分别为锚点的左上角的像素坐标、锚点的长和宽。x*、y*、w*、h*分别为真实目标框的左上角的像素坐标、真实目标框的长和宽。为基于目标候选框的卷积网络的拟回归的参数。

本发明没有直接针对原始输入图像进行回归,而是采用基于锚点的回归,有以下两个原因,首先,当原始图像进行裁剪等,回归参数需要重新计算,即基于原始图像的回归参数没有做到平移不变形;其次,其余锚点的回归,相当于将参数都限制在[0.0,1.0]之间,此区间的参数容易收敛。

s500:将所述目标候选框的标签信息和所述目标候选框的回归信息作为所述目标候选框的真值数据,训练所述卷积网络,当所述卷积网络模拟出所述目标候选框的真值数据的分布时,训练结束。

基于目标候选框的卷积网络,是根据给定的训练目标学习模型参数。此模型参数学习的是一种给定的训练目标的分布。如果训练目标包含一些模糊的量,即给定的训练目标包含一些错误的信息,卷积网络将学习的很困难,很有可能不收敛。因此确保训练目标至关重要。本文拟训练的目标包含目标候选框的标签信息和目标候选框的回归信息,标签信息的详细解释在实施例二中进行说明,回归信息的详细解释在步骤s400中进行了分析。

训练所述基于目标候选框看的卷积网络的代价函数包含两个部分,分别为分类代价和回归代价。其公式如下:

其中,ltotal、lcls、lreg分别为基于目标候选框的总的代价函数、分类代价函数和回归代价函数;i为当前送入训练的样本的索引;pi为第i个锚点预测为目标的概率;为第i个锚点为目标的概率,当第i个锚点是目标时,当第i个锚点非目标时,ti为预测的目标相对于第i个锚点的偏移量,回归的目标量;ncls为参与计算分类的锚点的数目;lreg为参与计算回归的锚点的数目;γ为分类回归代价函数的平衡量。

不难看出,基于目标候选框的卷积网络包含分类代价和回归代价。分类代价和回归代价分别用参数分类运算的锚点的数目和参与回归运算的锚点数目进行归一化。由于分类代价和回归代价的范围不同,采用γ来进行修正代价偏差。

训练过程中,本文采用一张图像进行一次迭代,分别提取一张图像上多个正负样本进行训练模型。显而易见,负样本的数目明显会多余正样本,会有很大的样本倾斜现象,本发明采用如下方法解决:设置n作为一次迭代拟训练的锚点数,在所有的锚点中,分别取n/2个正样本和n/2个负样本进行训练,如果正样本的数目不足n/2,则采用全部的正样本和适量的负样本,保证正负样本总数为n。

s600:接收待测目标图像,通过所述卷积网络输出目标区域和目标得分进行目标预测。

训练完基于目标候选框的卷积网络后,获得目标检测的模型。根据此模型和网络结构,可以直接预测目标位置。但是此时预测的目标位置会很多,并且有很大的交集和并集之比,因此需要采用某些方法进行后处理。本发明采用的后处理的方法将在实施例三中进行详细分析。

与现有技术相比,本实施例采用注意力机制关注目标候选框,通过分类网络鉴别目标候选框是否为目标,通过回归网络来预测目标候选框相对于真实目标的偏移量,分类网络和回归网络共享特征层,来降低算法的计算量,采用分类误差和回归误差一起训练卷积神经网络。该方法将分类和回归统一为一个问题,共享卷积特征层,降低了算法的运算量,减少了模型的大小,使本发明的算法可以实时的检测目标信息。

实施例二

本实施例提供一种快速目标检测中获取目标候选框标签信息的方法,如图2所示,所述方法包括:

s301:获取所述特征提取网络的最后一层信息,记为待映射特征图。

所述特征提取网络提取输入图像的特征信息,其特征信息包含底层的低级信息和高层的语义信息。其底层的低级信息包含图像的边缘信息、颜色信息、纹理信息等;高层的语义信息,如鼻子信息、嘴巴信息、眼睛信息、帽子信息、眼镜信息等。高层的语义信息更多的反应的是图像的抽象信息,更接近于分类和回归的信息。本发明获取特征提取网络的最后一层信息,作为待映射特征图。此特征信息为高层的语义信息。在此基础上,获取目标候选框的标签信息。

s302:在所述待映射特征图上,针对每一个像素位置,按照目标尺寸s和目标长宽比r,生成目标候选框。

在所述待映射特征图上,根据目标尺寸s和目标长宽比r,生成锚点。待映射特征图图为待测图像的语义信息,以其图上的每一个像素位置为中心,按照目标尺寸s和目标长宽比r,生成一系列的锚点。其中,每一个锚点对应一对目标尺寸s和目标长宽比r。本发明可以采用多种尺寸s和多种目标长宽比r的组合。本实施例的目标检测的是目标,常见的目标的长宽比为[1:1,1.5:1]之间。由于目标的大小取决于拍照的远近,其目标尺寸可以为很小的区域,如60*60(单位:像素),其目标尺寸也可以为很大的区域,如1280*960(像素)。因为可以设置目标尺寸的变化范围较大一些。根据目标尺寸s和目标长宽比r对,生成的锚点,记为本文的目标候选框。

基于目标尺寸s和目标长宽比r生成的目标候选框的个数可以为目标尺寸s和目标长宽比r的组合的个数。即对于每一个目标尺寸s,分别其目标长宽比r,生成目标尺寸s和目标长宽比的对。然后根据每一个所述对生成一个锚点,最后集合所有的锚点,生成目标候选框。

s303:确定所述目标候选框的标签信息。如果所述目标候选框与所述目标样本数据的目标标注框有交集,并且其交集与其并集之比,大于预设阈值t1,则将所述目标候选框标记为正样本;如果其交集与其并集之比,小于预设阈值t2,则将所述目标候选框标记为负样本。

目标候选框的标签信息,用于训练基于目标候选框的卷积网络,即基于目标候选框的卷积网络根据目标候选框的标签信息,学习其分布,得到所述分布对应的参数信息。针对每一个目标候选框,分别求取其与每一个真实目标框的交集和并集;设置阈值t1,如果所述交集与并集的比率大于t1,则将此目标候选框标注为正样本;设置阈值t2,如果所述交集与并集的比率小于t2,则将此目标候选框标注位负样本。此处,阈值t1大于阈值t2。

阈值t1设置的较大,则正样本会很准确,但是正样本的数目会很少。在此情况下,为了避免数据倾向于负样本,可以减小阈值t2。如果在步骤s100中搜集的样本数很大时,可以考虑这样做;如果收集的样本数较少时,这样做会导致训练数据太少,模型过拟合的风险提高。如果设置的阈值t1,此时会引起样本混入杂质,即样本不干净,会导致模型收敛速度慢,或者不收敛。所以,对于阈值t1和阈值t2,应酌情考虑其取值。

介于阈值t1和阈值t2之间的样本,可以直接舍弃。此样本包含少部分目标,多部分杂质,此部分的样本不干净,会导致模型很难训练,即模型很难收敛,因此建议直接舍弃。

还有一种情况,一个真实目标样本框,与任何一个目标候选框的交并集比率均小于阈值t1,此时此真实样本框没有与其配对的目标候选框。针对此情况,本发明采用下述方法:

首先标记所述标注过的目标样本数据的标注目标框。如果目标候选框与所述标注过的目标样本数据的标注目标框有交集,并且其交集与其并集之比,大于阈值t1,则所述目标候选框标记为正样本,并且所述标注目标框标记为已配对目标候选框;

然后统计没有与目标候选框配对的标注目标框;

最后重新为所述没有与目标候选框配对过的标注目标框进行配对操作。针对每一个没有与目标候选框配对的标注目标框,计算该没有与目标候选框配对的标注目标框与全部目标候选框的交集与并集的比率,并进行排序,取最大的比率;与所述最大的比率对应的目标候选框,标记为正样本。

s304:确定所述目标标注框的映射信息。计算所述特征提取网络的放缩比例,将所述目标样本数据的目标标注框映射在待映射特征图上,获得目标标注框的映射信息。

目标标注框的映射信息,用于获取目标框的回归信息。目标候选框的标签信息是基于待映射特征图上获取的,目标候选框的回归信息也应该从待映射特征图上获取,因为目标候选框的分类和回归是并列的,对称的。基于步骤s100收集的已标注过的目标样本图像的标注信息是基于原始样本图像的分辨率的,此处需要将此标注信息映射到待映射特征图的分辨率上。即计算所述特征提取网络的放缩比例,将所述标注过的目标样本数据的标注目标框映射在所述待映射特征图图上,获得目标标注框的映射信息。

与现有技术相比,本实施例采用基于锚点机制来构建候选区域。首先根据经验方法设置目标尺寸s和目标长宽比r,然后基于目标候选框与目标框的交并集比率,分别为每一个目标候选框设置标签,为了避免浪费数据,针对每一个目标框至少要配对一个目标候选框。此种构造目标框的方法,为基于目标候选框的目标检测方法降低了难度,加快收敛。此外,由于本实施例提供的预测样本是基于锚点的,因此基于目标候选框的目标检测方法可以在基于锚点的基础上进行训练,此种方法提高了算法准确率。

实施例三

本实施例提供一种快速目标检测中目标预测的方法,如图3所示,所述方法包括:

s601:获取所述卷积网络的目标区域,记为第一目标区域,获取所述卷积网络的目标得分,记为第一目标得分;建立所述第一目标区域和所述第一目标得分的映射集合,记为第一目标集合。

第一目标区域和第一目标得分,为基于目标候选框的卷积网络输出的结果。此目标区域重叠面积很多,如果全部将其输出会导致很多的冗余信息。因此需要对其输出结果进行处理。为了方便处理,可以将第一目标区域和第一目标得人映射为集合,其中第一目标得分为关键字。

s602:根据第一目标得分,对所述第一目标集合进行排序,获取当前第一目标集合中的最高目标得分。

在第一目标集合中,为了获取最高得分的目标区域,需要根据目标得分关键字对第一目标集合进行排序。

s603:计算s602中的所示最高目标得分对应的目标区域与第一目标集合中其余目标区域的交集和并集之比,当所述交集和并集之比大于预设阈值t3时,从第一目标集合中删除其交集和并集之比对应的目标区域。

计算最高目标得分的目标区域与第一目标集合中剩余目标区域的交集和并集之比,设置阈值t3,当此交集和并集之比大于t3时,在第一目标集合中删除对应的目标区域和目标得分。

s604:重复s603,直至遍历完第一集合中的所有目标区域。

第一集合中的最高得分的目标区域需要和第一集合中的所有目标区域进行计算其交集和并集之比,并根据阈值t3,删除不符合条件的目标区域和目标得分。

s605:将第一目标集合中最高目标得移除,保存至第二目标集合。

将第一目标集合中,最高目标得分和对应的目标区域添加至第二目标集合,同时删除第一目标集合中的最高目标得分和目标区域对。

s606:重复s602-s604;直至第一目标集合中没有元素或者第一目标集合中任意两个目标区域的交集和并集之比均小于预设阈值t3。

s607:合并第一目标集合和第二目标集合,为待测目标图像的目标区域。

此时得到的第一目标集合和第二目标集合为待测图像的目标区域,此时即完成了目标检测的全部过程。

与现有技术相比,本实施例提出了一种目标检测的后处理方法。基于目标候选框的卷积网络提取的目标框会有很大的重叠率,其包含大量的冗余信息。针对此现象,本实施例采用了一种后处理方法,设置阈值t3,将目标最高得分对应的目标区域与剩余的目标区域计算交并集比率,删除其大于阈值t3的目标区域,逐步迭代,直至任意两个目标区域的交并集比率均小于阈值t3。经过此处理,在降低检测结果的冗余信息的同时,更加符合人类的认识习惯。

上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1