前言:
而今大家对“泊松曲面重建原理”可能比较珍视,兄弟们都想要学习一些“泊松曲面重建原理”的相关文章。那么小编同时在网上网罗了一些对于“泊松曲面重建原理””的相关资讯,希望你们能喜欢,兄弟们一起来了解一下吧!本文内容来源于《测绘学报》2023年第3期(审图号GS京(2023)0613号)
全局ICP与改进泊松相结合的三维人脸重建
李皓冉1, 梅天灿1, 高智2
1. 武汉大学电子信息学院, 湖北 武汉 430072;
2. 武汉大学遥感信息工程学院, 湖北 武汉 430079
基金项目:国家自然科学基金重大项目(42192580;42192583);湖北省科技重大项目(2021AAA010;2021AAA010-3)
摘要:为快速精确地实现人脸三维数字化, 本文提出一种高精度全流程自动化的稳健三维人脸重建方法。针对基于结构光相机采集到的左右两组人脸点云和RGB图像数据, 本文首先提出一种自适应下采样的全局优化ICP配准方法融合左右点云, 其次提出基于法向量优化的泊松重建方法来将配准后的点云进行表面重建, 生成网格化模型, 该泊松重建方法针对非封闭性人脸点云有良好的重建效果和重建精度, 然后将RGB图像贴图到网格化模型上, 最终重建出了一个带有细节纹理的三维人脸模型。经过大量的人脸重建试验验证, 本文方法具有高精度、高稳健性, 能够快速、准确且稳定地重建出人脸。
关键词:点云深度信息 人脸模型重建 点云配准 泊松重建 点云表面重建
引文格式:李皓冉, 梅天灿, 高智. 全局ICP与改进泊松相结合的三维人脸重建[J]. 测绘学报,2023,52(3):454-463. DOI: 10.11947/j.AGCS.2023.20220128
LI Haoran, MEI Tiancan, GAO Zhi. 3D face reconstruction based on global ICP and improved Poisson[J]. Acta Geodaetica et Cartographica Sinica, 2023, 52(3): 454-463. DOI: 10.11947/j.AGCS.2023.20220128
阅读全文:引 言
三维人脸重建在虚拟现实、影视制作、医疗诊断、文化遗产保护和逆向工程等领域发挥着重要的作用[1-3]。完整的三维模型重建流程包括:点云数据采集、点云配准、点云表面重建、纹理融合和纹理映射[4]等挑战性问题。点云配准[5-7]和点云表面重建[8-10]是影响重建模型精度的关键技术,越来越受到世界各国学者的关注[11-13]。
三维人脸重建过程中对不同角度采集的多组点云进行配准是关键问题之一。文献[14]使用基于SUFR(speed up features)算子提取二维人脸特征点用于三维人脸点云的配准。文献[15]基于ORB(oriented FAST and rotated BRIEF)特征点和局部一致性约束进行人脸点云配准,该方法通过提取出人脸特征点可以在大幅度减少点云数量的同时有效减少噪声影响。文献[16]在三维人脸重建中,使用粗配准结果作为ICP(iterative closest points)精配准的初始值。现有人脸重建方法大多利用ICP方法将不同角度采集的人脸点云经过配准后拼接为一个完整的人脸点云。传统ICP方法在两片点云重合部分较少时比较依赖初始值,很容易陷入局部极值,导致配准错误,点云配准的精度与稳定性都有待提升。
人脸三维重建需要进行表面重建,将重建的三维人脸模型以面片存储并显示。当前大多人脸重建方法使用显式表面重建方法,文献[17—19]以点云作为三角面顶点基于Delaunay三角剖分可以实现高精度三维人脸重建。这类方法在表面重建过程中,由于人脸表面复杂和点云密度不一致等原因会导致重建结果产生孔洞,同时噪声点的存在也使得这类方法重建精度降低。
针对现有人脸点云三维重建过程中的点云配准和表面重建方法不能有效克服由于人脸表面复杂性及易受噪声干扰造成重建的准确度和稳健性不高的问题,本文提出一种结合全局信息和点云法向量的重建方法。首先,为了剔除环境因素的影响,对基于左右两组结构光相机同时采集的人脸RGB图像和点云进行点云聚类分割和降噪预处理。然后,使用一种自适应下采样的全局优化ICP方法对左右两个相机采集点云进行配准,全局优化的点云配准方法不仅可以避免陷入局部最优解的情况,提升配准效果的稳健性,还可以省去提取特征点或者粗配准的步骤从而加快计算速度。在此基础上,使用基于法向量优化的泊松重建方法来进行点云重构,泊松重建的点云网格更加平滑且可以弥补孔洞。在泊松重建的过程中,对配准后的非封闭性点云通过优化视点位置使得点云法向量方向统一,避免向量场二义性,可以稳健性地进行表面重建。最后,本文使用点云配准过程中获得的变换矩阵,将左右相机采集的RGB纹理图贴图在点云网格上。通过大量试验表明,本文方法能更加准确稳定地重建人脸三维模型。
1 方法原理
1.1 方法总体流程
本文使用两台西安知微公司D200深度相机,深度精度为0.23~0.67 mm,将左右角度的人脸点云和RGB图像作为输入数据。首先对获得的点云进行预处理,使用直通滤波剔除背景噪声[20],再进行点云聚类提取出人脸部分的点云。接下来配准两个相机的点云模型,本文使用了自适应下采样的全局优化ICP方法实现了左脸与右脸的点云配准拼接,避免了传统ICP陷入局部最优问题并加快计算速度。配准完成后对点云表面网格化处理,使用基于法向量优化后的泊松重建方法进行重建,提高泊松重建在非封闭点云中的稳健性,同时使用了冗余面切割进行滤波辅助以减少重建后的冗余面,最后将已经通过相机内参去畸变过的图像贴图到网格上,完成贴图得到实际的三维人脸模型。整个重建流程如图 1所示,重建过程无须人工进行额外操作,采集数据后可自动生成最终贴图模型。
图 1 人脸三维重建方法流程
Fig. 1 Flowchart of 3D face reconstruction method
图选项
1.2 点云聚类与去噪
成像设备受周围环境因素的影响,生成的点云数据具有一定的冗余数据,如测量时的背景信息及噪声数据等[21]。由图 2(a)可知,输入点云还包括人脸以外的点云数据以及背景噪声点。如果直接利用输入点云数据重建,在配准过程中会带有大量的噪声点云,影响配准的效果,同时表面重建的网格模型将会带有不需要的表面,因此在配准之前需进行点云聚类与去噪的预处理工作。
图 2 点云预处理
Fig. 2 Point cloud pretreatment
图选项
本文首先通过直通滤波限定采集的点云深度,将背景的点云噪声先滤除。设定采集范围为
(1)
具体范围将通过实际使用情况来进行判断,如本文在实际使用过程中背景墙位置在1 m之外,假设人脸采集视场长宽为0.5 m,那么x、y、z 3个方向的具体范围(单位m)为
(2)
将无序点云使用KD(k-dimensional)树算法构建出邻域结构,使用欧氏聚类的点云分割算法[22]分割提取出人脸点云,欧氏聚类算法是一种基于欧氏距离度量的聚类算法。三维空间中,点(x1, y1, z1)与点(x2, y2, z2)之间的欧氏距离定义为
(3)
给定初始聚类中心点,建立该点的r邻域,预先设定好邻域半径的阈值大小,位于邻域半径内的点均属于当前聚类,然后遍历当前聚类中的所有点,将每个点r邻域内的点归到当前类,直至满足设置约束条件,即聚类包含的点数目大于所设定最小数目且小于所设定最大数目。其流程框图如图 3所示。最终处理完成的预处理结果如图 2(b)所示,此点云将作为点云配准过程的输入数据。
图 3 欧氏聚类流程
Fig. 3 Flowchart of Euclidean clustering
图选项
1.3 全局优化的点云配准方法
三维点云配准的目标是求解近似的配准变换参数,经变换映射后让两组模型的点云数据合并到一个统一的坐标系下,从而构成一个完整的三维模型数据。对于三维人脸模型,由于人脸面部外形复杂性和三维测量设备测量范围的局限性等,单次扫描一般无法获得完整、精确的理想人脸模型。配准两组表面复杂且不完整的人脸点云数据,很容易在配准过程中由于点云视场只有部分重合而导致配准结果陷入局部最优。本文受文献[23]启发,提出了一种自适应下采样的全局优化ICP配准方法融合左右点云,该方法不仅可以减少输入点云数量,滤除噪声,同时因不需要粗配准而提高计算速度,并且可以避免ICP陷入局部最优解的情况,提升配准效果的稳健性。
三维点云配准具体流程如下:
(1) 对于左右两片输入的点云PL、PR,对于其中任意一点pi={xi, yi, zi}∈PL, R,其水平方向角αi和垂直方向角θi计算如下
(4)
(2) 将点云按水平探测扫描角度范围[αmin,αmax]和垂直扫描角度范围[θmin,θmax]等分为M扇区和N个扇区,其中αmin、αmax、θmin和θmax,根据传感器规格分别为最小水平角、最大水平角、最小垂直角、最大垂直角。因此,将点云分割成M×N个单元。对于水平角分辨率为αr,垂直角分辨率为θr的结构光相机,其中M和N的计算方法如下
(5)
(3) 在每个单元(m, n)中,m∈[1, M],n∈[1, N],通过查找单元中所有点的几何中心来计算平均测量值p(m, n),使用自适应的下采样方法,从而减少点云的数量实现优化,加快全局配准的速度。
(4) 对于左右点云PL、PR,计算其空间尺寸,分别计算得Xmax、Xmin、Ymax、Ymin、Zmax、Zmin,然后对这两个点云进行尺寸的归一化。
(5) 全局优化的ICP配准,建立在成熟的全局优化分支定界(branch and bound, BnB)理论[24]的基础上。在BnB中选择合适的域参数化来构建树结构,基于参数化推导有效的误差边界。在BnB搜索程序中使用传统ICP方法作为子程序[25]。首先设定配准的误差阈值Er,并初始化变换矩阵。然后将待配准点云在空间域分割为8个区域,分别在进行ICP配准,如果8个区域都没有误差E*小于阈值Er,则选择配准误差最小的区域继续分割为8个区域重复以上步骤,直到配准误差E*小于阈值Er,在有限多个极小值配准误差中选出全局最优解。
使用全局优化的ICP方法将左右点云对齐,为之后的表面重建做准备。最终点云的配准效果在保证计算精度的同时,配准的计算速度有了大幅度提升。
1.4 基于法向量优化的泊松重建泊松重建采取隐性拟合的方式,通过求解泊松方程提取值为零的等值面获取点云模型的表面信息,对目标模型进行网格重建从而得到具有几何实体信息的表面模型[26-27]。尽管泊松重建方法一次性把所有的点都考虑在内,融合了全局和局部方法的优点,但是传统泊松方法针对非封闭性和密度不均匀的点云进行重建时会出现重建表面位置不正确并带有冗余面的问题。1.4.1 传统泊松重建传统泊松重建方法流程如图 4所示,泊松重建的输入是点云数据,输出是三角网格模型,泊松重建方法主要包括泊松方程的求解,其表示如式(6)所示 (6)图 4 传统泊松重建流程Fig. 4 Traditional Poisson reconstruction process图选项
对于给定模型实体M,用∂M代表该实体表面,代表该表面所对应的指示函数,V表示向量空间,▽表示拉普拉斯(Laplace)算子。将所有的点云数据建立八叉树拓扑关系,对于八叉树ϑ细分使每个点采样都落在深度D的叶结点。对生成的八叉树ϑ的每个节点o的节点函数Fo展开后如式(7)所示 (7)式中,o.w和o.c表示节点o的宽度和中心。Fo所满足的条件为:①混合函数Fo的线性求和能够精确表示向量场V;②混合函数Fo表示的泊松方程能够被有效求解;③Fo线性求和所代表的指示函数能够精确逼近模型表面。引入基函数F来描述节点函数Fo与向量场V之间的关系,其中D为八叉树的最大深度 (8)式中,是一个平滑滤波器,把有向点集的表面重建转换为一个空间泊松问题,引入的函数表达式为 (9)式中,*为卷积符号;*n表示n个相同函数进行卷积,方程中的B(t)为 (10)假设划分的空间区域是常量,通过向量场V逼近指示函数的梯度,可以将模型曲面进行近似表示,其中,s是初始已知样本点集合S中的一点,包含了s.p位置和s. N法向量信息,NgbrD(s) 是最靠近s.p的8个深度为D的结点, {αo, s}是插值的加权系数,那么指示函数所代表的表面梯度域的向量场就近似为 (11)根据式(11)得到向量场V后,那么求泊松方程的解,就是在已知V的前提下反解 (12)给定|ϑ|维向量v对于节点o的坐标vo=〈▽· V, Fo〉,求解函数的方法可以通过函数在函数空间投影的拉普拉斯算子与构成的向量逼近v解决, 转换为,最后变为的解算。矩阵L具有稀疏性和对称性。表面重建的过程就是等值面提取的过程。为了得到输入点集对应的表面∂M,拼接用移动立方体法(marching cubes,MC)[28]提取得到的等值面,得到重建后的模型。1.4.2 基于法向量优化的泊松重建本文在传统的泊松重建的基础上进行了点云均密化的处理和针对向量场计算的方向归一化与优化,流程如图 5所示,改进后的泊松重建方法在面对非封闭性和密度不均匀的点云进行重建时可以获得更加稳健且精确的效果。图 5 改进后泊松重建流程Fig. 5 Improved Poisson reconstruction process图选项
(1) 点云均密化。对于配准后的输入点云数据,在两片点云重叠的部分会在叠加后变得更加稠密,点云的密度变化不利于之后的表面重建,因此本文对点云先进行均密化处理使得点云分布均匀。根据点云空间分布范围,提取其最小外接长方体长宽高,分别记为LPC、WPC、HPC。在这个最小外接长方体空间内,基于1.1节中介绍的硬件设备采集分辨率,将其划分为边长0.2 mm立方体空间网格,以保证不损失细节信息。对最小外接立方体空间内任意一个网格Gi,计算网格Gi内所有点的几何中心Pc,然后用Pc取代Gi内部所有点,即经过均密化处理后,每个网格内只有一个点。(2) 法向量统一。向量场的创建过程中,对于非封闭性点云,很容易出现向量场的二义性(图 6(a)),点云同一表面下的箭头所指的位置点云向量方向并不一致,从而产生的重建效果在箭头所指的地方出现冗余面(图 6(b)),所以在计算向量场的过程中需要对向量进行方向统一的优化操作。图 6 点云向量二义性Fig. 6 Ambiguity of point cloud vector图选项
估计点云法向量的思路是利用邻域内的点拟合一个平面,将平面的法线方向记为点的法向量。记点的邻域为 (13)须拟合的平面的一般形式是 (14)采用最小二乘法进行平面的拟合,即求解如下的最小值问题 (15)通过求导并令导数为0,且将方程组中的D消去,可以得到如下线性方程组 (16)式中,M为协方差矩阵;,以此类推。一般情况下,协方差矩阵是非奇异的,因此上述方程没有精确解,只能寻找近似解,令n =[A B C]T满足 (17)利用拉格朗日乘子法,构造新的优化函数 (18)从而能够推导出式(18)的解是协方差矩阵M的最小特征值所对应的归一化特征向量。从而可以得到点云的法向量是 (19)前述方法计算得到的法向量方向具有不确定性,有必要进行统一,通常做法是根据视线方向进行统一,确保法向量方向的一致性。一般将原点作为视点位置,则视线为 (20)而本文方法是将视点设置在人脸的最小外接立方体的中心位置,对点云的法向量进行调整,使得 (21)最后获得方向统一的法向量,使得之后表面重建效果更加稳定。(3) 冗余面切割。在使用泊松重建的过程中,针对非封闭点云,很容易出现冗余面的问题,如图 7(a)所示,会在正确的模型的四周出现冗余面,所以本文基于在之前点云均密化过程中采集的点云所占空间尺寸LPC、WPC、HPC,对其模型进行切割,去除冗余面,获得如图 7(b)的结果。图 7 泊松重建冗余面去除Fig. 7 Removal of redundant surfaces in Poisson reconstruction图选项
最后的贴图部分本文参考了文献[29]的工作,先将在点云相同相机视角下的左右RGB图像通过相机的内参去畸变,然后将图像作为纹理贴图在网格化模型上,最终结果如图 8所示。图 8 最终贴图完成生成的结果Fig. 8 The final map generated图选项 2 试验结果与分析2.1 试验设计为了验证本文方法的高精度和面对不同环境及人脸变化的稳健性,本文利用采集的标准人脸和真实人脸点云数据进行试验。试验主要包含3个部分:①点云配准方法精度评估与计算速度的评估;②重建方法效果和精度的评估;③左右相机不同基距下的重建精度评估。本文的数据集包含采集的标准人脸模型数据和日常场景下采集的真实人脸数据。标准人脸数据采集现场如图 9(a)所示,拍摄的设备是左右两组结构光相机,拍摄的对象是已知三维模型的定制人脸模型,其真实的标准数据如图 9(b)所示,可以与重建后结果进行对比以获取重建的精度评估。图 9 试验场景与数据Fig. 9 Experimental scene and data图选项
2.2 点云配准评估本文为验证配准效果,将传统ICP和本文方法进行比较,如图 10所示,本文方法在定性的配准效果上有明显的提升。本文在采集的标准人脸数据集上进行,将左右点云配准的均方根误差(RMSE)作为评估配准的精度标准,同时比较不同方法的配准所耗时间,结果见表 1,由计算时间数据可以得到结论,本文方法较传统ICP方法精度有较大的提升,本文方法在保证了不低于全局优化方法Go-ICP的精度同时,计算速度有很大的提升,由耗时20 s左右降低到8 s左右,点云配准耗时明显减少。图 10 点云配准效果对比Fig. 10 Point cloud registration effect图选项
表 1 点云配准精度、时间对比Tab. 1 Point cloud registration accuracy, time contrast
表选项
2.3 真实场景重建效果与精度评估为了验证本文方法的重建效果和精度,首先在日常场景(图 11)下对采集的真实人脸数据对重建的效果进行评估,本文方法效果与贪心三角重建[30]、滚球法[31]、传统的泊松重建[32-33]方法进行对比,不同方法的重建效果如图 12所示。图 11 真实人脸数据采集Fig. 11 Real face data collection图选项
图 12 重建方法效果对比Fig. 12 Effect comparison of reconstruction methods图选项
通过图 12的对比可以明显地看出:①贪心三角重建的额头位置受到噪声数据影响,重建出了不属于人脸的噪声表面;②滚球法有大量的噪声表面且重建孔洞很多,模型边缘粗糙;③传统的泊松重建则带有明显的冗余面数据;④本文方法使用经过针对法向量优化后的泊松重建方法,同时后期冗余面问题进行优化处理之后,整体模型细节还原度更加完善,重建过程中所产生的模型孔洞问题明显减少,同时生成的模型更加平滑,没有额外的噪声表面,基本上可以得出,整体方法经过优化之后较原始方法而言得到了较大的提升。同时本文基于cloudcompare软件[34],在标准人脸数据集上对本文方法重建的模型结果和其他方法的重建结果进行定量的误差对比,评估指标包括以标准模型的点云为基准计算其到重建模型的距离平均误差值、最大和最小的误差值。本文将不同方法重建的结果与标准人脸的三维数据进行对比,结果见表 2。
表 2 不同方法的重建精度对比Tab. 2 Comparison of the reconstruction accuracy of different methods mm
表选项
实际试验由表 2数据证明,改进后的基于法向量优化的泊松重建方法,通过对输入信息进行均密化预处理,并经过冗余面去除方法优化之后,同其他的重建方法和原有泊松重建方法之间对比,各项数据误差都要更加小,更加接近模型的真实值,也证明了本文方法的精度更高、更准确。为了验证本文方法在不同真实人脸的稳健性,对其他多个真实人脸使用本文方法进行了三维重建,获得如图 13所示的结果,通过表 3的定量分析,多个不同真实人脸重建效果精度维持在0.02 mm左右,足以证明本方法高精度高稳健性。图 13 真实人脸重建效果Fig. 13 Real face reconstruction图选项
表 3 不同人脸的重建精度对比Tab. 3 Comparison of reconstruction accuracy of different faces mm
表选项
2.4 不同基距下的重建评估为了验证本文方法在不同环境下的稳定性与稳健性,设计了控制变量的试验,使用相同的左右结构光相机设备,在不同的基线距离下,对同一标准人脸模型进行测量与重建,数据重建效果如图 14所示,精度对比如表 4所示。图 14 不同基线距离下的重建效果Fig. 14 Reconstruction effects at different baseline distances图选项
表 4 不同基线下的重建精度对比Tab. 4 Comparison of reconstruction accuracy under different baselines mm
表选项
经过试验所得出的一系列数据和结果显示,本文通过基于法向量优化的泊松表面重建方法进行人脸模型的重建,可以显著地提升整个方法的实现效果,使得重建出来的表面细节度更加精细,平均误差可以维持在0.1 mm左右,满足高精度要求工作,且在环境变化的情况下重建结果具有高稳健性。
3 结论针对由于人脸表面的复杂性以及人脸点云的不完整性造成的人脸三维重建的准确度和稳健性不高的问题,本文提出了一种结合全局信息和点云法向量的重建方法。本文设计并实现了一套完整的人脸重建方法程序,从相机采集到点云处理、配准、网格化,到最终的人脸模型生成,实现了全自动化、高稳健性、高精度的人脸重建。同时本文通过试验验证得到,重建精度平均误差为0.1 mm左右,无论是医疗、影视还是虚拟现实的应用需求都可以满足。并且通过多次的真实环境试验表明,本文方法具有高稳健性,即使没有使用人工选点等人为干预的操作,在相机间距改变或者人脸位置改变等外界环境有所变化的条件下,仍然可以自动化稳健地进行人脸三维重建。本文当前仅使用了两组相机在两个角度进行拍摄,因此本文方法也留下了可以拓展的地方,之后的工作可能会使用多组相机来实现多视角的头部重建,甚至是人体的完整重建。作者简介第一作者简介:李皓冉(1998—), 男, 硕士生, 研究方向为三维重建、点云处理算法。E-mail: haoranli@whu.edu.cn通信作者:梅天灿, E-mail: mtc@whu.edu.cn
初审:张艳玲复审:宋启凡
终审:金 君
资讯
标签: #泊松曲面重建原理