CN116612513A - 头部姿态估计方法及系统 - Google Patents
头部姿态估计方法及系统 Download PDFInfo
- Publication number
- CN116612513A CN116612513A CN202310289355.6A CN202310289355A CN116612513A CN 116612513 A CN116612513 A CN 116612513A CN 202310289355 A CN202310289355 A CN 202310289355A CN 116612513 A CN116612513 A CN 116612513A
- Authority
- CN
- China
- Prior art keywords
- matrix
- rotation matrix
- face image
- face
- dimensional
- 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 80
- 239000011159 matrix material Substances 0.000 claims abstract description 138
- 238000013507 mapping Methods 0.000 claims abstract description 11
- 239000013598 vector Substances 0.000 claims description 51
- 238000012549 training Methods 0.000 claims description 25
- 238000001514 detection method Methods 0.000 claims description 11
- 238000005520 cutting process Methods 0.000 claims description 5
- 238000012545 processing Methods 0.000 claims description 4
- 238000013528 artificial neural network Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 11
- 238000009826 distribution Methods 0.000 description 8
- 230000001815 facial effect Effects 0.000 description 8
- 230000008569 process Effects 0.000 description 6
- 238000002474 experimental method Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012360 testing method Methods 0.000 description 5
- 238000000605 extraction Methods 0.000 description 4
- 238000013527 convolutional neural network Methods 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000000306 recurrent effect Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 230000003044 adaptive effect Effects 0.000 description 2
- 230000015572 biosynthetic process Effects 0.000 description 2
- 238000002790 cross-validation Methods 0.000 description 2
- 238000013135 deep learning Methods 0.000 description 2
- 239000000284 extract Substances 0.000 description 2
- 230000006872 improvement Effects 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 238000010801 machine learning Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 2
- 210000002569 neuron Anatomy 0.000 description 2
- 238000010606 normalization Methods 0.000 description 2
- 238000011176 pooling Methods 0.000 description 2
- 238000005096 rolling process Methods 0.000 description 2
- 238000010200 validation analysis Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000010924 continuous production Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000011156 evaluation Methods 0.000 description 1
- 239000011521 glass Substances 0.000 description 1
- 230000036541 health Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000001095 motoneuron effect Effects 0.000 description 1
- 210000003205 muscle Anatomy 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 230000009466 transformation Effects 0.000 description 1
Classifications
-
- 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
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N3/00—Computing arrangements based on biological models
- G06N3/02—Neural networks
- G06N3/08—Learning methods
-
- 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/20—Image preprocessing
- G06V10/25—Determination of region of interest [ROI] or a volume of interest [VOI]
-
- 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/20—Image preprocessing
- G06V10/26—Segmentation of patterns in the image field; Cutting or merging of image elements to establish the pattern region, e.g. clustering-based techniques; Detection of occlusion
-
- 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/77—Processing image or video features in feature spaces; using data integration or data reduction, e.g. principal component analysis [PCA] or independent component analysis [ICA] or self-organising maps [SOM]; Blind source separation
- G06V10/774—Generating sets of training patterns; Bootstrap methods, e.g. bagging or boosting
-
- 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
- G06V40/161—Detection; Localisation; Normalisation
-
- 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
- G06V40/168—Feature extraction; Face representation
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Multimedia (AREA)
- General Health & Medical Sciences (AREA)
- Oral & Maxillofacial Surgery (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Evolutionary Computation (AREA)
- Computing Systems (AREA)
- Artificial Intelligence (AREA)
- Software Systems (AREA)
- Databases & Information Systems (AREA)
- Medical Informatics (AREA)
- Life Sciences & Earth Sciences (AREA)
- Social Psychology (AREA)
- Psychiatry (AREA)
- Biomedical Technology (AREA)
- Biophysics (AREA)
- Computational Linguistics (AREA)
- Data Mining & Analysis (AREA)
- Molecular Biology (AREA)
- General Engineering & Computer Science (AREA)
- Mathematical Physics (AREA)
- Image Analysis (AREA)
Abstract
本申请提供一种头部姿态估计方法及系统,方法包括:获取待识别的二维人脸图像;对所述二维人脸图像进行人脸校准,得到校准后的二维人脸图像;获取所述校准后的二维人脸图像上的人脸特征点;将所述人脸特征点输入回归网络,得到6D旋转矩阵,所述回归网络为基于6D旋转表示的回归模型;根据正交映射将所述6D旋转矩阵转换为3×3旋转矩阵;将所述3×3旋转矩阵转换为欧拉角,所述欧拉角用于表示头部姿态的旋转角,以解决基于模型的姿态估计方法和基于外观的姿态估计方法的识别精度与鲁棒性无法同时精确表示的问题。
Description
技术领域
本申请涉及计算机视觉领域,尤其涉及一种头部姿态估计方法及系统。
背景技术
人类头部姿态估计是从二维图像估计出用户在三维空间中的头部姿态,简而言之,就是估计出二维图像中的用户头部在三维空间中分别朝着X轴、Y轴和Z轴偏转后对应的转向角。头部姿态估计的应用相当广泛,例如:虚拟现实、人机交互系统、驾驶员辅助系统,课堂注意力估计以及儿童康复游戏等。在虚拟自适应技术AVATEA(Advanced VirtualAdaptive Technologies health)项目中,研究者计划开发一个以游戏形式呈现并且可交互的视觉界面,用来帮助患有神经运动障碍的儿童们进行康复训练,在帮助这类儿童康复训练的过程中,其中一个康复任务是需要提高孩子们头部的跟踪能力,当治疗师在空间中移动物体时,这类儿童需要移动头部来跟踪物体,这些练习旨在提高孩子们学习如何控制颈部和头部肌肉的能力。
上述类型的训练可以转换成通过大屏幕来呈现的人机交互游戏,各式各样的物体可以通过动画的形式进行移动,儿童则需要以正确的头部姿势来控制角色的移动。随着计算机视觉技术的发展,衍生了许多实现头部姿态估计的研究方法。这些方法可以分为两大类:基于模型的姿态估计方法和基于外观的姿态估计方法。
基于模型的姿态估计方法,虽然可以获得更精确的结果,但此方法依赖于对人脸特征点检测的准确度,由于遮挡和大幅度旋转等因素会导致人脸特征点检测的精确度大幅下降,因此也会间接影响到头部姿态估计算法的精确度。基于外观的姿态估计方法是直接从二维人脸图像中提取纹理特征,并将这些特征与三维头部姿态联系。基于外观的姿态估计方法在遮挡或者大幅度旋转等因素下有着更高的鲁棒性,但是识别精度不如基于模型的姿态估计方法,并且在需要做到实时估计的应用场景的使用中表现更为沉重,综上所述,基于模型的姿态估计方法和基于外观的姿态估计方法的识别精度与鲁棒性无法同时精确表示。
发明内容
本申请提供一种头部姿态估计方法及系统,以解决基于模型的姿态估计方法和基于外观的姿态估计方法的识别精度与鲁棒性无法同时精确表示的问题。
本申请一方面提供一种头部姿态估计方法,包括:
获取待识别的二维人脸图像;
对所述二维人脸图像进行人脸校准,得到校准后的二维人脸图像;
获取所述校准后的二维人脸图像上的人脸特征点;
将所述人脸特征点输入回归网络,得到6D旋转矩阵,所述回归网络为基于6D旋转表示的回归模型;
根据正交映射将所述6D旋转矩阵转换为3×3旋转矩阵;
将所述3×3旋转矩阵转换为欧拉角,所述欧拉角用于表示头部姿态的旋转角。
可选的,对所述二维人脸图像进行人脸校准,得到校准后的人脸图像的步骤,包括:
利用人脸检测算法MTCNN定位所述二维人脸图像的头部位置;
根据所述头部位置对所述二维人脸图像进行裁剪和/或扩充,得到人脸区域;
将每个所述人脸区域调整为相同尺寸的图像,得到校准后的人脸图像。
可选的,获取所述校准后的二维人脸图像上的人脸特征点的步骤,包括:
将所述校准后的二维人脸图像通过输入卷积网络,以获得所述卷积网络输出的多维矩阵;
将所述多维矩阵转化为向量矩阵;
将所述向量矩阵压缩,并输入至全连接层;
全连接层输出136维度的向量特征,所述向量特征为人脸特征点,所述人脸特征点为二维坐标点。
可选的,将所述人脸特征点输入回归网络,得到6D旋转矩阵的步骤,包括:将人脸特征点序列输入至多层感知机MLP中,得到6D向量,所述6D向量为具有六个节点的特征向量;
在所述6D向量中截取得到所述6D旋转矩阵。
可选的,将人脸特征点序列输入至多层感知机MLP中,得到6D向量的步骤,包括:将人脸特征点序列依次输入至多层感知机MLP的输入层、多个全连接隐藏层、输出层,得到6D向量。
可选的,根据正交映射将所述6D旋转矩阵转换为3×3旋转矩阵的步骤包括:利用格拉姆—施密特正交化对所述6D旋转矩阵第一列、第二列矩阵进行正交化处理,得到满足约束条件的正交矩阵。
可选的,得到满足约束条件的正交矩阵的步骤之后,还包括:将满足约束条件的所述正交矩阵映射为3×3旋转矩阵。
可选的,将所述3×3旋转矩阵转换为欧拉角的步骤,包括:将3×3旋转矩阵转换为欧拉角;将所述欧拉角按照X、Y、Z轴旋转,得到3×3旋转矩阵。
可选的,获取待识别的二维人脸图像的步骤,包括:根据连续姿态数据集、离散姿态数据集以及提供偏航角度标签数据集获取待识别的二维人脸图像,所述连续姿态数据集采用BIWI数据集、所述离散姿态数据集采用PRIMA数据集,所述提供偏航角度标签数据集为Drive Face数据集。
本申请另一方面提供一种头部姿态估计系统,包括:采集单元、校准单元以及训练单元其中,所述采集单元用于获取待识别的二维人脸图像,所述校准单元用于对所述二维人脸图像进行人脸校准,得到校准后的二维人脸图像,所述训练单元用于获取所述校准后的二维人脸图像上的人脸特征点,将所述人脸特征点输入回归网络,得到6D旋转矩阵,根据正交映射将所述6D旋转矩阵转换为3×3旋转矩阵,将所述3×3旋转矩阵转换为欧拉角。
本申请提供一种头部姿态估计方法及系统,所述方法包括:获取待识别的二维人脸图像;对所述二维人脸图像进行人脸校准,得到校准后的二维人脸图像;获取所述校准后的二维人脸图像上的人脸特征点;将所述人脸特征点输入回归网络,得到6D旋转矩阵,所述回归网络为基于6D旋转表示的回归模型;根据正交映射将所述6D旋转矩阵转换为3×3旋转矩阵;将所述3×3旋转矩阵转换为欧拉角,所述欧拉角用于表示头部姿态的旋转角。以解决基于模型的姿态估计方法和基于外观的姿态估计方法的识别精度与鲁棒性无法同时精确表示的问题。
附图说明
为了更清楚地说明本申请的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为一种头部姿态估计方法流程示意图;
图2为人脸校准示意图;
图3为提取人脸特征点示意图;
图4为6D旋转矩阵形成示意图;
图5为使用人脸校准与不使用人脸校准结果对比示意图;
图6为人脸特征点提取过程示意图;
图7为人脸特征点集合示意图;
图8为对6D旋转矩阵进行训练的示意图;
图9为BIWI数据集、PRIMA数据集以及Drive Face数据集示意图。
具体实施方式
下面将详细地对实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下实施例中描述的实施方式并不代表与本申请相一致的所有实施方式。仅是与权利要求书中所详述的、本申请的一些方面相一致的系统和方法的示例。
头部姿态估计可以应用于疲劳驾驶检测、智慧课堂、人机交互等场景。除此之外,头部姿态估计任务还是很多人脸相关任务的基础任务,例如人脸识别、视线估计等。关于头部姿势估计的方法可以分为两类,基于模型的姿态估计方法和基于外观的姿态估计方法。
基于模型的姿态估计方法首先检测二维人脸图像中的人脸特征点,其次通过人脸特征点来建立二维面部和三维头部之间的对应关系,从而将二维图像中的人脸恢复至三维空间中的头部姿势表示,虽然这种方法可以获得较为精准的结果,但其依赖于对人脸特征点检测的精确度,由于遮挡和大幅度旋转等因素会导致人脸特征点检测的精确度较低,因此,也影响头部姿势的估计精确度。
基于外观的方法直接从二维人脸图像中提取纹理特征,将这些纹理特征与三维头部姿势联系起来,相对于基于模型的方法,基于外观的方法在遮挡或大幅度旋转等因素下有着更高的鲁棒性,但精确度较低。
为解决上述问题,本申请部分实施例提供一种头部姿态估计方法,参见图1,图2、图3、图4,图1为一种头部姿态估计方法流程示意图,图2为人脸校准示意图;图3为提取人脸特征点示意图;图4为6D旋转矩阵形成示意图;方法包括:
S101:获取待识别的二维人脸图像;
S102:对二维人脸图像进行人脸校准,得到校准后的二维人脸图像;
S103:获取校准后的二维人脸图像上的人脸特征点;
S104:将人脸特征点输入回归网络,得到6D旋转矩阵,回归网络为基于6D旋转表示的回归模型;
S105:根据正交映射将6D旋转矩阵转换为3×3旋转矩阵;
S106:将3×3旋转矩阵转换为欧拉角,欧拉角用于表示头部姿态的旋转角。
在头部姿态估计中,选择一个合适的头部姿态估计旋转表示是比较重要的。在一些实施例中,用于表示人体头部姿态的旋转表示的方式包括:欧拉角表示、四元数表示、旋转矩阵表示。其中,欧拉角相较于其他两种方式,能更直白的表示人体头部姿态,只需要三个值(分别对应x、y、z轴的旋转角度)。但是,欧拉角表示存在的缺点是会造成万向节锁现象,从而导致自由度消失,这种情况下,在视觉效果上相同的头部姿态可能存在多个旋转参数。因此,通过神经网络学习到准确姿态的概率降低。四元数相对于欧拉角来说,避免了万向节锁问题,但是在学习头部姿态的全部范围时,由于成相反对称性的存在,它仍然有一种模糊性,这会导致头部姿势估计的性能下降。旋转矩阵是一个连续的旋转表示,每个旋转都有不同的旋转参数。在三维空间中,旋转矩阵R的大小为3×3,包括9个参数,并且旋转矩阵R满足正交性质(RRT=E),其中,E为单位矩阵。RT为R的转置矩阵。三维旋转群(3D rotationgroup)记为SO(3),它是物体围绕欧几里得空间原点所有旋转的集合。旋转矩阵便是李群(Lie group)SO(3)中的三位特殊正交矩阵,并且满足以下性质:
其中,det[R]为一个矩阵的行列式。
要使用旋转矩阵来表示头部姿态,在一些实施例中,采用回归的方式,通过得到旋转矩阵中的九个参数,对九个参数执行正交化变换。旋转矩阵表示在避免万向节锁问题的同时,也能消除成相反对称性导致的模糊性。但是由于预测一个完整的旋转矩阵需要回归九个参数,在训练过程中,每个参数的损失累加后会导致总体损失增大,这使得神经网络很难学习到准确的姿态。
因此,为了获得更小的误差,使神经网络可以学习到准确的姿态,将人脸特征点输入回归网络,得到6D旋转矩阵,将回归得到的九个参数减少到六个参数,将旋转矩阵3×3的形式转换为3×2的形式,即将最后一列向量舍弃,以获得更小的误差。
上述实施例中提供的头部姿态估计方法可将二维人脸图像中的人脸特征点看作神经网络输入序列,通过神经网络回归得到用户的头部姿态估计结果,通过使用旋转矩阵表示来解决模糊旋转标签问题,并将6D旋转矩阵表示作为旋转矩阵的中间状态,以实现有效的直接回归。
首先,获取待识别的二维人脸图像,其中,在一些实施例中,包括:利用连续姿态数据集、离散姿态数据集以及提供偏航角度标签数据集获取待识别的二维人脸图像,连续姿态数据集可以采用BIWI数据集、离散姿态数据集可以采用PRIMA数据集,提供偏航角度标签数据集可以采用Drive Face数据集,可以理解的是,同样可以采用其他数据集,例如:人脸检测数据集和基准FDDB(Face Detection Data Set and Benchmark)数据集,基准野外标注的面部标志的人脸检测数据集AFLW(Annotated Facial Landmarks in the Wild)数据集等。
参见图9,图9为BIWI数据集、PRIMA数据集以及Drive Face数据集示意图,具体的,BIWI(Biwi Kinect)头部姿态数据集,该数据集中的图像通过Kinect深度传感器采集,每张图像不仅包括RGB彩色信息,还包括深度信息。例如:BIWI数据集是由20个参与者在深度传感器Kinect前采集完成的,大约包括15000帧图像,每张图像都提供表示头部姿态的俯仰角度、偏航角度、翻滚角度三类标签。头部姿态范围是连续表示的,俯仰角度覆盖范围是±60°,偏航角度覆盖范围是±75°,翻滚角度覆盖范围是±60°。
PRIMA数据集是二维彩色图像数据集中的数据集,例如:PRIMA数据集由15个参与者的脸部图像组成,共包括2790张图像,每张图像都提供表示头部姿态的俯仰角度和偏航角度两类标签。与BIWI数据集不同的是,该数据集没有提供翻滚角度标签,并且头部姿态范围是离散表示的,偏航角度包括从-90°到90°的九个离散姿态(Yaw∈{-90°,-60°,...,60°,90°}),俯仰角度包括从-90°到90°的十三个离散姿态(Pitch∈{-90°,-75°,...,75°,90°})。
Drive Face数据集是基于真实场景采集的图片序列,例如,Drive Face数据集是4名驾驶员(两名男性和两名女性)在真实场景中驾驶过程中采集的图片序列,这些驾驶员包括的面部特征有戴眼镜和胡须,该数据集包括606张图像,每张图像都提供表示头部姿态的偏航角度标签。与上述数据集不同的是,该数据集只提供了偏航角度标签,并且头部姿态范围是离散表示的,偏航角度包括从-45°到45°的七个离散姿态(Yaw∈{-45°,-30°,...,30°,45°})。
通过三个不同类型的数据集可提升获取的二维人脸图像的多样化,间接使得到的头部姿势估计更加精准。
参见图5,图5为使用人脸校准与不使用人脸校准结果对比示意图;由于不同数据集中人脸的尺寸、位置都存在差异,若直接使用数据集中的二维人脸图像,则会导致提取的人脸特征点在二维空间分布上存在差异,导致结果不精准,从而使模型的泛化性降低;除了在数据集中获取的人脸图像存在差异,在拍摄人脸图像时,不同用户相对于摄像头的距离、位置、以及摄像头的性能等因素,都会影响人脸图像,因此,为更大程度的减少差异性,首先,本实施例中将从上述三个数据集中获取的二维人脸图像和/或拍摄的人脸图像进行人脸校准,在一些实施例中,包括:利用人脸检测算法MTCNN定位的二维人脸图像头部位置;根据头部位置对二维人脸图像进行裁剪和/或扩充,得到人脸区域;将每个人脸区域调整为相同尺寸的图像,得到校准后的人脸图像。
可以理解的是,本实施例中使用的是人脸检测算法MTCNN定位头部位置,还可以使用其它算法来进行人脸检测识别,以定位头部位置,例如:Dlib机器学习库中的算法(3D点云、SURF特征、贝叶斯分类、SVM、深度学习等算法),或者,openCV跨平台计算机视觉库中,其由一系列C函数和少量C++类构成,同时提供了Python接口,实现了图像处理和计算机视觉方面的很多通用算法。
将头部位置定位后,将二维人脸图像裁剪和/或扩充,例如将每个二维人脸图像均设置为400×400尺寸,也就是将尺寸不足400×400的二维人脸图像扩充或者将尺寸大于400×400的二维人脸图像裁剪;将尺寸为300×300的二维人脸图像进行背景填充,将尺寸为300×300的二维人脸图像的长宽均扩充100,得到400×400尺寸的二维人脸图像;将尺寸为500×500的二维人脸图像区域进行缩小,以保证人脸在图像内,再进行裁剪,将尺寸为500×500的二维人脸图像的长宽均裁剪100,得到400×400尺寸的二维人脸图像。
校准后的人脸图像可以表示为:
w=x2-x1
h=y2-y1
其中,Xw1、Xw2、yw1、yw2表示人脸校准区域的四个顶点,x1、x2、y1、y2表示头部定位的四个顶点,α表示扩展系数,在本实施例中,α=0.4,Iw表示输入图像的宽度,Ih表示输入图像的高度,w和h表示头部区域的长和宽。
人脸校准的目的是使二维人脸图像中的人脸在二维空间分布保持相近的分布,使人脸在图像的中心位置,并且,脸部区域的大小相近。为对比结果,利用不同的数据集DriveFace数据集和PRIMA数据集进行实验,参见图9中第二行以及第三行的数据,利用PRIMA数据集进行训练,即训练集,利用Drive Face数据集进行测试,即测试集,实验的目的是验证本实施例提出方法的泛化性和鲁棒性。由表1可见,本实施例中提出的方法在不同的数据集上训练和测试也可以达到较好的精度。由于不同的数据集之间存在较大差异,训练集和测试集之间的人脸分布和区域大小有明显的区别。
参见图5,可以看到(a)处为不利用人脸校准提取人脸特征点的示例,(b)处为利用人脸校准提取人脸特征点的示例,(a)处三幅图像提取的人脸特征的分布区域各不相同,但(b)处三幅图像提取的人脸特征的分布区域差异较小,由此可见,通过人脸校准后再提取人脸特征点可以消减通过不同数据集获取的人脸图像的分布和大小的差异,具有更强的泛化能力。但未经过人脸校准,直接提取人脸特征点的方法,导致人脸特征点的分布区域不同,大小也存在差异,泛化能力弱。
Method | Yaw |
Diaz-Chito et al.[7] | 16.1±14.8 |
Drouard et al.[5] | 19.5±8.2 |
Malek et al.[6] | 7.49±1.13 |
Our* | 14.31±3.99 |
Our** | 6.21±0.37 |
表1
还可以利用其他数据集进行实验,例如BIWI数据集或者PRIMA数据集。
其中,利用BIWI数据集实验使用五倍交叉验证对算法进行评估,参见图9中第一行的数据。将数据集随机的等比划分为5份,使用前4份进行训练,最后1份用来验证。结果如表2所示,表2为不同方法在BIWI数据集上的表现,通过引入了一列指标AVG,该指标代表偏航角、俯仰角和滚动角指标的平均值,可以反映算法的总体性能。与其他的算法相比,本实施例提出的方法不仅在单个角度的预测效果上有显著的提高,并且总体的表现也是较好的。这种显著的提升可以有多方面的解释,首先是旋转矩阵表示同时包含了俯仰角度、偏航角度、翻滚角度这三种角度的旋转信息,因此基于旋转矩阵表示提出的6DFLRNet的训练过程需要同时包含这三类真实标签的数据集来进行训练。BIWI数据集已经包含了这三类角度的真实标签,为模型训练提供了完整的信息。
Method | Yaw | Pitch | Roll | AVG |
Liu et al.[1] | 5.81 | 7.94 | / | 6.88 |
Yujia et al.[2] | 4.76±4.33 | 5.48±3.23 | 4.29±3.30 | 4.84±3.61 |
Ruiz et al.[3] | 3.29 | 3.39 | 3 | 3.22 |
Xia et al.[4] | 2.39 | 4.92 | 3.09 | 3.47 |
Drouard et al.[5] | 4.24 | 5.43 | 4.13 | 4.60 |
Our | 2.66 | 3.25 | 2.46 | 2.79 |
表2
利用PRIMA数据集实验使用二倍交叉验证对算法进行评估,即随机将数据集等比例划分为两份,50%用于训练,另外50%进行验证,参见图9中第二行的数据。如表3所示,本实施例提供的方法在偏航角Yaw的估计上相较于其他方法表现最好,在俯仰角pitch的估计上效果稍差于[6]。由于PRIMA数据集仅仅包含了俯仰角和偏航角两类标签,这使得6DFLRNet模型在训练时缺失了滚动角信息,因此,在训练过程中只能默认滚动角的转动为0°,以此来弥补该维度上的信息的丢失。
[1]通过将2D的人脸特征点和3D人脸特征点逐一匹配,然后通过三维重建的方式将二维人脸图片还原为三维空间中的人体头部来进行头部姿态估计。虽然这个方法可以得到非常准确的结果,但是它高度依赖于对人脸特征点位置的预测结果。[6]和本实施例提出的方法都基于同一个人脸特征提取器CNN(Recurrent Neural Network),在一些角度下得到的人脸特征点不够精确,例如:偏航角:-60°,俯仰角:+30°的图像、偏航角:+60°,俯仰角:+60°的图像、偏航角:+90°,俯仰角:+15°的图像。[6]将头部姿态估计看作分类问题,它将大范围的角度切分成多个分类。例如[-90°,90°]范围内的角度以15°作为间隔划分成12个分类。PRIMA数据集和Drive Face数据集本就是一个离散的数据集,它们分别以30°和15°作为间隔将头部姿态划分成了多个分类来采集数据。[6]采取的划分间隔刚好能被这两个数据集的划分间隔整除(30°为15°的2倍,15°为15°的1倍),这也使得在这种离散的数据集上更容易获得一个好的指标。但这是有局限性的,因为头部的运动是一个连续的过程,将头部姿态估计看作一个回归问题来获得连续的头部姿态估计结果,尽管使用回归的方法在这两个离散的数据集上效果不够显著,但得到的结果更加细粒度并且更贴合实际应用。
Method | Yaw | Pitch | AVG |
Diaz-Chito et al.[7] | 8.1±7.8 | 9.6±10.0 | 8.85±8.9 |
Drouard et al.[5] | 13±9.0 | 22.6±12 | 17.8±10.5 |
Malek et al.[6] | 7.36±0.40 | 8.32±0.31 | 7.84±0.36 |
Our | 7.17±0.23 | 8.93±0.28 | 8.05±0.26 |
表3
为获取校准后的二维人脸图像上的人脸特征点,在一些实施例中,使用基于CNN架构的面部特征提取器进行提取,参见图6,图6为人脸特征点提取过程示意图,包括:将校准后的二维人脸图像通过输入卷积网络,以获得卷积网络输出的多维矩阵;将多维矩阵转化为向量矩阵;将向量矩阵压缩,并输入至全连接层;全连接层输出136维度的向量特征,所述向量特征为人脸特征点,所述人脸特征点为二维坐标点。
可以理解的是,本实施例采用的面部特征提取器是CNN,除此之外,人脸特征点提取可以为其他神经网络的算法中的任何一种,例如:Dlib机器学习库中的算法(3D点云、SURF特征、贝叶斯分类、SVM、深度学习等算法),或者,openCV跨平台计算机视觉库中,其由一系列C函数和少量C++类构成,同时提供了Python接口,实现了图像处理和计算机视觉方面的很多通用算法。
参见图6,例如:输入卷积网络的二维人脸图像为长128像素,宽128像素,通道数为3,其经过3×3卷积层、神经元激活函数、批量标准化,输出为长126像素,宽126像素,通道数为64的图像,即64维126×126卷积核,64维126×126卷积核通过最大池化层、3×3卷积层、批量标准化,输出为长61像素,宽61像素,通道数为64的图像,即64维61×61卷积核,迭代经过3×3卷积层、神经元激活函数、批量标准化以及经过最大池化层、3×3卷积层、批量标准化的过程,直至输出长5像素,宽5像素,通道数为256的图像,即256维5×5卷积核,即上述多维矩阵,再将256维5×5卷积核拉平操作,拉平操作就是将多维矩阵拉开,用一些向量进行表示,拉平操作,得到向量矩阵,再将向量矩阵压缩,输入卷积网络中的全连接层,经过全连接层后输出1×136维的向量特征,这个向量特征即表示为人脸特征点,本实施例中检测到68个人脸特征点,即68个二维坐标点,可参见图7,图7中(a)处为人脸图像,(b)处为检测到(a)处对应人脸图像的68个人脸特征点。
上述实施例中,可以直接预测九个参数的旋转矩阵,但由于在训练过程中,每个参数的损失累加后会导致总体损失增大,本实施例首先通过回归网络的方式得到6D旋转矩阵,再得到6D旋转矩阵后,转换为九个参数的旋转矩阵。在一些实施例中,包括:将人脸特征点序列输入至多层感知机MLP中,得到6D向量,所述6D向量为具有六个节点的特征向量;在6D向量中截取得到6D旋转矩阵。由于该回归网络是将人脸特征点序列(Facial LandmarkFL),再通过回归(Regression)得到6D旋转矩阵,则将此回归网络称为6DFLRNet。
在一些实施例中,将人脸特征点序列输入至多层感知机MLP中,得到6D向量的步骤,包括:将人脸特征点序列依次输入至多层感知机MLP的输入层、多个全连接隐藏层、输出层,得到6D向量。其中,多层感知器(Multilayer Perceptron MLP)是一种前馈人工神经网络模型,其将输入的多个数据集映射到单一的输出的数据集上。MLP可以被看作是一个有向图,由多个的节点层组成,每一层都全连接到下一层,多层感知机在输出层和输入层之间增加一个或多个全连接隐藏层,并通过激活函数转换隐藏层的输出。在本实施例中采用三层全连接层输出6D向量。可以理解的是,本实施例采用的回归算法是多层感知机MLP,除此之外,人脸特征点回归算法可以为其他神经网络的算法中的任何一种,例如:注意力机制(Attention mechanism),循环神经网络RNN(Recurrent Neural Network)等。
具体的,将得到的六个节点的特征向量对半截取,即可获得一个2×3的矩阵,即6D旋转矩阵:
其中,a1,a2,a3,b1,b2,b3为六个节点,α1、α2为第一列、第二列矩阵向量组。
将6D旋转表示矩阵后,被映射为正交矩阵:
其中,β1、β2、β3为正交向量组。
最后一列,也就是第三列矩阵向量组可以由第一列、第二列矩阵向量组计算得出,在一些实施例中,利用格拉姆—施密特正交化对6D旋转矩阵第一列、第二列矩阵进行正交化处理,得到满足约束条件的正交矩阵:
γ2=α2-(β1·α2)β1
β3=β1×β2
可以理解的是,满足约束条件的正交矩阵包含六个参数,在一些实施例中,将满足约束条件的所述正交矩阵映射为3×3旋转矩阵。
最后,在一些实施例中,将3×3旋转矩阵转换为欧拉角,3×3旋转矩阵转换与欧拉角之间有确定的对应关系,可以通过以下公式进行转换:
其中,Rx(α)为物体围绕X轴旋转的旋转矩阵,Ry(β)为物体围绕Y轴旋转的旋转矩阵,Rz(γ)为物体围绕Z轴旋转的旋转矩阵,α为物体围绕X轴旋转的欧拉角度,β为物体围绕Y轴旋转的欧拉角度,γ为物体围绕Z轴旋转的欧拉角度,分别表示俯仰角、偏航角和滚动角。
将欧拉角按照X、Y、Z轴旋转,还可以得到3×3旋转矩阵,公式为:
还可以通过头部姿态估计结果的总损失,对6DFLRNet模型进行训练,在本实施例中,利用L2范数来计算训练过程中的损失,公式为:
其中,n代表训练样本个数,i代表样本的编号,yi为样本的真实标签,为模型对样本进行头部姿态估计的结果。
参见图8,图8为对6D旋转矩阵进行训练的示意图,通过最小化6DFLRNet模型预测结果和真实结果之间的误差来进行训练,训练过程中,性能评估指标选用平均绝对误差(Mean Absolute Error,MAE),公式为:
其中,n代表测试样本的个数,i代表样本的编号,yi为样本的真实标签,为模型对样本进行头部姿态估计的结果。
与前述一种头部姿态估计方法的实施例相对应,本申请还提供了一种头部姿态估计系统的实施例。该系统包括:采集单元、校准单元以及训练单元。其中,采集单元用于获取待识别的二维人脸图像,校准单元用于对二维人脸图像进行人脸校准,得到校准后的二维人脸图像,训练单元用于获取校准后的二维人脸图像上的人脸特征点,将人脸特征点输入回归网络,得到6D旋转矩阵,根据正交映射将6D旋转矩阵转换为3×3旋转矩阵,将3×3旋转矩阵转换为欧拉角。
为了使二维人脸图像中的人脸在二维空间分布保持相近的分布,使人脸在图像的中心位置,并且,脸部区域的大小相近。在一些实施例中,校准单元还包括卷积网络模块,所述卷积网络模块用于将校准后的二维人脸图像通过输入卷积网络,以获得卷积网络输出的多维矩阵,将多维矩阵转化为向量矩阵,将向量矩阵压缩,并输入至全连接层;全连接层输出136维度的向量特征。
为了获得更小的误差,使神经网络可以学习到准确的姿态,在一些实施例中,训练单元还用于将人脸特征点序列输入至多层感知机MLP中,得到6D向量,在6D向量中截取得到所述6D旋转矩阵,并将人脸特征点序列依次输入至多层感知机MLP的输入层、多个全连接隐藏层、输出层,得到6D向量,利用格拉姆—施密特正交化对所述6D旋转矩阵第一列、第二列矩阵进行正交化处理,得到满足约束条件的正交矩阵,将满足约束条件的正交矩阵映射为3×3旋转矩阵。
本申请提供一种头部姿态估计方法及系统,方法包括:获取待识别的二维人脸图像;对二维人脸图像进行人脸校准,得到校准后的二维人脸图像;获取校准后的二维人脸图像上的人脸特征点;将人脸特征点输入回归网络,得到6D旋转矩阵,回归网络为基于6D旋转表示的回归模型;根据正交映射将6D旋转矩阵转换为3×3旋转矩阵;将3×3旋转矩阵转换为欧拉角,欧拉角用于表示头部姿态的旋转角。以解决基于模型的姿态估计方法和基于外观的姿态估计方法的识别精度与鲁棒性无法同时精确表示的问题。
本申请提供的实施例之间的相似部分相互参见即可,以上提供的具体实施方式只是本申请总的构思下的几个示例,并不构成本申请保护范围的限定。对于本领域的技术人员而言,在不付出创造性劳动的前提下依据本申请方案所扩展出的任何其他实施方式都属于本申请的保护范围。
Claims (10)
1.一种头部姿态估计方法,其特征在于,包括:
获取待识别的二维人脸图像;
对所述二维人脸图像进行人脸校准,得到校准后的二维人脸图像;
获取所述校准后的二维人脸图像上的人脸特征点;
将所述人脸特征点输入回归网络,得到6D旋转矩阵,所述回归网络为基于6D旋转表示的回归模型;
根据正交映射将所述6D旋转矩阵转换为3×3旋转矩阵;
将所述3×3旋转矩阵转换为欧拉角,所述欧拉角用于表示头部姿态的旋转角。
2.根据权利要求1所述的头部姿态估计方法,其特征在于,对所述二维人脸图像进行人脸校准,得到校准后的人脸图像的步骤,包括:
利用人脸检测算法MTCNN定位所述二维人脸图像的头部位置;
根据所述头部位置对所述二维人脸图像进行裁剪和/或扩充,得到人脸区域;
将每个所述人脸区域调整为相同尺寸的图像,得到校准后的人脸图像。
3.根据权利要求1所述的头部姿态估计方法,其特征在于,获取所述校准后的二维人脸图像上的人脸特征点的步骤,包括:
将所述校准后的二维人脸图像通过输入卷积网络,以获得所述卷积网络输出的多维矩阵;
将所述多维矩阵转化为向量矩阵;
将所述向量矩阵压缩,并输入至全连接层;
全连接层输出136维度的向量特征,所述向量特征为人脸特征点,所述人脸特征点为二维坐标点。
4.根据权利要求1所述的头部姿态估计方法,其特征在于,将所述人脸特征点输入回归网络,得到6D旋转矩阵的步骤,包括:
将人脸特征点序列输入至多层感知机MLP中,得到6D向量,所述6D向量为具有六个节点的特征向量;
在所述6D向量中截取得到所述6D旋转矩阵。
5.根据权利要求4所述的头部姿态估计方法,其特征在于,将人脸特征点序列输入至多层感知机MLP中,得到6D向量的步骤,包括:
将人脸特征点序列依次输入至多层感知机MLP的输入层、多个全连接隐藏层、输出层,得到6D向量。
6.根据权利要求1所述的头部姿态估计方法,其特征在于,根据正交映射将所述6D旋转矩阵转换为3×3旋转矩阵的步骤,包括:
利用格拉姆—施密特正交化对所述6D旋转矩阵第一列、第二列矩阵进行正交化处理,得到满足约束条件的正交矩阵。
7.根据权利要求6所述的头部姿态估计方法,其特征在于,得到满足约束条件的正交矩阵的步骤之后,还包括:
将满足约束条件的所述正交矩阵映射为3×3旋转矩阵。
8.根据权利要求1所述的头部姿态估计方法,其特征在于,将所述3×3旋转矩阵转换为欧拉角的步骤,包括:
将3×3旋转矩阵转换为欧拉角;
将所述欧拉角按照X、Y、Z轴旋转,得到所述3×3旋转矩阵。
9.根据权利要求1所述的头部姿态估计方法,其特征在于,获取待识别的二维人脸图像的步骤,包括:
根据连续姿态数据集、离散姿态数据集以及提供偏航角度标签数据集获取待识别的二维人脸图像,所述连续姿态数据集采用BIWI数据集、所述离散姿态数据集采用PRIMA数据集,所述提供偏航角度标签数据集为DriveFace数据集。
10.一种头部姿态估计系统,其特征在于,包括:
采集单元:所述采集单元用于获取待识别的二维人脸图像;
校准单元:所述校准单元用于对所述二维人脸图像进行人脸校准,得到校准后的二维人脸图像;
训练单元:所述训练单元用于获取所述校准后的二维人脸图像上的人脸特征点,将所述人脸特征点输入回归网络,得到6D旋转矩阵,根据正交映射将所述6D旋转矩阵转换为3×3旋转矩阵,将所述3×3旋转矩阵转换为欧拉角。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310289355.6A CN116612513A (zh) | 2023-03-23 | 2023-03-23 | 头部姿态估计方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310289355.6A CN116612513A (zh) | 2023-03-23 | 2023-03-23 | 头部姿态估计方法及系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116612513A true CN116612513A (zh) | 2023-08-18 |
Family
ID=87678809
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310289355.6A Pending CN116612513A (zh) | 2023-03-23 | 2023-03-23 | 头部姿态估计方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116612513A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117408304A (zh) * | 2023-12-14 | 2024-01-16 | 江苏未来网络集团有限公司 | 6d姿态预测神经网络模型及方法 |
-
2023
- 2023-03-23 CN CN202310289355.6A patent/CN116612513A/zh active Pending
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117408304A (zh) * | 2023-12-14 | 2024-01-16 | 江苏未来网络集团有限公司 | 6d姿态预测神经网络模型及方法 |
CN117408304B (zh) * | 2023-12-14 | 2024-02-27 | 江苏未来网络集团有限公司 | 6d姿态预测神经网络模型系统及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN111339903B (zh) | 一种多人人体姿态估计方法 | |
CN110348330B (zh) | 基于vae-acgan的人脸姿态虚拟视图生成方法 | |
CN106682598B (zh) | 一种基于级联回归的多姿态的人脸特征点检测方法 | |
CN108038420B (zh) | 一种基于深度视频的人体行为识别方法 | |
Liao et al. | Hand gesture recognition with generalized hough transform and DC-CNN using realsense | |
Ju et al. | An integrative framework of human hand gesture segmentation for human–robot interaction | |
CN111489394B (zh) | 物体姿态估计模型训练方法、系统、装置及介质 | |
CN108921926A (zh) | 一种基于单张图像的端到端三维人脸重建方法 | |
CN107230225A (zh) | 三维重建的方法和装置 | |
CN110705478A (zh) | 人脸跟踪方法、装置、设备及存储介质 | |
CN110246181A (zh) | 基于锚点的姿态估计模型训练方法、姿态估计方法和系统 | |
Chen et al. | Learning a deep network with spherical part model for 3D hand pose estimation | |
US11915451B2 (en) | Dense 6-DoF pose object detector | |
CN110941999A (zh) | 一种人群计数系统中自适应计算高斯核大小的方法 | |
CN111046734A (zh) | 基于膨胀卷积的多模态融合视线估计方法 | |
CN113610046B (zh) | 一种基于深度视频联动特征的行为识别方法 | |
CN116612513A (zh) | 头部姿态估计方法及系统 | |
Davies et al. | Advanced methods and deep learning in computer vision | |
CN108305321A (zh) | 一种基于双目彩色成像系统的立体人手3d骨架模型实时重建方法和装置 | |
CN113361378B (zh) | 一种运用适应性数据增强的人体姿态估计方法 | |
Yin et al. | Estimation of the fundamental matrix from uncalibrated stereo hand images for 3D hand gesture recognition | |
Han et al. | Pupil center detection based on the UNet for the user interaction in VR and AR environments | |
CN115210763A (zh) | 用于包括姿态和大小估计的对象检测的系统和方法 | |
CN107392211A (zh) | 基于视觉稀疏认知的显著目标检测方法 | |
Kang et al. | Yolo-6d+: single shot 6d pose estimation using privileged silhouette information |
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 |