基于结构光三维重建的头部姿态估计算法 下载: 1332次
1 引言
目前头部姿态估计广泛应用在人脸识别、人机交互、汽车安全驾驶、心理学研究、课堂注意力检测、医疗辅助等领域。头部姿态估计主要有两类方法:基于二维图像[1-3]和基于三维(3D)数据[4-5]。头部姿态估计大多数是利用二维图像处理和深度学习结合的方式进行的,通过OpenFace检测面部68个特征点,利用受约束的局部神经域模型(CLNF)进行人脸对齐再结合3D标准脸模型估计头部姿态是目前应用最广泛的头部姿态估计方法之一[3],但该方法只能反映头部的基本朝向,并不能精确地得到头部姿态的角度,且在头部大角度转动后特征点检测容易出错,导致头部姿态估计效果较差。基于三维数据的头部姿态估计大多数是基于RGBD图像[4-5],这类方法相比基于二维图像的方法在精度上有所提升,但测量误差仍然较大。
通过图像处理的方式仅有二维的图像信息,而利用三维重建得到的3D人脸,可以在头部姿态估计中提供人脸的三维数据,更多的数据信息能够大大提高头部姿态估计的精度和准确度。部分关注3D人脸识别的研究[6-10]是基于现有的通过激光扫描测量的3D人脸库,如FRGC[6-9]、Bosphorus[6]、BU3DFE[6-7]、BJUT-3D[10]等,其中的人脸配准过程与头部姿态估计相近,但人脸配准过程仅粗测头部姿态以便校正脸部朝向,并未精准地估计头部姿态。此外,人脸配准仅针对以上3D人脸库,并未用于实际场景的头部姿态估计中。
基于结构光的三维重建技术[11]因具有精度高、速度快的优点,引起大量研究者的关注,也逐渐广泛应用在工业生产、计算机辅助设计/计算辅助制造(CAD/CAM)、质量检测、逆向工程等领域中。其中比较有代表性的有:傅里叶变换轮廓术(FTP)[12]、相位测量轮廓术(PMP)[13]、飞行时间法(TOF)[14]等。因此,本文将基于结构光的人脸三维重建和3D头部姿态估计两者相结合,利用相位测量轮廓术,通过三步相移和多频法相位解包裹重建人脸三维形貌,提出一种3D头部姿态估计算法,搜索鼻尖和鼻梁,建立空间直角坐标系和人脸本征坐标系[15-16],利用人脸的垂直对称性估计头部姿态欧拉角。
2 结构光人脸三维重建
基于正弦光栅条纹的相位测量轮廓术[13,17-18],具有精度高,可测量的深度范围更大,不受物体表面剧烈变化或断裂、物体表面反射率的影响,容易实现高速、自动测量被测物体三维形貌等系列优点。其基本原理是将正弦光栅条纹投影到被测物体上,通过相移方法[19-20]提取图像的相位,相位解包裹[20-21]后可恢复其连续相位,并结合系统标定得到的相位——高度映射[22-24]可重建被测物体的三维形貌。本文将采用这一方法对被测人脸进行三维重建并运用点云显示。
2.1 三步相移
三步相移是相移方法中最常用的一种,它只需要投影三张条纹图样,即可获取相位。由于三步相移具有原理简单、速度快的特点,目前被广泛用于高速结构光三维重建的相关研究中。
三步相移[13]要求向被测物体投影3张正弦条纹图样,每张条纹图样的相移量为2π/3。将条纹图样投影到被测物体上后,利用摄像机拍摄受调制的条纹图像,根据下式得到其相位,
式中:φ(x,y)为相位;I1、I2、I3分别为3张条纹图像。
2.2 多频法相位解包裹
三步相移通过反正切求出相位φ(x,y),因此相位值分布在(-π,π)区间中,该相位被称为截断相位,需要解包裹相位将其恢复成连续相位Φ(x,y)。相位解包裹的核心是向截断相位加或减2π的整数倍k,使其恢复成连续相位,表示为
本文采用多频法相位解包裹[20-21],即投影多个不同频率的条纹到被测物体上,分别提取出各频率条纹图样的截断相位,同时要求频率最小的条纹图样一个周期就可以覆盖整个被测物体,则该频率条纹图样的相位是连续相位,不需要相位解包裹。已知低频条纹的连续相位,根据下式,可通过低频条纹的连续相位解包裹高频条纹的截断相位,恢复出高频条纹的连续相位,
式中:下标h表示高频条纹;下标l表示低频条纹;λ表示条纹的波长。
获得连续相位后,采用快速摄像机-投影仪标定,可得到对应的相位-高度映射[24],求出被测物体的三维坐标并用点云显示,
式中:h(x,y)表示被测物体的高度;ΔΦ(x,y)表示相位差;a、b、c均为标定所求的参数。
3 3D头部姿态估计
获取了人脸的三维形貌后,则可估计头部姿态。本文提出的3D头部姿态估计算法如
图 1. 头部姿态。(a)头部姿态估计流程图;(b)世界坐标系和本征坐标系
Fig. 1. Head pose. (a) Flow chart of head pose estimation; (b) world and intrinsic coordinate system
3.1 俯仰角估计
xy平面与b轴的夹角α反映人脸以鼻尖为支点前后倾斜的程度,该角的变化量即欧拉角中的俯仰角。由于大多数人的脸部是垂直对称的,因此本文通过检测人脸的垂直对称线来估计xy平面与b轴的夹角α。
图 2. 估计夹角α。(a)(b)检测鼻尖点O鼻梁点B;(c)求xy平面与b轴的夹角α
Fig. 2. Estimate the angle α.(a) (b) Detect nose tip O and nose bridge B; (c) calculate the angle α between xy plane and b axis
如
式中:xO、yO、zO分别表示鼻尖点O的三维坐标;xB、yB、zB分别表示鼻梁点B的三维坐标。
该角的变化量为欧拉角中的俯仰角,因此需预先测量被测人脸正视摄像机时的夹角α0,则俯仰角可表示为
式中:α为当前姿态的xy平面与b轴的夹角。
3.2 偏航角估计
z轴与c轴的夹角β表示人脸绕y轴旋转的角度,即欧拉角中的偏航角,本文利用人脸的垂直对称性来估计偏航角β。
如
图 3. 估计偏航角。(a)(b)鼻尖两侧搜索距离鼻尖深度相同的点;(c)过鼻尖的水平横切面
Fig. 3. Estimate the yaw angle. (a) (b) Search the equidistant points from the nose tip on both side of the nose; (c) horizontal cross flat through the nose tip
式中:zO、zL、zR分别表示鼻尖、点L和点R的z坐标。其中z轴垂直于点L和点R的连线并交于点o。根据三维信息可求∠LOo和∠ROo,夹角β是∠LOo和∠ROo之差的一半[22],
需要注意的是,通过比较鼻尖的x坐标和鼻梁点的x坐标判断此时姿态为正脸或侧脸,当两点的x坐标差值大于某一阈值时,则可判断为侧脸。当姿态为正脸或角度较小时,两侧脸颊的深度信息较接近,因此较难在两侧脸颊寻找正确的点L和点R,对于这种情况,应该设置较小的搜索窗口,以保证点L和点R都在鼻翼上。当姿态为侧脸时,远端一侧鼻翼由于被遮挡,如
3.3 翻滚角估计
x轴与a轴的夹角γ表示人脸绕z轴旋转的角度,即欧拉角中的翻滚角。本文计算鼻尖点O和鼻梁点B的连线OB在xy平面上的投影与y轴的夹角来估计翻滚角γ,
针对被测人脸处于侧脸时,鼻尖点O和鼻梁点B的连线OB绕y轴旋转了β,因此需要将人脸点云绕y轴旋转到正脸姿态,再计算OB在xy平面上的投影与y轴的夹角才能得到正确的翻滚角γ。为减少计算量,只需将点B(xB,yB,zB)绕y轴旋转-β,得到点B'(xB',yB',zB'),
此时的翻滚角γ等于连线OB'在xy平面上的投影与y轴的夹角。
4 系统及实验结果
本文搭建了结构光投影系统,生成不同频率的数字条纹图样,通过摄像机-投影仪系统标定获得相位-高度映射。用投影仪将条纹图样投影到被测人脸上,摄像机拍下受被测人脸高度调制后的条纹图像,根据三步相移和多频法相位解包裹重建人脸三维形貌,最后从重建的3D人脸中估计头部姿态。头部姿态测量实验测量前,如3.1节所述需预先测量被测人脸正视摄像机时的夹角α0。偏航角、俯仰角、翻滚角分别在-25°~25°的范围内,每旋转5°测量20次。
同时,采用OpenFace和CLNF[3]结合进行头部姿态估计的方法目前被广泛应用在多种实际场景中。为验证本文提出的3D头部姿态估计算法的稳定性和准确性,采用文献[ 3]的方法在同等条件下进行实验对比。
4.1 实验系统
如
图 5. 实验图。(a)实验系统;(b)光路图
Fig. 5. Experiment image. (a) Experimental system; (b) light path
4.2 实验结果
4.2.1 人脸三维重建结果
本文采用4个频率的条纹图样,分别是1/400、1/80、1/20、1/6,利用投影仪将条纹图样投影到被测人脸上,通过摄像机拍摄对应的条纹图像,如
图 7. 头部姿态估计测量误差。(a)偏航角测量平均绝对误差;(b)俯仰角测量平均绝对误差;(c)翻滚角测量平均绝对误差
Fig. 7. Measurement error of head pose estimation. (a) Yaw angle mean absolute error; (b) pitch angle mean absolute error; (c) roll angle mean absolute error
4.2.2 头部姿态估计结果
为判断头部姿态估计算法的稳定性和准确性,利用模特人头,安装在三个角度可控的旋转平台上,以此准确获得模特人头旋转的角度。利用本文算法和文献[ 3]的方法对偏航角、俯仰角、翻滚角分别在-25°~25°的范围内,每旋转5°测量20次。
经过实验测量,如
在同样的范围内,文献[ 3]方法也可测量头部姿态。偏航角测量平均绝对误差为2.17°,绝对误差标准差为1.33°。俯仰角测量的平均绝对误差为6.57°,绝对误差标准差为2.82°。翻滚角测量的平均绝对误差为12.17°,绝对误差标准差为7.07°。
当偏航角超过±5°时,侧脸的角度较大,其中一侧的脸部信息较少,因此所测量的角度与真实值的差距比处于正脸时大,但不超过±2°。由于俯仰角和翻滚角的测量依赖于鼻尖和鼻梁点检测,因此当鼻尖和鼻梁点的位置不够精确时,这两个角度会受到一定影响。
综上可知,文献[ 3]方法对于头部转动角度变大,其测量的误差也会变大。这是头部转动变大后,人脸检测和人脸对齐算法都会产生较大偏差导致的。因此该方法只能反映头部的基本朝向,不能准确判断头部姿态的角度。而本文提出的3D头部姿态估计算法在-25°~25°的范围内,均能较准确地测量出头部姿态的角度,且测量的平均绝对误差小于1°,绝对误差标准差小于1°,测量平均值与真实值的线性相关度为99.8%,可见该算法具有较好的稳定性和准确性,在人脸识别、汽车安全驾驶、心理学研究等领域均有一定的应用前景。
5 结论
本文将基于结构光的人脸三维重建和3D头部姿态估计两者相结合,利用相位测量轮廓术,通过三步相移和多频法相位解包裹重建了人脸三维形貌,提出了一种3D头部姿态估计算法,搜索鼻尖和鼻梁,建立空间直角坐标系和人脸本征坐标系,利用人脸的垂直对称性估计出头部姿态欧拉角。为判断改进算法的稳定性和准确性,将模特人头安装在三个角度可控的旋转平台上,结构光系统与被测人脸距离约为2 m,偏航角、俯仰角、翻滚角分别在-25°~25°的范围内每旋转5°测量20次。经测量,本文算法在这一范围内,均能较准确地测量出头部姿态的角度,且测量的平均绝对误差小于1°,绝对误差标准差小于1°测量平均值与真实值的线性相关度为99.8%。与采用二维图像和深度学习结合的方法进行比较,本文算法具有更高的准确度和鲁棒性。
实验结果表明,将基于结构光的人脸三维重建和3D头部姿态估计两者相结合,重建得到的3D人脸可为头部姿态估计提供了人脸三维数据信息,能大大提高头部姿态估计的精度和准确度,本文算法是可行且可靠的。下一步研究将考虑进一步优化算法,实现对更大角度的头部转动的姿态估计,同时改进结构光系统对真人测量的适应性,利用红外结构光代替可见光以减少可见光对真人的不适度。
[1] 张波, 王文军, 成波. 基于人脸3D模型的驾驶人头部姿态检测[J]. 汽车工程, 2016, 38(1): 53-60,71.
Zhang B, Wang W J, Cheng B. Detection of driver's head posture based on 3D face model[J]. Automotive Engineering, 2016, 38(1): 53-60,71.
[2] ' 唐云祁, 孙哲南, 谭铁牛. 头部姿势估计研究综述[ C]∥2013年中国计算机学会人工智能会议. 中国计算机学会, 2013: 32- 32.
Tang YQ, Sun ZN, Tan TN. A survey on head pose estimation[ C]∥ CCF Conference on Artificial Intelligence 2013 (CCFAI2013), CCF, 2013: 32- 32.
[3] BaltrušaitisT, RobinsonP, Morency LP. OpenFace: an open source facial behavior analysis toolkit[C]∥2016 IEEE Winter Conference on Applications of Computer Vision (WACV). 7-10 March 2016, Lake Placid, NY, USA. New York: IEEE Press, 2016: 1- 10.
[4] 陈国军, 杨静, 程琰, 等. 基于RGBD的实时头部姿态估计[J]. 图学学报, 2019, 40(4): 681-688.
Chen G J, Yang J, Cheng Y, et al. Real-time head pose estimation based on RGBD[J]. Journal of Graphics, 2019, 40(4): 681-688.
[5] 刘振宇, 关彤. 基于RGB-D图像的头部姿态检测[J]. 计算机科学, 2019, 46(z2): 334-340.
Liu Z Y, Guan T. Head posture detection based on RGB-D image[J]. Computer Science, 2019, 46(z2): 334-340.
[6] Segundo M P, Silva L, Bellon O R, et al. Automatic face segmentation and facial landmark detection in range images[J]. IEEE Transactions on Systems, Man, and Cybernetics. Part B, Cybernetics: a Publication of the IEEE Systems, Man, and Cybernetics Society, 2010, 40(5): 1319-1330.
[7] Gao J N, Evans A N. Expression robust 3D face landmarking using thresholded surface normals[J]. Pattern Recognition, 2018, 78: 120-132.
[9] Peng X M, Bennamoun M, Mian A S. A training-free nose tip detection method from face range images[J]. Pattern Recognition, 2011, 44(3): 544-558.
[10] 尹宝才, 孙艳丰, 王成章, 等. BJUT-3D三维人脸数据库及其处理技术[J]. 计算机研究与发展, 2009, 46(6): 1009-1018.
Yin B C, Sun Y F, Wang C Z, et al. BJUT-3D large scale 3D face database and information processing[J]. Journal of Computer Research and Development, 2009, 46(6): 1009-1018.
[11] 苏显渝, 张启灿, 陈文静. 结构光三维成像技术[J]. 中国激光, 2014, 41(2): 0209001.
[12] Takeda M, Mutoh K. Fourier transform profilometry for the automatic measurement of 3-D object shapes[J]. Applied Optics, 1983, 22(24): 3977-3982.
[13] Srinivasan V, Liu H C, Halioua M. Automated phase-measuring profilometry of 3-D diffuse objects[J]. Applied Optics, 1984, 23(18): 3105-3108.
[14] Moring I, Ailisto H, Koivunen V, et al. Active 3-D vision system for automatic model-based shape inspection[J]. Optics and Lasers in Engineering, 1989, 10(3/4): 149-160.
[15] Koppen WP, Chan CH, Christmas WJ, et al.An intrinsic coordinate system for 3D face registration[C]∥Proceedings of the 21st International Conference on Pattern Recognition (ICPR2012). 11-15 Nov. 2012, Tsukuba, Japan.New York: IEEE Press, 2012: 2740- 2743.
[16] Ratyal N I, Taj I A, Bajwa U I, et al. 3D face recognition based on pose and expression invariant alignment[J]. Computers & Electrical Engineering, 2015, 46: 241-255.
[17] Wang Y J, Laughner J I, Efimov I R, et al. 3D absolute shape measurement of live rabbit hearts with a superfast two-frequency phase-shifting technique[J]. Optics Express, 2013, 21(5): 5822-5832.
[18] Karpinsky N L, Hoke M, Chen V, et al. High-resolution, real-time three-dimensional shape measurement on graphics processing unit[J]. Optical Engineering, 2014, 53(2): 024105.
[19] Zuo C, Tao T Y, Feng S J, et al. Micro Fourier transform profilometry (μFTP): 3D shape measurement at 10, 000 frames per second[J]. Optics and Lasers in Engineering, 2018, 102: 70-91.
[20] Zhang S. Absolute phase retrieval methods for digital fringe projection profilometry: a review[J]. Optics and Lasers in Engineering, 2018, 107: 28-37.
[21] Zuo C, Huang L, Zhang M L, et al. Temporal phase unwrapping algorithms for fringe projection profilometry: a comparative review[J]. Optics and Lasers in Engineering, 2016, 85: 84-103.
[22] 盖绍彦, 达飞鹏. 一种新的相位法三维轮廓测量系统模型及其标定方法研究[J]. 自动化学报, 2007, 33(9): 902-910.
Gai S Y, Da F P. A new model of 3D shape measurement system based on phase measuring profilometry and its calibration[J]. Acta Automatica Sinica, 2007, 33(9): 902-910.
[23] Zhang S, Huang P S. Novel method for structured light system calibration[J]. Optical Engineering, 2006, 45(8): 083601.
[24] 宋万忠, 苏显渝, 曹益平, 等. 相位测量轮廓术中三维坐标校准新方法[J]. 光学学报, 2003, 23(3): 272-277.
Article Outline
钟俊宇, 邱健, 韩鹏, 骆开庆, 彭力, 刘冬梅. 基于结构光三维重建的头部姿态估计算法[J]. 激光与光电子学进展, 2020, 57(18): 181008. Junyu Zhong, Jian Qiu, Peng Han, Kaiqing Luo, Li Peng, Dongmei Liu. Head Pose Estimation Algorithm Based on Structured Light Three-Dimensional Reconstruction[J]. Laser & Optoelectronics Progress, 2020, 57(18): 181008.