一种基于EGI和标准人脸模板的三维人脸点云拼合算法

2016-12-22 21:37张辰阳
软件导刊 2016年11期
关键词:欧拉角

摘 要:对重合区域较少的两组不同角度获取的三维人脸点云数据,直接寻找对应点进行点云拼合的难度很大。为解决这一问题,提出一种基于EGI和标准人脸模板全自动点云数配准拼合算法。针对待配准的三维人脸点云以及标准人脸点云模型,首先通过局部最小二乘曲面拟合,估计每个点的法向和曲率,其次计算点云的扩展高斯图(EGI),然后利用EGI上对应的特征点计算欧拉角,分别使待配准三维人脸点云旋转至与人脸模型大致相同的位置,完成粗配准,并把粗配准结果作为新的初始位置。采用最近点迭代算法(ICP)分别对三维人脸点云与标准人脸模型进行精确配准,从而实现两组三维人脸点云的拼接。

关键词关键词:点云拼接;三维人脸;高斯图;最近点迭代算法;欧拉角

DOIDOI:10.11907/rjdk.162008

中图分类号:TP312

文献标识码:A 文章编号文章编号:16727800(2016)011004204

基金项目基金项目:

作者简介作者简介:张辰阳(1991-),男,湖北恩施人,四川大学空天科学与工程学院硕士研究生,研究方向为计算机视觉导航、三维人脸重建。

0 引言

随着三维点云数据获取手段的增多以及对于三维重建技术需求的增大,不同角度的三维点云数据拼合技术[1]逐渐成为研究热点。目前,解决点云配准拼合的技术一般分为手动配准以及自动配准两大类。前者需要在被测物体的重叠区域上人为贴上标记点[2],从而通过标记点计算坐标系的旋转、平移参数。对于后者,通常要求两幅点云具有足够多的重叠区域,这样才能够通过算法快速、灵活地寻找两组或者多组数据间的对应关系,最终精确求解出点云数据间的旋转、平移关系。在自动配准中运用最为广泛的是由 Besl等[3]提出的最近点迭代算法(iterative closest point, ICP),该算法以相对位置经过粗略配准的两片点云数据为基础,迭代求解两片或者多片点云数据间的对应点及对应点之间的刚性变换(旋转、平移)关系,直到对应点之间的距离误差评价函数最小。实际上,一般待配准的点云数据间的相对位置是未知的,如何利用粗略配准将点云数据间的相对位置变换到ICP算法的收敛域(即迭代可以收敛)成为解决问题的关键。许多ICP 改进算法主要还是针对某些特征信息建立点云数据间的相互关系。这些特征信息包括法向[4]、曲率[5]、体积分[6]等简单的一维特征描述函数,还包括旋转图像[7]、形状内容[8]等高维特征描述函数,有的甚至还包括颜色、强度值等辅助信息,它们都是不依赖于点云数据的三维旋转与平移的。

在人脸重建领域,需要拼接配准的两幅点云没有足够大重叠区域,然而上述算法都必须依赖与两幅点与数据具有足够大的重叠区域。因此,针对重叠区域很小的两幅人脸点云数据(如两幅侧脸角度达到45°的三维人脸数据),本文提出了一种扩展高斯图(EGI)和标准人脸模板的点云拼合算法。该方法可以处理空间任意位置的人脸散乱点云,且对点云的重叠度没有要求。只需要利用点云自身整体的几何信息,分别将待配准的点云以及人脸模板的信息映射到高斯球面,分别完成两幅点云与人脸模板的粗配准,从而将两幅待配准点云的相对位置转换到ICP算法的收敛域,最后完成精确配准。

1 EGI扩展高斯图建立

1.1 模型建立

在建立扩展高斯图之前,首先需要计算点云的法线和曲率。对于点云中的任一点,其法向量等价于该点及其邻域的最小二乘拟合平面的法向量。点c为点pi的邻域Nbhd(pi)的质心:

在建立扩展高斯图之前,首先需要计算点云的法线和曲率。对于点云中的任一点pi,其法向量等价于该点及其邻域Nbhd(pi)的最小二乘拟合平面的法向量ni。点c为点pi的邻域三维物体的高斯图像是将物体上的一点映射到高斯球(单位球面)上的一点,并且满足对用点具有相同的法线方向。特别地, 如果物体中包含一个平面,则平面上所有点均被映射至高斯球上的同一点。扩展高斯图(EGI)建立在高斯图像基础上, 是一种形状表示, 主要用于表征三维物体的几何特征,示例见图2,其为六面体的高斯映射。基本思想为将三维物体的每个面片映射到一个单位球面上来获取球面图像,向量的方向与物体面片的法向量方向一致,向量的模等于面片的面积,EGI记录了面片法向落入全空间各个方向的多边形面积大小。用函数表示为:

1.2 对应点对确定

在点云配准中,确定对应点对的方法很多。比如马忠玲等[11]提出的一种基于曲率的点云特征点提取方法,首先利用面(moving least squares surfaces) 快速有效地计算出散乱点云每一点的高斯曲率、平均曲率和主曲率值,提取局部曲率变化最大的点作为特征点,然后利用点的曲率的距离提取初始匹配点,再根据极大极小曲率的相似度函数最终确定精确匹配点。在人脸特征点检测中,还可以先将3维点云投影到2维平面,得到二维图片,再用人脸landmark检测算法[12],得到人脸的68个landmark特征点;或者如刘宇等[13]提出的一种基于法矢的对应点提取方法,定义一种法矢偏差的特征量,利用特征量的欧式距离确定对应点对。

1.3 高斯球上旋转群旋转

在经典力学与几何中,所有环绕着三维欧几里德空间的原点的旋转而组成的群定义为旋转群[1415]。

点云数据(Xi,Yi,Zi)的3维空间的旋转可用g∈SO(3)来表示。由于空间单位向量n由2个独立参数确定, 所以SO(3)里的元素是由3个独立参数所确定的。通常对SO(3)习惯用Euler角(α,β,γ)来描述一个转动,0≤α,γ≤2π,0≤β≤π。用Euler角表示g∈SO(3)为:

2 算法实现流程

本文提出的利用EGI和标准人脸模板的三维人脸点云的拼合算法执行流程如图3所示。

(1)首先输入待配准点云P1、P2以及人脸模板M,由于MLS算法对于噪声有较强的鲁棒性,所以并不需要对噪声进行滤波。

(2)提取特征点、确定对应点集。先利用MLS算法计算出每一点云数据的高斯曲率、平均曲率以及主曲率。认为局部曲率值变化最大的为待定点,然后根据距离确定两点之间的匹配点,剔除误差,最终确定对应点集。

(3)把3幅点云映射到高斯球面,得到新的点云数据。分别遍历以上对应点集,用四元数方法,求解颠覆点云相对于人脸模板的旋转量,即得到两幅待配准点云之间的旋转关系,最后将旋转量转换成旋转矩阵,方便数据运算。

(4)分别把P1、P2乘以R1、R2,目的是将待配准的人脸笔尖法线方向旋转到与模板一致,从而使得人脸的视点方向与模板基本一样,使得点云与模板配准时结果能够收敛。

(5)用ICP方法将与人脸模板进行精确配准得到点云,最后将数据融合得到完整人脸。

3 实验结果与分析

实验运行环境为Intel Core 2.53,GHz Matlab2015b平台。待配准点云为数据库中无表情人脸模型。人脸模板为[16]提供的平均人脸模型。

图4(a)为人脸向左转动45°所得到的点云数据,共有35 303个点;(b)为向右转动45°所得到的数据,共有33 247个点;(c)为a、b两幅点云放在同一坐标系下的初始位置;(d)为平均人脸模型,共有53 490个点。由图4(a)、(b)可以清晰看到,两幅点云的重叠区域非常少,所以传统的ICP方法不能够适用于这一种情况。

由图5(a)可以看出,通过本文算法可以将两幅半脸点云的法向量调整到与平均人脸模板大致相同的朝向,为后面与人脸模板的配准提供了较好的初始位置。图5(b)是用粗配准结果直接运用文献[11]中一种基于曲率的自动配准算法进行匹配后显示在同一坐标系中的结果,由于没有足够大的重叠区域,即没有足够多的正确对应点对,导致ICP算法出现局部最佳匹配,并且陷入迭代不收敛的情况。图5(c)是由粗配准中的左右两个半脸点云分别与平均人脸模板进行配准,然后把两幅点云融合得到的结果。综合图5(b)、(c)以及表1,从拼接效果上来说,传统的ICP算法并不适用于重叠度很小的人脸点云拼接,而本文提出的方法能够有效解决这一问题;运行时间上,由于传统ICP算法迭代不收敛,因此运行时间也多余本算法运行时间。

4 结语

本文提出了一种基于EGI和标准人脸模板的三维人脸点云的拼合算法,利用已有的标准人脸模板作为中介,通过把点云映射到EGI,可以不用任何初始估计或手动操作就能够自动解决只有很少部分重叠区域甚至没有重叠区域的三维人脸点云的拼接问题,而文献[14]中只能够配准不同旋转角度的相同点云,不能对只有部分重叠的点云进行拼接。由于需要通过标准人脸模板作为拼接中介,所以人脸模板是影响本算法的一个重要因素,使用中国人的人脸模型会比本文使用的模型效果更好。在实际应用中,可以通过Realsense或者Kinect等采集运动中的人脸侧脸点云数据,然后拼接得到完整人脸,若能过提高算法的准确度以及实时性,可为机场火车站等地方的三维人脸重建提供初始模型。因此,提高本算法的实时性和准确性将是未来研究的一个重要方向。

参考文献:

[1] PAUL J B,NEIL D M. A method for registration of 3D shapes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence, 1992,14(2):239256.

[2] FARIN G,HOSCHEK J, KIM M S. Handbook of computer aided geometric design[M]. Amsterdam:NorthHolland, 2002:651681.

[3] BESL P J, MCKAY N D. A method for registration of 3D shapes[J].IEEE Transactions on Pattern Analysis and Machine Inteligence,1992,14(2):156239.

[4] 魏永超, 苏显渝. 基于方向角的散乱点云三角剖分算法[J] .四川大学学报:工程科学版, 2009,41(4):202207.

[5] HT HO.3D Surface matching from range images using multiscale local features[D].PhD dissertation,Depar of Electrical and Electronic Eng.University of Adelaide,2009.

[6] GELFAND NATASHA.Feature analysis and registration of scanned surface[D].PhD dissertation, Stanford University, September,2006.

[7] JOHNSON A.Using spin images for efficient object recognition in cluttered 3D scenes[J]. IEEE Transactions on Pattern Analysis and Machine Intelligence.1999,21(5):433449.

[8] FROME A, HUBER D, KOLLURI R,et al.Recognizing objects in range data using regional point descriptors[J].Lecture Notes in computer science,2004(3023):224237.

[9] DING ZHONGMING, TAKUMA K, NAOHISA S, et al. Particle based multiple irregular volume rendering on CUDA[J]. Simulation Modelling Practice and Theory,2010,18(8):11721183.

[10] KOKH,TAKASHI M,NICHOLAS M P, et al.Shape intrinsic properties for freeform object matching[J].Compute. Inf. Sci. Eng, 2003,3(4):325333.

[11] 马忠玲, 周明全, 耿国华,等.一种基于曲率的点云自动配准算法[J].计算机应用研究, 2015, 32(6):18781880.

[12] ZHANG Z, LUO P, CHEN C L, et al. Facial landmark detection by deep multitask learning[C].European Conference on Computer Vision: Springer International Publishing, 2014:94108.

[13] 刘宇,熊有伦.一种基于法矢的部分重叠点云的拼合方法[C].第一届全国智能制造学术会议, 2006.

[14] AMEESH MAKADIA.Fully automatic registration of 3D point clouds[C].IEEE Computer Society Conference on Computer Vision & Pattern Recognition.2006(1):12971304.

[15] 黄戈,李晓峰.基于 CEGI 和 Fourier 变换的全自动点云配准算法[J],四川大学学报:工程科学版,2014, 46(5):104109.

[16] University basel:MORPHACE [EB/OL]. http://faces.cs.unibas.ch/bfm/.

(责任编辑:陈福时)

猜你喜欢
欧拉角
基于残差网络的实时头部姿态估计方法研究与应用
基于多传感器融合的老人跌倒检测
四旋翼无人机飞行控制中四元数与欧拉角的转换
欧拉角和等效轴角参数表示下机械腕的轨迹规划和奇异性分析
坐式垂直起降无人机的一种姿态解算算法的设计
基于单位四元数的单独像对相对定向
大姿态角入水时的鱼雷半实物仿真方法研究
四元数与欧拉角刚体动力学数值积分算法及其比较
倾转机身无人机俯仰角奇异问题研究