CN113723146A - 人脸关键点检测模型的训练方法及装置 - Google Patents
人脸关键点检测模型的训练方法及装置 Download PDFInfo
- Publication number
- CN113723146A CN113723146A CN202010453096.2A CN202010453096A CN113723146A CN 113723146 A CN113723146 A CN 113723146A CN 202010453096 A CN202010453096 A CN 202010453096A CN 113723146 A CN113723146 A CN 113723146A
- Authority
- CN
- China
- Prior art keywords
- face
- key point
- face key
- detection model
- loss function
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/21—Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
- G06F18/214—Generating training patterns; Bootstrap methods, e.g. bagging or boosting
Landscapes
- Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Theoretical Computer Science (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本申请实施例提供了一种人脸关键点检测模型的训练方法及装置。在该方法中,针对人脸关键点检测模型的训练样本集中的各个训练样本,采用所述人脸关键点检测模型对训练样本进行人脸关键点定位,以得到该训练样本中至少一个人脸关键点的预测位置,针对各个人脸关键点,计算人脸关键点的预测位置和真实位置之间的位置误差,并根据位置误差确定人脸关键点对应的损失函数值;当人脸关键点检测模型的损失函数值低于设定阈值时,确定人脸关键点检测模型满足训练结束条件。由此,可以有效提高经训练后的人脸关键点检测模型的性能。
Description
技术领域
本申请实施例涉及互联网领域,具体地,涉及一种人脸关键点检测模型的训练方法及装置。
背景技术
随着人工智能技术的飞速发展,神经网络和机器学习模型已经被广泛地应用各个领域,为人们的生活和工作带来了便利。示例性地,应用机器学习模型能够高效地识别人脸信息所对应的用户身份,从而完成支付或考勤打卡等操作。
此外,人脸关键点检测是许多人脸应用的关键步骤,其作为基础模块被广泛应用于人脸对齐、人脸识别、三维人脸重建以及表情分析等人脸属性分析中。
近年来,基于深度学习的人脸关键点检测方法与传统方法相比,检测效果有大幅提升。然而,现有的基于深度学习的人脸关键点检测模型的性能仍然存在一些缺陷,例如在模型的收敛速度以及鲁棒性方面的性能仍不够理想等等。
发明内容
鉴于上述问题,本申请实施例提供了一种人脸关键点检测模型的训练方法及装置,用以至少解决目前人脸关键点检测模型的性能较差的问题。
根据本申请实施例的一个方面,提供了一种人脸关键点检测模型的训练方法,包括:针对人脸关键点检测模型的训练样本集中的各个训练样本,采用所述人脸关键点检测模型对所述训练样本进行人脸关键点定位,以得到该训练样本中至少一个人脸关键点的预测位置,其中,所述训练样本标记有所述人脸关键点的真实位置;针对各个所述人脸关键点,计算所述人脸关键点的预测位置和所述真实位置之间的位置误差,并根据所述位置误差确定所述人脸关键点对应的损失函数值;根据所述训练样本集中各个人脸关键点所分别对应的损失函数值,计算所述人脸关键点检测模型的损失函数值;当所述人脸关键点检测模型的损失函数值低于设定阈值时,确定所述人脸关键点检测模型满足训练结束条件。
根据本申请实施例的另一方面,还提供一种人脸关键点检测模型的训练装置,包括:模型预测单元,被配置为针对人脸关键点检测模型的训练样本集中的各个训练样本,采用所述人脸关键点检测模型对所述训练样本进行人脸关键点定位,以得到该训练样本中至少一个人脸关键点的预测位置,其中,所述训练样本标记有所述人脸关键点的真实位置;关键点损失计算单元,被配置为针对各个所述人脸关键点,计算所述人脸关键点的预测位置和所述真实位置之间的位置误差,并根据所述位置误差确定所述人脸关键点对应的损失函数值;模型损失计算单元,被配置为根据所述训练样本集中各个人脸关键点所分别对应的损失函数值,计算所述人脸关键点检测模型的损失函数值;模型收敛确定单元,被配置为当所述人脸关键点检测模型的损失函数值低于设定阈值时,确定所述人脸关键点检测模型满足训练结束条件。
根据本申请实施例的另一方面,还提供一种电子设备,包括:至少一个处理器;以及存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如上所述的人脸关键点检测模型的训练方法。
根据本申请实施例的另一方面,还提供一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如上所述的人脸关键点检测模型的训练方法。
本申请实施例采用的上述至少一个技术方案能够达到以下有益效果:
针对人脸关键点检测模型的训练样本集中的各个训练样本,分别计算训练样本中各个人脸关键点的预测位置和真实位置之间的位置误差,并根据位置误差来确定人脸关键点所对应的损失函数值,进而通过训练样本集中各个人脸关键点的损失函数值来确定是否满足训练结束条件(或收敛条件)。由此,综合考虑训练样本集中各个人脸关键点的损失函数值来确定模型的损失,并以此来识别模型是否收敛,可以保障训练结束后所得到人脸关键点检测模型具有较高性能。
附图说明
通过参照下面的附图,可以实现对于本申请实施例内容的本质和优点的进一步理解。在附图中,类似组件或特征可以具有相同的附图标记。附图是用来提供对本发明实施例的进一步理解,并且构成申请的一部分,与下面的具体实施方式一起用于解释本申请实施例,但并不构成对本申请实施例的限制。在附图中:
图1示出了根据本申请实施例的人脸关键点检测模型的训练方法的一示例的流程图;
图2示出了根据本申请实施例的计算人脸关键点的损失函数值的一示例的流程图;
图3示出了根据本申请实施例的确定人脸关键点对应的损失函数值的一示例的流程图;
图4示出了根据本申请实施例的确定人脸关键点检测模型是否满足训练结束条件的一示例的流程图;
图5示出了根据本申请实施例的扩充训练样本集的一示例的流程图;
图6示出了根据本申请实施例的人脸关键点检测模型的训练装置的一示例的结构框图;和
图7示出了根据本申请实施例的用于训练人脸关键点检测模型的电子设备的一示例的硬件结构图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当清楚,在没有这些具体细节的其它实施例中也可以实现本申请。在其它情况中,省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节妨碍本申请的描述。
应当理解,当在本申请说明书和所附权利要求书中使用时,术语“包括”指示所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书和所附权利要求书中使用的术语“和/或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且包括这些组合。
如在本申请说明书和所附权利要求书中所使用的那样,术语“如果”可以依据上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。类似地,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述条件或事件]”或“响应于检测到[所描述条件或事件]”。另外,在本申请说明书和所附权利要求书的描述中,术语“第一”、“第二”、“第三”等仅用于区分描述,而不能理解为指示或暗示相对重要性。
在本申请说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
图1示出了根据本申请实施例的人脸关键点检测模型的训练方法的一示例的流程图。
如图1所示的流程100中,在步骤110中,针对人脸关键点检测模型的训练样本集中的各个训练样本,采用人脸关键点检测模型对训练样本进行人脸关键点定位,以得到该训练样本中至少一个人脸关键点的预测位置。这里,训练样本标记有人脸关键点的真实位置,例如可以预先手动地在人脸图像上标注出各个人脸关键点的真实位置,从而生成相应的训练样本。
在步骤120中,针对各个人脸关键点,计算人脸关键点的预测位置和真实位置之间的位置误差,并根据位置误差确定人脸关键点对应的损失函数值。示例性地,可以将位置误差代入到模型中预配置的损失函数中,计算出相应的损失函数值。
在步骤130中,根据训练样本集中各个人脸关键点所分别对应的损失函数值,计算人脸关键点检测模型的损失函数值。示例性地,可以将训练样本集中各个训练样本下所有人脸关键点的损失函数值进行叠加,从而得到人脸关键点检测模型的损失函数值。
在步骤140中,当人脸关键点检测模型的损失函数值低于设定阈值时,确定人脸关键点检测模型满足训练结束条件。这里,可以将所得到的人脸关键点检测模型的损失函数值与设定阈值进行对比,并当人脸关键点检测模型的损失函数值小于设定阈值时,可以确定模型已经训练收敛,此时满足训练结束条件。此外,当人脸关键点检测模型的损失函数值大于或等于设定阈值时,则需要对模型继续进行训练。
图2示出了根据本申请实施例的计算人脸关键点的损失函数值的一示例的流程图。
如图2所示,在步骤210中,将位置误差与各个预设位置误差分段进行匹配,以确定相应的设定损失函数。这里,在人脸关键点检测模型中配置了预设数量的预设位置误差分段以及与预设位置误差分段分别唯一对应的预设数量的设定损失函数。
示例性地,可以预先准备训练样本集具有n个训练样本训练样本集{S1、S2、...、Sn},并利用这些训练样本(例如,人脸图像)对人脸关键点检测模型进行训练操作。在人脸关键点检测模型使用样本S1进行训练时,人脸关键点检测模型可以对训练样本S1中的人脸关键点(例如,人脸轮廓点)进行定位,得到S1中各个人脸关键点的预测位置。然后,将样本S1中的各个人脸关键点(E1、E2、...、En)的预测位置分别与相应的真实位置进行对比,从而得到样本S1中的各个人脸关键点(E1、E2、...、En)的位置误差(x1、x2、...、xn)。
这里,在人脸关键点检测模型中配置了与多个预设位置误差分段分别唯一对应的多个设定损失函数,例如针对位置误差分段[s1,sm]的设定损失函数f1,针对位置误差分段[sm,sn]的设定损失函数f2,针对位置误差分段[sn,sp]的设定损失函数f3,等等。进而,将计算所得到的人脸关键点的位置误差和相应的位置误差分段进行匹配,从而确定人脸关键点所适用的损失函数,并计算相应的损失函数值,例如当x1位于分段[s1,sm]内时,使用设定损失函数f1来计算样本S1的关键点E1所对应的损失函数值。
在步骤220中,根据位置误差和所确定的设定损失函数,计算该人脸关键点所对应的损失函数值。示例性地,可以将位置误差代入到相适应的损失函数中,从而计算出相应的损失函数值。
在本申请实施例中,人脸关键点检测模型中存在预设数量(例如,多个)与预设位置误差分段对应的设定损失函数,并且针对不同的位置误差分别采用适应性的损失函数,可以加快模型的收敛速度,还能保障所得到的人脸关键点检测模型的鲁棒性
在一些实施方式中,还可以根据产品或业务需求来配置或定义在人脸关键点检测模型中与不同位置误差分段相对应的各个设定损失函数,从而满足各种产品和应用场景的需求。
在目前相关技术中,人脸关键点检测模型一般采用单一的损失函数,无法适用在模型训练的各个阶段,导致无法产生较佳的模型性能。示例性地,在模型训练前期,存在误差(预测值与真实值差异)较大而导致的训练不稳定(L2loss)的问题。在模型训练后期,存在误差过小而导致模型网络在稳定值附近波动的问题,并且模型难以收敛达到更高精度(L1loss)、离群样本和难样本的干扰(L2loss)以及模型网络主要被大误差主导而对小误差不友好,导致无法收敛至最佳值(smooth L1Loss)的问题。
鉴于此,在本申请实施例的一些示例中,在人脸关键点检测模型所配置的预设数量或多个设定损失函数中,对应较大的一个或多个预设位置误差分段的设定损失函数中关于位置误差的梯度的模可以较大。具体地,设定损失函数(即,f(x))是与位置误差(即,x)相关的函数式,梯度的模可以表示损失函数值f(x)随着x变化而改变的幅度。由此,在位置误差处于较大的预设位置误差分段时,损失函数能快速缩小误差,让模型快速收敛。
在本申请实施例的一些示例中,针对取值特别小的预设位置误差分段,比如对应最小的一个或连续多个预设位置误差分段(例如,包含|x|=0的误差分段),人脸关键点可能会在该误差分段中完成训练,此时该误差分段所对应的设定损失函数的梯度可以是与位置误差x相关的反比例函数(即,k/x)。由此,在模型迭代的过程中接近收敛时,误差越小,梯度越大,使得在综合所有关键点的贡献时,梯度主要会被小误差主导,这样可以让网络收敛至更高精度。
进一步地,对应最小的一个或连续多个预设位置误差分段的设定损失函数中设有针对位置误差的偏置量。这样,可以防止损失函数过度受小误差影响,避免模型网络在稳定值附近波动,从而加速模型收敛。
应理解的是,人脸关键点检测模型的训练质量很大程度取决于损失函数的设计。本申请实施例中为人脸关键点检测模型配置了多个损失函数,并可以根据误差的大小而进行适应性调整。
需说明的是,由于在人脸关键点任务中,正脸图像较多而大姿态的人脸图像太少,再加上姿态较大时人脸可见范围缩小,关键点定位难度会加大。
鉴于此,图3示出了根据本申请实施例的确定人脸关键点对应的损失函数值的一示例的流程图。
如图3所示,在步骤310中,基于训练样本的各个人脸关键点的预测位置,计算相应的人脸姿态角。这里,可以通过各种姿态计算方式来计算人脸姿态角,例如根据各个人脸关键点的相对位置来进行计算。
在步骤320中,根据位置误差和所计算的人脸姿态角,确定人脸关键点对应的损失函数值。示例性地,人脸关键点检测模型中所配置的损失函数(例如,各个设定损失函数)是与人脸姿态角(例如,多个维度的人脸转向角度)相关的函数式。因此,在得到该训练样本中至少一个人脸关键点的预测位置之后,还可以基于训练样本的各个人脸关键点的预测位置来计算相应的人脸姿态角。进而,在选用相应的设定损失函数后,可以代入人脸姿态角以得出相应的损失函数值。
由此,将人脸姿态角的几何信息考虑到损失惩罚中,使得模型训练能够更加关注姿态较大的人脸样本,从而提升人脸关键点检测模型的训练质量,能较佳地检测大姿态人脸图像中的人脸关键点。
在本申请实施例的一些示例中,人脸关键点检测模型中的多个设定损失函数AdaptiveLose(x)的表达式可以为下式(1)所示:
其中,x表示预测位置与真实位置之间的位置误差,θ表示人脸姿态角,C为常数(例如,可以取2.2),K为3,以及θk表示人脸俯仰角、翻滚角或偏航角。
这样,当误差较小时(x<10),由于ln(x)函数的梯度为1/x,故误差越小梯度值越大,当综合所有关键点的贡献时,梯度主要会被小误差主导,这样可以让模型网络收敛至更高精度;并且,在x<10的损失函数中存在偏置,ln(1+0.5*|x|)中的偏置量ln1可以防止损失函数过度受小误差影响。此外,当误差较大时(x>10),由于|x|梯度为±1,故损失函数能较为快速缩小误差,让网络收敛到稳定值,且|x|,即L1损失函数对离群点更加鲁棒。
如上面所描述的一样,由于在人脸关键点任务中,正脸图像样本较多、大姿态的人脸图像样本太少,再加上姿态较大时人脸可见范围缩小,会加大关键点定位难度。因此,在式(1)中,将姿态角θ考虑到损失惩罚中以此来帮助解决训练质量问题。这样,当姿态角θ较大时,(1-cosθ)也会随之增大,即对大姿态样本的损失值进行更多的惩罚。由此,可以有助于处理大姿态人脸数据不平衡问题,并且让网络学习到几何信息以更精确定位到大姿态人脸图像中的人脸关键点。
图4示出了根据本申请实施例的确定人脸关键点检测模型是否满足训练结束条件的一示例的流程图。这里,人脸关键点可以包括人脸整体关键点(其可以用来拟合人脸的整体架构)和人脸局部关键点(例如,人脸五官、轮廓等关键点)。此外,人脸关键点检测模型中配置有针对人脸整体关键点的第一损失权重和针对人脸局部关键点的第二损失权重。
如图4所示,在步骤410中,依据训练样本集中对应人脸整体关键点的损失函数值和第一损失权重,连同对应人脸局部关键点的损失函数值和第二损失权重,计算人脸关键点检测模型的损失函数值。
示例性地,可以将训练样本集中所有人脸整体关键点的损失函数值进行求和,并利用第一损失权重进行校准。此外,可以将训练样本集中所有人脸局部关键点的损失函数值进行求和,并利用第二损失权重进行校准。进而,将二者进行汇总而得到人脸关键点检测模型的损失函数值。
在步骤420中,判断人脸关键点检测模型的损失函数值是否小于设定阈值。这里,设定阈值可以是根据人脸检测业务需求而定义的。
当步骤420中的判断结果指示人脸关键点检测模型的损失函数值小于设定阈值时,跳转至步骤431。当步骤420中的判断结果指示人脸关键点检测模型的损失函数值大于或等于设定阈值时,跳转至步骤433。
在步骤431中,确定人脸关键点检测模型满足训练结束条件。此时,模型完成训练而收敛。
在步骤433中,继续对人脸关键点检测模型进行训练操作。
在本申请实施例中,人脸关键点检测模型可以检测人脸整体关键点和人脸局部关键点,不仅拟合人脸关键点整体结构,并且也能精细定位人脸各个局部部位的关键点,具有更广泛的应用场景。此外,还可以通过设置第一损失权重和第二损失权重来调整人脸关键点检测模型所关注的关键点重心,例如当需要重点关注人脸局部关键点特征的检测性能时,可以设置相对较高的第二损失权重。
结合上面式(1)中的示例,在本申请实施例的人脸关键点检测模型的总损失函数的计算方式如下所示:
loss=α·loseface+β·(loseleye+losereye+losemouth+loseprofile) 式(7)
其中,predi和gthi分别表示第i个关键点的预测值和真实值。loseface、loseleye、loseleye、loseprofile、losemouth和loss分别表示人脸68个关键点、左眼6个关键点、右眼6个关键点、嘴部20个关键点以及人脸轮廓17个关键点的loss(损失函数)值。这里,α、β分别表示人脸整体关键点的损失权重和人脸局部关键点的损失权重,例如α=1、β=1.1。这样,人脸关键点检测模型不仅可以拟合人脸关键点的整体结构,而且能进一步优化人脸五官以及轮廓的关键点检测。
需说明的是,训练样本集中一般是以完整的正面人脸图像样本居多,而有遮挡、表情夸张或者姿态较大(例如,倾斜人脸)的样本的数量较少,导致所得到的人脸关键点检测模型往往难以处理有遮挡、表情夸张或者姿态较大的难样本。
鉴于此,本申请实施例还提出了可以构建新的难样本并扩充至训练样本集中,以均衡训练样本集中的样本数据,提升人脸关键点检测模型的性能,使得人脸关键点检测模型对于有遮挡、表情夸张或者姿态较大的人脸图像也能具有较佳的检测效果。
图5示出了根据本申请实施例的扩充训练样本集的一示例的流程图。
如图5所示,在步骤510中,针对训练样本执行对应设定角度范围的旋转操作,以生成与训练样本相对应的第一新的训练样本。
示例性地,通过对训练集进行设定角度范围(例如,平面方向上-25°~25°)的随机旋转。这样,可以增加训练样本集中样本姿态的多样性。
在步骤520中,在训练样本中的一个或多个人脸关键点的预测位置处叠加遮挡物,以生成第二新的训练样本。
示例性地,可以以一定概率(例如,40%)给训练样本在人脸五官的随意位置(例如,可通过关键点定位来确定人脸五官的位置)添加上随机大小的遮挡物。在一些示例中,遮挡物可以是随机选自1000个网络爬取的小物件。由此,通过随机遮挡,丰富训练样本集中有遮挡的样本,实现训练样本集的相对均衡。
在步骤530中,当训练样本中的多个人脸关键点的预测位置满足预设位置分布条件时,复制训练样本以生成相应的第三新的训练样本。
这里,符合预设位置分布条件的人脸关键点的位置可以与对应表情夸张的人脸图像中所分布的各个人脸关键点的位置相匹配。这样,对这类样本进行适当复制,可以使得训练样本集中存在较多数量的对应表情夸张的训练样本。
需说明的是,步骤510~步骤530可以全部或部分执行。
在步骤540中,将第一新的训练样本、第二新的训练样本和第三新的训练样本中的一者或多者扩充至训练样本集。
通过本申请实施例,在训练样本集中补充有遮挡、表情夸张以及姿态较大的人脸样本,可以解决数据不均衡的问题,提高了人脸关键点检测模型的性能。
图6示出了根据本申请实施例的人脸关键点检测模型的训练装置的一示例的结构框图。
如图6所示,人脸关键点检测模型的训练装置600包括模型预测单元610、关键点损失计算单元620、模型损失计算单元630和模型收敛确定单元640、训练样本集补充单元650和人脸姿态角计算单元660。
模型预测单元610被配置为针对人脸关键点检测模型的训练样本集中的各个训练样本,采用所述人脸关键点检测模型对所述训练样本进行人脸关键点定位,以得到该训练样本中至少一个人脸关键点的预测位置,其中,所述训练样本标记有所述人脸关键点的真实位置。关于模型预测单元610的更多细节,可以参照上面参考图1中的步骤110的描述。
关键点损失计算单元620被配置为针对各个所述人脸关键点,计算所述人脸关键点的预测位置和所述真实位置之间的位置误差,并根据所述位置误差确定所述人脸关键点对应的损失函数值。关于关键点损失计算单元620的更多细节,可以参照上面参考图1中的步骤120的描述。
在本申请实施例的一些示例中,所述人脸关键点检测模型配置了预设数量的预设位置误差分段以及与所述预设位置误差分段分别唯一对应的预设数量的设定损失函数。相应地,关键点损失计算单元620包括损失函数确定模块(未示出)和损失函数值计算模块(未示出),损失函数确定模块被配置为将所述位置误差与各个预设位置误差分段进行匹配,以确定相应的设定损失函数,损失函数值计算模块被配置为根据所述位置误差和所确定的设定损失函数,计算该人脸关键点所对应的损失函数值。
模型损失计算单元630被配置为根据所述训练样本集中各个人脸关键点所分别对应的损失函数值,计算所述人脸关键点检测模型的损失函数值。关于模型损失计算单元630的更多细节,可以参照上面参考图1中的步骤130的描述。
模型收敛确定单元640被配置为当所述人脸关键点检测模型的损失函数值低于设定阈值时,确定所述人脸关键点检测模型满足训练结束条件。关于模型收敛确定单元640的更多细节,可以参照上面参考图1中的步骤140的描述。
在一些实施方式中,所述人脸关键点包括人脸整体关键点和人脸局部关键点,且所述人脸关键点检测模型中配置有针对所述人脸整体关键点的第一损失权重和针对所述人脸局部关键点的第二损失权重。此时,模型损失计算单元630还被配置为依据所述训练样本集中对应人脸整体关键点的损失函数值和所述第一损失权重,连同对应人脸局部关键点的损失函数值和所述第二损失权重,计算所述人脸关键点检测模型的损失函数值;以及,当所述人脸关键点检测模型的损失函数值小于设定阈值时,确定所述人脸关键点检测模型满足训练结束条件。
训练样本集补充单元650被配置为将第一新的训练样本、第二新的训练样本和第三新的训练样本中的一者或多者扩充至所述训练样本集;其中,所述第一新的训练样本的生成方式为:针对所述训练样本执行对应设定角度范围的旋转操作,以生成与所述训练样本相对应的第一新的训练样本;所述第二新的训练样本的生成方式为:在所述训练样本中的一个或多个人脸关键点的预测位置处叠加遮挡物,以生成第二新的训练样本;所述第三新的训练样本的生成方式为:所述训练样本中的多个所述人脸关键点的预测位置满足预设位置分布条件时,复制所述训练样本以生成相应的第三新的训练样本。关于训练样本集补充单元650的更多细节,可以参照上面参考图5中流程描述。
人脸姿态角计算单元660被配置为基于所述训练样本的各个人脸关键点的预测位置,计算相应的人脸姿态角。相应地,关键点损失计算单元620被配置为根据所述位置误差和所计算的人脸姿态角,确定所述人脸关键点对应的损失函数值。
需说明的是,如上所描述的人脸关键点检测模型的训练装置600中的部分单元在一些应用场景下是非必需的或可选的。示例性地,在一些实施方式中,训练样本集补充单元650和人脸姿态角计算单元660可以不被保留。
在一些实施方式中,在所述多个设定损失函数中,所述预设数量的预设位置误差分段中对应最小的一个或连续多个预设位置误差分段的设定损失函数的梯度是与位置误差相关的反比例函数。
在一些实施方式中,所述预设数量的预设位置误差分段中对应所述最小的一个或连续多个预设位置误差分段的设定损失函数中设有针对所述位置误差的偏置量。
在一些实施方式中,所述预设数量的设定损失函数AdaptiveLose(x)的表达式为:
其中,x表示预测位置与真实位置之间的位置误差,θ表示人脸姿态角,C为常数,K为3,以及θk表示人脸俯仰角、翻滚角或偏航角。
如上参照图1到图6,对根据本申请实施例的人脸关键点检测模型的训练方法及装置的实施例进行了描述。在以上对方法实施例的描述中所提及的细节,同样适用于本申请装置的实施例。上面的人脸关键点检测模型的训练装置可以采用硬件实现,也可以采用软件或者硬件和软件的组合来实现。
图7示出了根据本申请实施例的用于训练人脸关键点检测模型的电子设备700的一示例的硬件结构图。如图7所示,电子设备700可以包括至少一个处理器710、存储器(例如非易失性存储器)720、内存730和通信接口740,并且至少一个处理器710、存储器720、内存730和通信接口740经由总线760连接在一起。至少一个处理器710执行在存储器中存储或编码的至少一个计算机可读指令(即,上述以软件形式实现的元素)。
在一个实施例中,在存储器中存储计算机可执行指令,其当执行时使得至少一个处理器710:针对人脸关键点检测模型的训练样本集中的各个训练样本,采用所述人脸关键点检测模型对所述训练样本进行人脸关键点定位,以得到该训练样本中至少一个人脸关键点的预测位置,其中,所述训练样本标记有所述人脸关键点的真实位置;针对各个所述人脸关键点,计算所述人脸关键点的预测位置和所述真实位置之间的位置误差,并根据所述位置误差确定所述人脸关键点对应的损失函数值;根据所述训练样本集中各个人脸关键点所分别对应的损失函数值,计算所述人脸关键点检测模型的损失函数值;当所述人脸关键点检测模型的损失函数值低于设定阈值时,确定所述人脸关键点检测模型满足训练结束条件。
应该理解,在存储器720中存储的计算机可执行指令当执行时使得至少一个处理器710进行本申请各个实施例中以上结合图1-5描述的各种操作和功能。
在本说明书中,电子设备700可以包括但不限于:个人计算机、服务器计算机、工作站、桌面型计算机、膝上型计算机、笔记本计算机、移动电子设备、智能电话、平板计算机、蜂窝电话、个人数字助理(PDA)、手持装置、消息收发设备、可佩戴电子设备、消费电子设备等等。
根据一个实施例,提供了一种比如机器可读介质的程序产品。机器可读介质可以具有指令(即,上述以软件形式实现的元素),该指令当被机器执行时,使得机器执行本申请各个实施例中以上结合图1-6描述的各种操作和功能。具体地,可以提供配有可读存储介质的系统或者装置,在该可读存储介质上存储着实现上述实施例中任一实施例的功能的软件程序代码,且使该系统或者装置的计算机或处理器读出并执行存储在该可读存储介质中的指令。
在这种情况下,从可读介质读取的程序代码本身可实现上述实施例中任何一项实施例的功能,因此机器可读代码和存储机器可读代码的可读存储介质构成了本发明的一部分。
可读存储介质的实施例包括软盘、硬盘、磁光盘、光盘(如CD-ROM、CD-R、CD-RW、DVD-ROM、DVD-RAM、DVD-RW、DVD-RW)、磁带、非易失性存储卡和ROM。可选择地,可以由通信网络从服务器计算机上或云上下载程序代码。
本领域技术人员应当理解,上面申请各个实施例可以在不偏离发明实质的情况下做出各种变形和修改。因此,本发明的保护范围应当由所附的权利要求书来限定。
需要说明的是,上述各流程和各系统结构图中不是所有的步骤和单元都是必须的,可以根据实际的需要忽略某些步骤或单元。各步骤的执行顺序不是固定的,可以根据需要进行确定。上述各实施例中描述的装置结构可以是物理结构,也可以是逻辑结构,即,有些单元可能由同一物理实体实现,或者,有些单元可能分由多个物理实体实现,或者,可以由多个独立设备中的某些部件共同实现。
以上各实施例中,硬件单元或模块可以通过机械方式或电气方式实现。例如,一个硬件单元、模块或处理器可以包括永久性专用的电路或逻辑(如专门的处理器,FPGA或ASIC)来完成相应操作。硬件单元或处理器还可以包括可编程逻辑或电路(如通用处理器或其它可编程处理器),可以由软件进行临时的设置以完成相应操作。具体的实现方式(机械方式、或专用的永久性电路、或者临时设置的电路)可以基于成本和时间上的考虑来确定。
上面结合附图阐述的具体实施方式描述了示例性实施例,但并不表示可以实现的或者落入权利要求书的保护范围的所有实施例。在整个本说明书中使用的术语“示例性”意味着“用作示例、实例或例示”,并不意味着比其它实施例“优选”或“具有优势”。出于提供对所描述技术的理解的目的,具体实施方式包括具体细节。然而,可以在没有这些具体细节的情况下实施这些技术。在一些实例中,为了避免对所描述的实施例的概念造成难以理解,公知的结构和装置以框图形式示出。
本申请内容的上述描述被提供来使得本领域任何普通技术人员能够实现或者使用本申请内容。对于本领域普通技术人员来说,对本申请内容进行的各种修改是显而易见的,并且,也可以在不脱离本申请内容的保护范围的情况下,将本文所定义的一般性原理应用于其它变型。因此,本申请内容并不限于本文所描述的示例和设计,而是与符合本文申请的原理和新颖性特征的最广范围相一致。
Claims (10)
1.一种人脸关键点检测模型的训练方法,包括:
针对人脸关键点检测模型的训练样本集中的各个训练样本,采用所述人脸关键点检测模型对所述训练样本进行人脸关键点定位,以得到该训练样本中至少一个人脸关键点的预测位置,其中,所述训练样本标记有所述人脸关键点的真实位置;
针对各个所述人脸关键点,计算所述人脸关键点的预测位置和所述真实位置之间的位置误差,并根据所述位置误差确定所述人脸关键点对应的损失函数值;
根据所述训练样本集中各个人脸关键点所分别对应的损失函数值,计算所述人脸关键点检测模型的损失函数值;
当所述人脸关键点检测模型的损失函数值低于设定阈值时,确定所述人脸关键点检测模型满足训练结束条件。
2.如权利要求1所述的人脸关键点检测模型的训练方法,其中,所述人脸关键点检测模型配置了预设数量的预设位置误差分段以及与所述预设位置误差分段分别唯一对应的预设数量的设定损失函数;
其中,根据所述位置误差确定所述人脸关键点对应的损失函数值,具体包括:
将所述位置误差与各个预设位置误差分段进行匹配,以确定相应的设定损失函数;
根据所述位置误差和所确定的设定损失函数,计算所述人脸关键点所对应的损失函数值。
3.如权利要求1所述的人脸关键点检测模型的训练方法,其中,在得到该训练样本中至少一个人脸关键点的预测位置之后,所述方法还包括:
基于所述训练样本的各个人脸关键点的预测位置,计算相应的人脸姿态角;
其中,根据所述位置误差确定所述人脸关键点对应的损失函数值,具体包括:
根据所述位置误差和所计算的人脸姿态角,确定所述人脸关键点对应的损失函数值。
4.如权利要去1所述的人脸关键点检测模型的训练方法,其中,所述人脸关键点包括人脸整体关键点和人脸局部关键点,且所述人脸关键点检测模型中配置有针对所述人脸整体关键点的第一损失权重和针对所述人脸局部关键点的第二损失权重,
其中,根据所述训练样本集中各个人脸关键点所分别对应的损失函数值,计算所述人脸关键点检测模型的损失函数值,具体包括:
依据所述训练样本集中对应人脸整体关键点的损失函数值和所述第一损失权重,连同对应人脸局部关键点的损失函数值和所述第二损失权重,计算所述人脸关键点检测模型的损失函数值。
5.如权利要求1所述的人脸关键点检测模型的训练方法,还包括:
将第一新的训练样本、第二新的训练样本和第三新的训练样本中的一者或多者扩充至所述训练样本集;
其中,所述第一新的训练样本的生成方式为:针对所述训练样本执行对应设定角度范围的旋转操作,以生成与所述训练样本相对应的第一新的训练样本;
所述第二新的训练样本的生成方式为:在所述训练样本中的一个或多个人脸关键点的预测位置处叠加遮挡物,以生成第二新的训练样本;
所述第三新的训练样本的生成方式为:所述训练样本中的多个所述人脸关键点的预测位置满足预设位置分布条件时,复制所述训练样本以生成相应的第三新的训练样本。
6.一种人脸关键点检测模型的训练装置,包括:
模型预测单元,被配置为针对人脸关键点检测模型的训练样本集中的各个训练样本,采用所述人脸关键点检测模型对所述训练样本进行人脸关键点定位,以得到该训练样本中至少一个人脸关键点的预测位置,其中,所述训练样本标记有所述人脸关键点的真实位置;
关键点损失计算单元,被配置为针对各个所述人脸关键点,计算所述人脸关键点的预测位置和所述真实位置之间的位置误差,并根据所述位置误差确定所述人脸关键点对应的损失函数值;
模型损失计算单元,被配置为根据所述训练样本集中各个人脸关键点所分别对应的损失函数值,计算所述人脸关键点检测模型的损失函数值;
模型收敛确定单元,被配置为当所述人脸关键点检测模型的损失函数值低于设定阈值时,确定所述人脸关键点检测模型满足训练结束条件。
7.如权利要求6所述的人脸关键点检测模型的训练装置,其中,所述人脸关键点检测模型配置了预设数量的预设位置误差分段以及与所述预设位置误差分段分别唯一对应的预设数量的设定损失函数,所述关键点损失计算单元包括:
损失函数确定模块,被配置为将所述位置误差与各个预设位置误差分段进行匹配,以确定相应的设定损失函数;
损失函数值计算模块,被配置为根据所述位置误差和所确定的设定损失函数,计算所述人脸关键点所对应的损失函数值。
8.如权利要求6所述的人脸关键点检测模型的训练装置,还包括:
人脸姿态角计算单元,被配置为基于所述训练样本的各个人脸关键点的预测位置,计算相应的人脸姿态角;
其中,所述关键点损失计算单元还被配置为根据所述位置误差和所计算的人脸姿态角,确定所述人脸关键点对应的损失函数值。
9.一种电子设备,包括:
至少一个处理器;以及
存储器,所述存储器存储指令,当所述指令被所述至少一个处理器执行时,使得所述至少一个处理器执行如权利要求1到7中任一所述的方法。
10.一种机器可读存储介质,其存储有可执行指令,所述指令当被执行时使得所述机器执行如权利要求1到7中任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010453096.2A CN113723146A (zh) | 2020-05-25 | 2020-05-25 | 人脸关键点检测模型的训练方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010453096.2A CN113723146A (zh) | 2020-05-25 | 2020-05-25 | 人脸关键点检测模型的训练方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113723146A true CN113723146A (zh) | 2021-11-30 |
Family
ID=78671262
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010453096.2A Pending CN113723146A (zh) | 2020-05-25 | 2020-05-25 | 人脸关键点检测模型的训练方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113723146A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114550207A (zh) * | 2022-01-17 | 2022-05-27 | 北京新氧科技有限公司 | 脖子关键点检测方法及装置、检测模型训练方法及装置 |
CN116012822A (zh) * | 2022-12-26 | 2023-04-25 | 无锡车联天下信息技术有限公司 | 一种疲劳驾驶的识别方法、装置及电子设备 |
-
2020
- 2020-05-25 CN CN202010453096.2A patent/CN113723146A/zh active Pending
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114550207A (zh) * | 2022-01-17 | 2022-05-27 | 北京新氧科技有限公司 | 脖子关键点检测方法及装置、检测模型训练方法及装置 |
CN114550207B (zh) * | 2022-01-17 | 2023-01-17 | 北京新氧科技有限公司 | 脖子关键点检测方法及装置、检测模型训练方法及装置 |
CN116012822A (zh) * | 2022-12-26 | 2023-04-25 | 无锡车联天下信息技术有限公司 | 一种疲劳驾驶的识别方法、装置及电子设备 |
CN116012822B (zh) * | 2022-12-26 | 2024-01-30 | 无锡车联天下信息技术有限公司 | 一种疲劳驾驶的识别方法、装置及电子设备 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Ge et al. | 3d convolutional neural networks for efficient and robust hand pose estimation from single depth images | |
US10380788B2 (en) | Fast and precise object alignment and 3D shape reconstruction from a single 2D image | |
CN108875510B (zh) | 图像处理的方法、装置、系统及计算机存储介质 | |
Yang et al. | Toward the repeatability and robustness of the local reference frame for 3D shape matching: An evaluation | |
Luo et al. | Real-time head pose estimation and face modeling from a depth image | |
CN110532965B (zh) | 年龄识别方法、存储介质及电子设备 | |
CN107563308B (zh) | 基于粒子群优化算法的slam闭环检测方法 | |
CN113159006B (zh) | 基于人脸识别的考勤方法、系统、电子设备和存储介质 | |
CN108446672B (zh) | 一种基于由粗到细脸部形状估计的人脸对齐方法 | |
CN110349152A (zh) | 人脸图像质量检测方法及装置 | |
US9865061B2 (en) | Constructing a 3D structure | |
US10417487B2 (en) | Pattern recognition apparatus, pattern recognition method, and storage medium | |
US20230100427A1 (en) | Face image processing method, face image processing model training method, apparatus, device, storage medium, and program product | |
CN113723146A (zh) | 人脸关键点检测模型的训练方法及装置 | |
JP2012512478A (ja) | 顔姿勢推定を提供するための方法、装置、およびコンピュータプログラム | |
JPWO2013122009A1 (ja) | 信頼度取得装置、信頼度取得方法および信頼度取得プログラム | |
CN111815768B (zh) | 三维人脸重建方法和装置 | |
WO2024012333A1 (zh) | 位姿估计方法及相关模型的训练方法、装置、电子设备、计算机可读介质和计算机程序产品 | |
Madrigal et al. | Robust head pose estimation based on key frames for human-machine interaction | |
CN113592706B (zh) | 调整单应性矩阵参数的方法和装置 | |
Basak et al. | Learning 3D head pose from synthetic data: A semi-supervised approach | |
Cai et al. | Robust head pose estimation using a 3D morphable model | |
JP5734000B2 (ja) | 物体識別システムおよび方法、並びに、特徴点位置抽出システムおよび方法 | |
Wang et al. | Handling occlusion and large displacement through improved RGB-D scene flow estimation | |
US20240037995A1 (en) | Detecting wrapped attacks on face recognition |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |