脖子关键点检测方法及装置、检测模型训练方法及装置转让专利

申请号 : CN202210051643.3

文献号 : CN114550207B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 张译友杨浩杰张梦洁

申请人 : 北京新氧科技有限公司

摘要 :

本发明公开了一种脖子关键点检测方法及装置、检测模型训练方法及装置,训练方法包括:确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率;将样本图输入预先构建的脖子关键点检测模型,以由脖子关键点检测模型进行学习并输出脖子关键点;利用模型输出的脖子关键点、标注的脖子关键点、以及实际斜率计算损失值;在损失值大于预设值时,根据损失值优化所述脖子关键点检测模型的网络参数,并继续训练,直至损失值低于预设值结束。通过获取标注出的脖子关键点与参考点之间的实际斜率,在训练阶段通过使用这个实际斜率、预测结果、标注结果进行损失计算,并根据计算结果进行网络参数优化,以提升模型检测的鲁棒性和准确性。

权利要求 :

1.一种脖子关键点检测模型训练方法,其特征在于,所述方法包括:确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率;所述参考点为脖子区域与衣服接触边缘的中间点;

将所述样本图输入预先构建的脖子关键点检测模型,以由所述脖子关键点检测模型进行学习,并输出脖子关键点;

利用模型输出的脖子关键点、标注的脖子关键点、以及所述实际斜率计算损失值;

在所述损失值大于预设值时,根据所述损失值优化所述脖子关键点检测模型的网络参数,并继续执行将所述样本图输入预先构建的脖子关键点检测模型的过程,直至所述损失值低于预设值结束;

所述利用模型输出的脖子关键点、标注的脖子关键点、以及所述实际斜率计算损失值,包括:获取模型输出的脖子关键点与标注的脖子关键点之间的位置误差;

根据所述位置误差和所述实际斜率确定损失权重;

确定第一样本图向量信息与第二样本图向量信息之间的欧式距离,所述第一样本图向量信息为携带模型输出的脖子关键点的样本图的向量,所述第二样本图向量信息为携带标注的脖子关键点的样本图的向量;

利用所述损失权重和所述欧式距离计算损失值。

2.根据权利要求1所述的方法,其特征在于,所述确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率,包括:获取数据集,所述数据集中的每一样本图均包含用户头像;

针对所述数据集中每一样本图,定位所述样本图中的脖子区域;

检测所述脖子区域与衣服接触边缘的中间点确定为参考点;

在所述样本图上标注脖子关键点,并确定由标注的脖子关键点与所述参考点决定的直线所具有的实际斜率。

3.根据权利要求2所述的方法,其特征在于,在所述样本图上标注脖子关键点之后,所述方法还包括:对所述数据集中的样本图每进行一种数据增强处理,将处理后的样本图添加到所述数据集中,以扩充所述数据集。

4.根据权利要求2所述的方法,其特征在于,所述在所述样本图上标注脖子关键点,包括:利用预设斜率确定一条经过所述参考点的直线,所述预设斜率为标注样本前根据实践预先设置的一个斜率;

将所述直线与所述脖子区域边缘之间的交点作为一个脖子关键点标注在所述样本图上;

将所述直线进行水平翻转,并将翻转后的直线与所述脖子区域边缘之间的交点作为另一个脖子关键点标注在所述样本图上;

对所述样本图上标注的脖子关键点进行微调。

5.根据权利要求2所述的方法,其特征在于,所述定位所述样本图中的脖子区域,包括:将所述样本图输入预设的分割模型,以由所述分割模型对所述样本图进行语义分割;

将语义分割结果为脖子的像素所组成的区域确定为脖子区域。

6.一种脖子关键点检测模型训练装置,其特征在于,所述装置包括:斜率获取模块,用于确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率;所述参考点为脖子区域与衣服接触边缘的中间点;

预测模块,用于将所述样本图输入预先构建的脖子关键点检测模型,以由所述脖子关键点检测模型进行学习,并输出脖子关键点;

损失计算模块,用于利用模型输出的脖子关键点、标注的脖子关键点、以及所述实际斜率计算损失值;

参数优化模块,用于在所述损失值大于预设值时,根据所述损失值优化所述脖子关键点检测模型的网络参数,并继续执行所述预测模块的过程,直至所述损失值低于预设值结束;

其中,所述损失计算模块,具体用于获取模型输出的脖子关键点与标注的脖子关键点之间的位置误差;根据所述位置误差和所述实际斜率确定损失权重;确定第一样本图向量信息与第二样本图向量信息之间的欧式距离,所述第一样本图向量信息为携带模型输出的脖子关键点的样本图的向量,所述第二样本图向量信息为携带标注的脖子关键点的样本图的向量;利用所述损失权重和所述欧式距离计算损失值。

7.一种脖子关键点检测方法,其特征在于,所述方法包括:对接收到的用户图像进行预处理,以得到待检测图像;

将所述待检测图像输入上述权利要求1至5任一项训练得到的脖子关键点检测模型,以由所述脖子关键点检测模型预测所述待检测图像中的脖子关键点并输出。

8.根据权利要求7所述的方法,其特征在于,所述对接收到的用户图像进行预处理,以得到待检测图像,包括:对所述用户图像进行预设种类的数据增强处理;

确定处理后的用户图像中包含脖子的人脸区域面积占处理后的用户图像的比例;

如果所述比例超过预设比例,则将处理后的用户图像确定为待检测图像;

如果所述比例未超过预设比例,则从处理后的用户图像中抠取包含脖子的人脸区域,并对抠取出的人脸区域进行尺寸放大后确定为待检测图像。

9.根据权利要求7所述的方法,其特征在于,所述脖子关键点检测模型预测所述待检测图像中的脖子关键点,包括:通过所述脖子关键点检测模型中的卷积模块对所述待检测图像进行卷积操作,以得到基础特征图;

通过所述脖子关键点检测模型中的线性运算层对所述基础特征图进行线性运算,以得到与所述基础特征图相似的重影特征图;

通过所述脖子关键点检测模型中的输出层根据所述基础特征图和所述重影特征图进行脖子关键点预测。

10.一种脖子关键点检测装置,其特征在于,所述装置包括:预处理模块,用于对接收到的用户图像进行预处理,以得到待检测图像;

检测模块,用于将所述待检测图像输入上述权利要求1至5任一项训练得到的脖子关键点检测模型,以由所述脖子关键点检测模型预测所述待检测图像中的脖子关键点并输出。

11.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1‑5或7‑9任一项所述方法的步骤。

12.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现如权利要求1‑5或7‑9任一项所述方法的步骤。

说明书 :

脖子关键点检测方法及装置、检测模型训练方法及装置

技术领域

[0001] 本发明涉及图像处理技术领域,具体涉及一种脖子关键点检测方法及装置、检测模型训练方法及装置。

背景技术

[0002] 目前,对于人像的图像处理应用越来越多,在医美领域,对人像的拼接操作技术是模拟整形应用最为广泛。
[0003] 然而,现有技术中对人像拼接操作主要关注的是人脸关键点的检测,根据检测到的人脸关键点进行各种拼接变形操作,而未关注脖子区域对人脸与脖子衔接的影响,导致后续对人脸进行相关操作后出现人脸与脖子衔接不恰当。

发明内容

[0004] 本发明的目的是针对上述现有技术的不足提出的一种脖子关键点检测方法及装置、检测模型训练方法及装置,该目的是通过以下技术方案实现的。
[0005] 本发明的第一方面提出了一种脖子关键点检测模型训练方法,所述方法包括:
[0006] 确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率;
[0007] 将所述样本图输入预先构建的脖子关键点检测模型,以由所述脖子关键点检测模型进行学习,并输出脖子关键点;
[0008] 利用模型输出的脖子关键点、标注的脖子关键点、以及所述实际斜率计算损失值;
[0009] 在所述损失值大于预设值时,根据所述损失值优化所述脖子关键点检测模型的网络参数,并继续执行将所述样本图输入预先构建的脖子关键点检测模型的过程,直至所述损失值低于预设值结束。
[0010] 在本申请的一些实施例中,所述确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率,包括:
[0011] 获取数据集,所述数据集中的每一样本图均包含用户头像;针对所述数据集中每一样本图,定位所述样本图中的脖子区域;检测所述脖子区域与衣服接触边缘的中间点确定为参考点;在所述样本图上标注脖子关键点,并确定由标注的脖子关键点与所述参考点决定的直线所具有的实际斜率。
[0012] 在本申请的一些实施例中,在所述样本图上标注脖子关键点之后,所述方法还包括:
[0013] 对所述数据集中的样本图每进行一种数据增强处理,将处理后的样本图添加到所述数据集中,以扩充所述数据集。
[0014] 在本申请的一些实施例中,所述在所述样本图上标注脖子关键点,包括:
[0015] 利用预设斜率确定一条经过所述参考点的直线,所述预设斜率为标注样本前根据实践预先设置的一个斜率;将所述直线与所述脖子区域边缘之间的交点作为一个脖子关键点标注在所述样本图上;将所述直线进行水平翻转,并将翻转后的直线与所述脖子区域边缘之间的交点作为另一个脖子关键点标注在所述样本图上;对所述样本图上标注的脖子关键点进行微调。
[0016] 在本申请的一些实施例中,所述定位所述样本图中的脖子区域,包括:
[0017] 将所述样本图输入预设的分割模型,以由所述分割模型对所述样本图进行语义分割;将语义分割结果为脖子的像素所组成的区域确定为脖子区域。
[0018] 在本申请的一些实施例中,所述利用模型输出的脖子关键点、标注的脖子关键点、以及所述实际斜率计算损失值,包括:
[0019] 获取模型输出的脖子关键点与标注的脖子关键点之前的位置误差;根据所述位置误差和所述实际斜率确定损失权重;确定携带模型输出的脖子关键点的样本图向量信息与携带标注的脖子关键点的样本图向量信息之间的欧式距离;利用所述损失权重和所述欧式距离计算损失值。
[0020] 本发明的第二方面提出了一种脖子关键点检测模型训练装置,所述装置包括:
[0021] 斜率获取模块,用于确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率;
[0022] 预测模块,用于将所述样本图输入预先构建的脖子关键点检测模型进行学习,并输出脖子关键点;
[0023] 损失计算模块,用于利用模型输出的脖子关键点、标注的脖子关键点、以及所述实际斜率计算损失值;
[0024] 参数优化模块,用于在所述损失值大于预设值时,根据所述损失值优化所述脖子关键点检测模型的网络参数,并继续执行所述预测模块的过程,直至所述损失值低于预设值结束。
[0025] 本发明的第三方面提出了一种脖子关键点检测方法,所述方法包括:
[0026] 对接收到的用户图像进行预处理,以得到待检测图像;
[0027] 将所述待检测图像输入上述第一方面训练得到的脖子关键点检测模型,以由所述脖子关键点检测模型预测所述待检测图像中的脖子关键点并输出。
[0028] 在本申请的一些实施例中,所述对接收到的用户图像进行预处理,以得到待检测图像,包括:
[0029] 对所述用户图像进行预设种类的数据增强处理;确定处理后的用户图像中包含脖子的人脸区域面积占处理后的用户图像的比例;如果所述比例超过预设比例,则将处理后的用户图像确定为待检测图像;如果所述比例未超过预设比例,则从处理后的用户图像中抠取包含脖子的人脸区域,并对抠取出的人脸区域进行尺寸放大后确定为待检测图像。
[0030] 在本申请的一些实施例中,所述脖子关键点检测模型预测所述待检测图像中的脖子关键点,包括:
[0031] 通过所述脖子关键点检测模型中的卷积模块对所述待检测图像进行卷积操作,以得到基础特征图;通过所述脖子关键点检测模型中的线性运算层对所述基础特征图进行线性运算,以得到与所述基础特征图相似的重影特征图;通过所述脖子关键点检测模型中的输出层根据所述基础特征图和所述重影特征图进行脖子关键点预测。
[0032] 本发明的第四方面提出了一种脖子关键点检测装置,所述装置包括:
[0033] 预处理模块,用于对接收到的用户图像进行预处理,以得到待检测图像;
[0034] 检测模块,用于将所述待检测图像输入上述第一方面训练得到的脖子关键点检测模型,以由所述脖子关键点检测模型预测所述待检测图像中的脖子关键点并输出。
[0035] 本发明的第五方面提出了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如上述第一方面或第三方面所述方法的步骤。
[0036] 本发明的第六方面提出了一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现如上述第一方面或第三方面所述方法的步骤。
[0037] 基于上述所述的脖子关键点检测方法及脖子关键点检测模型训练方法,本发明至少具有如下有益效果或优点:
[0038] 通过提出一种专属于脖子关键点检测的模型,精准地预测出图像中的脖子关键点,从而为后续对人脸进行的相关操作提供基础,使得人脸与脖子衔接恰当。
[0039] 针对脖子关键点检测模型的训练过程,在训练数据准确阶段,通过获取标注出的脖子关键点与参考点之间的实际斜率,在训练阶段,通过使用这个实际斜率、预测结果、标注结果进行损失计算,并根据计算结果进行网络参数优化,以提升模型检测的鲁棒性和准确性。

附图说明

[0040] 此处所说明的附图用来提供对本发明的进一步理解,构成本发明的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:
[0041] 图1为本发明根据一示例性实施例示出的一种脖子关键点检测模型训练方法的实施例流程图;
[0042] 图2为本发明根据图1所示实施例示出的样本图的标注示意图;
[0043] 图3为本发明根据一示例性实施例示出的一种脖子关键点检测方法的实施例流程图;
[0044] 图4为本发明根据图3所示实施例示出的一种脖子关键点检测模型的结构示意图;
[0045] 图5为本发明根据一示例性实施例示出的一种脖子关键点检测模型训练装置的结构示意图;
[0046] 图6为本发明根据一示例性实施例示出的一种脖子关键点检测装置的结构示意图;
[0047] 图7为本发明根据一示例性实施例示出的一种电子设备的硬件结构示意图图;
[0048] 图8为本发明根据一示例性实施例示出的一种存储介质的结构示意图。

具体实施方式

[0049] 这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
[0050] 在本发明使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本发明。在本发明和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
[0051] 应当理解,尽管在本发明可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本发明范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
[0052] 为了实现脖子关键点的精准预测,本申请提出一种脖子关键点检测模型的训练方法,即通过确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率,并将样本图输入预先构建的脖子关键点检测模型,以由脖子关键点检测模型预测脖子关键点,然后利用模型输出的脖子关键点、标注的脖子关键点、以及实际斜率计算损失值,并在损失值大于预设值时,根据损失值优化脖子关键点检测模型的网络参数,并继续进行训练,直至损失值低于预设值结束训练。
[0053] 基于上述描述可达到的技术效果有:
[0054] 在训练数据准确阶段,通过获取标注出的脖子关键点与参考点之间的实际斜率,在训练阶段,通过使用这个实际斜率、预测结果、标注结果进行损失计算,以提升模型检测的鲁棒性和准确性。并且该模型专用于脖子关键点的检测,可以精准地预测出图像中的脖子关键点,以为后续对人脸进行的相关操作提供基础,使得人脸与脖子衔接恰当。
[0055] 为了使本领域技术人员更好的理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述。
[0056] 实施例一:
[0057] 图1为本发明根据一示例性实施例示出的一种脖子关键点检测模型训练方法的实施例流程图,如图1所示,该脖子关键点检测模型的训练方法包括如下步骤:
[0058] 步骤101:确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率。
[0059] 其中,通常脖子属于连接人脸与人体的关键器官,其与人体之间具有一定几何约束关系,即脖子两边相对脖子中心线水平对称,因此通过在脖子的左右两边分别标注一个关键点,便可以决定脖子相对人脸的位置。
[0060] 在一种可能的实现方式中,在获取到数据集后,针对数据集中每一样本图,定位出样本图中的脖子区域,并检测脖子区域与衣服接触边缘的中间点确定为参考点,然后在样本图上标注脖子关键点,并确定由标注的脖子关键点与参考点决定的直线所具有的实际斜率。
[0061] 其中,数据集中的每一样本图均包含用户头像,通过将脖子区域与衣服接触边缘的中间点作为参考点,脖子两边分别标注的两个脖子关键点与参考点之间会形成一个等腰三角约束关系,因此通过计算标注的脖子关键点与参考点之间的实际斜率,可以为后续的损失计算提供约束条件,以提升模型的鲁棒性。
[0062] 针对定位样本图中的脖子区域的过程,在一可选的实施例中,通过将样本图输入预设的分割模型,以由分割模型对样本图进行语义分割,并将语义分割结果为脖子的像素所组成的区域确定为脖子区域。
[0063] 其中,通过使用语义分割模型进行脖子区域定位,可以确保脖子区域的精度。示例性的,分割模型可以采用HRNet分割模型。
[0064] 针对在样本图上标注脖子关键点,在一可选的实施例中,通过利用预设斜率确定一条经过该参考点的直线,并将该直线与脖子区域边缘之间的交点作为一个脖子关键点标注在样本图上,然后再将该直线进行水平翻转,并将翻转后的直线与脖子区域边缘之间的交点作为另一个脖子关键点标注在样本图上,最后再对样本图上标注的脖子关键点进行微调,从而完成样本图的标注。
[0065] 其中,预设斜率为标注样本图前根据实践预先设置的一个斜率,通过利用几何约束和斜率计算标注脖子关键点后再进行微调,可以节省标注工作量。
[0066] 如图2所示,脖子区域与衣服接触边缘的中间点O,以O点为原点建立直角坐标系,利用点O和预设斜率k确定一条直线m,该直线m与脖子区域边缘之间的交点B作为一个脖子关键点,将直线m进行水平翻转后得到直线m’,将直线m’与脖子区域边缘之间的交点A作为另一个脖子关键点。
[0067] 由于图像拍摄环境影响,由几何约束,斜率计算标注的脖子关键点可能存在标注误差,因此再通过人工对样本图上标注的脖子关键点进行微调后,完成样本图的最终标注。
[0068] 需要补充说明的是,样本图上最终标注的脖子关键点为经过微调后的点,因此由标注的脖子关键点与参考点决定的直线具有的实际斜率与预设斜率之间存在差距。
[0069] 需要进一步补充说明的是,在样本图上标注脖子关键点之后,还可以对数据集中的样本图每进行一种数据增强处理,将处理后的样本图添加到数据集中,以扩充数据集,提升模型性能。
[0070] 其中,数据增强种类可以包括裁剪、翻转、变形、颜色变换、光照变换等。
[0071] 步骤102:将样本图输入预先构建的脖子关键点检测模型,以由脖子关键点检测模型进行学习,并输出脖子关键点。
[0072] 其中,模型在训练过程中,会对输入的样本图进行不断的学习,以实现脖子关键点的精准识别,因此在训练过程中,模型输出的脖子关键点精准度不高。
[0073] 步骤103:利用模型输出的脖子关键点、标注的脖子关键点、以及实际斜率计算损失值。
[0074] 在一种可能的实现方式中,通过获取模型输出的脖子关键点与标注的脖子关键点之前的位置误差,并根据该位置误差和实际斜率确定损失权重,然后确定携带模型输出的脖子关键点的样本图向量信息与携带标注的脖子关键点的样本图向量信息之间的欧式距离,并利用该损失权重和该欧式距离计算损失值。
[0075] 其中,根据位置误差和实际斜率计算损失权重的计算公式如下:
[0076] Yn=K1*Y1+K2*Y2  (公式1)
[0077] 上述公式1中,K1和K2分别为位置误差和实际斜率的权重占比,在训练过程中动态调整,Y1和Y2分别表示位置误差和实际斜率。由此可见,位置误差和实际斜率按照比例进行结合,生成最终的损失权重Yn。
[0078] 携带模型输出的脖子关键点的样本图向量信息与携带标注的脖子关键点的样本图向量信息之间的欧式距离计算公式如下:
[0079]
[0080] 上述公式2中,a表示携带模型输出的脖子关键点的样本图向量信息,b为携带标注的脖子关键点的样本图向量信息。
[0081] 利用损失权重和欧式距离计算损失值的计算公式如下:
[0082]
[0083] 上述公式3中,M为样本个数,N为每个样本的特征点个数,本发明中,N=2,Yn为特征点的损失权重, 为第m个样本中第n个特征点的欧氏距离。由此可见,在计算出损失权重后,结合像素的欧氏距离即可得到最终的损失。
[0084] 步骤104:在损失值大于预设值时,根据损失值优化脖子关键点检测模型的网络参数,并继续执行步骤102的过程。
[0085] 本领域技术人员可以理解的是,对于网络参数的优化过程,可以使用Adamw优化器进行优化。
[0086] 步骤105:在损失值小于预设值时,停止训练流程。
[0087] 需要补充说明的是,对于模型训练结束条件,还包含有其他指标条件,例如模型的精确率高于一定数值,召回率高于一定数值的条件,这些指标条件均属于常规模型训练结束条件,并不形成对本发明保护范围的限定。
[0088] 至此,完成上述图1所示的训练流程,在训练数据准确阶段,通过获取标注出的脖子关键点与参考点之间的实际斜率,在训练阶段,通过使用这个实际斜率、预测结果、标注结果进行损失计算,以提升模型检测的鲁棒性和准确性。并且该模型专用于脖子关键点的检测,可以精准地预测出图像中的脖子关键点,以为后续对人脸进行的相关操作提供基础,使得人脸与脖子衔接恰当。
[0089] 实施例二:
[0090] 图3为本发明根据一示例性实施例示出的一种脖子关键点检测方法的实施例流程图,基于上述图1所示实施例的基础上,如图3所示,该脖子关键点检测方法包括如下步骤:
[0091] 步骤301:对接收到的用户图像进行预处理,以得到待检测图像。
[0092] 其中,用户图像的预处理为将用户图像处理为适合输入模型进行预测的图像。
[0093] 在一种可能的实现方式中,通过对用户图像进行预设种类的数据增强处理,并确定处理后的用户图像中包含脖子的人脸区域面积占处理后的用户图像的比例,如果该比例超过预设比例,说明图像中包含脖子的人脸区域占比比较高,可以直接将处理后的用户图像确定为待检测图像,如果该比例未超过预设比例,说明图像中包含脖子的人脸区域占比低,模型有可能无法检测,则从处理后的用户图像中抠取包含脖子的人脸区域,并对抠取出的人脸区域进行尺寸放大后确定为待检测图像,以提升模型检测准确性。
[0094] 其中,通过对原始的用户图像进行预设种类的数据增强处理可以提升模型检测的鲁棒性。示例性的,该预设种类可以是翻转、变形、颜色变换、光照变换等。
[0095] 步骤302:将待检测图像输入训练好的脖子关键点检测模型,以由脖子关键点检测模型预测待检测图像中的脖子关键点并输出。
[0096] 在一可选的实施例中,如图4所示的脖子关键点检测模型结构,通过卷积模块对待检测图像进行卷积操作,以得到基础特征图,通过线性运算层对基础特征图进行线性运算,以得到与基础特征图相似的重影特征图,通过脖子关键点检测模型中的输出层根据基础特征图和重影特征图进行脖子关键点预测。
[0097] 其中,线性运算属于简单运算,其计算量很少,通过使用卷积模块与线性运算层的结合得到所有特征图,相对单独使用卷积操作得到相同数量特征图,具有轻量高效的特点。
[0098] 至此,完成上述图3所示的脖子关键点检测流程,通过提出一种专属于脖子关键点检测的模型,精准地预测出图像中的脖子关键点,从而为后续对人脸进行的相关操作提供基础,使得人脸与脖子衔接恰当。
[0099] 与前述脖子关键点检测模型训练方法的实施例相对应,本发明还提供了脖子关键点检测模型训练装置的实施例。
[0100] 图5为本发明根据一示例性实施例示出的一种脖子关键点检测模型训练装置的结构示意图,该装置用于执行上述任一实施例提供的脖子关键点检测模型训练方法,如图5所示,该脖子关键点检测模型训练装置包括:
[0101] 斜率获取模块510,用于确定样本图中由标注的脖子关键点与参考点决定的直线所具有的实际斜率;
[0102] 预测模块520,用于将所述样本图输入预先构建的脖子关键点检测模型,以由所述脖子关键点检测模型进行学习,并输出脖子关键点;
[0103] 损失计算模块530,用于利用模型输出的脖子关键点、标注的脖子关键点、以及所述实际斜率计算损失值;
[0104] 参数优化模块540,用于在所述损失值大于预设值时,根据所述损失值优化所述脖子关键点检测模型的网络参数,并继续执行所述预测模块520的过程,直至所述损失值低于预设值结束。
[0105] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0106] 与前述脖子关键点检测方法的实施例相对应,本发明还提供了脖子关键点检测装置的实施例。
[0107] 图6为本发明根据一示例性实施例示出的一种脖子关键点检测装置的结构示意图,该装置用于执行上述任一实施例提供的脖子关键点检测方法,如图6所示,该脖子关键点检测装置包括:
[0108] 预处理模块610,用于对接收到的用户图像进行预处理,以得到待检测图像;
[0109] 检测模块620,用于将所述待检测图像输入上述第一方面训练得到的脖子关键点检测模型,以由所述脖子关键点检测模型预测所述待检测图像中的脖子关键点并输出。
[0110] 上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0111] 对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本发明方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0112] 本发明实施方式还提供一种与前述实施方式所提供的脖子关键点检测方法或脖子关键点检测模型训练方法对应的电子设备,以执行上述脖子关键点检测方法或脖子关键点检测模型训练方法。
[0113] 图7为本发明根据一示例性实施例示出的一种电子设备的硬件结构图,该电子设备包括:通信接口601、处理器602、存储器603和总线604;其中,通信接口601、处理器602和存储器603通过总线604完成相互间的通信。处理器602通过读取并执行存储器603中与脖子关键点检测方法或脖子关键点检测模型训练的控制逻辑对应的机器可执行指令,可执行上文描述的脖子关键点检测方法或脖子关键点检测模型训练方法,方法的具体内容参见上述实施例,此处不再累述。
[0114] 本发明中提到的存储器603可以是任何电子、磁性、光学或其它物理存储装置,可以包含存储信息,如可执行指令、数据等等。具体地,存储器603可以是RAM(Random Access Memory,随机存取存储器)、闪存、存储驱动器(如硬盘驱动器)、任何类型的存储盘(如光盘、DVD等),或者类似的存储介质,或者它们的组合。通过至少一个通信接口601(可以是有线或者无线)实现该系统网元与至少一个其他网元之间的通信连接,可以使用互联网、广域网、本地网、城域网等。
[0115] 总线604可以是ISA总线、PCI总线或EISA总线等。所述总线可以分为地址总线、数据总线、控制总线等。其中,存储器603用于存储程序,所述处理器602在接收到执行指令后,执行所述程序。
[0116] 处理器602可能是一种集成电路芯片,具有信号的处理能力。在实现过程中,上述方法的各步骤可以通过处理器602中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器602可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(DSP)、专用集成电路(ASIC)、现成可编程门阵列(FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本申请实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本申请实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。
[0117] 本申请实施例提供的电子设备与本申请实施例提供的脖子关键点检测方法或脖子关键点检测模型训练方法出于相同的发明构思,具有与其采用、运行或实现的方法相同的有益效果。
[0118] 本申请实施方式还提供一种与前述实施方式所提供的脖子关键点检测方法或脖子关键点检测模型训练方法对应的计算机可读存储介质,请参考图8所示,其示出的计算机可读存储介质为光盘30,其上存储有计算机程序(即程序产品),所述计算机程序在被处理器运行时,会执行前述任意实施方式所提供的脖子关键点检测方法或脖子关键点检测模型训练方法。
[0119] 需要说明的是,所述计算机可读存储介质的例子还可以包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他光学、磁性存储介质,在此不再一一赘述。
[0120] 本申请的上述实施例提供的计算机可读存储介质与本申请实施例提供的脖子关键点检测方法或脖子关键点检测模型训练方法出于相同的发明构思,具有与其存储的应用程序所采用、运行或实现的方法相同的有益效果。
[0121] 本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本发明的其它实施方案。本发明旨在涵盖本发明的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本发明的一般性原理并包括本发明未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本发明的真正范围和精神由下面的权利要求指出。
[0122] 还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
[0123] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。