CN117011929A - 一种头部姿态估计方法、装置、设备以及存储介质 - Google Patents
一种头部姿态估计方法、装置、设备以及存储介质 Download PDFInfo
- Publication number
- CN117011929A CN117011929A CN202211130441.4A CN202211130441A CN117011929A CN 117011929 A CN117011929 A CN 117011929A CN 202211130441 A CN202211130441 A CN 202211130441A CN 117011929 A CN117011929 A CN 117011929A
- Authority
- CN
- China
- Prior art keywords
- key point
- image
- point coordinate
- dimensional key
- network
- 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
- 238000000034 method Methods 0.000 title claims abstract description 85
- 238000012549 training Methods 0.000 claims description 111
- 238000000605 extraction Methods 0.000 claims description 31
- 238000012545 processing Methods 0.000 claims description 30
- 238000011176 pooling Methods 0.000 claims description 23
- 230000001815 facial effect Effects 0.000 claims description 22
- 230000006870 function Effects 0.000 claims description 22
- 238000013528 artificial neural network Methods 0.000 claims description 18
- 210000000697 sensory organ Anatomy 0.000 claims description 10
- 238000007781 pre-processing Methods 0.000 claims description 5
- 238000013473 artificial intelligence Methods 0.000 abstract description 5
- 210000003128 head Anatomy 0.000 description 156
- 239000010410 layer Substances 0.000 description 84
- 238000004364 calculation method Methods 0.000 description 15
- 230000008569 process Effects 0.000 description 15
- 230000014509 gene expression Effects 0.000 description 14
- 238000004891 communication Methods 0.000 description 11
- 208000037170 Delayed Emergence from Anesthesia Diseases 0.000 description 10
- 238000013461 design Methods 0.000 description 10
- 230000008859 change Effects 0.000 description 9
- 238000010586 diagram Methods 0.000 description 9
- 238000001514 detection method Methods 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000000007 visual effect Effects 0.000 description 6
- 230000009471 action Effects 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 230000003190 augmentative effect Effects 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 238000004422 calculation algorithm Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 4
- 230000003993 interaction Effects 0.000 description 4
- 238000010801 machine learning Methods 0.000 description 4
- 238000007726 management method Methods 0.000 description 4
- 238000006243 chemical reaction Methods 0.000 description 3
- 230000008878 coupling Effects 0.000 description 3
- 238000010168 coupling process Methods 0.000 description 3
- 238000005859 coupling reaction Methods 0.000 description 3
- 210000002569 neuron Anatomy 0.000 description 3
- 238000012015 optical character recognition Methods 0.000 description 3
- 230000001360 synchronised effect Effects 0.000 description 3
- 238000013519 translation Methods 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 2
- 238000010276 construction Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 230000007774 longterm Effects 0.000 description 2
- 238000010295 mobile communication Methods 0.000 description 2
- 210000001747 pupil Anatomy 0.000 description 2
- 230000005236 sound signal Effects 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000033228 biological regulation Effects 0.000 description 1
- 238000013135 deep learning Methods 0.000 description 1
- 238000006073 displacement reaction Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000012905 input function Methods 0.000 description 1
- 239000011229 interlayer Substances 0.000 description 1
- 239000003550 marker Substances 0.000 description 1
- 239000011159 matrix material Substances 0.000 description 1
- 238000005259 measurement Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003062 neural network model Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 230000002085 persistent effect Effects 0.000 description 1
- 230000002787 reinforcement Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 210000001202 rhombencephalon Anatomy 0.000 description 1
- 238000005070 sampling Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 238000013526 transfer learning Methods 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/04—Architecture, e.g. interconnection topology
- G06N3/0464—Convolutional networks [CNN, ConvNet]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
- G06N3/084—Backpropagation, e.g. using gradient descent
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/40—Extraction of image or video features
- G06V10/46—Descriptors for shape, contour or point-related descriptors, e.g. scale invariant feature transform [SIFT] or bags of words [BoW]; Salient regional features
- G06V10/462—Salient features, e.g. scale invariant feature transforms [SIFT]
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/70—Arrangements for image or video recognition or understanding using pattern recognition or machine learning
- G06V10/82—Arrangements for image or video recognition or understanding using pattern recognition or machine learning using neural networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/16—Human faces, e.g. facial parts, sketches or expressions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/20—Movements or behaviour, e.g. gesture recognition
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02T—CLIMATE CHANGE MITIGATION TECHNOLOGIES RELATED TO TRANSPORTATION
- Y02T10/00—Road transport of goods or passengers
- Y02T10/10—Internal combustion engine [ICE] based vehicles
- Y02T10/40—Engine management systems
Abstract
本申请实施例提供了一种头部姿态估计方法、装置、设备以及存储介质,用于保证头部姿态估计的稳定可靠。包括:获取待识别图像,待识别图像中包括目标人脸图像;将待识别图像输入第一网络模型得到待识别图像中目标人脸图像的二维关键点坐标集合、二维关键点坐标集合中各个二维关键点坐标的不确定度以及目标人脸图像的三维关键点坐标集合,第一网络模型包括第一分支网络和第二分支网络,第一分支网络用于识别得到二维关键点坐标和不确定度,第二分支网络用于识别得到三维关键点坐标;根据二维关键点坐标集合、不确定度和三维关键点坐标集合识别待识别图像中目标人脸图像对应的头部姿态。本申请提供的技术方案可应用于人工智能、计算机视觉领域。
Description
技术领域
本申请涉及图像处理领域,尤其涉及一种头部姿态估计方法、装置、设备以及存储介质。
背景技术
在计算机视觉的背景下,头部姿势估计最常被解释为推断人的头部相对于相机视图的方向的能力。因此在视觉动捕中,头部姿态估计是非常重要的一环。精准的头部姿态可以让虚拟形象完美复刻中之人的头部动作,让虚拟人动画更加生动灵巧,写实逼真。当前,比较主流的头部姿态估计方法,多为利用传统的运动传感器,另外就是通过三维(3-dimension,3D)图像获取设备获取头部的三维坐标信息来进行判断,受限于目前主流的视频图像采集设备采集的都是二维(2-dimension,2D)图像信息,所以基于人脸关键点坐标信息,实现2D坐标信息在世界坐标系的3D转换,从而获得人头部姿态的3D坐标信息,再根据坐标的变化来实现对头部姿态的估计以及头部动作的判断。
上述方法是基于求解3D到2D点对运动的方法(也称为Perspective-n-Point,PnP),该方法首先会估计人脸的2D关键点;然后标定出一个固定3D人头模型中的对应的3D点。通过PnP解算,就可以得到3D点到2D关键点的变换姿态。上述方法大体精度可以,解释性强,但是当人做出大幅度表情时,抖动就会很明显。
因此目前急需要一种在做大幅度表情时,保证头部姿态估计的稳定可靠的头部姿态估计方法。
发明内容
本申请实施例提供了一种头部姿态估计方法、装置、设备以及存储介质,用于保证头部姿态估计的稳定可靠。
有鉴于此,本申请一方面提供一种头部姿态估计方法,包括:获取待识别图像,该待识别图像中包括目标人脸图像;将该待识别图像输入第一网络模型得到该待识别图像中目标人脸图像的二维关键点坐标集合、该二维关键点坐标集合中各个二维关键点坐标的不确定度以及该目标人脸图像的三维关键点坐标集合,其中,该第一网络模型包括第一分支网络和第二分支网络,其中,该第一分支网络用于识别得到该二维关键点坐标集合和该不确定度,该第二分支网络用于识别得到该三维关键点坐标集合;根据该二维关键点坐标集合、该不确定度和该三维关键点坐标集合识别该待识别图像中目标人脸图像对应的头部姿态。
本申请另一方面提供一种头部姿态估计装置,包括:
获取模块,用于获取待识别图像,该待识别图像中包括目标人脸图像;
处理模块,用于将该待识别图像输入第一网络模型得到该待识别图像中目标人脸图像的二维关键点坐标集合、该二维关键点坐标集合中各个二维关键点坐标的不确定度以及该目标人脸图像的三维关键点坐标集合,其中,该第一网络模型包括第一分支网络和第二分支网络,其中,该第一分支网络用于识别得到该二维关键点坐标集合和该不确定度,该第二分支网络用于识别得到该三维关键点坐标集合;
输出模块,用于根据该二维关键点坐标集合、该不确定度和该三维关键点坐标集合识别该待识别图像中目标人脸图像对应的头部姿态。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该输出模块,具体用于根据该不确定度将该二维关键点坐标集合中的各个二维关键点坐标进行排序,将不确定度大于预设阈值的二维关键点坐标从该二维关键点坐标集合中剔除得到中间二维关键点坐标集合;
根据该中间二维关键点坐标集合从该三维关键点坐标集合中获取中间三维关键点坐标集合;
根据该中间二维关键点坐标集合和该中间三维关键点坐标集合识别该待识别图像中目标人脸图像对应的头部姿态。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该输出模块,具体用于根据该中间二维关键点坐标集合和该中间三维关键点坐标集合利用PnP解算识别该待识别图像中目标人脸图像对应的头部姿态。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该获取模块,还用于获取第一训练样本集,并建立第一初始网络模型,该第一训练样本集标注有人脸图像的真实二维关键点坐标集合和真实三维关键点坐标集合,该第一初始网络模型包括特征提取网络层、初始第一分支网络和初始第二分支网络,该初始第一分支网络用于识别输出二维关键点坐标和不确定度,该初始第一分支网络用于识别输出三维关键点坐标;
该头部姿态估计装置还包括训练模块,用于将该第一训练样本集合输入该特征提取网络层得到该第一训练样本集合中各个训练样本的特征表示;
将该特征表示输入该初始第一分支网络得到预测二维关键点坐标集合以及该预测二维关键点坐标对应的预测不确定度,并将该特征表示输入该初始第二分支网络得到预测三维关键点坐标集合;
根据该预测二维关键点坐标集合、该预测不确定度和该真实二维关键点坐标集合计算第一损失值,根据该预测三维关键点坐标集合和该真实三维关键点坐标集合计算第二损失值;
根据该第一损失值调整该初始第一分支网络得到该第一分支网络,并根据该第二损失值调整该初始第二分支网络得到该第二分支网络;
根据该第一分支网络和该第二分支网络得到该第一网络模型。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该获取模块,具体用于通过深度摄像头采集训练图像集合,该训练图像集合中的各个训练图像包括人脸图像的三维点云数据以及真实头部姿态;
将该三维点云数据进行姿态投影得到该训练图像中人脸图像的二维关键点数据;
将该训练图像集合输入该图像处理网络中输出该训练样本集。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该获取模块,具体用于将该训练图像集合输入该图像处理网络得到该训练图像中人脸图像的稀疏关键点,该稀疏关键点包括该训练图像中人脸图像的五官点以及人脸轮廓点;
根据该人脸轮廓点从该训练图像中获取该目标人脸图像;
根据该五官点将该目标人脸图像水平对齐并缩放至目标尺寸得到该训练样本集合中的训练样本。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该稀疏关键点至少五个人脸五官点以及四个人脸轮廓点。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该特征提取网络包括残差神经网络ResNet和池化层,该第一分支网络为全连接层,该第二分支网络为全连接层。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该训练模块,具体用于利用高斯负对数似然损失根据该预测二维关键点坐标集合、该预测不确定度和该真实二维关键点坐标集合计算第一损失值;利用回归损失函数根据该预测三维关键点坐标集合和该真实三维关键点坐标集合计算第二损失值。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该获取模块,具体用于获取第二训练样本集,并建立第二初始网络模型,该第二训练样本集标注有人脸图像的真实二维关键点坐标集合、真实三维关键点坐标集合和真实头部姿态,该第二初始网络模型包括特征提取网络、初始第一分支网络、初始第二分支网络和计算网络,该初始第一分支网络用于识别输出二维关键点坐标和不确定度,该初始第一分支网络用于识别输出三维关键点坐标,该计算网络用于根据二维关键点坐标和三维关键点坐标求解头部姿态;
该头部姿态估计装置还包括训练模块,用于将该第二训练样本集合输入该特征提取网络层得到该第二训练样本集合中各个训练样本的特征表示;
将该特征表示输入该初始第一分支网络得到预测二维关键点坐标集合以及该预测二维关键点坐标对应的预测不确定度,并将该特征表示输入该初始第二分支网络得到预测三维关键点坐标集合;
将该预测二维关键点坐标集合和该预测三维关键点坐标集合计算预测头部姿态;
根据该预测二维关键点坐标集合、该预测不确定度和该真实二维关键点坐标集合计算第一损失值,根据该预测三维关键点坐标集合和该真实三维关键点坐标集合计算第二损失值,并根据该预测头部姿态和该真实头部姿态计算第三损失值;
根据该第一损失值、该第二损失值和该第三损失值调整该第二初始网络模型得到该第一网络模型。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该特征提取网络包括残差神经网络ResNet和池化层,该第一分支网络为全连接层,该第二分支网络为全连接层;该计算网络为可微分的PnP解算网络。
在一种可能的设计中,在本申请实施例的另一方面的另一种实现方式中,该获取模块,具体用于获取待处理图像,该待处理图像包括摄像头采集的目标人脸图像;
将该待处理图像输入图像预处理网络得到该目标人脸图像的稀疏关键点,该稀疏关键点包括该目标人脸图像的五官点以及人脸轮廓点;
根据该人脸轮廓点从该待处理图像中获取该目标人脸图像;
根据该五官点将该目标人脸图像水平对齐并缩放至目标尺寸得到该待识别图像。
本申请另一方面提供一种计算机设备,包括:存储器、处理器以及总线系统;
其中,存储器用于存储程序;
处理器用于执行存储器中的程序,处理器用于根据程序代码中的指令执行上述各方面的方法;
总线系统用于连接存储器以及处理器,以使存储器以及处理器进行通信。
本申请的另一方面提供了一种计算机可读存储介质,计算机可读存储介质中存储有指令,当其在计算机上运行时,使得计算机执行上述各方面的方法。
本申请的另一个方面,提供了一种计算机程序产品或计算机程序,该计算机程序产品或计算机程序包括计算机指令,该计算机指令存储在计算机可读存储介质中。计算机设备的处理器从计算机可读存储介质读取该计算机指令,处理器执行该计算机指令,使得该计算机设备执行上述各方面所提供的方法。
从以上技术方案可以看出,本申请实施例具有以下优点:通过两个分支网络分别输出待识别图像中关于目标人脸图像的2D关键点坐标以及3D关键点坐标,然后根据该2D关键点坐标以及该3D关键点坐标计算得到该目标人脸图像的头部姿态。其中,由于该3D关键点坐标可以实时获取,因此3D头部模型可以随着表情的变化而变化,因此使得2D关键点与该3D关键点之间的坐标对应关系更精确,从而使得在做大幅度表情时,使得头部姿态的解算稳定可靠。
附图说明
图1为本申请实施例中应用系统的一个架构示意图;
图2为本申请实施例中第一网络模型的一个架构示意图;
图3为本申请实施例中第一网络模型的另一个架构示意图;
图4为本申请实施例中头部姿态估计方法的一个流程示意图;
图5为本申请实施例中待识别图像中目标人脸图像的一个示意图;
图6为本申请实施例中待处理图像通过图像处理模型处理得到待识别图像的一个流程示意图;
图7为本申请实施例中头部姿态估计的一个实施例示意图;
图7a为本申请实施例中待处理图像通过头部姿态估计之后生成的虚拟形象的一个示意图;
图8为本申请实施例中头部姿态估计装置的一个实施例示意图;
图9为本申请实施例中头部姿态估计装置的另一个实施例示意图;
图10为本申请实施例中头部姿态估计装置的另一个实施例示意图;
图11为本申请实施例中头部姿态估计装置的另一个实施例示意图。
具体实施方式
本申请实施例提供了一种头部姿态估计方法、装置、设备以及存储介质,用于保证头部姿态估计的稳定可靠。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例例如能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“对应于”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
在计算机视觉的背景下,头部姿势估计最常被解释为推断人的头部相对于相机视图的方向的能力。因此在视觉动捕中,头部姿态估计是非常重要的一环。精准的头部姿态可以让虚拟形象完美复刻中之人的头部动作,让虚拟人动画更加生动灵巧,写实逼真。当前,比较主流的头部姿态估计方法,多为利用传统的运动传感器,另外就是通过三维(3-dimension,3D)图像获取设备获取头部的三维坐标信息来进行判断,受限于目前主流的视频图像采集设备采集的都是二维(2-dimension,2D)图像信息,所以基于人脸关键点坐标信息,实现2D坐标信息在世界坐标系的3D转换,从而获得人头部姿态的3D坐标信息,再根据坐标的变化来实现对头部姿态的估计以及头部动作的判断。上述方法是基于求解3D到2D点对运动的方法(也称为Perspective-n-Point,PnP),该方法首先会估计人脸的2D关键点;然后标定出一个固定3D人头模型中的对应的3D点。通过PnP解算,就可以得到3D点到2D关键点的变换姿态。上述方法大体精度可以,解释性强,但是当人做出大幅度表情时,抖动就会很明显。因此目前急需要一种在做大幅度表情时,保证头部姿态估计的稳定可靠的头部姿态估计方法。为了解决上述方案,本申请提供如下技术方案:获取待识别图像,该待识别图像中包括目标人脸图像;将该待识别图像输入第一网络模型得到该待识别图像中目标人脸图像的二维关键点坐标集合、该二维关键点坐标集合中各个二维关键点坐标的不确定度以及该目标人脸图像的三维关键点坐标集合,其中,该第一网络模型包括第一分支网络和第二分支网络,其中,该第一分支网络用于识别得到该二维关键点坐标集合和该不确定度,该第二分支网络用于识别得到该三维关键点坐标集合;根据该二维关键点坐标集合、该不确定度和该三维关键点坐标集合识别该待识别图像中目标人脸图像对应的头部姿态。这样由于该3D关键点坐标可以实时获取,因此3D头部模型可以随着表情的变化而变化,因此使得2D关键点与该3D关键点之间的坐标对应关系更精确,从而使得在做大幅度表情时,使得头部姿态的解算稳定可靠。
为了方便理解,下面对本申请中的部分专业名词进行说明:
计算机视觉技术(Computer Vision,CV)计算机视觉是一门研究如何使机器“看”的科学,更进一步的说,就是指用摄影机和电脑代替人眼对目标进行识别、跟随和测量等机器视觉,并进一步做图形处理,使电脑处理成为更适合人眼观察或传送给仪器检测的图像。作为一个科学学科,计算机视觉研究相关的理论和技术,试图建立能够从图像或者多维数据中获取信息的人工智能系统。计算机视觉技术通常包括图像处理、图像识别、图像语义理解、图像检索、光学字符识别(Optical Character Recognition,OCR)、视频处理、视频语义理解、视频内容/行为识别、三维物体重建、3D技术、虚拟现实、增强现实。
机器学习(Machine Learning,ML)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。机器学习是人工智能的核心,是使计算机具有智能的根本途径,其应用遍及人工智能的各个领域。机器学习和深度学习通常包括人工神经网络、置信网络、强化学习、迁移学习、归纳学习等技术。
人脸五官关键点:用于表示五官在人脸上的位置,每个五官的位置是一个关键点。本申请实施例涉及的五官关键点包括人脸的左眼瞳孔、右眼瞳孔、鼻尖、左嘴角和右嘴角五个位置对应的点。
欧拉角(Eulerian angles):是指由欧拉提出的,用来确定定点转动刚体位置的3个一组独立角参量,本申请的实施例是基于人脸建立直角坐标系,如图1所示,本申请实施例以人脸姿态角度是欧拉角为例进行说明,欧拉角在三维直角坐标系中,该三维直角坐标系是以人的头部的中心或重心为原点,由人脸的一侧耳朵指向另一侧耳朵的方向为X轴方向,由人的头部顶端指向脖子的方向为Y轴,由人的脸部指向后脑的方向为Z轴,欧拉角包含下述三个角度:
俯仰角(pitch):围绕X轴旋转的角度;
偏航角(yaw):围绕Y轴旋转的角度;
翻滚角(roll):围绕Z轴旋转的角度。
视觉动捕:传统动捕是利用惯性传感器或者在中之人身上贴marker点的方式进行动作捕捉。视觉动捕不需要中之人穿戴任何设备,利用单个或者多个摄像头,就可以捕捉中之人面部,身体动作。
6DoF(6自由度):DoF是对象在3d空间中可以移动的方向数,总共有6个自由度。即人头姿态包括旋转和平移,其中旋转用3个欧拉角来表示,平移也用3个方向的位移来表示,合起来就是6自由度姿态参数。
PnP(Perspective-n-Point):PnP(Perspective-n-Point)是求解3D到2D点对运动的方法,目的是求解相机坐标系相对世界坐标系的位姿。它描述了已知个3D点的坐标(相对世界坐标系)以及这些点的2D坐标时,如何估计相机的位姿(即求解世界坐标系到相机坐标系的旋转矩阵和平移向量)。
卷积层(Convolutional layer,Conv)是指卷积神经网络层中由若干卷积单元组成的层状结构,卷积神经网络(Convolutional Neural Network,CNN)是一种前馈神经网络,卷积神经网络中包括至少两个神经网络层,其中,每一个神经网络层包含若干个神经元,各个神经元分层排列,同一层的神经元之间没有互相连接,层间信息的传送只沿一个方向进行。
池化层(Pooling layer):又被命名为取样层,在卷积层之后,是指能够从输入值中二次提取特征的层状结构,池化层可保证上一层数值的主要特征,还可减少下一层的参数和计算量。池化层由多个特征面组成,卷积层的一个特征面与池化层中的一个特征面对应,不会改变特征面的个数,通过降低特征面的分辨率来获得具有空间不变性的特征。
全连接层(Fully Connected layer,FC)是指该层状结构中的每一个结点均与上一层的所有结点相连,可用于将上一层的神经网络层提取的特征进行综合处理,在神经网络模型中起到“分类器”的作用。
反向传播:前向传播是指模型的前馈处理过程,反向传播与前向传播相反,指根据模型输出的结果对模型各个层的权重参数进行更新。例如,模型包括输入层、隐藏层和输出层,则前向传播是指按照输入层-隐藏层-输出层的顺序进行处理,反向传播是指按照输出层-隐藏层-输入层的顺序,依次更新各个层的权重参数。
本申请实施例提供的一种头部姿态估计方法、装置、设备及存储介质,能够保证头部姿态估计的稳定可靠。下面说明本申请实施例提供的电子设备的示例性应用,本申请实施例提供的电子设备可以实施为各种类型的用户终端,也可以实施为服务器。
电子设备通过运行本申请实施例提供的头部姿态估计的方案,可以能够保证头部姿态估计的稳定可靠,即提高电子设备自身对头部姿态估计稳定可靠,适用于头部姿态估计的多个应用场景。例如,增强现实(Augmented Reality,AR)游戏、虚拟现实(VirtualReality,VR)游戏、帮助凝视估计、建模注意力、使3D模型适合视频以及执行面部对准。
参见图1,图1是本申请实施例提供的头部姿态估计方案的一个应用场景下的一个可选的架构示意图,为实现支撑一个头部姿态估计应用,终端设备100(示例性示出了终端设备1001和终端设备1002)通过网络200连接服务器300,服务器300连接数据库400,网络200可以是广域网或者局域网,又或者是二者的组合。其中用于实现头部姿态估计方案的客户端部署于终端设备100上,其中,客户端可以通过浏览器的形式运行于终端设备100上,也可以通过独立的应用程序(application,APP)的形式运行于终端设备100上等,对于客户端的具体展现形式,此处不做限定。本申请涉及的服务器300可以是独立的物理服务器,也可以是多个物理服务器构成的服务器集群或者分布式系统,还可以是提供云服务、云数据库、云计算、云函数、云存储、网络服务、云通信、中间件服务、域名服务、安全服务、内容分发网络(Content Delivery Network,CDN)、以及大数据和人工智能平台等基础云计算服务的云服务器。终端设备100可以是智能手机、平板电脑、笔记本电脑、掌上电脑、个人电脑、智能电视、智能手表、车载设备、可穿戴设备等,但并不局限于此。终端设备100以及服务器300可以通过有线或无线通信方式通过网络200进行直接或间接地连接,本申请在此不做限制。服务器300和终端设备100的数量也不做限制。本申请提供的方案可以由终端设备100独立完成,也可以由服务器300独立完成,还可以由终端设备100与服务器300配合完成,对此,本申请并不做具体限定。其中,数据库400,简而言之可视为电子化的文件柜——存储电子文件的处所,用户可以对文件中的数据进行新增、查询、更新、删除等操作。所谓“数据库”是以一定方式储存在一起、能与多个用户共享、具有尽可能小的冗余度、与应用程序彼此独立的数据集合。数据库管理系统(Database Management System,DBMS)是为管理数据库而设计的电脑软件系统,一般具有存储、截取、安全保障、备份等基础功能。数据库管理系统可以依据它所支持的数据库模型来作分类,例如关系式、可扩展标记语言(Extensible MarkupLanguage,XML);或依据所支持的计算机类型来作分类,例如服务器群集、移动电话;或依据所用查询语言来作分类,例如结构化查询语言(Structured Query Language,SQL)、XQuery;或依据性能冲量重点来作分类,例如最大规模、最高运行速度;亦或其他的分类方式。不论使用哪种分类方式,一些DBMS能够跨类别,例如,同时支持多种查询语言。在本申请中,数据库400可以用于存储训练样本集以及待识别图像,当然,训练样本集的存储位置并不限于数据库,例如还可以存储于终端设备100、区块链或者服务器300的分布式文件系统中等。
在一些实施例中,服务器300可以执行本申请实施例提供的头部姿态估计方法以及头部姿态估计中第一网络模型的训练方法,本实施例中,该第一网络模型包括第一分支网络和第二分支网络,其中,该第一分支网络用于识别得到该二维关键点坐标和该不确定度,该第二分支网络用于识别得到该三维关键点坐标。在执行第一网络模型的训练方法时,其具体流程可以如下:从终端设备100和/或数据库400中获取对应有标注有真实2D关键点坐标和真实3D关键点坐标的第一训练样本集,并建立该第一初始网络模型,通过第一初始网络模型对该第一训练样本集进行检测处理得到该第一训练样本集中各个人脸的预测2D关键点坐标、预测3D关键点坐标以及该预测2D关键点坐标对应的不确定度,根据包括预先设计损失因素(如间隔值和距离两个因素)的损失函数,确定预测2D关键点坐标和该预测2D关键点坐标对应的不确定度对应的第一损失值以及确定该预测3D关键点坐标对应的第二损失值,进而根据该第一损失值反向传播调整该第一分支网络的参数;同时根据该第二损失值反向传播调整该第二分支网络的参数,从而实现对该第一初始网络模型的训练得到该第一网络模型。本实施例中,该第一分支网络与该第二分支网络分别独立训练,相互之间并不影响参数的调整。这样可以提升该第一分支网络与该第二分支网络的泛化能力。本实施例中,在训练该第一网络模型时,该服务器计算该第一损失值可以采用高斯负对数似然损失GaussianNLLLoss,GNLL),一种示例性方案中,具体计算过程可以采用公式1:
其中,该N用于指示该2D关键点的数量,该y用于指示该2D关键点坐标,该f(x)用于表示该真实2D关键点坐标,该δ用于表示该2D关键点坐标的不确定度。
该服务器计算该第二损失值可以采用回归损失函数,一种示例性方案中,该服务器采用L2LOSS,则其具体计算过程可以采用公式2:
其中,该N用于指示该3D关键点的数量,该y用于指示该3D关键点坐标,该f(x)用于表示该真实3D关键点坐标。
在该服务器300训练该第一网络模型时,该第一网络模型的初始模型架构可以包括特征提取网络、全连接层、池化层以及该第一分支网络和该第二分支网络。其中,该特征提取网络可以是残差神经网络(Residual Neural Network,ResNet)、Le Net或者AlexNet等CNN网络或者为具有特征金字塔的高分辨率网络(High-Resolution net V2P,HRNetV2P)、或者基于移动窗口的层次化视觉自注意力模型(Swin Transformer),而该第一分支网络和该第二分支网络可以为全连接层。一个示例性方案中,下面以特征提取网络为ResNet50为例说明该第一网络模型。如图2所示,第一网络模型包括该ResNet50,其中,该ResNet50包括49个卷积层和一个全连接层,而该全连接层之后再与该池化层相连;该池化层的输出分别也两个全连接层相连,其中一个全连接层为该第一分支网络,另一个全连接层为该第二分支网络。网络的输入为224×224×3,经过前五部分的卷积计算,输出为7×7×2048,池化层会将其转化成一个特征向量,最后分类器会对这个特征向量进行计算并输出类别概率。该ResNet50网络结构可以分成七个部分,第一部分不包含残差块,主要对输入进行卷积、正则化、激活函数、最大池化的计算。第二、三、四、五部分结构都包含了残差块,其中存在不会改变残差块的尺寸,只用于改变残差块的维度的结构。在Resnet50网络结构中,残差块都有三层卷积,那网络总共有1+3×(3+4+6+3)=49个卷积层,加上最后的全连接层总共是50层,这也是Resnet50名称的由来。Resnet50网络的输入为256x256×3,经过前五部分的卷积计算,输出为Nx2048x8x8的特征图,其中,N为一次训练所选取的样本数(也称为batchsize)。然后底都将Nx2048x8x8的特征图经过该池化层得到就得到Nx2048的特征,该Nx2048的特征会经过两个FC层,分别输出2D关键点坐标以及不确定度和3D关键点坐标。每个FC层的权重维度都是2048x3660(1220个点),其中,将3660看作是1220x3。对于2D分支,3代表x,y坐标以及不确定度δ。对于3D分支,3代表x,y,z坐标数值。
在另一些实施例中,服务器300可以执行本申请实施例提供的头部姿态估计方法以及头部姿态估计中第一网络模型的训练方法,本实施例中,该第一网络模型包括第一分支网络、第二分支网络和计算网络,其中,该第一分支网络用于识别得到该二维关键点坐标和该不确定度,该第二分支网络用于识别得到该三维关键点坐标,该计算网络用于根据该2D关键点坐标和该3D关键点坐标估计该头部姿态。在执行第一网络模型的训练方法时,其具体流程可以如下:从终端设备100和/或数据库400中获取对应有标注真实2D关键点坐标、真实3D关键点坐标和真实头部姿态的第二训练样本集,并建立该第二初始网络模型,通过第二初始网络模型对该第二训练样本集进行检测处理得到该第二训练样本集中各个人脸的预测2D关键点坐标、预测3D关键点坐标以及该预测2D关键点坐标对应的不确定度,根据包括预先设计损失因素(如间隔值和距离两个因素)的损失函数,确定预测2D关键点坐标和该预测2D关键点坐标对应的不确定度对应的第一损失值以及确定该预测3D关键点坐标对应的第二损失值;然后再根据预测2D关键点坐标和该预测3D关键点坐标计算预测头部姿态,并根据该预测头部姿态和真实头部姿态计算第三损失值;进而根据该第一损失值、该第二损失值和该第三损失值反向传播调整该第一分支网络和该第二分支网络的参数,从而实现对该第二初始网络模型的训练得到该第一网络模型。本实施例中,该第一分支网络与该第二分支网络可以进行联合训练,使得两个分支可以互相影响,增强网络学习能力。本实施例中,在训练该第一网络模型时,该服务器计算该第一损失值可以采用高斯负对数似然损失GaussianNLLLoss,GNLL),一种示例性方案中,具体计算过程可以采用公式1:
其中,该N用于指示该2D关键点的数量,该y用于指示该2D关键点坐标,该f(x)用于表示该真实2D关键点坐标,该δ用于表示该2D关键点坐标的不确定度。
该服务器计算该第二损失值可以采用回归损失函数,一种示例性方案中,该服务器采用L2 LOSS,则其具体计算过程可以采用公式2:
其中,该N用于指示该3D关键点的数量,该y用于指示该3D关键点坐标,该f(x)用于表示该真实3D关键点坐标。
在该服务器300训练该第一网络模型时,该第一网络模型的初始模型架构可以包括特征提取网络、全连接层、池化层、该第一分支网络、该第二分支网络和该计算网络。其中,该特征提取网络可以是残差神经网络(Residual Neural Network,ResNet)、Le Net或者AlexNet等CNN网络或者为具有特征金字塔的高分辨率网络(High-Resolution net V2P,HRNetV2P)、或者基于移动窗口的层次化视觉自注意力模型(Swin Transformer),而该第一分支网络和该第二分支网络可以为全连接层。一个示例性方案中,下面以特征提取网络为ResNet50为例说明该第一网络模型。如图3所示,第一网络模型包括该ResNet50,其中,该ResNet50包括49个卷积层和一个全连接层,而该全连接层之后再与该池化层相连;该池化层的输出分别也两个全连接层相连,其中一个全连接层为该第一分支网络,另一个全连接层为该第二分支网络。网络的输入为224×224×3,经过前五部分的卷积计算,输出为7×7×2048,池化层会将其转化成一个特征向量,最后分类器会对这个特征向量进行计算并输出类别概率。该ResNet50网络结构可以分成七个部分,第一部分不包含残差块,主要对输入进行卷积、正则化、激活函数、最大池化的计算。第二、三、四、五部分结构都包含了残差块,其中存在不会改变残差块的尺寸,只用于改变残差块的维度的结构。在Resnet50网络结构中,残差块都有三层卷积,那网络总共有1+3×(3+4+6+3)=49个卷积层,加上最后的全连接层总共是50层,这也是Resnet50名称的由来。Resnet50网络的输入为256x256×3,经过前五部分的卷积计算,输出为Nx2048x8x8的特征图,其中,N为一次训练所选取的样本数(也称为batchsize)。然后底都将Nx2048x8x8的特征图经过该池化层得到就得到Nx2048的特征,该Nx2048的特征会经过两个FC层,分别输出2D关键点坐标以及不确定度和3D关键点坐标。每个FC层的权重维度都是2048x3660(1220个点),其中,将3660看作是1220x3。对于2D分支,3代表x,y坐标以及不确定度δ。对于3D分支,3代表x,y,z坐标数值。然后根据该第一分支网络输出的预测2D关键点坐标和不确定度以及该第二分支网络输出的预测3D关键点坐标计算得到预测头部姿态。
本实施例中,该第一训练样本集和该第二训练样本集的数据可以采用如下技术方案:即通过苹果手机(iphone)自带的深度摄像头采集人脸图像,然后利用基于苹果系统的增强现实技术(ARKit)实时捕捉面部3D点云数据以及对应的头部姿态,并基于ARKit开发数据采集软件,再以60帧(FPS)的速度采集面部数据。这样基于已有技术进行面部数据采集,可以降低训练样本集的采集难度。
可以理解的是,在获取该第一训练样本集和该第二训练样本集时也可以采用其他外接摄像头。其中,该外接摄像头可以是深度摄像头也可以是其他摄像头,即只要可实现面部数据采集即可,具体方式此处不做限定。这样使用外接设备进行面部数据,可以降低对硬件设备的要求,从而降低成本。
在对第一网络模型训练完毕后,服务器300可以将第一网络模型保存至本地,从而为终端设备100提供远程的头部姿态估计功能。例如,服务器300可以接收终端设备100发送的待识别图像,并通过第一网络模型对待识别图像进行检测处理,得到待识别图像中的目标人脸图像对应的头部姿态及对应的置信概率;最后将头部姿态发送至终端设备100,以使终端设备100在图形界面110(示例性示出了图形界面1101和图形界面1102)中显示头部姿态。
服务器300也可以将训练完毕的第一网络模型训练发送(部署)至终端设备100,从而在终端设备100本地实现头部姿态估计。例如,终端设备100可以实时获取待识别图像或从其他设备中获取待识别图像,并通过第一网络模型对待识别图像进行检测处理,得到待识别图像中的目标人脸图像对应的头部姿态及对应的置信概率;最后,终端设备100在图形界面110(示例性示出了图形界面1101和图形界面1102)中显示头部姿态。
基于上述系统,具体请参阅图4所示,本申请中头部姿态估计方法的一个执行流程可以如下:
步骤1、对该目标人脸生成待识别图像。本实施例中,该待识别图像中包括目标人脸图像,其中,目标人脸图像是指含该待识别图像中仅包括人脸图像,不再包括其他背景图像。如图5所示,该图5中(a)中为包括背景图像的图像,而图5中(b)为包括目标人脸图像的待识别图像。本实施例中,各种摄像头可以先采集包括了其他背景图像的待处理图像,然后对该待处理图像进行预处理得到该待识别图像。具体流程可以如图6所示:通过摄像头采集到待处理图像a;然后通过人脸检测得到该待处理图像a中的稀疏关键点,其中,该稀疏关键点可以为人脸五官点和人脸轮廓点;然后根据该人脸轮廓点从该待处理图像中抠出该目标人脸图像;然后再通过该人脸五官点中的眼部关键点对该目标人脸图像进行水平对齐,并对该图像缩放至目标尺寸从而得到该待识别图像。
步骤2、将该待识别图像通过该第一网络模型进行检测得到2D关键点坐标以及该2D关键点坐标的不确定度,以及3D关键点坐标。
步骤3、根据该不确定度对该2D关键点坐标和该3D关键点坐标进行筛选,得到该不确定度小于预测阈值的目标2D关键点坐标和目标3D关键点坐标。
步骤4、将目标2D关键点坐标和目标3D关键点坐标利用PnP算法估计该目标人脸图像对应的头部姿态。
可以理解的是,在本申请的具体实施方式中,涉及到待检测图像和训练样本集等相关的数据,当本申请以上实施例运用到具体产品或技术中时,需要获得用户许可或者同意,且相关数据的收集、使用和处理需要遵守相关国家和地区的相关法律法规和标准。
结合上述介绍,下面以终端设备为执行主体对本申请中头部姿态估计方法进行介绍,请参阅图7,本申请实施例中头部姿态估计方法的一个实施例包括:
701、获取待识别图像,该待识别图像中包括目标人脸图像。
该终端设备可以通过自身的摄像头采集待处理图像,然后将该待处理图像输入图像处理模型处理得到该待识别图像。同时该终端设备也可以获取到在内存中保存的待识别图像。终端设备也可以通过即时通讯应用获取到待识别图像,其中,即时通讯应用是指通过即时通讯技术来实现在线聊天、交流的软件。终端设备也可以从互联网中获取待识别图像,比如,从互联网中视频网络中获取到视频图像,从视频图像中提取到人脸图像。比如,从互联网中直接下载到人脸图像等等。
一个示例性方案中,其具体流程可以如下:将该待处理图像输入图像预处理网络得到该目标人脸图像的稀疏关键点,该稀疏关键点包括该目标人脸图像的五官点以及人脸轮廓点;根据该人脸轮廓点从该待处理图像中获取该目标人脸图像;根据该五官点将该目标人脸图像水平对齐并缩放至目标尺寸得到该待识别图像。其中,目标人脸图像是指含该待识别图像中仅包括人脸图像,不再包括其他背景图像。如图5所示,该图5中(a)中为包括背景图像的图像,而图5中(b)为包括目标人脸图像的待识别图像。本实施例中,各种摄像头可以先采集包括了其他背景图像的待处理图像,然后对该待处理图像进行预处理得到该待识别图像。具体流程可以如图6所示:通过摄像头采集到待处理图像a;然后通过人脸检测得到该待处理图像a中的稀疏关键点,其中,该稀疏关键点可以为人脸五官点和人脸轮廓点;然后根据该人脸轮廓点从该待处理图像中抠出该目标人脸图像;然后再通过该人脸五官点中的眼部关键点对该目标人脸图像进行水平对齐,从而得到该待识别图像。
702、将该待识别图像输入第一网络模型得到该待识别图像中目标人脸图像的二维关键点坐标集合、该二维关键点坐标集合中各个二维关键点的不确定度以及该目标人脸图像的三维关键点坐标集合,其中,该第一网络模型包括第一分支网络和第二分支网络,其中,该第一分支网络用于识别得到该二维关键点坐标集合和该不确定度,该第二分支网络用于识别得到该三维关键点坐标集合。
该终端设备将该待识别图像输入该第一网络模型,然后该第一网络模型的特征提取网络将对该待识别图像进行相应的特征提取得到该待识别图像的最终特征表示;然后将该最终特征表示分别输入该第一网络模型的第一分支网络和第二分支网络;其中,该第一分支网络将输出该待识别图像中的目标人脸图像的二维关键点坐标(即2D关键点坐标)集合和不确定度;该第二分支网络将输出该待识别图像中的目标人脸图像的三维关键点坐标(即3D关键点坐标)集合。
可以理解的是,本申请中第一网络模型的训练过程可以参考图2至图3所示,具体此处不再赘述。
703、根据该二维关键点坐标集合、该不确定度和该三维关键点坐标集合识别该待识别图像中目标人脸图像对应的头部姿态。
本实施例中,该终端设备可以根据该不确定度对该二维关键点和该三维关键点进行筛选得到中间三维关键点和中间二维关键点,然后再根据该中间三维关键点坐标和该中间二维关键点坐标利用PnP算法求解得到该目标人脸图像对应的头部姿态。一个示例性方案中,该终端设备对不确定度进行排序,剔除不确定性最大的20%的二维关键点以用该二维关键点对应的三维关键点,保留其他二维关键点以用该其他二维关键点对应的三维关键点用来PnP解算。一个示例性方案中,该终端设备可以使用opencv内置的solvePnP算法,该方法原理是迭代式求解姿态,使得3D关键点经过该姿态投影后,和2D坐标尽可能接近。
可以理解的是,本申请实施例提供的技术方案可以应用于虚拟形象构建、帮助凝视估计、建模注意力、使3D模型适合视频以及执行面部对准。一个示例性应用场景中,以游戏人物构建为例进行说明。游戏设备通过摄像头采集用户的面部数据并进行头部姿态估计,从而生成该用户对应的虚拟对象的形象,然后通过该虚拟对象与游戏中的其他虚拟对象进行交互,从而实现游戏互动。其中,该游戏设备通过摄像头采集的面部数据,并根据该面部数据生成虚拟对象的过程可以如图7a所示,如图7a所示,通过采集面部动作生成游戏人物的头部动作。具体来说,采集的待处理图像可以如图7a中的(a)所示,即目标人脸图像显示的头部动作是歪头;然后通过本申请实施例提供的头部姿态估计得到如图7a中的(b)所示,即相应的游戏人物的头部动作同步显示歪头。在图7a中这样通过采集用户的面部动作生成相应的虚拟对象的头部动作,提高游戏交互体验,同时对于虚拟对象的头部动作实现实时同步,提高了数据处理效率。
而在实际应用中,该头部姿态估计方法也可以应用于直播或者视频录制,即在用户不想以自身的相貌出现在直播视频时,可以通过摄像头采集该用户的面部数据,然后根据该面部数据生成相应的虚拟形象,然后利用该虚拟形象进行直播或者视频录制。这样可以在实现该虚拟形象的动作与用户的动作同步,有效实现用户与观看视频的用户的互动,同时保护用户隐私。
下面以一个具体实例对本申请提供的技术方案的有益效果进行说明:
获取一个40人约50万张图片的数据集,用来评估我们方法和其他方法的技术指标。参与评估的方法有三种:1.直接估计6D0F参数;2.采用PnP方案,但是没有估计不确定性;3.本申请提供的技术方案。其结果如表1所示:
表1
如表1所示,在6DoF的6个维度都进行比较,分别是pitch,yaw,roll,tx,ty和tz。从结果上看,本申请提供的技术方案在各个维度上的指标都是显著优于其他方法的。
下面对本申请中的头部姿态估计装置进行详细描述,请参阅图8,图8为本申请实施例中头部姿态估计装置的一个实施例示意图,头部姿态估计装置20包括:
获取模块201,用于获取待识别图像,该待识别图像中包括目标人脸图像;
处理模块202,用于将该待识别图像输入第一网络模型得到该待识别图像中目标人脸图像的二维关键点坐标集合、该二维关键点坐标集合中各个二维关键点坐标的不确定度以及该目标人脸图像的三维关键点坐标集合,其中,该第一网络模型包括第一分支网络和第二分支网络,其中,该第一分支网络用于识别得到该二维关键点坐标集合和该不确定度,该第二分支网络用于识别得到该三维关键点坐标集合;
输出模块203,用于根据该二维关键点坐标集合、该不确定度和该三维关键点坐标集合识别该待识别图像中目标人脸图像对应的头部姿态。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,通过两个分支网络分别输出待识别图像中关于目标人脸图像的2D关键点坐标以及3D关键点坐标,然后根据该2D关键点坐标以及该3D关键点坐标计算得到该目标人脸图像的头部姿态。其中,由于该3D关键点坐标可以实时获取,因此3D头部模型可以随着表情的变化而变化,因此使得2D关键点与该3D关键点之间的坐标对应关系更精确,从而使得在做大幅度表情时,保证头部姿态估计的稳定可靠。
可选地,在上述图8所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,
该输出模块203,具体用于根据该不确定度将该二维关键点坐标集合中的各个二维关键点坐标进行排序,将不确定度大于预设阈值的二维关键点坐标从该二维关键点坐标集合中剔除得到中间二维关键点坐标集合;
根据该中间二维关键点坐标集合从该三维关键点坐标集合中获取中间三维关键点坐标集合;
根据该中间二维关键点坐标集合和该中间三维关键点坐标集合识别该待识别图像中目标人脸图像对应的头部姿态。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,根据2D关键点坐标对应的不确定度对该2D关键点坐标和该3D关键点坐标进行筛选,使得进行头部姿态估计时删除不确定性较大的点,使得头部姿态估计更加鲁棒性。
可选地,在上述图8所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,该输出模块203,具体用于根据该中间二维关键点坐标集合和该中间三维关键点坐标集合利用PnP解算识别该待识别图像中目标人脸图像对应的头部姿态。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,利用PNP解算方式进行姿态估计,使得该头部姿态估计更加具有可实行性。
可选地,在上述图8所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,如图9所示:
该获取模块201,还用于获取第一训练样本集,并建立第一初始网络模型,该第一训练样本集标注有人脸图像的真实二维关键点坐标集合和真实三维关键点坐标集合,该第一初始网络模型包括特征提取网络层、初始第一分支网络和初始第二分支网络,该初始第一分支网络用于识别输出二维关键点坐标和不确定度,该初始第一分支网络用于识别输出三维关键点坐标;
该头部姿态估计装置还包括训练模块204,用于将该第一训练样本集合输入该特征提取网络层得到该第一训练样本集合中各个训练样本的特征表示;
将该特征表示输入该初始第一分支网络得到预测二维关键点坐标集合以及该预测二维关键点坐标对应的预测不确定度,并将该特征表示输入该初始第二分支网络得到预测三维关键点坐标集合;
根据该预测二维关键点坐标集合、该预测不确定度和该真实二维关键点坐标集合计算第一损失值,根据该预测三维关键点坐标集合和该真实三维关键点坐标集合计算第二损失值;
根据该第一损失值调整该初始第一分支网络得到该第一分支网络,并根据该第二损失值调整该初始第二分支网络得到该第二分支网络;
根据该第一分支网络和该第二分支网络得到该第一网络模型。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,在训练过程中生成该第一分支网络和该第二分支网络,通过两个分支网络分别输出待识别图像中关于目标人脸图像的2D关键点坐标以及3D关键点坐标,然后根据该2D关键点坐标以及该3D关键点坐标计算得到该目标人脸图像的头部姿态。其中,由于该3D关键点坐标可以实时获取,因此3D头部模型可以随着表情的变化而变化,因此使得2D关键点与该3D关键点之间的坐标对应关系更精确,从而使得在做大幅度表情时,保证头部姿态估计的稳定可靠。同时该第一分支网络和该第二分支网络分别进行独立训练,从而增加模型的泛化性。
可选地,在上述图9所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,该获取模块201,具体用于通过深度摄像头采集训练图像集合,该训练图像集合中的各个训练图像包括人脸图像的三维点云数据以及真实头部姿态;
将该三维点云数据进行姿态投影得到该训练图像中人脸图像的二维关键点数据;
将该训练图像集合输入该图像处理网络中输出该训练样本集。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,采用深度摄像头采集训练图像,可以更方便获取到该3D点云数据以及该真实头部姿态,从而简化训练样本集的处理流程。
可选地,在上述图9所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,该获取模块201,具体用于将该训练图像集合输入该图像处理网络得到该训练图像中人脸图像的稀疏关键点,该稀疏关键点包括该训练图像中人脸图像的五官点以及人脸轮廓点;
根据该人脸轮廓点从该训练图像中获取该目标人脸图像;
根据该五官点将该目标人脸图像水平对齐并缩放至目标尺寸得到该训练样本集合中的训练样本。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,通过稀疏关键点将该人脸图像进行抠图对齐,这样可以降低摄像头采集的图像中背景信息带来的干扰。而将图像缩放至统一尺寸,将有利用对图像的特征提取,降低训练难度。
可选地,在上述图9所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,该稀疏关键点至少五个人脸五官点以及四个人脸轮廓点。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,这样可以在保证精确抠图以及对齐的情况下,降低图像预处理的过程。
可选地,在上述图9所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,该特征提取网络包括残差神经网络ResNet和池化层,该第一分支网络为全连接层,该第二分支网络为全连接层。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,这样可以增加该方案的可实现性。
可选地,在上述图9所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,该训练模块204,具体用于利用高斯负对数似然损失根据该预测二维关键点坐标集合、该预测不确定度和该真实二维关键点坐标集合计算第一损失值;利用回归损失函数根据该预测三维关键点坐标集合和该真实三维关键点坐标集合计算第二损失值。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,这样可以增加该方案的可实现性。
可选地,在上述图8所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,如图9所示,
该获取模块201,具体用于获取第二训练样本集,并建立第二初始网络模型,该第二训练样本集标注有人脸图像的真实二维关键点坐标集合、真实三维关键点坐标集合和真实头部姿态,该第二初始网络模型包括特征提取网络、初始第一分支网络、初始第二分支网络和计算网络,该初始第一分支网络用于识别输出二维关键点坐标和不确定度,该初始第一分支网络用于识别输出三维关键点坐标,该计算网络用于根据二维关键点坐标和三维关键点坐标求解头部姿态;
该头部姿态估计装置还包括训练模块204,用于将该第二训练样本集合输入该特征提取网络层得到该第二训练样本集合中各个训练样本的特征表示;
将该特征表示输入该初始第一分支网络得到预测二维关键点坐标集合以及该预测二维关键点坐标对应的预测不确定度,并将该特征表示输入该初始第二分支网络得到预测三维关键点坐标集合;
将该预测二维关键点坐标集合和该预测三维关键点坐标集合计算预测头部姿态;
根据该预测二维关键点坐标集合、该预测不确定度和该真实二维关键点坐标集合计算第一损失值,根据该预测三维关键点坐标集合和该真实三维关键点坐标集合计算第二损失值,并根据该预测头部姿态和该真实头部姿态计算第三损失值;
根据该第一损失值、该第二损失值和该第三损失值调整该第二初始网络模型得到该第一网络模型。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,在训练过程中生成该第一分支网络和该第二分支网络,通过两个分支网络分别输出待识别图像中关于目标人脸图像的2D关键点坐标以及3D关键点坐标,然后根据该2D关键点坐标以及该3D关键点坐标计算得到该目标人脸图像的头部姿态。其中,由于该3D关键点坐标可以实时获取,因此3D头部模型可以随着表情的变化而变化,因此使得2D关键点与该3D关键点之间的坐标对应关系更精确,从而使得在做大幅度表情时,使得头部姿态的解算稳定可靠。同时该第一分支网络和该第二分支网络进行联合训练,从而增加模型的学习性。
可选地,在上述图9所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,该特征提取网络包括残差神经网络ResNet和池化层,该第一分支网络为全连接层,该第二分支网络为全连接层;该计算网络为可微分的PnP解算网络。
本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,这样可以增加该方案的可实现性。
可选地,在上述图8所对应的实施例的基础上,本申请实施例提供的头部姿态估计装置20的另一实施例中,该获取模块201,具体用于获取待处理图像,该待处理图像包括摄像头采集的目标人脸图像;
将该待处理图像输入图像预处理网络得到该目标人脸图像的稀疏关键点,该稀疏关键点包括该目标人脸图像的五官点以及人脸轮廓点;
根据该人脸轮廓点从该待处理图像中获取该目标人脸图像;
根据该五官点将该目标人脸图像水平对齐并缩放至目标尺寸得到该待识别图像。本申请实施例中,提供了一种头部姿态估计装置。采用上述装置,通过稀疏关键点将该人脸图像进行抠图对齐,这样可以降低摄像头采集的图像中背景信息带来的干扰。而将图像缩放至统一尺寸,将有利用对图像的特征提取。
本申请提供的头部姿态估计装置可用于服务器,请参阅图10,图10是本申请实施例提供的一种服务器结构示意图,该服务器300可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上中央处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,一个或一个以上存储应用程序342或数据344的存储介质330(例如一个或一个以上海量存储设备)。其中,存储器332和存储介质330可以是短暂存储或持久存储。存储在存储介质330的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对服务器中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储介质330通信,在服务器300上执行存储介质330中的一系列指令操作。
服务器300还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341,例如Windows ServerTM,Mac OS XTM,UnixTM,LinuxTM,FreeBSDTM等等。
上述实施例中由服务器所执行的步骤可以基于该图10所示的服务器结构。
本申请提供的头部姿态估计装置可用于终端设备,请参阅图11,为了便于说明,仅示出了与本申请实施例相关的部分,具体技术细节未揭示的,请参照本申请实施例方法部分。在本申请实施例中,以终端设备为智能手机为例进行说明:
图11示出的是与本申请实施例提供的终端设备相关的智能手机的部分结构的框图。参考图11,智能手机包括:射频(radio frequency,RF)电路410、存储器420、输入单元430、显示单元440、传感器450、音频电路460、无线保真(wireless fidelity,WiFi)模块470、处理器480、以及电源490等部件。本领域技术人员可以理解,图11中示出的智能手机结构并不构成对智能手机的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。
下面结合图11对智能手机的各个构成部件进行具体的介绍:
RF电路410可用于收发信息或通话过程中,信号的接收和发送,特别地,将基站的下行信息接收后,给处理器480处理;另外,将设计上行的数据发送给基站。通常,RF电路410包括但不限于天线、至少一个放大器、收发信机、耦合器、低噪声放大器(low noiseamplifier,LNA)、双工器等。此外,RF电路410还可以通过无线通信与网络和其他设备通信。上述无线通信可以使用任一通信标准或协议,包括但不限于全球移动通讯系统(globalsystem of mobile communication,GSM)、通用分组无线服务(general packet radioservice,GPRS)、码分多址(code division multiple access,CDMA)、宽带码分多址(wideband code division multiple access,WCDMA)、长期演进(long term evolution,LTE)、电子邮件、短消息服务(short messaging service,SMS)等。
存储器420可用于存储软件程序以及模块,处理器480通过运行存储在存储器420的软件程序以及模块,从而执行智能手机的各种功能应用以及数据处理。存储器420可主要包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序(比如声音播放功能、图像播放功能等)等;存储数据区可存储根据智能手机的使用所创建的数据(比如音频数据、电话本等)等。此外,存储器420可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件、闪存器件、或其他易失性固态存储器件。
输入单元430可用于接收输入的数字或字符信息,以及产生与智能手机的用户设置以及功能控制有关的键信号输入。具体地,输入单元430可包括触控面板431以及其他输入设备432。触控面板431,也称为触摸屏,可收集用户在其上或附近的触摸操作(比如用户使用手指、触笔等任何适合的物体或附件在触控面板431上或在触控面板431附近的操作),并根据预先设定的程式驱动相应的连接装置。可选的,触控面板431可包括触摸检测装置和触摸控制器两个部分。其中,触摸检测装置检测用户的触摸方位,并检测触摸操作带来的信号,将信号传送给触摸控制器;触摸控制器从触摸检测装置上接收触摸信息,并将它转换成触点坐标,再送给处理器480,并能接收处理器480发来的命令并加以执行。此外,可以采用电阻式、电容式、红外线以及表面声波等多种类型实现触控面板431。除了触控面板431,输入单元430还可以包括其他输入设备432。具体地,其他输入设备432可以包括但不限于物理键盘、功能键(比如音量控制按键、开关按键等)、轨迹球、鼠标、操作杆等中的一种或多种。
显示单元440可用于显示由用户输入的信息或提供给用户的信息以及智能手机的各种菜单。显示单元440可包括显示面板441,可选的,可以采用液晶显示器(liquidcrystal display,LCD)、有机发光二极管(organic light-emitting diode,OLED)等形式来配置显示面板441。进一步的,触控面板431可覆盖显示面板441,当触控面板431检测到在其上或附近的触摸操作后,传送给处理器480以确定触摸事件的类型,随后处理器480根据触摸事件的类型在显示面板441上提供相应的视觉输出。虽然在图11中,触控面板431与显示面板441是作为两个独立的部件来实现智能手机的输入和输入功能,但是在某些实施例中,可以将触控面板431与显示面板441集成而实现智能手机的输入和输出功能。
智能手机还可包括至少一种传感器450,比如光传感器、运动传感器以及其他传感器。具体地,光传感器可包括环境光传感器及接近传感器,其中,环境光传感器可根据环境光线的明暗来调节显示面板441的亮度,接近传感器可在智能手机移动到耳边时,关闭显示面板441和/或背光。作为运动传感器的一种,加速计传感器可检测各个方向上(一般为三轴)加速度的大小,静止时可检测出重力的大小及方向,可用于识别智能手机姿态的应用(比如横竖屏切换、相关游戏、磁力计姿态校准)、振动识别相关功能(比如计步器、敲击)等;至于智能手机还可配置的陀螺仪、气压计、湿度计、温度计、红外线传感器等其他传感器,在此不再赘述。
音频电路460、扬声器461,传声器462可提供用户与智能手机之间的音频接口。音频电路460可将接收到的音频数据转换后的电信号,传输到扬声器461,由扬声器461转换为声音信号输出;另一方面,传声器462将收集的声音信号转换为电信号,由音频电路460接收后转换为音频数据,再将音频数据输出处理器480处理后,经RF电路410以发送给比如另一智能手机,或者将音频数据输出至存储器420以便进一步处理。
WiFi属于短距离无线传输技术,智能手机通过WiFi模块470可以帮助用户收发电子邮件、浏览网页和访问流式媒体等,它为用户提供了无线的宽带互联网访问。虽然图11示出了WiFi模块470,但是可以理解的是,其并不属于智能手机的必须构成,完全可以根据需要在不改变发明的本质的范围内而省略。
处理器480是智能手机的控制中心,利用各种接口和线路连接整个智能手机的各个部分,通过运行或执行存储在存储器420内的软件程序和/或模块,以及调用存储在存储器420内的数据,执行智能手机的各种功能和处理数据,从而对智能手机进行整体监测。可选的,处理器480可包括一个或多个处理单元;可选的,处理器480可集成应用处理器和调制解调处理器,其中,应用处理器主要处理操作系统、用户界面和应用程序等,调制解调处理器主要处理无线通信。可以理解的是,上述调制解调处理器也可以不集成到处理器480中。
智能手机还包括给各个部件供电的电源490(比如电池),可选的,电源可以通过电源管理系统与处理器480逻辑相连,从而通过电源管理系统实现管理充电、放电、以及功耗管理等功能。
尽管未示出,智能手机还可以包括摄像头、蓝牙模块等,在此不再赘述。
上述实施例中由终端设备所执行的步骤可以基于该图11所示的终端设备结构。
本申请实施例中还提供一种计算机可读存储介质,该计算机可读存储介质中存储有计算机程序,当其在计算机上运行时,使得计算机执行如前述各个实施例描述的方法。
本申请实施例中还提供一种包括程序的计算机程序产品,当其在计算机上运行时,使得计算机执行前述各个实施例描述的方法。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(read-only memory,ROM)、随机存取存储器(random access memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。
Claims (15)
1.一种头部姿态估计方法,其特征在于,包括:
获取待识别图像,所述待识别图像中包括目标人脸图像;
将所述待识别图像输入第一网络模型得到所述待识别图像中目标人脸图像的二维关键点坐标集合、所述二维关键点坐标集合中各个二维关键点坐标的不确定度以及所述目标人脸图像的三维关键点坐标集合,其中,所述第一网络模型包括第一分支网络和第二分支网络,其中,所述第一分支网络用于识别得到所述二维关键点坐标集合和所述不确定度,所述第二分支网络用于识别得到所述三维关键点坐标集合;
根据所述二维关键点坐标集合、所述不确定度和所述三维关键点坐标集合识别所述待识别图像中目标人脸图像对应的头部姿态。
2.根据权利要求1所述的方法,其特征在于,所述根据所述二维关键点坐标集合、所述不确定度和所述三维关键点坐标集合识别所述待识别图像中目标人脸图像对应的头部姿态包括:
根据所述不确定度将所述二维关键点坐标集合中的各个二维关键点坐标进行排序,将不确定度大于预设阈值的二维关键点坐标从所述二维关键点坐标集合中剔除得到中间二维关键点坐标集合;
根据所述中间二维关键点坐标集合从所述三维关键点坐标集合中获取中间三维关键点坐标集合;
根据所述中间二维关键点坐标集合和所述中间三维关键点坐标集合识别所述待识别图像中目标人脸图像对应的头部姿态。
3.根据权利要求2所述的方法,其特征在于,所述根据所述中间二维关键点坐标集合和所述中间三维关键点坐标集合识别所述待识别图像中目标人脸图像对应的头部姿态包括:
根据所述中间二维关键点坐标集合和所述中间三维关键点坐标集合利用PnP解算识别所述待识别图像中目标人脸图像对应的头部姿态。
4.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
获取第一训练样本集,并建立第一初始网络模型,所述第一训练样本集标注有人脸图像的真实二维关键点坐标集合和真实三维关键点坐标集合,所述第一初始网络模型包括特征提取网络层、初始第一分支网络和初始第二分支网络,所述初始第一分支网络用于识别输出二维关键点坐标和不确定度,所述初始第一分支网络用于识别输出三维关键点坐标;
将所述第一训练样本集合输入所述特征提取网络层得到所述第一训练样本集合中各个训练样本的特征表示;
将所述特征表示输入所述初始第一分支网络得到预测二维关键点坐标集合以及所述预测二维关键点坐标对应的预测不确定度,并将所述特征表示输入所述初始第二分支网络得到预测三维关键点坐标集合;
根据所述预测二维关键点坐标集合、所述预测不确定度和所述真实二维关键点坐标集合计算第一损失值,根据所述预测三维关键点坐标集合和所述真实三维关键点坐标集合计算第二损失值;
根据所述第一损失值调整所述初始第一分支网络得到所述第一分支网络,并根据所述第二损失值调整所述初始第二分支网络得到所述第二分支网络;
根据所述第一分支网络和所述第二分支网络得到所述第一网络模型。
5.根据权利要求4所述的方法,其特征在于,所述获取第一训练样本集包括:
通过深度摄像头采集训练图像集合,所述训练图像集合中的各个训练图像包括人脸图像的三维点云数据以及真实头部姿态;
将所述三维点云数据进行姿态投影得到所述训练图像中人脸图像的二维关键点数据;
将所述训练图像集合输入所述图像处理网络中输出所述训练样本集。
6.根据权利要求5所述的方法,其特征在于,所述将所述训练图像集合通过所述图像处理网络中得到所述训练样本集包括:
将所述训练图像集合输入所述图像处理网络得到所述训练图像中人脸图像的稀疏关键点,所述稀疏关键点包括所述训练图像中人脸图像的五官点以及人脸轮廓点;
根据所述人脸轮廓点从所述训练图像中获取所述目标人脸图像;
根据所述五官点将所述目标人脸图像水平对齐并缩放至目标尺寸得到所述训练样本集合中的训练样本。
7.根据权利要求6所述的方法,其特征在于,所述稀疏关键点至少五个人脸五官点以及四个人脸轮廓点。
8.根据权利要求4所述的方法,其特征在于,所述特征提取网络包括残差神经网络ResNet和池化层,所述第一分支网络为全连接层,所述第二分支网络为全连接层。
9.根据权利要求4所述的方法,其特征在于,所述根据所述预测二维关键点坐标集合、所述预测不确定度和所述真实二维关键点坐标集合计算第一损失值包括:
利用高斯负对数似然损失根据所述预测二维关键点坐标集合、所述预测不确定度和所述真实二维关键点坐标集合计算第一损失值;
根据所述预测三维关键点坐标集合和所述真实三维关键点坐标集合计算第二损失值包括:
利用回归损失函数根据所述预测三维关键点坐标集合和所述真实三维关键点坐标集合计算第二损失值。
10.根据权利要求1至3中任一项所述的方法,其特征在于,所述方法还包括:
获取第二训练样本集,并建立第二初始网络模型,所述第二训练样本集标注有人脸图像的真实二维关键点坐标集合、真实三维关键点坐标集合和真实头部姿态,所述第二初始网络模型包括特征提取网络、初始第一分支网络、初始第二分支网络和计算网络,所述初始第一分支网络用于识别输出二维关键点坐标和不确定度,所述初始第一分支网络用于识别输出三维关键点坐标,所述计算网络用于根据二维关键点坐标和三维关键点坐标求解头部姿态;
将所述第二训练样本集合输入所述特征提取网络层得到所述第二训练样本集合中各个训练样本的特征表示;
将所述特征表示输入所述初始第一分支网络得到预测二维关键点坐标集合以及所述预测二维关键点坐标对应的预测不确定度,并将所述特征表示输入所述初始第二分支网络得到预测三维关键点坐标集合;
将所述预测二维关键点坐标集合和所述预测三维关键点坐标集合计算预测头部姿态;
根据所述预测二维关键点坐标集合、所述预测不确定度和所述真实二维关键点坐标集合计算第一损失值,根据所述预测三维关键点坐标集合和所述真实三维关键点坐标集合计算第二损失值,并根据所述预测头部姿态和所述真实头部姿态计算第三损失值;
根据所述第一损失值、所述第二损失值和所述第三损失值调整所述第二初始网络模型得到所述第一网络模型。
11.根据权利要求6所述的方法,其特征在于,所述特征提取网络包括残差神经网络ResNet和池化层,所述第一分支网络为全连接层,所述第二分支网络为全连接层;所述计算网络为可微分的PnP解算网络。
12.根据权利要求1至11所述的方法,其特征在于,所述获取待识别图像包括:
获取待处理图像,所述待处理图像包括摄像头采集的目标人脸图像;
将所述待处理图像输入图像预处理网络得到所述目标人脸图像的稀疏关键点,所述稀疏关键点包括所述目标人脸图像的五官点以及人脸轮廓点;
根据所述人脸轮廓点从所述待处理图像中获取所述目标人脸图像;
根据所述五官点将所述目标人脸图像水平对齐并缩放至目标尺寸得到所述待识别图像。
13.一种头部姿态估计装置,其特征在于,包括:
获取模块,用于获取待识别图像,所述待识别图像中包括目标人脸图像;
处理模块,用于将所述待识别图像输入第一网络模型得到所述待识别图像中目标人脸图像的二维关键点坐标集合、所述二维关键点坐标集合中各个二维关键点坐标的不确定度以及所述目标人脸图像的三维关键点坐标集合,其中,所述第一网络模型包括第一分支网络和第二分支网络,其中,所述第一分支网络用于识别得到所述二维关键点坐标集合和所述不确定度,所述第二分支网络用于识别得到所述三维关键点坐标集合;
输出模块,用于根据所述二维关键点坐标集合、所述不确定度和所述三维关键点坐标集合识别所述待识别图像中目标人脸图像对应的头部姿态。
14.一种计算机设备,其特征在于,包括:存储器、处理器以及总线系统;
其中,所述存储器用于存储程序;
所述处理器用于执行所述存储器中的程序,所述处理器用于根据程序代码中的指令执行权利要求1至12中任一项所述的方法;
所述总线系统用于连接所述存储器以及所述处理器,以使所述存储器以及所述处理器进行通信。
15.一种计算机可读存储介质,包括指令,当其在计算机上运行时,使得计算机执行如权利要求1至12中任一项所述的方法。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211130441.4A CN117011929A (zh) | 2022-09-15 | 2022-09-15 | 一种头部姿态估计方法、装置、设备以及存储介质 |
PCT/CN2023/108312 WO2024055748A1 (zh) | 2022-09-15 | 2023-07-20 | 一种头部姿态估计方法、装置、设备以及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211130441.4A CN117011929A (zh) | 2022-09-15 | 2022-09-15 | 一种头部姿态估计方法、装置、设备以及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN117011929A true CN117011929A (zh) | 2023-11-07 |
Family
ID=88566103
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211130441.4A Pending CN117011929A (zh) | 2022-09-15 | 2022-09-15 | 一种头部姿态估计方法、装置、设备以及存储介质 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN117011929A (zh) |
WO (1) | WO2024055748A1 (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117315211A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | 数字人合成及其模型训练方法、装置、设备及存储介质 |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105447462B (zh) * | 2015-11-20 | 2018-11-20 | 小米科技有限责任公司 | 人脸姿态估计方法及装置 |
US20210150264A1 (en) * | 2017-07-05 | 2021-05-20 | Siemens Aktiengesellschaft | Semi-supervised iterative keypoint and viewpoint invariant feature learning for visual recognition |
CN112241731B (zh) * | 2020-12-03 | 2021-03-16 | 北京沃东天骏信息技术有限公司 | 一种姿态确定方法、装置、设备及存储介质 |
CN114333034A (zh) * | 2022-01-04 | 2022-04-12 | 广州虎牙科技有限公司 | 人脸姿态估计方法、装置、电子设备及可读存储介质 |
CN114299152A (zh) * | 2022-01-21 | 2022-04-08 | 奥比中光科技集团股份有限公司 | 一种获取姿态数据的方法及神经网络构建方法 |
CN114360031B (zh) * | 2022-03-15 | 2022-06-21 | 南京甄视智能科技有限公司 | 头部姿态估计方法、计算机设备及存储介质 |
-
2022
- 2022-09-15 CN CN202211130441.4A patent/CN117011929A/zh active Pending
-
2023
- 2023-07-20 WO PCT/CN2023/108312 patent/WO2024055748A1/zh unknown
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117315211A (zh) * | 2023-11-29 | 2023-12-29 | 苏州元脑智能科技有限公司 | 数字人合成及其模型训练方法、装置、设备及存储介质 |
CN117315211B (zh) * | 2023-11-29 | 2024-02-23 | 苏州元脑智能科技有限公司 | 数字人合成及其模型训练方法、装置、设备及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
WO2024055748A1 (zh) | 2024-03-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111652121B (zh) | 一种表情迁移模型的训练方法、表情迁移的方法及装置 | |
US20220051061A1 (en) | Artificial intelligence-based action recognition method and related apparatus | |
WO2020199932A1 (zh) | 模型训练方法、人脸识别方法、装置、设备及存储介质 | |
WO2020199926A1 (zh) | 一种图像识别网络模型训练方法、图像识别方法及装置 | |
TW202011268A (zh) | 目標跟蹤方法、裝置、介質以及設備 | |
CN114387647B (zh) | 对抗扰动生成方法、装置及存储介质 | |
CN110766081B (zh) | 一种界面图像检测的方法、模型训练的方法以及相关装置 | |
CN111209423B (zh) | 一种基于电子相册的图像管理方法、装置以及存储介质 | |
CN112101329B (zh) | 一种基于视频的文本识别方法、模型训练的方法及装置 | |
CN110738211A (zh) | 一种对象检测的方法、相关装置以及设备 | |
CN111209812A (zh) | 目标人脸图片提取方法、装置及终端设备 | |
CN110472532A (zh) | 一种视频对象行为识别方法和装置 | |
WO2022088819A1 (zh) | 视频处理方法、视频处理装置和存储介质 | |
Li et al. | 3D sketch-based 3D model retrieval | |
CN113822427A (zh) | 一种模型训练的方法、图像匹配的方法、装置及存储介质 | |
WO2024055748A1 (zh) | 一种头部姿态估计方法、装置、设备以及存储介质 | |
CN112995757B (zh) | 视频剪裁方法及装置 | |
CN112818733B (zh) | 信息处理方法、装置、存储介质及终端 | |
CN116580211B (zh) | 关键点检测方法、装置、计算机设备及存储介质 | |
CN108459813A (zh) | 一种搜索方法及移动终端 | |
CN115171196B (zh) | 人脸图像处理方法、相关装置及存储介质 | |
CN116958715A (zh) | 一种手部关键点的检测方法、装置以及存储介质 | |
CN108563687A (zh) | 一种资源的评分方法和移动终端 | |
CN116453005A (zh) | 一种视频封面的提取方法以及相关装置 | |
CN110750193A (zh) | 一种基于人工智能的场景拓扑确定方法和装置 |
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 |