一种人脸关键点检测模型训练方法、装置和设备制造方法及图纸

技术编号:29836898 阅读:16 留言:0更新日期:2021-08-27 14:26
本申请公开了一种人脸关键点检测模型训练方法、装置和设备,在通过第一人脸训练样本、第二人脸训练样本和第三人脸训练样本分别训练P‑Net网络、R‑Net网络和O‑Net网络的过程中,通过第二人脸训练样本的人脸角度信息对R‑Net网络的第一损失值进行调整,通过第三人脸训练样本的人脸角度信息对O‑Net网络的第二损失值进行调整,通过人脸角度信息来有方向地调整人脸关键点检测任务在不同姿态下的损失值,有助于提高人脸关键点检测模型在大姿态状态下的检测精度,解决了现有的人脸关键点检测方法没有考虑人脸关键点任务的额外信息,特别是对于人脸处于大姿态角度情况下,存在人脸关键点检测精度不高的技术问题。

【技术实现步骤摘要】
一种人脸关键点检测模型训练方法、装置和设备
本申请涉及人脸关键点检测
,尤其涉及一种人脸关键点检测模型训练方法、装置和设备。
技术介绍
现有的人脸关键点检测技术在面对相对理想的环境下的人脸时,具有较好的检测效果。但是对于应用于移动端的人脸关键点检测技术,由于对于实时性的要求较高,无法在移动端采用大规模的神经网络模型。因此,现有技术中通常采用轻量级的网络模型进行人脸关键点检测,人脸关键点检测任务分为两个任务:人脸检测任务和关键点检测检测任务,在人脸检测任务的基础上再进行人脸关键点检测任务,而采用轻量级的网络模型进行人脸关键点检测,虽然可以满足实时性要求,但难以满足精度要求。现有的用于人脸关键点检测的轻量级网络偏向于人脸检测任务,没有考虑人脸关键点任务的额外信息,特别是对于人脸处于大姿态角度情况下,例如在侧脸、抬头、低头等情况下,现有的轻量级网络的人脸关键点检测精度不高。
技术实现思路
本申请提供了一种人脸关键点检测模型训练方法、装置和设备,用于解决现有的人脸关键点检测方法没有考虑人脸关键点任务的额外信息,特别是对于人脸处于大姿态角度情况下,存在人脸关键点检测精度不高的技术问题。有鉴于此,本申请第一方面提供了一种人脸关键点检测模型训练方法,包括:获取通过第一人脸训练样本训练好的P-Net网络的第一输出结果,并基于所述第一输出结果和原始人脸训练样本获取第二人脸训练样本,所述第二人脸训练样本标注有人脸角度信息,所述第一人脸训练样本通过对所述原始人脸训练样本裁剪得到;通过所述第二人脸训练样本训练R-Net网络,并获取训练过程中的所述R-Net网络的第一损失值;根据所述第二人脸训练样本的人脸角度信息调整所述第一损失值,并通过调整后的所述第一损失值更新所述R-Net网络的网络参数,得到训练好的所述R-Net网络;将所述第二人脸训练样本输入到训练好的所述R-Net网络,得到第二输出结果,根据所述第二输出结果和所述原始人脸训练样本获取第三人脸训练样本,所述第三人脸训练样本标注有人脸角度信息;通过所述第三人脸训练样本训练O-Net网络,并获取训练过程中的所述O-Net网络的第二损失值;根据所述第三人脸训练样本的人脸角度信息调整所述第二损失值,并通过调整后的所述第二损失值更新所述O-Net网络的网络参数,得到训练好的所述O-Net网络;结合训练好的所述P-Net网络、训练好的所述R-Net网络和训练好的所述O-Net网络,得到人脸关键点检测模型,所述人脸关键点检测模型用于人脸检测、人脸框检测和人脸关键点检测。可选的,所述获取通过第一人脸训练样本训练好的P-Net网络的第一输出结果,并基于所述第一输出结果和原始人脸训练样本获取第二人脸训练样本,所述第二人脸训练样本标注有人脸角度信息,所述第一人脸训练样本通过对所述原始人脸训练样本裁剪得到,包括:将第一人脸训练样本输入到训练好的P-Net网络进行人脸框预测,获取训练好的所述P-Net网络输出的所述第一人脸训练样本的人脸框预测结果,所述第一人脸训练样本通过对原始人脸训练样本裁剪得到;根据所述第一人脸训练样本的人脸框预测结果对所述原始人脸训练样本进行裁剪,得到第二人脸训练样本,并根据所述第二人脸训练样本的人脸关键点坐标获取所述第二人脸训练样本的人脸角度信息。可选的,所述将所述第二人脸训练样本输入到训练好的所述R-Net网络,得到第二输出结果,根据所述第二输出结果和所述原始人脸训练样本获取第三人脸训练样本,所述第三人脸训练样本标注有人脸角度信息,包括:将第二人脸训练样本输入到训练好的所述R-Net网络进行人脸框预测,获取训练好的所述R-Net网络输出的所述第二人脸训练样本的人脸框预测结果;根据所述第二人脸训练样本的人脸框预测结果对所述原始人脸训练样本进行裁剪,得到第三人脸训练样本,并根据所述第三人脸训练样本的人脸关键点坐标获取所述第三人脸训练样本的人脸角度信息。可选的,所述方法还包括:根据所述第二人脸训练样本或所述第三人脸训练样本的人脸角度信息,将人脸角度超过预置角度范围的所述第二人脸训练样本或所述第三人脸训练样本作为非目标训练样本,将人脸角度在所述预置角度范围内的所述第二人脸训练样本或所述第三人脸训练样本作为目标训练样本;对所述非目标训练样本进行数据增强,得到增强训练样本;融合所述增强训练样本和所述目标训练样本,得到预处理后的所述第二人脸训练样本或预处理后的所述第三人脸训练样本。可选的,调整后的所述第一损失值或调整后的所述第二损失值为:式中,L为调整前的第一损失值或第二损失值,为调整后的第一损失值或第二损失值,C=1、2、3,θ1、θ2、θ3分别为人脸角度信息中的pitch角、yaw角、roll角。本申请第二方面提供了一种人脸关键点检测模型训练装置,包括:第一获取单元,用于获取通过第一人脸训练样本训练好的P-Net网络的第一输出结果,并基于所述第一输出结果和原始人脸训练样本获取第二人脸训练样本,所述第二人脸训练样本标注有人脸角度信息,所述第一人脸训练样本通过对所述原始人脸训练样本裁剪得到;第一训练单元,用于通过所述第二人脸训练样本训练R-Net网络,并获取训练过程中的所述R-Net网络的第一损失值;第一调整单元,用于根据所述第二人脸训练样本的人脸角度信息调整所述第一损失值,并通过调整后的所述第一损失值更新所述R-Net网络的网络参数,得到训练好的所述R-Net网络;第二获取单元,用于将所述第二人脸训练样本输入到训练好的所述R-Net网络,得到第二输出结果,根据所述第二输出结果和所述原始人脸训练样本获取第三人脸训练样本,所述第三人脸训练样本标注有人脸角度信息;第二训练单元,用于通过所述第三人脸训练样本训练O-Net网络,并获取训练过程中的所述O-Net网络的第二损失值;第二调整单元,用于根据所述第三人脸训练样本的人脸角度信息调整所述第二损失值,并通过调整后的所述第二损失值更新所述O-Net网络的网络参数,得到训练好的所述O-Net网络;结合单元,用于结合训练好的所述P-Net网络、训练好的所述R-Net网络和训练好的所述O-Net网络,得到人脸关键点检测模型,所述人脸关键点检测模型用于人脸检测、人脸框检测和人脸关键点检测。可选的,所述第一获取单元具体用于:将第一人脸训练样本输入到训练好的P-Net网络进行人脸框预测,获取训练好的所述P-Net网络输出的所述第一人脸训练样本的人脸框预测结果,所述第一人脸训练样本通过对原始人脸训练样本裁剪得到;根据所述第一人脸训练样本的人脸框预测结果对所述原始人脸训练样本进行裁剪,得到第二人脸训练样本,并根据所述第二人脸训练样本的人脸关键点坐标获取所述第二人脸训练样本的人脸角度信息。可选的,所述第二获取单元具体用于:将第二人脸训练样本输入到训练好的所述R-Net网络进行人脸框预测,获取训练好的所述R-本文档来自技高网...

【技术保护点】
1.一种人脸关键点检测模型训练方法,其特征在于,包括:/n获取通过第一人脸训练样本训练好的P-Net网络的第一输出结果,并基于所述第一输出结果和原始人脸训练样本获取第二人脸训练样本,所述第二人脸训练样本标注有人脸角度信息,所述第一人脸训练样本通过对所述原始人脸训练样本裁剪得到;/n通过所述第二人脸训练样本训练R-Net网络,并获取训练过程中的所述R-Net网络的第一损失值;/n根据所述第二人脸训练样本的人脸角度信息调整所述第一损失值,并通过调整后的所述第一损失值更新所述R-Net网络的网络参数,得到训练好的所述R-Net网络;/n将所述第二人脸训练样本输入到训练好的所述R-Net网络,得到第二输出结果,根据所述第二输出结果和所述原始人脸训练样本获取第三人脸训练样本,所述第三人脸训练样本标注有人脸角度信息;/n通过所述第三人脸训练样本训练O-Net网络,并获取训练过程中的所述O-Net网络的第二损失值;/n根据所述第三人脸训练样本的人脸角度信息调整所述第二损失值,并通过调整后的所述第二损失值更新所述O-Net网络的网络参数,得到训练好的所述O-Net网络;/n结合训练好的所述P-Net网络、训练好的所述R-Net网络和训练好的所述O-Net网络,得到人脸关键点检测模型,所述人脸关键点检测模型用于人脸检测、人脸框检测和人脸关键点检测。/n...

【技术特征摘要】
1.一种人脸关键点检测模型训练方法,其特征在于,包括:
获取通过第一人脸训练样本训练好的P-Net网络的第一输出结果,并基于所述第一输出结果和原始人脸训练样本获取第二人脸训练样本,所述第二人脸训练样本标注有人脸角度信息,所述第一人脸训练样本通过对所述原始人脸训练样本裁剪得到;
通过所述第二人脸训练样本训练R-Net网络,并获取训练过程中的所述R-Net网络的第一损失值;
根据所述第二人脸训练样本的人脸角度信息调整所述第一损失值,并通过调整后的所述第一损失值更新所述R-Net网络的网络参数,得到训练好的所述R-Net网络;
将所述第二人脸训练样本输入到训练好的所述R-Net网络,得到第二输出结果,根据所述第二输出结果和所述原始人脸训练样本获取第三人脸训练样本,所述第三人脸训练样本标注有人脸角度信息;
通过所述第三人脸训练样本训练O-Net网络,并获取训练过程中的所述O-Net网络的第二损失值;
根据所述第三人脸训练样本的人脸角度信息调整所述第二损失值,并通过调整后的所述第二损失值更新所述O-Net网络的网络参数,得到训练好的所述O-Net网络;
结合训练好的所述P-Net网络、训练好的所述R-Net网络和训练好的所述O-Net网络,得到人脸关键点检测模型,所述人脸关键点检测模型用于人脸检测、人脸框检测和人脸关键点检测。


2.根据权利要求1所述的人脸关键点检测模型训练方法,其特征在于,所述获取通过第一人脸训练样本训练好的P-Net网络的第一输出结果,并基于所述第一输出结果和原始人脸训练样本获取第二人脸训练样本,所述第二人脸训练样本标注有人脸角度信息,所述第一人脸训练样本通过对所述原始人脸训练样本裁剪得到,包括:
将第一人脸训练样本输入到训练好的P-Net网络进行人脸框预测,获取训练好的所述P-Net网络输出的所述第一人脸训练样本的人脸框预测结果,所述第一人脸训练样本通过对原始人脸训练样本裁剪得到;
根据所述第一人脸训练样本的人脸框预测结果对所述原始人脸训练样本进行裁剪,得到第二人脸训练样本,并根据所述第二人脸训练样本的人脸关键点坐标获取所述第二人脸训练样本的人脸角度信息。


3.根据权利要求1所述的人脸关键点检测模型训练方法,其特征在于,所述将所述第二人脸训练样本输入到训练好的所述R-Net网络,得到第二输出结果,根据所述第二输出结果和所述原始人脸训练样本获取第三人脸训练样本,所述第三人脸训练样本标注有人脸角度信息,包括:
将第二人脸训练样本输入到训练好的所述R-Net网络进行人脸框预测,获取训练好的所述R-Net网络输出的所述第二人脸训练样本的人脸框预测结果;
根据所述第二人脸训练样本的人脸框预测结果对所述原始人脸训练样本进行裁剪,得到第三人脸训练样本,并根据所述第三人脸训练样本的人脸关键点坐标获取所述第三人脸训练样本的人脸角度信息。


4.根据权利要求1-3任一项所述的人脸关键点检测模型训练方法,其特征在于,所述方法还包括:
根据所述第二人脸训练样本或所述第三人脸训练样本的人脸角度信息,将人脸角度超过预置角度范围的所述第二人脸训练样本或所述第三人脸训练样本作为非目标训练样本,将人脸角度在所述预置角度范围内的所述第二人脸训练样本或所述第三人脸训练样本作为目标训练样本;
对所述非目标训练样本进行数据增强,得到增强训练样本;
融合所述增强训练样本和所述目标训练样本,得到预处理后的所述第二人脸训练样本或预处理后的所述第三人脸训练样本。


5.根据权利要求1所述的人脸关键点检测模型训练方法,其特征在于,调整后的所述第一损失值或调整后的所述第二损失值为:



式中,L为调整前的第一损失值或第...

【专利技术属性】
技术研发人员:刘畅刘思伟
申请(专利权)人:广州织点智能科技有限公司
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1