一种关键点定位方法、装置、电子设备及存储介质与流程

文档序号:18901818发布日期:2019-10-18 22:02阅读:176来源:国知局
一种关键点定位方法、装置、电子设备及存储介质与流程

本申请涉及人脸检测领域,具体而言,涉及一种关键点定位方法、装置、电子设备及存储介质。



背景技术:

通过计算机自动的检测人脸关键点是一项计算机视觉领域常见的任务,人脸检测的应用也很多。关键点检测算法是从人脸图像自动计算出这些点在图像中的位置,进而这种算法可以应用到人脸识别,人脸动画,人脸追踪等后续的任务当中。这些应用当中在涉及视频应用时,在对前后帧变化的图像进行关键点识别的过程中,需要得到的关键点的结果也是平滑变化而没有抖动,称之为时序稳定性。

对于视频应用来说,传统的通过深度卷积神经网络进行关键点的检测的方法,由于获取的人脸关键点的精度不足,仍存在时序不稳定的问题。



技术实现要素:

本申请实施例的目的在于提供一种关键点定位方法、装置、电子设备及存储介质,以改善在视频应用时,利用传统的深度卷积神经网络进行关键点检测获取的关键点精度不足的问题。

第一方面,本申请实施例提供了一种关键点定位方法,包括:确定图像对应的热度图,所述热度图的每一像素点的数值表征所述图像中对应的像素点为待定位的关键点的可能程度;对所述热度图进行归一化处理,得到所述关键点对应的权重图;针对所述权重图中的每个像素点,计算所述像素点的权重值与坐标值的乘积;根据所述权重图中所有像素点对应所述乘积的和,确定所述关键点的位置。

本申请实施例通过归一化的方法将热度图转换为权重图,再将每一像素点对应的数值与坐标值进行加权,即可得到精度为亚像素级别的关键点的位置,由此可以更加准确的对关键点进行定位,在视频应用中,也可以提高关键点的时序稳定性。

进一步地,热度图中第一像素点与第二像素点之间数值的比例,小于权重图中第三像素点与第四像素点之间数值的比例;其中,第一像素点为热度图中任一的较大数值的像素点,第二像素点为热度图中任一的较小数值的像素点,第三像素点为权重图中与第一像素点同一位置对应的像素,第四像素点为权重图中与第二像素点同一位置对应的像素。

本申请实施例在归一化的同时,也会增加较大数值的像素点与较小数值的像素点之间比值的大小,使得较大数值的像素点与较小数值的像素点在数值分布之间的差距增大,后续可以更加准确地对关键点进行定位。

进一步地,所述权重图包括第一权重矩阵,所述权重图的数值与所述第一权重矩阵的元素一一对应,在所述对所述热度图进行归一化处理之前,所述方法还包括:将所述热度图转换为热度矩阵,所述热度图的数值与所述热度矩阵的元素一一对应;所述对所述热度图进行归一化处理,包括:若所述热度矩阵的所有元素不完全处于[0,1]之间,则利用预先设定的第一指数归一模型对所述热度矩阵进行处理,得到第一权重矩阵;所述第一指数归一模型,包括:

其中,σ1(h)为所述第一权重矩阵;exp(h)为第一指数矩阵,所述第一指数矩阵中的每一元素都为以e为底,以所述热度矩阵对应的元素为幂的指数;exp(h)i,j为所述第一指数矩阵中第i行第j列的元素。

本申请实施例通过将热度图转换为热度矩阵,并通过第一指数归一模型对元素值分布在[0,1]之间的热度矩阵进行归一处理,使得得到的权重矩阵在归一化的同时,也增大了数值分布之间的差距,保证后续可以更加准确地进行定位。

进一步地,所述权重图包括第二权重矩阵,所述对所述热度图进行归一化处理,包括:若所述热度矩阵的所有元素均处于[0,1]之间,则利用预先设定的第二指数归一模型对所述热度矩阵进行处理,得到第二权重矩阵;所述第二指数归一模型,包括:

其中,σ2(h)为所述第二权重矩阵;hα为第二指数矩阵,所述第二指数矩阵包括多个为以hi,j为底,以α为幂的指数,hi,j为所述热度矩阵中第i行第j列的元素。

本申请实施例通过将热度图转换为热度矩阵,并通过第二指数归一模型对元素值分布不完全在[0,1]之间的热度矩阵进行归一处理,使得得到的权重矩阵在归一化的同时,也增大了数值分布之间的差距,保证后续可以更加准确地进行定位。

进一步地,所述权重矩阵中具有较大数值的元素与较小数值的元素的比值与α成正相关。

本申请实施例中α的数值与权重矩阵中具有较大数值的元素与较小数值的元素的比值成正相关,由此,可以通过设定α的数值来设定较大数值的元素与较小数值的元素的比值,确保后续可以更加准确地进行关键点的定位。

进一步地,所述针对所述权重图中的每个像素点,计算所述像素点的权重值与坐标值的乘积,包括:利用预先建立的横坐标加权模型对权重矩阵的每一元素进行计算,得到所述权重矩阵的每一元素与横坐标值的乘积;所述横坐标加权模型为:

其中,xi,j为所述权重矩阵中第i行第j列的元素与横坐标值的乘积,σ(h)i,j为所述权重矩阵的第i行第j列的元素,为与所述σ(h)i,j对应的横坐标值;利用预先建立的纵坐标加权模型对所述权重矩阵的每一元素进行计算,得到所述权重矩阵的每一元素与纵坐标值的乘积;所述纵坐标加权模型为:

其中,yi,j为所述权重矩阵中第i行第j列的元素与纵坐标值的乘积,σ(h)i,j为所述权重矩阵的第i行第j列的元素,为与所述σ(h)i,j对应的纵坐标值。

本申请实施例通过分别利用横坐标加权矩阵与纵坐标加权矩阵对权重矩阵的每一元素进行处理,得到权重矩阵的每一元素与坐标值的乘积,使得后续可以更加快速地得到关键点的坐标。

进一步地,所述关键点的位置包括关键点的坐标,所述根据所述权重图中所有像素点对应所述乘积的和,确定所述关键点的位置,包括:利用坐标加权模型对所述权重矩阵的每一元素与横坐标值的乘积以及所述权重矩阵的每一元素与纵坐标值的乘积进行处理,得到所述关键点的坐标;所述坐标加权模型为:

其中,m为所述关键点的坐标;为所述权重矩阵的所有元素与横坐标值的乘积的和;为所述权重矩阵的所有元素与纵坐标值的乘积的和。

本申请实施例通过利用坐标加权模型对权重矩阵的每一元素对应的乘积进行处理,由此可以得到精度为亚像素级别的关键点的位置,更加准确地对关键点进行定位。

进一步地,所述确定图像对应的热度图,包括:利用预先设定的深度卷积神经网络对图像进行处理,得到与图像对应的热度图。

本申请实施利用预设的深度神经网络对图像进行处理,可以得到与图像对应的热度图,由此,可以更加准确的得到热度图,后续根据热度图也可以更加高效地进行关键点的定位。

进一步地,所述方法还包括:利用所述深度卷积神经网络对样本图像进行处理,得到与样本图像对应的样本热度图;对所述样本热度图进行归一化处理,得到所述样本关键点对应的样本权重图;针对所述样本权重图中的每个像素点,计算所述像素点的权重值与坐标值的乘积;根据所述样本权重图中所有像素点对应所述乘积的和,确定所述样本关键点的位置;根据所述样本关键点与所述样本图像对应的真实关键点之间的第一误差,以及所述样本权重图与所述真实关键点对应的真实权重图之间的第二误差,调整所述深度卷积神经网络。

本申请实施例利用本申请提供的关键点定位方法对样本图像进行处理,得到对应的样本关键点与样本权重图,再根据样本图像对应的真实关键点和真实权重图对深度卷积神经网络进行调整,使得后续可以更加准确的对关键点进行定位。

第二方面,本申请实施例提供了一种关键点定位装置,包括:确定模块,用于确定图像对应的热度图,所述热度图的每一像素点的数值表征所述图像中对应的像素点为待定位的关键点的可能程度;归一处理模块,用于对所述热度图进行归一化处理,得到所述关键点对应的权重图;计算模块,用于针对所述权重图中的每个像素点,计算所述像素点的权重值与坐标值的乘积;定位模块,用于根据所述权重图中所有像素点对应所述乘积的和,确定所述关键点的位置。

本申请实施例通过归一化的方法将热度图转换为权重图,再将每一像素点对应的数值与坐标值进行加权,即可得到精度为亚像素级别的关键点的位置,由此可以更加准确的对关键点进行定位,使得在视频应用中,也可以提高关键点的时序稳定性。

第三方面,本申请实施例提供了一种电子设备,包括:处理器、存储器和总线,其中,所述处理器和所述存储器通过所述总线完成相互间的通信;所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行上述的方法。

第四方面,本申请实施例提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行上述的方法。

本申请的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本申请实施例了解。本申请的目的和其他优点可通过在所写的说明书、权利要求书、以及附图中所特别指出的结构来实现和获得。

附图说明

为了更清楚地说明本申请实施例的技术方案,下面将对本申请实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本申请的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。

图1为本申请实施例提供的一种关键点定位方法的流程示意图;

图2为本申请实施例提供的一种热度图;

图3为本申请实施例提供的一种权重图;

图4为本申请实施例提供的一种横坐标值和纵坐标值的示意图;

图5为本申请实施例提供的一种第一数组与第二数组的分布示意图;

图6为本申请实施例提供的一种关键点定位装置的结构示意图;

图7为一种可应用于本申请实施例中的电子设备的结构框图。

具体实施方式

下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行描述。

应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本申请的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性。

图1为本申请实施例提供的一种关键点定位方法的流程示意图,本申请实施例提供了一种关键点定位方法,包括:

步骤110:确定图像对应的热度图,所述热度图的每一像素点的数值表征所述图像中对应的像素点为待定位的关键点的可能程度。

在本申请可选的实施过程中,可以预先获取待定位的图像,并将图像转换为热度图。而热度图中包括多个像素点,每一像素点都设置有一个数值,该数值用于表征该像素点为关键点的可能程度。

其中,像素点的数值主要用于与热度图中所有像素的数值进行大小比较。数值越大的像素点为关键点的可能程度越大,反之数值越小的像素点为关键点的可能程度越小。热度图中像素点的数值范围可以为[0,1],也可以为[0,+∞],还可以为[-∞,+∞],像素点的数值不限定大小范围,可以根据实际需求进行调整。

举例来说,当热度图中像素点的数值范围为[0,1]时,且热度图中有像素点a和像素点b。若像素点a的数值为0.98,像素点b的数值为0.69,则像素点a相较于像素点b为关键点的可能性更大。

另一举例中,当热度图中像素点的数值范围为[-∞,+∞]时,且热度图中有像素点c、像素点d和像素点e,若像素点c的数值为4000,像素d的数值为-500,像素点e的数值为200,则在三个像素点中,像素c为关键点的可能程度大于像素点d和像素点e,像素点e为关键点的可能程度大于像素点d。

又一举例中,图2为本申请实施例提供的一种热度图,热度图的大小为5x5的,有25个像素点。每一像素点的数值范围为[0,1]。其中,像素点的数值最大的为0.98,因此,数值为0.98的像素点为关键点的可能程度最大,并且,像素点的数值最小的为0.06,因此,数值为0.06的像素点为关键点的可能程度最低。其中,数值的精度不限定可以根据实际需求的关键点定位的精度进行调整。

值得说明的是,待定位的图像是需要进行定位的图像,即需要寻找出关键点的图像,也即包含待定位物体的图像。因此,该图像可以为人脸图像,也可以为半身像,还可以为全身像。具体的图像类型可以根据转换的热度图的需求进行选择。

还需要说明的是,步骤110,包括:利用预先设定的深度卷积神经网络对图像进行处理,得到与图像对应的热度图。

在本申请可选的实施例中,可以利用预先设定的深度卷积神经网络对图像进行处理,由此可以更加快速地、准确地得到与该图像对应的热度图。

步骤120:对热度图进行归一化处理,得到关键点对应的权重图。

在本申请可选的实施过程中,可以对热度图中每一像素点的数值进行归一处理,即将该像素点对应的数值转换为与关键点相关的权重值。因此,热度图即为权重图的转换,权重图中一个像素点的数值为根据热度图中同一位置的像素点的数值进行归一化处理得到的。

其中,归一化是一种简化计算的方式,主要是将数值的绝对值变成相对值关系。而在权重图中,归一化处理则是将热度图中每一像素点的绝对数值,转换为该像素点的数值与热度图所有像素点的数值的相对值关系。同时,像素点的数值的范围可以为[0,1],权重图中所有像素点对应的数值的总和可以为1。

举例来说,图3为本申请实施例提供的一种权重图,其中,图3为通过对图2的热度图进行归一化处理,得到的权重图,其中,图3的所有像素点的数值加起来与1相差不多,图3每一像素点的数值用于表征热度图中对应位置的像素点的数值与所有像素点的总数值的相对关系。

步骤130:针对权重图中的每个像素点,计算像素点的权重值与坐标值的乘积。

在本申请可选的实施过程中,针对权重图中每一像素点,将该像素点的权重值与对应的坐标值进行加权,即该像素点的权重值乘以对应的坐标值,得到的乘积也用于表征权重图中该像素点对热度图中关键点的坐标的贡献。

值得说明的是,可以根据权重图预先建立坐标系,根据坐标系来确定权重图中每一像素点对应的坐标值。坐标系的原点、x轴和y轴的设置位置不限定,可以根据实际进行确定。

举例来说,图4为本申请实施例提供的一种横坐标值和纵坐标值的示意图,其中,预先建立的坐标系的原点为图4中的权重图的左上角,坐标系的x轴沿第一方向设置,坐标系的y轴沿第二方向设置。因此,数值为0.14的像素点对应的坐标值为(3,3),数值为0.10的像素点对应的坐标值为(3,4)。

步骤140:根据权重图中所有像素点对应乘积的和,确定关键点的位置。

在本申请可选的实施过程中,权重图中每一像素点均对应该像素点的数值与对应的坐标值的乘积。将所有乘积相加即可得到关键点的位置。而该关键点的精度为亚像素级别的精度。其中,通过归一化的方法将热度图转换为权重图,再将每一像素点对应的数值与坐标值进行加权,即可得到精度为亚像素级别的关键点的位置,由此可以更加准确的对关键点进行定位,在视频应用中,也可以提高关键点的时序稳定性。

值得说明的是,本申请提供的关键点定位方法由于是对热度图中所有的像素均进行归一化与加权平均的处理,因此,该方法在适用于符合高斯分布的热度图的同时,也适用于不符合高斯分布的热度图,关键点会根据热度图中实际的数值进行定位。

在上述实施例的基础上,热度图中第一像素点与第二像素点之间数值的比例,小于权重图中第三像素点与第四像素点之间数值的比例。其中,第一像素点为热度图中任一的较大数值的像素点,第二像素点为热度图中任一的较小数值的像素点,第三像素点为权重图中与第一像素点同一位置对应的像素,第四像素点为权重图中与第二像素点同一位置对应的像素。

在本申请可选的实施过程中,可以在对热度图进行归一化处理的同时,可以将热度图中数值之间的差距增大,使得在进行像素点定位时,可以更加准确,实际上也可以理解为增加可能为关键点的像素点对应的权重。即热度图数值较大的像素点与数值较小的像素点之间数值的比值,会比在权重图中同一位置的像素点之间的比值更小。也即权重图中较小数值与较大数值之间的差距相较于热度图中同一较小数值与同一较大数值之间的差距更大。

其中,数值之间的差距为两个数值在所有数值中的分布差距。例如,图5为本申请实施例提供的一种第一数组与第二数组的分布示意图,假设存在第一数组1、2、3、9、15,和第二数组0.01、0.03、0.25、0.86、0.99,第一数组中第二元素的数值为2,第四元素的数值为9,第二数组中第二元素的数值为0.03,第四元素的数值为0.86。如图5所示,第一数组中第二元素与第四元素的数值分布差距,相较于第二数组中第二元素与第四元素的数值分布差距更小,也即第一数组中第二元素与第四元素的数值之间的差距,相较于第二数组中第二元素与第四元素的数值之间的差距更大。

还需要说明的是,较小数值的像素点可以为在全部像素点中按照数值的大小进行排列时,与数值最小的像素点相近的第一预设数目的多个像素点以及数值最小的像素点的集合中的一个像素点。较大数值的像素点可以为在全部像素点中按照数值的大小进行排列时,与数值最大的像素点相近的第二预设数目的多个像素点以及数值最大的像素点的集合中的一个像素点。其中,第一预设数目和第二预设数目可以根据实际的需求进行调整。

在上述实施例的基础上,权重图包括第一权重矩阵,权重图的数值与第一权重矩阵的元素一一对应,在对热度图进行归一化处理之前,方法还包括:将热度图转换为热度矩阵,热度图的数值与热度矩阵的元素一一对应。

在本申请可选的实施过程中,为了后续可以更加快捷的得出关键点的位置,可以将热度图转换为热度矩阵,即将热度图中每一像素点的数值,转换为热度矩阵中同一位置的元素。举例来说,如图2所示的热度图,可以转换热度矩阵a,热度矩阵a为:

在本申请可选的一种实施过程中,步骤120,包括:若热度矩阵的所有元素不完全处于[0,1]之间,则利用预先设定的第一指数归一模型对热度矩阵进行处理,得到第一权重矩阵;

第一指数归一模型,包括:

其中,σ1(h)为所述第一权重矩阵;exp(h)为第一指数矩阵,所述第一指数矩阵中的每一元素都为以e为底,以所述热度矩阵对应的元素为幂的指数;exp(h)i,j为所述第一指数矩阵中第i行第j列的元素。

可以理解的是,在将热度图转换为热度矩阵后,可以检测热度矩阵中元素的数值范围,如果数值范围不完全在[0,1]之间,即可理解为数值范围为[-∞,+∞],则可以利用预先设定的第一指数归一模型对热度矩阵进行处理,也即利用softmax函数对热度矩阵进行处理,得到第一权重矩阵,根据第一权重矩阵可以得到权重图,权重图中每一像素点的数值与第一权重矩阵同一位置的元素对应。

其中,对于第一权重矩阵的每一元素,均为第一指数矩阵中与该元素同一位置的元素的数值,与第一指数矩阵中所有元素的数值的和的比值。而第一指数矩阵中每一元素均为以e为底,以在热度矩阵中与该元素处于同一位置的元素为幂的指数函数。由此,使得得到的权重矩阵在归一化的同时,也通过指数函数增大了数值分布之间的差距,保证后续可以更加准确地进行定位。

在本申请可选的另一种实施过程中,权重图包括第二权重矩阵,步骤120,包括:若所述热度矩阵的所有元素均处于[0,1]之间,则利用预先设定的第二指数归一模型对所述热度矩阵进行处理,得到第二权重矩阵;

所述第二指数归一模型,包括:

其中,σ2(h)为所述第二权重矩阵;hα为第二指数矩阵,所述第二指数矩阵包括多个为以hi,j为底,以α为幂的指数,hi,j为所述热度矩阵中第i行第j列的元素。

可以理解的是,如果检测到热度矩阵中元素的数值范围均在[0,1]之间,可以利用预先设定的第二指数归一模型对热度矩阵进行处理,得到第二权重矩阵,根据第二权重矩阵可以得到权重图,权重图中每一像素点的数值与第二权重矩阵同一位置的元素对应。

其中,对于第二权重矩阵的每一元素,均为热度矩阵中与该元素同一位置的元素的数值,与所有的的数值的和的比值。而中每一元素均为以热度矩阵中第i行第j列的元素为底,以在α为幂的指数函数。由此,使得得到的权重矩阵在归一化的同时,也通过指数函数增大了数值分布之间的差距,保证后续可以更加准确地进行定位。

还需要说明的是,权重矩阵中具有较大数值的元素与较小数值的元素的比值与α成正相关,即可以通过设定α的数值来设定较大数值的元素与较小数值的元素的比值,确保后续可以更加准确地进行关键点的定位。

在上述实施例的基础上,步骤130,包括:利用预先建立的横坐标加权模型对权重矩阵的每一元素进行计算,得到权重矩阵的每一元素与横坐标值的乘积;横坐标加权模型为:

其中,xi,j为权重矩阵中第i行第j列的元素与横坐标值的乘积,σ(h)i,j为权重矩阵的第i行第j列的元素,为与σ(h)i,j对应的横坐标值。

在本申请可选的实施过程中,由于坐标系中坐标主要包括x轴向的横坐标值与y轴向的纵坐标值。由此,可以将计算像素点的权重值与坐标值的乘积,按照坐标系分为计算像素点的权重值与横坐标值的乘积,以及计算像素点的权重值与纵坐标的乘积。因此,针对权重图中的每个像素点,利用横坐标加权模型计算该元素与对应的横坐标的乘积。

其中,gx是为了与权重矩阵的每一元素进行对应相乘而提出的矩阵,因此,gx可以为与权重矩阵的行数和列数均一致的横坐标矩阵,且横坐标矩阵中每一列的元素数值相同。

举例来说,以图4对应的权重矩阵为例,gx可以为5*5矩阵,其中,gx的每一列的元素的数值相同,不同列的元素代表不同的横坐标值,gx的横坐标值可以跟随权重矩阵中对应的x轴的值变化。其中,横坐标矩阵可以为:

在上述实施例的基础上,步骤130,还包括:利用预先建立的纵坐标加权模型对权重矩阵的每一元素进行计算,得到权重矩阵的每一元素与纵坐标值的乘积;纵坐标加权模型为:

其中,yi,j为权重矩阵中第i行第j列的元素与纵坐标值的乘积,σ(h)i,j为权重矩阵的第i行第j列的元素,为与σ(h)i,j对应的纵坐标值。

在本申请可选的实施过程中,根据上述分析,针对权重图中的每个像素点,还可以利用纵坐标加权模型计算该元素与对应的纵坐标的乘积。其中,gy是为了与权重矩阵的每一元素进行对应相乘而提出的矩阵,因此,gy可以为与权重矩阵的行数和列数均一致的纵坐标矩阵,且纵坐标矩阵中每一行的元素数值相同。

举例来说,以图4对应的权重矩阵为例,gy可以为5*5矩阵,其中,gy的每一行的元素的数值相同,不同行的元素代表不同的纵坐标值,gy的纵坐标值可以跟随权重矩阵中对应的y轴的值变化。其中,纵坐标矩阵可以为:

在上述实施例的基础上,所述关键点的位置包括关键点的坐标,步骤140,包括:利用坐标加权模型对所述权重矩阵的每一元素与横坐标值的乘积以及所述权重矩阵的每一元素与纵坐标值的乘积进行处理,得到所述关键点的坐标;所述坐标加权模型为:

其中,m为所述关键点的坐标;为所述权重矩阵的所有元素与横坐标值的乘积的和;为所述权重矩阵的所有元素与纵坐标值的乘积的和。

在本申请可选的实施过程中,可以通过将权重矩阵中所有元素对应的与横坐标值的乘积进行累加,得到关键点的横坐标的数值。将权重矩阵中所有元素对应的与纵坐标值的乘积进行累加,得到关键点的纵坐标的数值。由于权重矩阵中每一元素与坐标值的乘积为加权后的值,使得关键点的坐标值的精度相较于坐标系的精度会更高,由此可以实现更加准确地进行关键点的定位。

在上述任一实施例的基础上,所述方法还包括:利用所述深度卷积神经网络对样本图像进行处理,得到与样本图像对应的样本热度图;对所述样本热度图进行归一化处理,得到所述样本关键点对应的样本权重图;针对所述样本权重图中的每个像素点,计算所述像素点的权重值与坐标值的乘积;根据所述样本权重图中所有像素点对应所述乘积的和,确定所述样本关键点的位置。

在本申请可选的实施过程中,在进行关键点定位的同时,还可以通过在深度神经网络中输入样本图像,来得到样本热度图,再根据上述的关键点定位方法对样本热度图进行处理,可以得到样本关键点,以及样本权重图。

值得说明的是,根据所述样本关键点与所述样本图像对应的真实关键点之间的第一误差,以及所述样本权重图与所述真实关键点对应的真实权重图之间的第二误差,调整所述深度卷积神经网络。

同时,在样本图像输入深度卷积神经网络之前,样本图像中还包括真实关键点的位置信息,以及真实的关键点对应的权重图。再根据样本关键点与真实关键点的第一误差,以及样本权重图与真实权重图的第二误差来调整深度卷积神经网络,使得调整后的深度卷积神经网络可以在后续的应用过程中可以得到更加准确的热度图、关键点的位置以及权重图。

还需要说明的是,可以根据样本关键点与所述样本图像对应的真实关键点之间的第一误差,以及所述样本权重图与所述真实关键点对应的真实权重图之间的第二误差构建损失函数,利用损失函数对深度神经网络进行训练。

loss(zm,m,zh,σ(h))=||zm-m||2+λkl(zh,σ(h))

其中,zm为样本图像对应的真实关键点,m为样本关键点,zh为样本图像对应的真实权重图,σ(h)为样本权重图,kl(zh,σ(h))为利用kl散度描述样本权重图与所述真实关键点对应的真实权重图之间的第二误差。

图6为本申请实施例提供的一种关键点定位装置的结构示意图,基于同一发明构思,本申请实施例中还提供一种关键点定位装置,包括:确定模块610,用于确定图像对应的热度图,所述热度图的每一像素点的数值表征所述图像中对应的像素点为待定位的关键点的可能程度;归一处理模块620,用于对所述热度图进行归一化处理,得到所述关键点对应的权重图;计算模块630,用于针对所述权重图中的每个像素点,计算所述像素点的权重值与坐标值的乘积;定位模块640,用于根据所述权重图中所有像素点对应所述乘积的和,确定所述关键点的位置。

在上述实施例的基础上,热度图中第一像素点与第二像素点之间数值的比例,小于权重图中第三像素点与第四像素点之间数值的比例;其中,第一像素点为热度图中任一的较大数值的像素点,第二像素点为热度图中任一的较小数值的像素点,第三像素点为权重图中与第一像素点同一位置对应的像素,第四像素点为权重图中与第二像素点同一位置对应的像素。

在上述实施例的基础上,所述权重图包括第一权重矩阵,所述权重图的数值与所述第一权重矩阵的元素一一对应,所述关键点定位装置还包括:矩阵转换模块,用于将所述热度图转换为热度矩阵,所述热度图的数值与所述热度矩阵的元素一一对应;所述归一处理模块620,具体用于:若所述热度矩阵的所有元素不完全处于[0,1]之间,则利用预先设定的第一指数归一模型对所述热度矩阵进行处理,得到第一权重矩阵;所述第一指数归一模型,包括:

其中,σ1(h)为所述第一权重矩阵;exp(h)为第一指数矩阵,所述第一指数矩阵中的每一元素都为以e为底,以所述热度矩阵对应的元素为幂的指数;exp(h)i,j为所述第一指数矩阵中第i行第j列的元素。

在上述实施例的基础上,所述权重图包括第二权重矩阵,归一处理模块620具体用于:若所述热度矩阵的所有元素均处于[0,1]之间,则利用预先设定的第二指数归一模型对所述热度矩阵进行处理,得到第二权重矩阵;所述第二指数归一模型,包括:

其中,σ2(h)为所述第二权重矩阵;hα为第二指数矩阵,所述第二指数矩阵包括多个为以hi,j为底,以α为幂的指数,hi,j为所述热度矩阵中第i行第j列的元素。

在上述实施例的基础上,所述权重矩阵中具有较大数值的元素与较小数值的元素的比值与α成正相关。

在上述实施例的基础上,计算模块630具体用于:利用预先建立的横坐标加权模型对权重矩阵的每一元素进行计算,得到所述权重矩阵的每一元素与横坐标值的乘积;所述横坐标加权模型为:

其中,xi,j为所述权重矩阵中第i行第j列的元素与横坐标值的乘积,σ(h)i,j为所述权重矩阵的第i行第j列的元素,为与所述σ(h)i,j对应的横坐标值;利用预先建立的纵坐标加权模型对所述权重矩阵的每一元素进行计算,得到所述权重矩阵的每一元素与纵坐标值的乘积;所述纵坐标加权模型为:

其中,yi,j为所述权重矩阵中第i行第j列的元素与纵坐标值的乘积,σ(h)i,j为所述权重矩阵的第i行第j列的元素,为与所述σ(h)i,j对应的纵坐标值。

在上述实施例的基础上,所述关键点的位置包括关键点的坐标,定位模块640具体用于:利用坐标加权模型对所述权重矩阵的每一元素与横坐标值的乘积以及所述权重矩阵的每一元素与纵坐标值的乘积进行处理,得到所述关键点的坐标;所述坐标加权模型为:

其中,m为所述关键点的坐标;为所述权重矩阵的所有元素与横坐标值的乘积的和;为所述权重矩阵的所有元素与纵坐标值的乘积的和。

在上述实施例的基础上,确定模块610具体用于:利用预先设定的深度卷积神经网络对图像进行处理,得到与图像对应的热度图。

在上述实施例的基础上,所述关键点定位装置还包括:训练模型,用于利用所述深度卷积神经网络对样本图像进行处理,得到与样本图像对应的样本热度图;对所述样本热度图进行归一化处理,得到所述样本关键点对应的样本权重图;针对所述样本权重图中的每个像素点,计算所述像素点的权重值与坐标值的乘积;根据所述样本权重图中所有像素点对应所述乘积的和,确定所述样本关键点的位置;根据所述样本关键点与所述样本图像对应的真实关键点之间的第一误差,以及所述样本权重图与所述真实关键点对应的真实权重图之间的第二误差,调整所述深度卷积神经网络。

本申请实施例提供的关键点定位装置用于执行上述方法,其具体的实施方式与方法的实施方式一致,此处不再赘述。

请参照图7,图7示出了一种可应用于本申请实施例中的电子设备10的结构框图。电子设备10可以包括存储器101、存储控制器102、处理器103、外设接口104、输入输出单元105、显示单元107。

所述存储器101、存储控制器102、处理器103、外设接口104、输入输出单元105、显示单元107各元件相互之间直接或间接地电性连接,以实现数据的传输或交互。例如,这些元件相互之间可通过一条或多条通讯总线或信号线实现电性连接。至少一个软件或固件(firmware)存储于所述存储器101中或固化在操作系统(operatingsystem,os)中的软件功能模块。所述处理器103用于执行存储器101中存储的可执行模块,软件功能模块或计算机程序。

其中,存储器101可以是,但不限于,随机存取存储器(randomaccessmemory,ram),只读存储器(readonlymemory,rom),可编程只读存储器(programmableread-onlymemory,prom),可擦除只读存储器(erasableprogrammableread-onlymemory,eprom),电可擦除只读存储器(electricerasableprogrammableread-onlymemory,eeprom)等。其中,存储器101用于存储程序,所述处理器103在接收到执行指令后,执行所述程序,前述本申请实施例任一实施例揭示的流过程定义的服务器所执行的方法可以应用于处理器103中,或者由处理器103实现。

处理器103可以是一种集成电路芯片,具有信号的处理能力。上述的处理器103可以是通用处理器,包括中央处理器(centralprocessingunit,简称cpu)、网络处理器(networkprocessor,简称np)等;还可以是数字信号处理器(dsp)、专用集成电路(asic)、现成可编程门阵列(fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器103也可以是任何常规的处理器等。

所述外设接口104将各种输入/输出装置耦合至处理器103以及存储器101。在一些实施例中,外设接口104,处理器103以及存储控制器102可以在单个芯片中实现。在其他一些实例中,他们可以分别由独立的芯片实现。

输入输出单元105用于提供给用户输入数据实现用户与所述服务器(或本地终端)的交互。所述输入输出单元105可以是,但不限于,鼠标和键盘等。

显示单元107在所述电子设备10与用户之间提供一个交互界面(例如用户操作界面)或用于显示图像数据给用户参考。在本实施例中,所述显示单元107可以是液晶显示器或触控显示器。若为触控显示器,其可为支持单点和多点触控操作的电容式触控屏或电阻式触控屏等。支持单点和多点触控操作是指触控显示器能感应到来自该触控显示器上一个或多个位置处同时产生的触控操作,并将该感应到的触控操作交由处理器103进行计算和处理。

可以理解,图7所示的结构仅为示意,所述电子设备10还可包括比图7中所示更多或者更少的组件,或者具有与图7所示不同的配置。图7中所示的各组件可以采用硬件、软件或其组合实现。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的装置的具体工作过程,可以参考前述方法中的对应过程,在此不再过多赘述。

综上所述,本申请实施例提供了一种关键点定位方法、装置、电子设备及存储介质,方法包括:确定图像对应的热度图,所述热度图的每一像素点的数值表征所述图像中对应的像素点为待定位的关键点的可能程度;对所述热度图进行归一化处理,得到所述关键点对应的权重图;针对所述权重图中的每个像素点,计算所述像素点的权重值与坐标值的乘积;根据所述权重图中所有像素点对应所述乘积的和,确定所述关键点的位置。本申请实施例通过归一化的方法将热度图转换为权重图,再将每一像素点对应的数值与坐标值进行加权,即可得到精度为亚像素级别的关键点的位置,由此可以更加准确的对关键点进行定位,在视频应用中,也可以提高关键点的时序稳定性。

在本申请所提供的实施例中,应该理解到,所揭露装置和方法,可以通过其它的方式实现。以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,又例如,多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些通信接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。

另外,作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。

再者,在本申请各个实施例中的各功能模块可以集成在一起形成一个独立的部分,也可以是各个模块单独存在,也可以两个或两个以上模块集成形成一个独立的部分。

需要说明的是,功能如果以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、只读存储器(read-onlymemory,rom)随机存取存储器(randomaccessmemory,ram)、磁碟或者光盘等各种可以存储程序代码的介质。

在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。

以上所述仅为本申请的实施例而已,并不用于限制本申请的保护范围,对于本领域的技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。

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