一种目标检测性能优化的方法与流程

文档序号:12825539阅读:325来源:国知局
一种目标检测性能优化的方法与流程

本发明涉及目标检测技术,具体涉及一种目标检测性能优化的方法。



背景技术:

目标检测一直是计算机视觉领域中的一个重要的研究课题,同时目标检测也是对象识别、追踪、动作识别的基础。如今,随着深度神经网络在计算机视觉领域的成功应用,人们在目标检测领域投入了更多的研究,比如人脸检测、行人检测、车辆检测等等。

针对目标检测,现有主流的检测框架都采用似物性检测(objectproposal)的策略;首先,在图片中产生一系列潜在的候选框,候选框标定的区域为与类别无关的潜在物体;其次,采用检测算法对候选框提取相应的视觉特征;然后,采用分类器对提取候选框的特征进行判断,以确定为目标对象类别或是背景。比如r-cnn(region-convolutionalneuralnetwork)局部卷积神经网络采取了ss(selectivesearch)选择性搜索的方法产生图像内可能存在物体的候选框,对这些候选框内的图像内容提取深度学习特征并进行分类。应用局部候选框策略可以大幅度减少不必要的预测,同时能缓和带有迷惑性的背景对分类器的干扰。

然而,实际中由于候选框生成算法的精度有限,往往生成的候选框不能较好的覆盖图片中的物体,有不少候选框只覆盖了物体的部分或者覆盖了外表非常相似的背景进而导致分类器的误判,还可能是候选框包括一部分背景和一部分目标进而导致分类器的误判。



技术实现要素:

鉴于上述问题,本发明提出了克服上述问题或者至少部分地解决上述问题的一种目标检测性能优化的方法。

为此目的,第一方面,本发明提出一种目标检测性能优化的方法,包括:

在检测模型训练过程中,使用度量学习来调整样本在特征空间的分布,用以产生更有区分度的特征;度量学习对应的深度神经网络在迭代训练中,每一次迭代使用的候选框为通过联合交叠iou信息确定的具有相同目标对象距离满足一定约束条件,不同目标距离满足一定约束条件的位置关系的候选框,以及;

查看每一轮迭代训练产生的候选框目标的特征是否满足相似度约束条件;

若满足,则检测模型在本次迭代不产生损失,不需要反向传播网络中各个层对应的输出误差;

在测试时,将待检测图片和图片的候选框集合输入到训练后的检测模型中,获得该检测模型输出的目标对象坐标和类别信息。

可选地,所述方法还包括:

在测试之前,将训练过程的深度神经网络的池化层采用top-k池化层替换;

其中,所述top-k池化层是通过对池化窗口中获取最高的k个响应值进行平均获取的;

深度神经网络的迭代训练中采用反向传播算法,需要根据计算输入对应输出的偏导数,因此在反向传播过程中,所述top-k池化方法对应的偏导数为:

其中,top-k池化方法取排序过的池化窗口的前k个值,k为大于1的自然数,xi,j为在第i个池化窗口的第j个元素,yi表示第i个池化窗口的输出。

可选地,所述方法还包括:

将训练过程的度量学习对应的深度神经网络的池化层采用能够应对噪声干扰的top-k池化层替换;以及

将测试过程的检测模型中深度神经网络的池化层采用能够应对噪声干扰的top-k池化层替换;

其中,所述top-k池化层是通过对池化窗口中获取最高的k个响响应值进行平均获取的。

可选地,每一次迭代使用的候选框为通过联合交叠iou信息确定的具有相同目标对象距离满足一定约束条件,不同目标距离满足一定约束条件的位置关系的候选框,包括:

针对训练图片的每个局部候选框都被指定一个类别标签lclass来表示它是某一目标类别或是背景;

当一个局部候选框与正确标注之间的iou重叠超过50%,该候选框为正样本;当一个局部候选框与任意一个正确标注的iou覆盖面积都在[bglow,0.5)之间时,该候选框为负样本;bglow是一个阈值;

对每一个负样本除了lclass外,额外指定一个候选框标签lproposal为与该局部候选框覆盖面积最大的类别;

针对不符合相似性约束的三元组,根据lclass和lproposal将所有局部候选框分为不同的组,得到集合(g1,g2,...,gm);

每一组gc包括lclass=c的正样本和lproposal=c的负样本;对每个组gc,为目标对象的正确标注为lclass=c的正样本,rn为lclass=background并且lproposal=c的负样本;

根据公式一选取每组gc中的部分样本来构成三元组,组成规则是正确标注的特征,与正确标注特征距离最远的正样本和与正确标注征距离最近的负样本的特征,分别通过argmax和argmin操作来获得:

公式一:

分别是正确标注,正样本和负样本;

约束条件为:

为正确标注与正样本之间的特征相似度距离为正确标注与负样本的特征相似度距离;

α表示预设的之间的最小距离间隔。

可选地,查看每一轮迭代训练产生的候选框目标的特征是否满足相似度约束条件,包括:

迭代训练过程中的深度神经网络损失为ltriplet,所以深度神经网络的整体优化损失函数为:

ltotal=ω1lcls+ω2lloc+ω3ltriplet;

其中,ω1,ω2,ω3分别为预设的比例值;lcls为分类损失,lloc为定位损失,ltriplet局部候选框的相似度三元组损失。

可选地,

所述

其中,分别是正确标注,正样本和负样本,α表示预设的之间的最小距离间隔。

可选地,查看每一轮迭代训练产生的候选框目标的特征是否满足相似度约束条件之后,所述方法还包括:

若不满足相似度约束条件,深度神经网络会产生相似度损失;损失通过反向传播算法反向传播到每一层,并通过梯度下降算法更新模型参数;如此重复迭代训练。

由上述技术方案可知,本发明提出的目标检测性能优化的方法,通过三元组约束的引入,利用相似度距离学习可以约束正负样本之间的相对距离,保持一定的最小距离间隔,进而产生更容易被分类的特征分布,提高检测器检测性能。进一步地,通过top-k池化替换原有的极大值池化,降低背景噪声对小尺寸特征图池化的影响,进一步提升性能。

附图说明

图1为本发明一实施例提供的图像中不同候选框在特征空间中的相对距离示意图;

图2为本发明一实施例提供在网络模型训练中划分正负样本的示意图;

图3为本发明一实施例提供的增加局部相似性优化目标的fastrcnn网络结构在训练阶段的示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。

需要说明的是,在本文中,“第一”、“第二”、“第三”、“第四”字样仅仅用来将相同的名称区分开来,而不是暗示这些名称之间的关系或者顺序。

目标检测的目的是在图片或视频中识别并定位特定类别的对象。检测的过程可以看作是一个分类的过程,区分目标与背景。

目前,通常在检测模型训练中,需要构建正负样本集供分类器学习,划分的标准是根据与正确标注的联合交叠iou(intersectionofunion)的比例来决定。

本发明提出了一种利用深度神经网络(深度卷积神经网络)在图片和视频中进行目标检测性能优化的方法,该方法在网络模型的训练阶段加入了相似性约束。相比目前主流的检测方法如fastrcnn,本发明训练的检测模型能产生更有区分度、更鲁棒的特征。

本发明的方法主要应用在检测模型的训练阶段,相比与fastrcnn,在训练阶段使用的softmax与soomthl1损失函数优化目标之外,额外增加了相似性约束的损失函数。特别地,在目标检测阶段,将待检测的图片与该图片的候选框集合输入到训练后的检测模型中,检测模型的输出即为检测到的对象的类别与相应的坐标信息。

具体地,本发明实施例提供的目标检测性能优化的方法,包括:

在检测模型训练过程中,使用度量学习来调整样本在特征空间的分布,用以产生更有区分度的特征;度量学习对应的深度神经网络在迭代训练中,每一次迭代使用的候选框为通过联合交叠iou信息确定的具有相同目标对象距离满足一定约束条件,不同目标距离满足一定约束条件的位置关系的候选框,以及;

查看每一轮迭代训练产生的候选框目标的特征是否满足相似度约束条件;

若满足,则检测模型在本次迭代不产生损失,不需要反向传播网络中各个层对应的输出误差;

若不满足相似度约束条件,深度神经网络会产生相似度损失;损失通过反向传播算法反向传播到每一层,并通过梯度下降算法更新模型参数;如此重复迭代训练。

另外,在测试时,将待检测图片和图片的候选框集合输入到训练后的检测模型中,获得该检测模型输出的目标对象坐标和类别信息。

在本发明实施例中,训练过程和测试过程是单独的两个过程,训练过程中检测模型也会进行检测,进而在训练过程中可根据检测模型的输出查看模型是否符合相似度约束条件。

在具体实现过程中,前述的相似度约束条件为满足整体优化损失函数中的一部分。

深度神经网络的整体优化损失函数为:

ltotal=ω1lcls+ω2lloc+ω3ltriplet;

其中,ω1,ω2,ω3分别为预设的比例值;lcls为分类损失,lloc为定位损失,ltriplet为候选框的相似度三元组损失,即迭代训练过程中总的深度神经网络损失。

其中,分别是正确标注,正样本和负样本,α表示预设的之间的最小距离间隔。

也就是说,除了检测模型在训练中的分类损失和定位损失优化目标,本实施例增加局部候选框之间的特征相似度的三元组损失。因此,在模型训练过程中,总的优化目标可表示为多个损失函数的累加和:

ltotal=ω1lcls+ω2lloc+ω3ltriplet

通常ω1设为1,ω2设为1,ω3设为0.5。lcls和lloc为分类损失和定位损失,ltriplet局部候选框的相似度三元组损失。网络在训练阶段的输出包括对局部候选框的预测类别和坐标预测回归值。

进一步地,为更好的实现目标检测的性能优化,本发明实施例中还进行下述调整。

例如,在可选的一种实施方式中,可在测试之前,即在训练过程中进行检测时,将训练过程的深度神经网络的池化层采用top-k池化层替换;

在可选的另一种实施方式中,可在测试之前,即在训练过程中进行检测时,将训练过程的度量学习对应的深度神经网络的池化层采用top-k池化层替换;且在训练后的检测模型在测试时,将测试过程的检测模型中深度神经网络的池化层采用top-k池化层替换。top-k池化方法对特征图中的背景噪声更为鲁棒。

需要说明的是,本实施例的top-k池化层是通过对池化窗口中获取最高的k个响应值进行平均获取的;

深度神经网络的迭代训练中采用反向传播算法,需要根据计算输入对应输出的偏导数,因此在反向传播过程中,所述top-k池化方法对应的偏导数为:

其中,top-k池化方法取排序过的池化窗口的前k个值,k为大于1的自然数,xi,j为在第i个池化窗口的第j个元素,yi表示第i个池化窗口的输出。

也就是说,在网络前向传播阶段,随着网络层数的加深,特征图尺寸变小,背景噪声的对池化操作的影响会更明显。

本发明中提出top-k池化的方法。top-k池化方法取排序过的池化窗口的前k个值,计算它们的均值:

其中,xi,j为在第i个池化窗口的第j个元素,yi表示第i个池化窗口的输出。x′i,j为第i个窗口经过排序后的第j个元素。

为了在反向传播过程中计算梯度,对每一个输出yi,维护一个长度为k的向量r(yi)={xi,j|j=1,2,...,k},代表着窗口前k个值。在网络训练过程中,权重系数的调整是通过梯度下降算法来实现,梯度下降在更新权重时,需要获取相应的输入对输出的偏导数。将top-k池化的方法加入深度神经网络训练中,在反向传播过程中,输入关于输出的偏导数为:

传统的极大值池化方法对噪声较为敏感,而top-k池化的方法在捕捉响应值的内在特性方面相比平均值池化方法更为有效。当k=1,top-k池化退化成极大值池化方法,当k=池化窗口大小时,top-k池化退化成平均值池化方法。

前述的每一次迭代使用的候选框为通过联合交叠iou信息确定的具有相同目标对象距离满足一定约束条件,不同目标距离满足一定约束条件的位置关系的候选框,可具体说明如下:

针对训练图片的每个局部候选框都被指定一个类别标签lclass来表示它是某一目标类别或是背景;

当一个局部候选框与正确标注之间的iou重叠超过50%,该候选框为正样本;当一个局部候选框与任意一个正确标注的iou覆盖面积都在[bglow,0.5)之间时,该候选框为负样本;bglow是一个阈值;

对每一个负样本除了lclass外,额外指定一个候选框标签lproposal为与该局部候选框覆盖面积最大的类别;

针对不符合相似性约束的三元组,根据lclass和lproposal将所有局部候选框分为不同的组,得到集合(g1,g2,...,gm);

每一组gc包括lclass=c的正样本和lproposal=c的负样本;对每个组gc,为目标对象的正确标注为lclass=c的正样本,rn为lclass=background(背景)并且lproposal=c的负样本;

根据公式一选取每组gc中的部分样本来构成三元组,组成规则是正确标注的特征,与正确标注特征距离最远的正样本和与正确标注特征距离最近的负样本的特征,分别通过argmax和argmin操作来获得:

公式一:

分别是正确标注,正样本和负样本;

约束条件为:

为正确标注与正样本之间的特征相似度距离为正确标注与负样本的特征相似度距离;

α表示预设的之间的最小距离间隔。

如图1所示的图片中不同局部候选框的特征分布。

本实施例中将三元组损失加入到目标检测模型的训练阶段中,通过优化不同候选框在特征空间中的相对距离,强化了分类器对不同物体类别的正负样本的区分能力。通过同时优化局部候选框的三元组损失函数和主流检测器优化过程中的softmax和smoothl1损失函数,本发明能进一步有效提升检测模型的性能。

本实施例的三元组相似度约束作用在正样本和负样本的特征在特征空间中的相对距离。具体学习目标是令相同物体类别的正样本的特征距离小于包括背景在内的不同物体类别的负样本的特征距离,并保持一个预定的最小间隔。

上述方法只作用在模型的训练阶段,作为一个额外的优化目标,上述方法可灵活地加入到其他基于候选框策略的目标检测算法如fastrcnn和fasterrcnn的训练阶段。

下面具体对上述用于目标检测的度量学习使用的深度神经网络进行描述:

在训练针对目标检测的深度网络模型时,对似物性检测生成的候选框之间根据标签与相互之间的iou加入相似性约束。

在此,似物性检测(objectproposal)会生成一系列候选框。主流的检测算法只对每个候选框计算两个损失函数分别是softmax损失和smoothl1损失,本实施例额外的增加了triplet三元组损失。

例如,深度神经网络的输入包括训练图片,以及似物性检测生成的候选框集合(r1,r2,...,rn)。

在深度神经网络的最后一层全连接层产生了所有候选框的特征f(r)。特征经过l2归一化之后,它们之间的欧式距离可以代表候选框之间的相似度:

局部候选框的相似度约束使得正确标注(groundtruth)与(positive)正样本之间的特征距离小于正确标注与(negative)负样本的特征距离并保持一个最小距离间隔:

这里α表示之间的最小距离间隔,因此关于局部候选框的三元组损失可表示为:

当采样的候选框三元组不符合相似度距离约束时,相应的损失会反向传播。因此在深度神经网络迭代训练时,优化目标为:

其中n代表三元组的个数。

以下对局部候选框的三元组采样进行说明:

在检测模型训练中,每个局部候选框都被指定一个类别标签lclass来表示它是某一目标类别或是背景。

当一个候选框与正确标注之间的iou重叠超过50%,该候选框被指定为正样本;当一个局部候选框与任意一个正确标注的iou覆盖面积都在[bglow,0.5)之间时,它被指定为负样本。

bglow是一个阈值,在fastrcnn中bglow为0.1,对于iou重叠小于0.1的候选框,其兴趣候选框的标签是不确定的。

另外,对每一个负样本除了lclass外都额外指定一个候选框标签lproposal为与该候选框覆盖面积最大的类别。

这样所有的候选框都可根据lclass和lproposal被区分为不同的组(g1,g2,...,gm),每一组gc包括lclass=c的正样本和lproposal=c的负样本。

在对三元组进行采样的时候,对每个组gc,取决于对象的正确标注,在lclass=c的正样本中选取,rn在lclass=background并且lproposal=c的负样本中选取。

由于一张图片中实际生成的候选框数量较多,而其中大量的三元组不会违反相似约束。为了快速高效的训练网络,可选取每组中较难辨别的样本来构成三元组,在组gc选取三元组时,选取与对象正确标注特征距离最远的正样本和与正确标注特征距离最近的负样本,形式化表述如下:

这里分别是正确标注,正样本和负样本。

本发明实施例主要是在基于局部候选框的检测器的训练阶段加上额外的损失函数,损失函数主要采用了三元组损失函数,三元组的构成主要是根据生成候选框与正确标注的iou重合率,正确标注如图2左上角,正样本如图2左下角和正确标注的iou重合率超过50%,负样本如图2右下角和正确标注的iou重合率小于50%,图2右上角是距离相似度的距离约束。

本发明实施例的方法可灵活地应用到基于局部候选框的检测算法的训练中,图3是加入本发明方法的fastrcnn检测器的vgg_m网络结构简图。在检测框架中,除了原始的softmax损失和smoothl1损失,还加入了三元组损失函数,在对最后一层全连接层fc7的特征经过l2归一化后,送入三元组损失函数。网络中原有的池化层均替换为topk池化。

在实际使用测试阶段,只需要通过softmax分类器获得候选框的类别,再通过回归获得候选框的坐标。三元组损失函数仅存在训练阶段,约束网络的学习,在测试阶段此网络层将会被去除。从分类角度来看,较难分辨的候选框非常接近特征空间的分类超平面,因此容易被错分类。三元组约束的引入,利用相似度距离学习可以约束正负样本之间的相对距离,保持一定的最小距离间隔,进而产生更容易被分类的特征分布,提高检测器检测性能。进一步地,通过top-k池化替换原有的极大值池化,降低背景噪声对小尺寸特征图池化操作的影响,进一步提升性能。

本领域的技术人员能够理解,尽管在此所述的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。

本领域技术人员可以理解,实施例中的各步骤可以以硬件实现,或者以在一个或者多个处理器上运行的软件模块实现,或者以它们的组合实现。本领域的技术人员应当理解,可以在实践中使用微处理器或者数字信号处理器(dsp)来实现根据本发明实施例的一些或者全部部件的一些或者全部功能。本发明还可以实现为用于执行这里所描述的方法的一部分或者全部的设备或者装置程序(例如,计算机程序和计算机程序产品)。

虽然结合附图描述了本发明的实施方式,但是本领域技术人员可以在不脱离本发明的精神和范围的情况下做出各种修改和变型,这样的修改和变型均落入由所附权利要求所限定的范围之内。

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