一种目标检测的训练方法、装置及终端设备与流程

文档序号:17480396发布日期:2019-04-20 06:24阅读:140来源:国知局
一种目标检测的训练方法、装置及终端设备与流程

本发明涉及信息处理技术领域,特别涉及一种目标检测的训练方法、装置及终端设备。



背景技术:

现在一般都是通过目标检测模型检测图像中的目标位置,例如,通过人脸配准模型来检测人脸图像中具有语义特征的位置点,即人脸五官特征点或人脸关键点,可以应用于多种场景下,比如人脸跟踪的场景,具体地,人脸配准模型根据视频中某一帧图像的人脸关键点预估下一帧图像的人脸位置,从而确定下一帧图像的人脸关键点,达到人脸跟踪的目的。

上述的人脸配准模型是一种机器学习模型,需要在大量的人脸图像中进行人脸关键点的标注后,形成已标注人脸图像,将已标注人脸图像作为训练样本进行训练得到。但是目前在人脸图像中进行人脸关键点的标注并不能做到完全准确,首先,标注完成一帧包含多个(一般为86个)人脸关键点的人脸图像,需要耗费较多的时间,如果让多个人员进行标注,又存在每个人员对标注标准理解不一致的情况,比如,对第29号内眼角点的标注,有些人员标注为上下眼皮的交汇点,有些人员标注为眼珠露出部分的最左侧点等;其次,有些人脸图像可能会出现分辨率不足,以及不同程度的模糊或者噪声等情况,导致无法准确地对人脸关键点进行标注。因此,由于不能在人脸图像中完全准确地标注出人脸关键点,使得训练得到的人脸配准模型也不会准确。



技术实现要素:

本发明实施例提供一种目标检测的训练方法、装置及终端设备,实现了初始目标检测模型对每组样本图像中两个样本图像进行检测的第一损失函数,训练目标检测模型。

本发明实施例第一方面提供一种目标检测的训练方法,包括:

确定初始目标检测模型;

确定第一训练样本,所述第一训练样本包括:多组样本图像及各个样本图像中目标关键点的第一标注信息,其中,每组样本图像包括原始目标图像或对所述原始目标图像进行第一变换后的图像,及对所述原始目标图像进行第二变换后的图像;

通过所述初始目标检测模型分别检测所述多组样本图像中各个样本图像的目标关键点信息;

根据所述各个样本图像的目标关键点信息及所述第一训练样本中的第一标注信息,计算第一损失函数,所述第一损失函数用于指示所述初始目标检测模型检测各组样本图像的误差;

根据所述第一损失函数调整所述初始目标检测模型中的固定参数值,以得到最终的目标检测模型。

本发明实施例第二方面提供一种目标检测的训练装置,包括:

模型确定单元,用于确定初始目标检测模型;

样本确定单元,用于确定第一训练样本,所述第一训练样本包括:多组样本图像及各个样本图像中目标关键点的第一标注信息,其中,每组样本图像包括原始目标图像或对所述原始目标图像进行第一变换后的图像,及对所述原始目标图像进行第二变换后的图像;

检测单元,用于通过所述初始目标检测模型分别检测所述多组样本图像中各个样本图像的目标关键点信息;

函数计算单元,用于根据所述各个样本图像的目标关键点信息及所述第一训练样本中的第一标注信息,计算第一损失函数,所述第一损失函数用于指示所述初始目标检测模型检测各组样本图像的误差;

调整单元,用于根据所述第一损失函数调整所述初始目标检测模型中的固定参数值,以得到最终的目标检测模型。

本发明实施例第三方面提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如本发明实施例第一方面所述的目标检测的训练方法。

本发明实施例第四方面提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;

所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如本发明实施例第一方面所述的目标检测的训练方法。

可见,在本实施例的方法中,目标检测的训练装置会确定第一训练样本中包括多组样本图像,而每组样本图像中包括原始目标图像或对原始目标图像进行第一变换后的图像,及对原始目标图像进行第二变换后的图像,这样通过初始目标检测模型对多组样本图像中各个样本图像进行目标检测,并根据检测得到的各个样本图像的目标关键点信息及第一训练样本中各个样本图像的人脸关键点的第一标注信息,计算初始目标检测模型检测各组样本图像的误差,即第一损失函数,再根据第一损失函数调整初始目标检测模型中的固定参数值,以训练得到最终的目标检测模型。这样,以一组样本图像为单位,将初始目标检测模型对每组样本图像中两个样本图像进行检测的误差(即第一损失函数)作为训练的基准,而一组样本图像又是基于同一原始目标图像得到的,进一步地细化了作为训练基准的损失函数,从而使得对目标检测模型的训练更精确。

附图说明

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

图1是本发明实施例提供的一种目标检测的训练方法的示意图;

图2是本发明一个实施例提供的一种目标检测的训练方法的流程图;

图3是本发明一个实施例中确定的初始目标检测模型的示意图;

图4是本发明一个实施例训练目标检测模型中判定模块的流程图;

图5是本发明应用实施例中训练人脸检测模型的示意图;

图6是本发明应用实施例中确定的初始人脸检测模型的示意图;

图7是本发明应用实施例中检测点与真实点之间的关系示意图;

图8是本发明应用实施例中人脸检测模型检测人脸信息的示意图;

图9是本发明实施例提供的一种目标检测的训练装置的结构示意图;

图10是本发明实施例提供的一种终端设备的结构示意图。

具体实施方式

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

本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本发明的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排它的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

本发明实施例提供一种目标检测的训练方法,参考图1所示,主要是由目标检测的训练装置通过如下的方法进行训练:

确定初始目标检测模型,及确定第一训练样本,所述第一训练样本包括:多组样本图像及各个样本图像中目标关键点的第一标注信息,其中,每组样本图像包括原始目标图像或对所述原始目标图像进行第一变换后的图像,及对所述原始目标图像进行第二变换后的图像;通过所述初始目标检测模型分别检测所述多组样本图像中各个样本图像的目标关键点信息;根据所述各个样本图像的目标关键点信息及所述第一训练样本中的第一标注信息,计算第一损失函数,所述第一损失函数用于指示所述初始目标检测模型检测各组样本图像的误差;根据所述第一损失函数调整所述初始目标检测模型中的固定参数值,以得到最终的目标检测模型。

上述的目标检测模型可以是对任意特定目标进行检测的模型,比如对人脸等进行检测的模型。

这样,以一组样本图像为单位,将初始目标检测模型对每组样本图像中两个样本图像进行检测的误差(即第一损失函数)作为训练的基准,而一组样本图像又是基于同一原始目标图像得到的,进一步地细化了作为训练基准的损失函数,从而使得对目标检测模型的训练更精确。

本发明实施例提供一种目标检测的训练方法,主要是上述的目标检测的训练装置所执行的方法,流程图如图2所示,包括:

步骤101,确定初始目标检测模型,该初始目标检测模型用于检测任一目标图像中的目标关键点,获取到目标关键点的信息。

可以理解,用户可以操作目标检测的训练装置,使得目标检测的训练装置发起本实施例中对目标检测模型的训练,当目标检测的训练装置在确定初始目标检测模型时,会确定初始目标检测模型所包括的多层结构和各层机构中固定参数的初始值。其中,初始目标检测模型中的多层结构可以是如下任一种算法结构:卷积神经网络(convolutionalneuralnetwork,cnn),k最近邻算法(knearestneighbors,knn),奇异值分解(singularvaluedecomposition,svd)及非负矩阵分解(non-negativematrixfactorization,nmf)等。

具体地,目标检测的训练装置确定的初始目标检测模型可以包括特征提取模块和关键点定位模块,其中:特征提取模块用于对输入到该初始目标检测模型的图像进行特征提取;关键点定位模块用于根据特征提取模块提取的特征对图像进行目标关键点的定位。

进一步地,目标检测的训练装置还会确定初始目标检测模型中固定参数的初始值,这里,固定参数是指初始目标检测模型中各层结构在计算过程中所用到的固定的,不需要随时赋值的参数,比如权重,角度等参数。

步骤102,确定第一训练样本,第一训练样本包括:多组样本图像及各个样本图像中目标关键点的第一标注信息,其中,每组样本图像包括原始目标图像或对原始目标图像进行第一变换后的图像,及对原始目标图像进行第二变换后的图像。

其中,每组样本图像中都包括两个样本图像,原始目标图像是指包含目标的图像,且对原始目标图像的第一变换和第二变换是随机的,可以相同,也可以不同,比如可以是二维变换,比如裁剪,镜像和旋转等变换;也可以是三维变换,比如将原始目标图像转动一定角度后,再重新投影到另一平面上等变换。

而任一样本图像中目标关键点的第一标注信息可以包括:能描述样本图像中目标的各个关键点在样本图像中的坐标信息等。

步骤103,通过初始目标检测模型分别检测多组样本图像中各个样本图像的目标关键点信息。

步骤104,根据各个样本图像的目标关键点信息及第一训练样本中的第一标注信息,计算第一损失函数,该第一损失函数用于指示初始目标检测模型检测各组样本图像的误差。

这里,第一损失函数包括:用于表示根据初始目标检测模型中确定的第一训练样本中每组样本图像的目标关键点信息,与每组样本图像中实际的目标关键点的信息(即上述第一训练样本中的第一标注信息)之间的差别,即误差。该误差的数学表现形式通常使用欧式损失函数来建立损失函数,而目标检测模型的训练过程就是需要尽量减少上述误差的值,该训练过程是通过反向传播求导以及梯度下降等一系列数学优化手段不断的优化上述步骤101中确定的初始目标检测模型中固定参数的参数值,并使得第一损失函数的计算值降至最低。因此,在执行本步骤104后,目标检测的训练装置需要执行步骤105中的调整步骤。

在具体的实现过程中,目标检测的训练装置在计算第一损失函数时,可以先计算上述初始目标检测模型检测的每组样本图像中两个样本图像的目标关键点信息之间的第一差向量,及计算第一训练样本包括的每组样本图像中两个样本图像的第一标注信息之间的第二差向量;然后确定第一损失函数包括:各组样本图像的第一差向量与第二差向量之间的距离(比如欧氏距离等)。

例如,第一训练样本中包括两组样本图像,样本图像组1中包括样本图像11和样本图像12,两个样本图像中目标关键点的标注信息为标注信息1a和标注信息1b,通过初始目标检测模型检测得到的两个样本图像中的目标关键点信息为目标关键点信息1a’和目标关键点信息1b’;样本图像组2中包括样本图像21和样本图像22,两个样本图像中目标关键点的标注信息为标注信息2a和标注信息2b,通过初始目标检测模型检测得到的两个样本图像中的目标关键点信息为目标关键点信息2a’和目标关键点信息2b’;则第一损失函数可以包括:目标关键点信息1a’和目标关键点信息1b’的差向量,与标注信息1a和标注信息1b的差向量之间的距离;及目标关键点信息2a’和目标关键点信息2b’的差向量,与标注信息2a和标注信息2b的差向量之间的距离。

步骤105,根据第一损失函数调整初始目标检测模型中的固定参数值,以得到最终的目标检测模型。

具体地,如果计算的第一损失函数的函数值较大,比如大于预置的值,则需要改变固定参数值,比如将某个权重的权重值减小等,使得按照调整后的固定参数值计算的第一损失函数的函数值减小。

需要说明的是,目标检测的训练装置可以将上述第一损失函数作为初始目标检测模型的整体损失函数,以对固定参数值进行调整;也可以根据各个样本图像的目标关键点信息及第一训练样本中的第一标注信息,计算另一个第二损失函数,该第二损失函数用于指示初始目标检测模型检测每个样本图像的误差,并基于第一损失函数与第二损失函数,计算初始目标检测模型的整体损失函数,根据计算的整体损失函数调整初始目标检测模型中的固定参数值。

其中,在计算整体损失函数时,可以将第一损失函数与第二损失函数的加权值作为整体损失函数,即第一损失函数与对应权重值的乘积,与第二损失函数与对应权重值的乘积的相加值。

第二损失函数与上述第一损失函数类似,不同的是,第一损失函数是以一组样本图像为单位,计算初始目标检测模型检测每组样本图像的误差,而第二损失函数是以一个样本图像为单位,计算初始目标检测模型检测每个样本图像的误差。具体地,该第二损失函数可以包括:初始目标检测模型检测的各个样本图像的目标关键点信息,与第一训练样本中各个样本图像的第一标注信息之间的距离。

且根据第一损失函数,或者第一损失函数和第二损失函数组成的整体损失函数调整的固定参数值,主要是调整初始目标检测模型中关键点定位模块的固定参数值和特征提取模块的固定参数值。

例如,第一训练样本中包括两组样本图像,样本图像组1中包括样本图像11和样本图像12,两个样本图像中目标关键点的标注信息为标注信息1a和标注信息1b,通过初始目标检测模型检测得到的两个样本图像中的目标关键点信息为目标关键点信息1a’和目标关键点信息1b’;样本图像组2中包括样本图像21和样本图像22,两个样本图像中目标关键点的标注信息为标注信息2a和标注信息2b,通过初始目标检测模型检测得到的两个样本图像中的目标关键点信息为目标关键点信息2a’和目标关键点信息2b’;则第二损失函数可以包括:目标关键点信息1a’与标注信息1a之间的距离,目标关键点信息1b’与标注信息1b之间的距离,目标关键点信息2a’与标注信息2a之间的距离,及目标关键点信息2b’与标注信息2b之间的距离。

另外,需要说明的是,上述步骤103到105是通过初始目标检测模型对第一训练样本中各组样本图像进行处理得到初始检测结果后,根据初始检测结果对初始目标检测模型中的固定参数值的一次调整,而在实际应用中,需要通过不断地循环执行上述步骤103到105,直到对固定参数值的调整满足一定的停止条件为止。

因此,目标检测的训练装置在执行了上述实施例步骤101到105之后,还需要判断当前对固定参数值的调整是否满足预置的停止条件,如果满足,则结束流程;如果不满足,则针对调整固定参数值后的初始目标检测模型,返回执行上述步骤103到105的步骤。

其中,预置的停止条件包括但不限于如下条件中的任何一个:当前调整的固定参数值与上一次调整的固定参数值的差值小于一阈值,即调整的固定参数值达到收敛;及对固定参数值的调整次数等于预置的次数等。

进一步需要说明的是,如果目标检测的训练装置确定的最终的目标检测模型后,可以根据最终得到的目标检测模型对各个待检测图像进行检测,得到各个待检测图像中目标关键点的信息。具体地,目标检测模型会提取待检测图像的特征,并根据提取的特征确定待检测图像中目标关键点的信息。

可见,在本实施例的方法中,目标检测的训练装置会确定第一训练样本中包括多组样本图像,而每组样本图像中包括原始目标图像或对原始目标图像进行第一变换后的图像,及对原始目标图像进行第二变换后的图像,这样通过初始目标检测模型对多组样本图像中各个样本图像进行目标检测,并根据检测得到的各个样本图像的目标关键点信息及第一训练样本中各个样本图像的人脸关键点的第一标注信息,计算初始目标检测模型检测各组样本图像的误差,即第一损失函数,再根据第一损失函数调整初始目标检测模型中的固定参数值,以训练得到最终的目标检测模型。这样,以一组样本图像为单位,将初始目标检测模型对每组样本图像中两个样本图像进行检测的误差(即第一损失函数)作为训练的基准,而一组样本图像又是基于同一原始目标图像得到的,进一步地细化了作为训练基准的损失函数,从而使得对目标检测模型的训练更精确。

需要说明的是,上述实施例中,目标检测的训练装置在执行上述步骤101中确定初始目标检测模型时,确定该初始目标检测模型的结构只用于检测任一图像中目标关键点的信息。

而在其它具体的实施例中,目标检测的训练装置在执行上述步骤101时,可以确定该初始目标检测模型的结构不仅用于判定任一图像是否包含目标,还用于检测任一图像中目标关键点的信息。

具体地,如图3所示,在确定的初始目标检测模型中可以包括:特征提取模块、关键点定位模块和判定模块,其中:特征提取模块用于对输入到该初始目标检测模型的图像进行特征提取;关键点定位模块用于根据特征提取模块提取的特征对图像进行目标关键点的定位;判定模块用于根据特征提取模块提取的特征判断图像中是否包含目标。其中,关键点定位模块与判定模块共用特征提取模块提取的特征。

在这种情况下,在对目标检测模型的训练过程中,目标检测的训练装置可以先按照上述步骤102到105的方法,调整初始目标检测模型中特征提取模块和关键点定位模块中的固定参数值,并保持特征提取模块和关键点定位模块中的固定参数值不变,然后可以通过如下步骤调整初始目标检测模型中判定模块中的固定参数值,流程图如图4所示,包括:

步骤201,确定第二训练样本,第二训练样本包括:多个样本图像,及各个样本图像中是否包含目标的第二标注信息。

步骤202,通过初始目标检测模型中的判定模块分别判定第二训练样本中多个样本图像是否包含目标,得到初始判定结果。

步骤203,根据初始判定结果及第二标注信息,调整初始目标检测模型中判定模块的固定参数值,以得到最终的判定模块。

具体地,可以先根据初始判定结果和第二标注信息计算第三损失函数,该第三损失函数用于表示通过初始目标检测模型中判定模块确定的第二训练样本中每个样本图像是否包含目标的信息,与每个样本图像中实际是否包含目标的信息(即上述第二训练样本中的第二标注信息)之间的差别,即误差;然后目标检测的训练装置可以根据第三损失函数调整判定模块中的固定参数值。

可以重复执行上述步骤202和203,直到满足预置的停止条件,才会停止执行上述步骤202和203。

需要说明的是,在上述实施例中,目标检测模型中的特征提取模块和关键点定位模块,与判定模块是分开进行训练的。在其它的实施例中,目标检测的训练装置可以将目标检测模型中的所有模块一同进行训练,训练方法与上述根据第一损失函数训练目标检测模型的方法类似,不同的是:

这种情况下,目标检测的训练装置确定的初始目标检测模型的结构可以如图3所示,且确定的训练样本可以包括正训练样本和负训练样本,正训练样本可以为上述第一训练样本,负训练样本可以包括多个不包含目标的样本图像,且在训练样本中还需要包括正训练样本中各个样本图像包含目标的标注信息,及负训练样本中各个样本图像不包含目标的标注信息。

这样,正训练样本中的各个样本图像经过初始目标检测模型中的特征提取模块和关键点定位模块后,得到各个样本图像的目标关键点信息;而正训练样本和负训练样本中各个样本图像都需要经过初始目标检测模型中的特征提取模块和判定模块,得到各个样本图像是否包括目标的信息。然后再计算上述第一损失函数、第二损失函数和第三损失函数,然后将第一损失函数、第二损失函数和第三损失函数的函数计算值(比如加权和值)作为整体损失函数,以调整初始目标检测模型中各个模块的固定参数值。

以下以一个具体的应用实例来说明本发明的目标检测的训练方法,在本实施例中目标检测的训练为人脸检测的训练,目标检测模型为人脸检测模型,本实施例的方法主要包括如下两个部分:

(1)参考图5所示,主要通过如下的步骤来实现人脸检测的训练:

步骤501,确定初始人脸检测模型。

具体地,确定初始人脸检测模型的结构,可以包括如图6所示,初始人脸检测模型包括人脸特征提取模块、人脸关键点定位模块和人脸判定模块,其中,人脸特征提取模块用于提取输入图像的人脸特征信息;人脸关键点定位模块用于根据人脸特征提取模块提取的人脸特征信息,确定输入图像的人脸关键点信息;人脸判定模块用于根据人脸特征提取模块提取的人脸特征信息,判定输入图像是否包含人脸,可以输入人脸置信度,如果人脸置信度大于某一阈值,则输入图像中包含人脸。

且对初始人脸检测模型进行初始化,即确定初始人脸检测模型中固定参数值的初始值。

步骤502,确定第一训练样本,包括多组样本图像及各个样本图像中目标关键点的标注信息,每组样本图像中包括对人脸图像i经过两种变换后的图像,即第一变换后的图像i’和第二变换后的图像i”,对应的目标关键点的标注信息具体为目标关键点的坐标y’和坐标y”。

步骤503,通过初始人脸检测模型中的人脸特征提取模块和人脸关键点模块,检测得到第一训练样本中各个样本图像的人脸关键点的预测坐标,具体地,对第一变换后的图像i’中人脸关键的预测坐标为x’,对第二变换后的图像i”中人脸关键的预测坐标为x”。

步骤504,计算第一损失函数和第二损失函数,且将第一损失函数与第二损失函数的加权和值作为整体损失函数。

具体地,计算第一训练样本中各组样本图像中目标关键点的坐标y’和坐标y”的差向量,记为dy;计算初始人脸检测模型得到的各组样本图像中第一变换后的图像i’的人脸关键的预测坐标为x’,与第二变换后的图像i”中人脸关键的预测坐标为x”的差向量,记为dx;用差向量dy与差向量dx计算欧式损失函数(euclideanloss),即第一损失函数。

直接用第一训练样本中各个样本图像中目标关键点的坐标y’(或坐标y”),与初始人脸检测模型得到的各个样本图像的预测坐标x’(或预测坐标x”)计算欧式损失函数,即第二损失函数。

步骤505,根据上述得到的整体损失函数调整初始人脸检测模型中人脸特征提取模块和人脸关键点模块的固定参数值。

通过重复执行上述步骤503到505,训练得到人脸检测模型中人脸特征提取模块和人脸关键点模块。

需要说明的是,为了方便说明,将训练过程中的问题简化到一维空间进行说明,如图7所示,假设黑线为一维空间,点o为原始人脸图像中某一人脸关键坐标点(比如眼角点),点a,b分别为原始人脸图像经过两种变换后形成的图像中该人脸关键坐标点。

由于第一训练样本中标注信息会存在误差,一般情况下,对于某一人脸关键坐标点的标注值会在真实值附近分布,因此,人脸检测模型也会检测到一个在真实值附近分布的预测坐标。具体地,对于点a,人脸检测模型可能检测到在点a’到点a”之间的区域中的某个位置,比如pa位置,同样,对于点b,人脸检测模型可能检测到在点b’到点b”之间的区域中的某个位置,比如pb位置。

而上述第一损失函数(记为shiftloss),为第一个检测点pa的预测坐标与第二检测点pb的预测坐标的差向量papb,和第一标注点a的坐标与第二标注点b的坐标的差向量ab的欧几里得距离,具体可以通过如下公式1来表示:

shiftloss=||papb-ab||2(1)

当两个检测点分别在标注点的不同侧时,比如检测点pa在标注点a左侧,检测点pb在标注点b的右侧,向量papb与向量ab相差很大,第一损失函数的值就很大。在人脸检测模型的训练过程中,会逐步缩小这个差距,使得经过人脸检测模型检测的结果可能区域a’a”逐步向标注点a靠拢,而标注值(即标注点的坐标值)又是在真实值附近分布,因此预测值也会相应地向真实值靠拢,从而使得人脸检测模型的检测结果更加准确,进一步地,能够提高人脸检测跟踪的稳定性。

进一步地,保持人脸特征提取模块和人脸关键点模块中的固定参数值不变,通过执行如下步骤,以训练人脸检测模型中的判定模型:

步骤506,确定第二训练样本,第二训练样本包括多个样本图像,具体包括多个人脸图像和多个非人脸图像,第二训练样本中还包括各个样本图像是否包含目标的标注信息。

步骤507,通过初始人脸检测模型中的人脸特征提取模块和人脸判定模块,确定第二训练样本中各个样本图像是否包含人脸,得到初始判定结果;且根据初始判定结果及第二训练样本中的标注信息,计算第三损失函数,具体可以采用归一损失函数(softmaxloss)。

步骤508,根据第三损失函数调整初始人脸检测模型中人脸判定模块的固定参数值。

通过重复执行上述步骤507到508,训练得到人脸检测模型中人脸判定模块,进而可以得到最终的人脸检测模型中的各个模块。

(2)如图8所示,主要通过如下的步骤来实现人脸检测:

步骤601,对某一待检测视频中的首帧图像,使用人脸检测算法,检测到人脸位置,得到首帧图像的人脸框,具体为矩形框。

步骤602,根据首帧图像中的人脸框,抠取首帧图像中的人脸图像,可以保持人脸框中心不变,边长扩大1.3倍来抠取人脸图像,其中,1.3为经验值。

步骤603,将步骤602抠取的人脸图像输入到上述训练得到的人脸检测模型中,通过人脸特征提取模块,得到人脸特征信息;将人脸特征信息输入到人脸关键点定位模块,得到首帧图像中人脸关键点的信息。

步骤604,将人脸特征信息输入到人脸判定模块,得到首帧图像中人脸的置信度,如果置信度小于某一阈值比如0.5,则该首帧图像中不包含人脸,如果置信度大于0.5,则执行如下步骤605和606。

步骤605,根据上述步骤603得到的首帧图像中人脸关键点的信息,预测首帧图像的下一帧图像的人脸框,并根据预测的人脸框抠取下一帧图像中的人脸图像。

步骤606,将抠取的人脸图像输入到上述训练得到的人脸检测模型中,得到下一帧图像中人脸关键点的信息和置信度。并按照步骤506的方法,依次对待检测视频进行人脸跟踪。

本发明实施例还提供一种目标检测的训练装置,其结构示意图如图9所示,具体可以包括:

模型确定单元10,用于确定初始目标检测模型。

样本确定单元11,用于确定第一训练样本,所述第一训练样本包括:多组样本图像及各个样本图像中目标关键点的第一标注信息,其中,每组样本图像包括原始目标图像或对所述原始目标图像进行第一变换后的图像,及对所述原始目标图像进行第二变换后的图像。

检测单元12,用于通过所述模型确定单元10确定的初始目标检测模型分别检测所述样本确定单元11确定的多组样本图像中各个样本图像的目标关键点信息。

函数计算单元13,用于根据所述检测单元12得到的各个样本图像的目标关键点信息及所述第一训练样本中的第一标注信息,计算第一损失函数,所述第一损失函数用于指示所述初始目标检测模型检测各组样本图像的误差。

所述函数计算单元13,具体用于计算所述每组样本图像中两个样本图像的目标关键点信息之间的第一差向量;计算所述第一训练样本包括的每组样本图像中两个样本图像的第一标注信息之间的第二差向量;确定所述第一损失函数包括:所述每组样本图像的第一差向量与第二差向量之间的距离。

调整单元14,用于根据所述函数计算单元13计算的第一损失函数调整所述初始目标检测模型中的固定参数值,以得到最终的目标检测模型。

该调整单元14,还用于如果对所述固定参数值的调整满足如下任一停止条件,则停止对所述固定参数值的调整:对所述固定参数值的调整次数等于预置的次数,当前调整的固定参数值与上一次调整的固定参数值的差值小于一阈值。

进一步地,本实施例的目标检测的训练装置还可以包括:实时检测单元15,用于确定待检测图像,根据所述调整单元14最终调整得到的目标检测模型,确定所述待检测图像中目标关键点的信息。

一个具体的实施例中,上述函数计算单元13,还用于根据所述各个样本图像的目标关键点信息及所述第一训练样本中的第一标注信息,计算第二损失函数,所述第二损失函数用于指示所述初始目标检测模型检测每个样本图像的误差;则调整单元14,具体用于基于所述第一损失函数与第二损失函数,计算所述初始目标检测模型的整体损失函数;根据所述整体损失函数调整所述初始目标检测模型中的固定参数值。

其中调整单元14在基于所述第一损失函数与第二损失函数,计算所述初始目标检测模型的整体损失函数时,可以将所述第一损失函数与第二损失函数的加权值作为所述整体损失函数。

在另一个具体的实施例中,如果上述模型确定单元10确定的所述初始目标检测模型中包括判定模块;则所述样本确定单元11,还用于确定第二训练样本,所述第二训练样本包括:多个样本图像,及各个样本图像中是否包含目标的第二标注信息;检测单元12,还用于通过所述初始目标检测模型中的判定模块分别判定所述第二训练样本中多个样本图像是否包含目标,得到初始判定结果;调整单元14,还用于根据所述初始判定结果及第二标注信息,调整所述初始目标检测模型中判定模块的固定参数值,以得到最终的判定模块。

在本实施例的装置中,样本确定单元11会确定第一训练样本中包括多组样本图像,而每组样本图像中包括原始目标图像或对原始目标图像进行第一变换后的图像,及对原始目标图像进行第二变换后的图像,这样检测单元12通过初始目标检测模型对多组样本图像中各个样本图像进行目标检测,并由函数计算单元13根据检测得到的各个样本图像的目标关键点信息及第一训练样本中各个样本图像的人脸关键点的第一标注信息,计算初始目标检测模型检测各组样本图像的误差,即第一损失函数,再由调整单元14根据第一损失函数调整初始目标检测模型中的固定参数值,以训练得到最终的目标检测模型。这样,以一组样本图像为单位,将初始目标检测模型对每组样本图像中两个样本图像进行检测的误差(即第一损失函数)作为训练的基准,而一组样本图像又是基于同一原始目标图像得到的,进一步地细化了作为训练基准的损失函数,从而使得对目标检测模型的训练更精确。

本发明实施例还提供一种终端设备,其结构示意图如图10所示,该终端设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(centralprocessingunits,cpu)20(例如,一个或一个以上处理器)和存储器21,一个或一个以上存储应用程序221或数据222的存储介质22(例如一个或一个以上海量存储设备)。其中,存储器21和存储介质22可以是短暂存储或持久存储。存储在存储介质22的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对终端设备中的一系列指令操作。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中的一系列指令操作。

具体地,在存储介质22中储存的应用程序221包括目标检测的训练的应用程序,且该程序可以包括上述目标检测的训练装置中的模型确定单元10,样本确定单元11,检测单元12,函数计算单元13,调整单元14和实时检测单元15,在此不进行赘述。更进一步地,中央处理器20可以设置为与存储介质22通信,在终端设备上执行存储介质22中储存的目标检测的训练的应用程序对应的一系列操作。

终端设备还可以包括一个或一个以上电源23,一个或一个以上有线或无线网络接口24,一个或一个以上输入输出接口25,和/或,一个或一个以上操作系统223,例如windowsservertm,macosxtm,unixtm,linuxtm,freebsdtm等等。

上述方法实施例中所述的由目标检测的训练装置所执行的步骤可以基于该图10所示的终端设备的结构。

本发明实施例还提供一种存储介质,所述存储介质储存多条指令,所述指令适于由处理器加载并执行如上述目标检测的训练装置所执行的目标检测的训练方法。

本发明实施例还提供一种终端设备,包括处理器和存储介质,所述处理器,用于实现各个指令;

所述存储介质用于储存多条指令,所述指令用于由处理器加载并执行如上述目标检测的训练装置所执行的目标检测的训练方法。

本领域普通技术人员可以理解上述实施例的各种方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,该程序可以存储于一计算机可读存储介质中,存储介质可以包括:只读存储器(rom)、随机存取存储器ram)、磁盘或光盘等。

以上对本发明实施例所提供的目标检测的训练方法、装置及终端设备进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

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