APP下载

基于模板的人脸点云补洞方法

2017-03-29孙晓斐宋万忠

现代计算机 2017年5期
关键词:对应点刚体测量点

孙晓斐,宋万忠

(四川大学计算机学院,成都 610065)

基于模板的人脸点云补洞方法

孙晓斐,宋万忠

(四川大学计算机学院,成都 610065)

为得到完整的三维人脸点云数据,首先提出一种在点云生成过程中自动提取三维人脸特征点的方法,然后根据三维特征点对人脸点云模型进行剖分变形。还对非刚体最近点迭代算法进行改进,加入以对应点拓扑结构为依据的剔除错误点对应点机制和优化的迭代策略,实现更快更好的配准,继而完成点云的补洞。试验结果表明,该方法对人脸点云孔洞填补效果较好,特别是在人眼、鼻子等复杂部位,补洞真实,优势明显。

三维人脸;孔洞修补;点云;非刚体最近点迭代算法;三维人脸特征点

0 引言

采用结构光三维面形测量技术获取的原始人脸点云数据,因受人脸面形起伏产生的遮挡、局部区域反射率差异较大(眉毛、眼睛、化妆后脸部反光)等影响,会导致人脸表面某些区域无法测量,造成测量的数据不完整形成孔洞。孔洞不仅影响美观,而且不方便纹理等后续处理,实际应用前需要自动孔洞填补。

文献[1-2]对通用性的点云孔洞填补方法进行了介绍,文献[3-4]介绍了针对人体点云孔洞的填补方法。泊松曲面重建[5]是一种隐函数表面重建方法,将其用于人脸点云孔洞填补时存在填补后的局部区域面形明显失真的问题,比如重建后的眼球是凹陷的。采用曲面拟合的点云孔洞填补方法[6-8]也存在类似问题,其原因是:如需要填补的孔洞原有面形起伏较大,孔洞附近的面形不足以提供生成较为准确的孔洞填补所需信息。在三维人脸识别和三维人脸建模应用,面形较大的局部区域常对应三维人脸上的特征区域,较为准确地获取(或恢复)其面形数据,直接影响到系统应用效果。

本文结合3D人脸点云模型和非刚体ICP配准算法[12],提出了一种基于三维人脸模板的人脸点云自动补洞方法,主要包括3个步骤:(1)根据人脸点云模型和实际测量点云上特征点间的对应关系,对人脸点云模板进行三维缩放;(2)采用非刚体ICP策略将人脸点云模型向人脸测量点云配准;(3)将原始测量点云中孔洞区域用变形后的人脸点云模型中的点云来替换实现补洞。为实现更快和更准确的非刚体配准,本文还对错误对应点剔除和迭代策略进行了改进。

1 人脸点云补洞处理流程及预处理

本文提出的人脸点云补充处理流程如图1:

(1)三维人脸特征点提取

本文采用川大智胜研制的三维人脸采集仪同时获取人脸的三维面形和彩色纹理,该仪器基于结构光的双目视觉原理获取三维人脸面形,测量精度~0.1mm。同时采集的彩色人脸图像和三维点云之间在仪器标定阶段,已建立对应关系。采用人脸特征点(Landmark)检测算法可检测到人脸图像上的特征点(本文使用了68个特征点)(图2(a)),根据这些特征点的图像坐标与点云上顶点的对应关系,得到这些特征点的三维坐标(图2 (b))。对于一些特征点对应的三维坐标点在点云中不存在的情况,我们将这些特征点设为无效特征点。这些无效特征点不会参与后续的迭代配准。实验中,有效的特征点点数为20~30个。? %

图2 三维人脸特征点自动

(2)人脸点云模型的预处理

实际测量的人脸点云和用作参考的人脸点云模型之间,存在大小不一致的情况,需要进行缩放处理后使得两者尺寸大致一致,才能进行后续的配准处理。这里以实际测量的人脸点云为准,对人脸模型进行放缩处理。

步骤1选取测量点云上特征点P1和P2(P1和P2位于人脸的左右两侧),以及它们在点云模型上的对应点P1'和P2',缩放人脸点云模型使得D(P1,P2)=D(P1',P2');其中D(P1,P2)为点P1和P2之间的欧氏距离。

步骤2选取测量点云上特征点P3(位于人脸上半部分)以及它在点云模型上的对应点P3',放缩模型使得D(P3,O)=D(P3',O'),其中:O为测量点云上鼻尖坐标为,O'为点云模型上鼻尖坐标。

步骤3选取测量点云上特征点P4(位于人脸下半部分)以及它在模型上的对应点P4',放缩模型使得D (P4,O)=D(P4',O')。

经过上述3步后,人脸点云模型和实际测量的人脸点云大小近似匹配。

2 改进的非刚体ICP配准算法

2.1 非刚体ICP配准算法介绍

非刚体ICP配准算法可以表述为同时最小化形变能量函数以及对应点之间的距离之和[12]。设点云模型为S=(V,E),其中V为n个顶点的集合,E为边集合,每个顶点i的坐标为vi=[xi,yi,zi]T(i=1,2,…,n),每个顶点的形变向量为Xi=[ai,bi,ci]T,则形变矩阵X=[X1,X2,…,Xn]T。点云模型S和实测点云P配准时,需要最小化的代价函数为:

使得可变模型与目标点云之间的距离该尽可能的小,函数dist(P,vi)为顶点vi与vi在目标点云上的最近点之间的距离。系数wi衡量点对的正确性,对于模型上的每个顶点vi,如果未找到目标点云上的正确对应点,则为0,否则为1;

刚性系数项

用来约束相邻顶点的形变,使得相邻顶点的形变保持一致;

特征点项

用来初始化和指引配准,使得配准更加准确。

为了求解上述代价函数,可将其转换为矩阵形式,通过求解线性方程组来获得每次迭代的最佳形变矩阵X。构造对角矩阵W=diag(w1,w2,…,wn),矩阵U=[u1,u2,…,un]T(ui为模型顶点i在目标点云上的最近点坐标)。矩阵M为节点-弧相关矩阵,该矩阵每行表示一条边,每列代表一个顶点。对模型上所有顶点编号,模型上所有边都是从较小编号的顶点到较大编号的顶点。如果边r连接顶点i和顶点j,则矩阵M第r行的非零元为Mri=-1和Mrj=1。矩阵UL=[l1,l2,…,lk]T。矩阵Q 有k行(k为特征点的对数),每行仅有一个非零元β,该非零元的列坐标为L中vij的下标ij(j为非零元的行坐标)。则代价函数可转化为的

其最小值为X=(A'A)-1A'B。

通常,非刚体ICP配准算法流程为:

步骤1输入点云模型S和实测点云P,令j=1。

步骤2从{(α1,β1),(α2,β2),…,(αc,βc)}(αi>αi+1)中依次取出第j组参数(αj,βj),如果j>c,输出形变后的模型点云S',终止程序,否则,转步骤3;

步骤3查找模型上每个顶点vi在目标点云上的最近点ri,得到(vi,ri)(i=1,2,…,n);

步骤4对第i组点对(vi,ri)(i=1,2,…,n)执行错误对应点测试,如果判断为错误对应点,则置0,否则置1;

步骤5求解本次迭代的最佳形变矩阵Xj;

步骤6如果||Xj-Xj-1||

2.2 改进迭代策略

非刚体ICP配准算法包含内外两个循环。外部循环控制刚性系数,使得刚性系数由大到小递减变化。当刚性系数较大时,点云模型近似做刚性形变,即模型和实测点云整体上对齐。当刚性系数较小时,点云模型能够产生更局部的形变,使得模型能够逼近实测点云的细节部分。由于本文在进行非刚体ICP配准前执行了ICP配准,完成了整体配准,所以跳过了刚性系数较大的迭代阶段。之所以在这里使用ICP配准,是因为此处的ICP配准仅使用几十个点对,而执行非刚体ICP是对所有点对执行计算,这样可以缩短非刚体ICP执行的时间,进而缩短补洞时间。实验中系数取值策略为:进行5次外部迭代,每次外部迭代进行10次内部迭代。刚性系数α初始化为32,β值初始化为2,每次外部迭代结束后,α与β值均减半。使用这种迭代策略减少了迭代次数,使得配准能够在数秒内完成,而且配准结果好。

2.3 改进错误对应点的排除策略

对于非刚体ICP变换,当刚性系数很小时,即使只有一对对应点错误,也能使得模型点云在孔洞部分产生较大的畸变。非刚体ICP配准是一个内在的病态问题,因为它很难定义一对对应点是否正确。在实验中,笔者发现文献[12]中的排除错误对应点的条件不够充分,会使模型点云在孔洞部分产生畸变。在文献[12]中,如果模型上的一个顶点查找到的对应点位于边界上,那么视为错误的对应点。如图3中,O为人脸模型上一点,在文献[12]中,点F,E,D,C为测量点云的边界。在非刚体ICP进行最近点查找时,O可能查找的最近点为非边界点G。在刚性系数较小时,点O附近的顶点会朝着G点移动,产生畸变。为了改善该问题,我加宽点云的边界。如果一个三角面片中有一条边在边界上,那么我就将该三角面片上的三个顶点都视为边界点,如图5中,G点会被视为边界点。

图4为截取的非刚体ICP配准后点云的眼睛部分。白线上部分为采用文献[12]中错误点对排除策略得到的配准结果,下部分为采用本文策略得到的配准结果。由于错误的对应点的存在,在白线上面的点云中,眼睛部分的点云会向边界移动,产生畸变。

图3 加宽点云边界

图4 两种错误点对排除策略的对比

3 方法实现与实验

本文在Windows7上,采用Visual Studio 2012编程实现了上述人脸点云补洞涉及的相关算法,其中稀疏矩阵的求解采用了Intel的MKL(Math Kernel Library)[10]。程序运行的硬件配置为Intel Core i5-4590处理器,8G内存。

论文使用的实验数据为28个实测三维人脸,每个三维人脸包括大约100K~200K个顶点和200K~400K个三角形,部分测量数据信息见表1。人脸图像分辨率为752×480,图5(b)为3个实测人脸,可以看到,原始的实测人脸点云中眼睛,鼻子等部分存在较多的孔洞;人脸点云模型包括33K个顶点,66K个三角形,如图5 (a)。

图5 本文实验使用的人脸模型及三维人脸测量数据

图6右是采用不同方法对三幅人脸测量点云补洞处理的对比,第一行为本文方法处理的结果,第二行为采用PCL库[11]中的泊松重建方法补洞后的结果。图6左为右图中第一幅点云眼睛部位局部放大的补洞结果对比,可以看到本文方法在孔洞部分更加平滑,且能够保持眼球的凸起,更加真实。

在表1中,统计了测量数据及配准后的点云信息。其中第二列“模型有效点数”为完成配准后点云模型上能查找到正确的最近点的个数,第三列“点对平均距离”为模型上顶点到它在实际测量点云上对应的最近点的距离的平均值,第四、五、六列为测量点云的统计信息,第七列为测量点云中边的平均距离。从第三列和第七列可以看到,点对平均距离仅为边平均距离的1/4,说明人脸点云模型在非孔洞部分很好地拟合到了测量人脸。

图6 本文方法和泊松重建方法补洞效果比较

4 结语

本文针对采用结构光双目测量得到的三维人脸点云存在的局部孔洞问题,提出了一种基于模板的人脸量的三维人脸数据验证了该方法的有效性。此方法在工程上具有一定的应用价值。本文实验中完成一次补洞平均需要6秒,不能达到实时要求。下一步的工作是提高算法的运行速度。

表1 部分测量数据及对应的配准结果信息

参考文献:

[1]Attene M,Campen M,KobbeltL.Polygon Mesh Repairing:An Application Perspective[J].ACM Computing Surveys(CSUR),2013,45 (2):3472-3476.

[2]岳杰,陆声链,孙智慧等.三维点云孔洞修补算法及在植物形态重建中的应用[J].农机化研究,2013,35(5):190-195.

[3]周亮,孙志海,吴以凡,张烨.面向人体尺寸测量系统的点云孔洞修补方法[J].杭州电子科技大学学报,2014,34(5):73-77.

[4]孙晓东.人体点云数据处理中若干问题的研究[D].北京:北京工业大学,2012:44-46.

[5]Michael Kazhdan and Hugues Hoppe,Poisson Surface Reconstruction[J].Symposium on Geometry Processing,2006,32(3):61-70.

[6]谢倩茹,耿国华.三维模型孔洞修补方法的研究[J].计算机应用研究,2013,30(10):3175-3177.

[7]王运钢,徐岩军,林海荣.基于双向切片的点云孔洞修补方法研究[J].测绘与空间地理信息.2015,38(10):218-220.

[8]晏海平,吴禄慎,陈华伟.基于径向基函数的散乱点云孔洞修复算法[J].计算机工程与设计.2014,35(4):1253-1257.

[9]罗伟正.RBF函数的孔洞修复技术研究[J].科学技术与工程,2012,12(2):404-406.

[10]张立国,王静,金梅,康乐.基于径向基函数的点云岛屿孔洞自动修补[J].高技术通讯,2016,26(2):166-172.

[11]符艳青.基于改进的径向基函数网络的3D隐式曲面重构算法研究[D].杭州:中国计量学院,2014

[12]B.Amberg,S.Romdhani,T.Vetter.Optimal Step Nonrigid ICP Algorithms for Surface Registration[J].CVPR,2007,101(1):1-8.

Template-Based Method for Hole-Filling of Face Point-Clouds

SUN Xiao-fei,SONG Wan-zhong
(College of Computer Science,Sichuan University,Chengdu 610065)

To get complete point clouds,proposes a new algorithm of automatically obtain landmarks of 3D face in the generation of 3D face.With these 3D landmarks,3D face model is deformed.Additionally,improves Nonrigid ICP algorithm including employs a new mechanism of excluding error corresponds and optimizes the strategy of iteration.Experiment results show that this method can fill holes more effective and more realistic,especially in the complicated parts such as eyes.

3D Face;Hole-Filling;Point Clouds;Non-Rigid ICP;3D Landmarks

1007-1423(2017)05-0059-06

10.3969/j.issn.1007-1423.2017.05.014

孙晓斐(1988-),男,河南郑州人,硕士研究生,研究方向为点云配准、机器学习

2016-12-06

2017-02-06

国家重大科学仪器设备开发专项(No.2013YQ4900879-05)

宋万忠(1974-),男,四川成都人,博士,副研究员,研究方向为计算机图形学和图像处理

猜你喜欢

对应点刚体测量点
飞机部件数字化调姿定位测量点的优选与构造算法
重力式衬砌闸室墙的刚体极限平衡法分析
三点定形找对应点
以“点”为核 感悟本质
“一定一找”话旋转
热电偶应用与相关问题研究
考虑刚体响应的多层响应谱抗震分析
DCM10kW数字循环调制中波广播发射机供电系统维护检修测量点的位置与电压
国标和IEEEC57.12.90—2010标准声级试验解析
比较大小有诀窍