1、点云数据集的隐式曲面重构研究进展 徐利敏 吴刚 南京财经大学国际经济与贸易学院电子商务系 摘 要: 点云数据的曲面重建就是对扫描设备获得的物体散乱数据点重建三维物体表面, 它被广泛应用于计算机动画、目标识别、数据可视化以及地理信息系统。点云的隐式曲面重建由于能够去除点云噪声, 修补孔洞和裂缝, 不需要拼接和平滑等后续处理, 成为点云数据集曲面重构的重要方法。文中综述了目前一些主要的隐式曲面重构方法, 就隐式模型以及相应的曲面重构算法的优缺点进行了分析比较, 并对隐式曲面重构存在的问题和未来发展方向作了相应的分析和讨论。关键词: 点云数据; 曲面重建; 隐式函数; 作者简介:徐利敏 (1980-
2、) , 女, 博士, 副教授, 主要研究方向为人工智能、模式识别、图像处理;E-mail:;作者简介:吴刚 (1969-) , 男, 博士, 副教授, CCF 会员, 主要研究方向为图像处理、计算机视觉。基金:国家自然科学基金 (61372158) Review of Implicit Surface Reconstruction from Point Cloud DatasetXU Li-min WU Gang Department of Electronic Business, International Economics and Trade, Nanjing University of
3、 Finance and Economics; Abstract: The surface reconstruction of point cloud data is to reconstruct the surface of 3 Dobjects on the scattered data points of the scanning equipment.It is widely used in computer animation, target recognition, data visualization and geographic information system.The su
4、rface reconstruction based on implicit function is an important method of surface reconstruction of point cloud datasets due to its ability to reconstruct holes and cracks, and then do not need splicing and smoothing.This paper summarized some main implicit surface reconstruction methods, analyzed a
5、nd compared the advantages and disadvantages of implicit model and corresponding surface reconstruction algorithm.Finally, the existing problems and the future development direction of implicit surface reconstruction were analyzed and discussed.Keyword: Point cloud; Surface reconstruction; Implicit
6、function; 1 引言随着光学测量设备的广泛普及和应用, 获取目标物体的三维立体影像信息越来越方便和快捷, 而三维立体信息更能够真实和生动地反映物体的全貌。将来, 人们相册里存放的不再仅仅是二维图片, 三维真实场景的信息存放成为可能。事实上, 三维物体表达模型已经成为数字音频、数字图像、数字视频之后的第四种数字媒体形式, 其相关基础理论和关键技术研究已经发展成为一门新的学科数字几何处理1。目前三维全景技术已经获得了初步应用, 比如旅游景点虚拟导览展示、酒店网上三维全景虚拟展示、房产三维全景虚拟展示和汽车三维全景虚拟展示等。近年来, 随着电子商务的日益普及和发展, 人们需要在网上全方位、真
7、实地了解所购商品在各个角度下的外观特征以及它与真实环境的协调性, 这就促进了面向电子商务的三维商品展示技术的深入研究与发展2-3, 因此从二维数字图像发展到三维真实场景数字化表示是一种必然趋势。面对物体三维数据集如此爆发式的增长, 如何有效地描述这些三维数据, 进而提取其特征, 实现物体的识别、姿态估计以及检索等应用, 同样是目前十分迫切和具有挑战性的课题。目标物体描述的主要挑战是获得目标物体的数据量巨大, 而且它们是无序的散乱数据集点即点云数据。可以预见, 三维扫描技术一旦广泛应用, 将会生成海量三维目标物体的点云数据集, 这些数据集除了点数特别多以外, 在扫描系统进行物体表面采样时还会引入
8、噪声, 出现孔洞以及局部数据的缺失等问题。因此, 描述这些物体一方面需要选择合适的数学模型, 以提高数据集的描述效率, 修补点云数据的缺陷;另一方面, 要求算法简单, 以降低运算复杂度。目前描述点云数据主要有两类方法, 一类是三角化逼近描述方法4-6, 另一类是隐式描述方法7。而隐式描述方法能够根据离散数据集点生成紧密封闭的三维模型, 修补物体缺失的数据点, 填充孔洞并过滤目标物体的数据点采集时引入的噪声8;另外, 隐式描述使用的隐式函数有明确的解析式, 方便使用微积分等数学工具对数据集进行分析研究, 因此对于获得的散乱数据点集合, 隐式表达成了唯一的有效描述方式。隐式方法由于它独特的优点,
9、在距离图像重构9、姿态估计10、点集配准11-13、形状描述14、物体识别15、三维图像分割16-17以及形状变换18中得到广泛应用, 但是如何快速获得稳定和可靠的隐式模型近年来成为计算机视觉、计算机图形学、数字几何学和人工智能领域的热点问题。本文对近年来隐式方法在点云数据集的曲面重构领域使用的各种隐式模型进行分析比较, 并就这些隐式模型存在的关键问题进行初步探讨。2 点云曲面重构的隐式曲面类型隐式描述的基本思想是寻找合适的隐式函数, 使所有的三维数据集合点尽可能满足方程:f (x, y, z) =0。显然, 目标物体隐式描述的一个关键问题是选择何种类型的隐式函数模型 f (x, y, z)
10、。国内外许多学者提出了各种隐式函数来实现对点云数据集的曲面重建, 这些描述根据对点云数据集重建的范围可以分为两类, 一类是单个隐式函数曲面重建, 另一类是组合分片隐式函数曲面重建。本文对这些类型的隐式函数进行介绍并分析优缺点。2.1 隐式函数的全局曲面重建隐式多项式函数19-21、径向基函数22、符号距离函数8、核回归函数23和指示函数24等可以对点云数据集进行全局描述。如果根据某种规则也可以将点云数据进行分片隐式描述, 然后对连接处进行平滑等处理, 则能形成对整个点云数据集的曲面重构。2.1.1 隐式多项式函数曲面重构隐式多项式函数描述点云数据是一个代数曲面。其具体形式为:由上式可以观察到,
11、 三元隐式多项式函数对应的零集合即组成一个曲面。隐式多项式由于具有良好的几何和代数性质, 方便分析, 同时对几何变换具有封闭性, 可以从描述的隐式多项式中直接获取不变量25-28, 因此近年来其被广泛应用于计算机视觉和图像识别中29-31。但是隐式多项式只能描述简单几何形状的物体, 对于复杂目标则无法描述, 其主要原因是描述复杂形状需要极高次的隐式多项式, 而这将造成隐式多项式曲面极度不稳定, 即生成的隐式曲面在零集合点附近产生严重的震荡。例如, 隐式多项式可以很好地描述一个球体的点云数据, 而对稍微复杂的人体三维点云数据则无法精确描述32。但是, 在计算机视觉等领域只要能够捕捉目标的主要特征
12、, 获得目标物体的特征不变量, 实现目标物体识别即可, 因此隐式多项式函数主要用于目标识别, 一般不用于点云数据集的精确描述。2.1.2 径向基函数曲面重构径向基函数作为全局隐式函数来描述点云数据已经得到广泛应用, 其具体形式为:其中, p (X) 是低次多项式, N 为数据集三维坐标点的数目, 点 X 是空间任一点坐标, X i是径向基函数的中心点坐标, 是核函数。从该函数公式可以看出, 如果要描述点云中 N 个三维数据点, 则需要确定 N 个 参数和 N个中心点坐标, 显然这种描述没有起到压缩数据的作用, 而且对于大数据集无法使用最小二乘等方法确定这些参数。为了解决这个问题, 文献22通过
13、迭代优化等方法减少了中心点个数, 但是数据量仍然很大, 比如对于有 50 多万个数据点的佛像仍然需要 30 万个参数才能描述, 而且迭代算法的收敛速度不确定, 运算时间长。径向基表达方法存在的另一个问题是很难基于径向基函数寻找物体的不变量进而实现目标识别21, 事实上径向基函数描述的曲线和曲面主要应用在计算机图形学和计算机辅助设计等领域, 在计算机视觉和图像识别等领域无法得到有效应用。2.1.3 指示函数曲面重构指示函数是一种特殊函数, 用它来描述三维物体表面就是一个隐式指示函数曲面, 其特点是指示函数在物体内部取值为正, 在物体外部取值为负, 而在物体表面取值为零。这种函数有如下几个特点:1
14、) 很难直接写出指示函数的解析式, 只能使用一些正交函数系来逼近指示函数;2) 指示函数在物体表面上的点是不连续的, 在物体内部或者外部的点连续而且其导函数为零;3) 指示函数在物体表面存在向量场, 也就是曲面上点的法向量;4) 指示函数的零势面描述的就是物体表面。分析指示函数的以上几个特点可以发现, 无法使用指示函数直接重建物体表面, 必须借助其他函数逼近指示函数来间接重构出物体表面24,33-34。一般基于指示函数重构物体表面都存在平滑物体表面数据点梯度的问题, 因为指示函数在物体表面是不连续的。在平滑过程中, 平滑参数的选择是十分困难的, 平滑参数过大可能引起过平滑问题, 而过小则不能消
15、除不连续造成的误差影响。另外, 重构的指示函数模型参数过多, 不利于高效压缩点云数据集, 这是因为描述物体的点云数据集函数应该是一个连续函数, 指示函数强制地引入额外信息, 必然造成描述效率的低下。应该指出, 指示函数无法使用任意隐式函数直接逼近, 因为对于分布不均匀、存在孔洞的点云数据集而言, 很难判断三维空间中哪些点在物体内部, 哪些点在物体外部。2.1.4 符号距离函数曲面重构由于指示函数在物体内部点上的隐式函数取值为 1, 外部点上的取值为 0, 造成该函数在物体表面点处不连续, 因此文献8提出使用符号距离函数代替指示函数以更接近问题实际。理论上, 可以使用所有的隐式模型逼近距离函数来
16、实现曲面重构。符号距离函数同样也是一种特殊的函数, 它和指示函数的区别是物体内外点对应的符号距离函数值不是一个固定值, 而是为该点到物体表面的最近距离加上一个正的或者负的符号。具体说, 就是沿着物体表面法线上取距离为 l 的点, 则该点对应的符号距离函数值就是 l;相反, 沿着物体法线相反的方向取距离为 l 的点, 则该点对应的符号距离函数值是-l;而在物体表面, 符号距离函数取值为 0。显然, 符号距离函数在三维空间是连续的, 这样就克服了指示函数在求解时需要平滑的问题, 但是符号距离函数同样存在重构物体表面函数需要的参数过多和很难确保在远离物体表面的地方出现伪曲面片的问题。另外, 符号距离
17、函数也无法用一个明确的解析函数式给出, 需要进行曲面可视化处理来实现物体表面的重构, 这不利于后期的基于隐式函数的分析和处理。2.2 隐式函数的分片混合曲面重建对于组合分片隐式函数描述, 主要有基于 B 样条的组合分片描述35和基于低次多项式逼近的组合分片描述8,33-34。对应隐式函数模型, 分片隐式函数包括分片代数曲面描述36-37、分片 B 样条曲面32描述等。这些组合分片隐式描述就是按照某种规则将三维数据集剖分成片, 然后分片使用隐式函数进行拟合, 再将分片拟合的结果组合起来。显然这样生成的三维物体在分片结合部位会出现明显的不连续, 需要进行局部平滑等处理;同时对于不均匀的三维数据集很
18、难处理, 比如对数据点稀少部位的描述就很困难;而且分片描述常常用在计算机图形生成中, 一般很难寻找特征不变量来实现物体的识别。分片混合重建和全局曲面重建的一个显著优点是运算量小, 不需要占用太多内存空间, 因为全局曲面重构同时要考虑点云数据集中的所有数据点, 因此运算量大, 占用大量内存;分片混合重建的另外一个优点是能够十分精确地重建曲面细节, 保持物体的尖锐棱角, 克服全局曲面重建的过度平滑问题。3 重构点云曲面的隐式模型算法确定描述二维或者三维数据集的隐式函数 f (x, y, z) 的类型后, 需要研究合适的拟合算法来计算该隐式函数的所有未知参数变量, 并使得数据集合点尽可能地满足隐式方
19、程很显然, 将数据集点到该隐式方程所表达的曲线曲面的距离作为目标函数, 计算使该目标函数最小的参数集合即可确定隐式模型。但是这种方法属于非线性方法, 需要复杂的迭代运算, 运算时间长, 而且拟合结果严重依赖于初始值的选取。文献38-39对此做了充分的研究, 于是许多学者转而研究线性方法, 提出了微分约束的类 3L 的线性算法, 其基本思想就是使用点云中每一点的微分性质 (如每一点的法线方向、曲率大小) 作为约束条件和目标函数一起通过最小化求得隐式函数。但是这种方法由于没有考虑物体内部点和外部点的隐式函数取值, 致使重建的曲面不够稳定, 因此许多研究者又提出了使用各类函数逼近指示函数和符号距离函
20、数的算法。下面给出这些算法, 并讨论这些算法的基本思想和优缺点。3.1 微分约束的类 3L 算法对线性方法, 一种基本思想是直接将数据集点代入隐式方程 f (x, y, z) =0 中求解隐式函数的参数, 例如数据集点有 N 个, 将它们代入该隐式方程就可组合成 N 个方程组, 然后使用最小二乘等算法即可求解这个方程组, 进而确定隐式函数的参数。很显然, 这种方法确定的隐式函数十分不稳定, 实际上是无法应用的, 因此文献8, 20-21, 34, 40-43等提出了许多约束条件, 这些方法可以统称为类 3L 方法。3L 算法的具体思想是根据数据集点描述的物体本身的特点生成新的数据集, 和原始数
21、据集一起代入隐式方程中, 进而求解隐式函数的参数, 即首先将隐式方程写成如下向量形式:其中, A 为隐式方程的系数向量, X 为系数向量对应的隐式函数向量, 设这两个向量有 M 个元素。对于给定的 N 个三维数据集点 (x i, yi, zi) , i=1, 2, , N, 将这些点坐标代入隐式方程 (1) 中可得 MoA=0, 其中 Mo=X1, X2, , XN, 显然 Mo是一个 NM 的矩阵。对于从距离扫描器获得的三维数据点集合, 一般可以获得每一个点的梯度, 另一方面也可以根据各点的位置关系采用差分方法计算出其梯度。假定三维数据点的梯度向量记为Dx, Dy, Dz, 则隐式函数 f
22、(x, y, z) 关于 x, y, z 的偏导数在三维数据点的值向量和梯度向量应该近似相等, 因此有 MxA=Dx, MyA=Dy, MzA=Dz。记对应系数向量为 b=0N1 (Dx) N1 (Dy) N1 (Dz) N1, 将值向量和梯度向量组合记为 M=MoMxMyMz, 于是有公式:使用最小二乘法即可以求出上式中的系数向量 A:文献22, 32等沿物体法线方向上取固定长度的点, 然后给该点对应的隐式函数赋一个固定的值 (如果该点在物体外部则为负值, 在物体内部则为正值) , 这样根据原始数据集可以生成两个数据集来代替以上算法中使用的梯度数据集, 进而生成方程 (2) , 再使用最小二
23、乘法计算出其中的系数向量。这些类 3L 算法的最大问题是隐式表达除了较为精确地拟合数据集点外, 还会生成多余的物体组成成分, 致使物体表达失真, 进而造成目标识别或者重构失败。一般多余的组成都出现在距离数据集点较远的地方, 显然这是由于类 3L 算法只提供数据集点附近的约束造成的。3.2 傅里叶级数逼近指示函数法文献24提出使用傅里叶级数逼近的方法来构造指示函数, 也就是使用傅里叶级数逼近指示函数。其基本思想是在物体内部数据点对应的隐式函数值为 1, 外部和表面赋值为 0, 然后使用傅里叶级数对该隐式函数进行傅里叶级数逼近。假设指示函数为 f (x, y, z) , 则其在物体 M 内部取值为
24、 1, 物体外部和表面取值为 0, 那么对该指示函数做傅里叶展开则有:将对物体所在空间做傅里叶变换转换成对物体本身做傅里叶变换, 获得傅里叶系数以后再反变换即可以获得指示函数的傅里叶逼近, 然后计算所有傅里叶级数函数取值为 0.5 的点即实现曲面的重构。傅里叶级数逼近存在的问题是必须给物体内外的每一个点对应的隐式函数赋一个固定值, 这将导致逼近的傅里叶项数过多, 使得表达效率低下, 无法满足海量数据集高效的表达和识别的要求。另外, 很难基于傅里叶级数逼近计算几何不变量。在计算机图形学的应用中, 该方法存在对物体过度平滑的问题, 造成无法显示曲面的精细结构特征。3.3 Possion 方程求解指
25、示函数法但是由于 一般是不可积的, 因此将散度算子应用到上式中, 可以得到如下泊松方程:求解上面的泊松方程即可重构曲面。该方法的优点是能够得到平滑的重建表面, 对噪声具有较强的适应性, 而且将全局重建和局部重建结合起来, 既能重建曲面的局部细节, 又不需要混合拼接处理, 因此该方法在点云重建中被广泛应用, 成为了主流方法。但是, 该方法容易错误地把一些不该连接的点云孔洞区域连接起来, 将非封闭的点云数据集重建成封闭的曲面;另外一个问题同样是无法基于获得的隐式函数抽取特征不变量为目标识别服务, 因为 Possion 方程的解一般为数值解, 很难求得具有明确数学解析形式的解析解。3.4 小波级数逼
26、近指示函数法文献44提出了使用小波级数逼近指示函数重构曲面, 其思想就是使用三元张量积小波构造三元小波基, 使用该三元小波级数逼近指示函数即可实现对点云数据的曲面重构。小波级数逼近的优点是可以避免单个隐式函数描述整个点云数据, 降低了运算量和内存开销;缺点是抗噪性较差, 对于某些较为复杂的点云数据构造的曲面经常出现变形甚至失败。3.5 海森矩阵约束的符号距离函数法文献8针对符号距离函数提出了海森矩阵约束的曲面重构方法。重构的思想与类 3L 相似, 选择隐式 B 样条函数逼近符号距离函数, 在式 (2) 表示的线性方程中再加入一个海森矩阵约束条件。海森矩阵实质就是隐函数泰勒展开的二次偏导项, 显
27、然, 海森矩阵约束的思想就是对于符号距离函数, 其二次导数应该为 0, 这是将海森矩阵最小化作为约束条件的基本理论根据。通过海森矩阵的约束确保重构的曲面附近不会出现伪曲面组成成分, 进而进一步提高了基于类3L 算法进行隐式曲面重构的稳定性。但是该算法由于仅仅使用点云数据点信息, 因此仍然可能会在远离重构曲面的地方出现伪曲面片。3.6 参数方程的隐式化法除了上面讨论的隐式函数拟合算法外, 还有一类较为特殊的方法就是寻找数据集的参数表达形式, 然后进行隐式化, 从而获得隐式方程45-46。但是, 隐式化至今仍然是一个难题47, 而且获得隐式多项式常常极其复杂, 很难具体应用到计算机视觉等领域;即使
28、隐式化有效, 从数据集获得参数曲面方程仍然面临重新参数化问题。有的文献讨论了参数曲线曲面的近似隐式化问题48-49, 但是这显然与我们上面讨论的对数据集进行隐式拟合是一个概念。由于点云数据大多都是海量的, 因此除了需要对点云数据进行预处理, 即进行简化处理, 去掉冗余的点云数据, 以减少点云数据点数目;另外一个方法就是选择基函数是正交的隐式函数模型进行描述, 这样可以最大程度地提高描述效率, 显然, 选择傅里叶级数以及小波函数的描述效率更高。4 隐式曲面表达存在的主要问题以及研究方向4.1 隐式曲面重构存在的问题(1) 表达效率底下。对于三维点云数据集, 一方面数据集本身含有大量数据点信息;另
29、一方面, 在实际应用中数据集是海量的, 因此高效描述数据集, 尽可能地缩小数据集规模, 对于处理数据和提取特征都是十分关键的。而目前的数据集描述方法, 尤其是三维数据集重构, 无论是径向基函数, 隐式多项式函数, 还是隐式 B 样条等隐式函数, 都无法实现数据集的有效压缩。其真正原因有两方面:1) 选择的基函数不是正交的, 存在大量的冗余信息, 获得的描述参数不具有包含大量数据集信息的特点, 因此无法有效实现数据集信息的压缩;2) 获得的隐式描述函数不是最优的, 不是最低自由度的隐式函数描述。(2) 对于复杂物体, 目前很多方法描述的数据集都无法根据重构的数据集抽取不变量从而实现物体识别, 因
30、为很多方法选择的描述模型是隐式函数的分片组合, 这样很难获取物体的不变量进而对物体实现识别和其他应用。事实上, 几乎所有的数据集描述方法, 尤其是三维数据集描述, 主要是重构物体的三维形状, 用在计算机图形学的物体显示和计算机辅助几何设计中, 并不适合解决计算机视觉中的物体识别、姿态估计、配准以及物体相似性检索。(3) 缺少有效的拟合算法, 使得数据集表达经常出现多余的组成成分。目前所有的拟合算法都是基于数据集本身给出一些约束条件来实现数据集的描述, 描述的结果是在数据集点附近的隐式函数值较为精确, 在数据集表达的物体内部和外部经常产生多余的物体组成成分, 从而造成数据集表达的失败。4.2 高
31、效隐式曲面点云重构的关键寻找具有压缩效率高的隐式函数模型是点云曲面重构首先要解决的问题。另一个问题是, 研究能够基于选定的隐式函数精确逼近点云数据集的算法。在曲面重建过程中, 要求重建的曲面不能出现伪曲面片, 同时也不能为了重建曲面人为地增加类似指示函数或者符号距离函数那样的约束信息。这些都是需要重点解决的问题。高效的基函数显然要求是正交的, 傅里叶基函数、小波基函数都满足该条件, 但是它们都是连续正交的, 在拟合点云的时候容易产生量化误差;另一方面, 这两种基函数对数据的压缩效率也有待提高。受二维余弦变换对图像有极高压缩效率的启发, 选用 Chebyshev 基函数作为描述点云数据的工具是一
32、个值得期待的方法。在选定基函数以后, 需要选定拟合约束条件, 但是无论是距离函数约束, 还是指数函数约束, 都强制要求给点云数据描述的三维目标内外点赋一个固定函数值, 这会造成隐式函数描述效率低下, 因为这两种约束方法构建的函数都不是连续的, 例如指数函数在曲面表面是不连续的, 距离函数在极值点是不连续的。因此, 使用这两种约束方法强制隐式函数逼近点云数据, 其实质是使用连续函数逼近不连续函数, 这就降低了隐式函数描述的效率, 因此寻找更有效的约束条件是隐式函数曲面重构的一个重要研究内容。结束语 对三维物体进行扫描而获得的点云数据常常存在很多缺陷, 比如测量设备本身以及在测量过程中都可能将噪声
33、引入到获得的点云数据中;测量设备的测头可达性范围限制可能使点云存在孔洞, 物体之间的遮挡可能使点云数据出现裂缝;多次测量的拼接可能造成点云数据出现重叠等。重建物体曲面就是要克服这些问题, 完整且真实地复原物体。隐式函数具有解决这些问题的能力, 但是由于问题的复杂性, 目前仍然需要深入研究有效的隐式函数模型以及拟合点云算法。参考文献1孙晓鹏, 王冠, 王璐, 等.3D 点云形状特征的二维主流形描述J.软件学报, 2015, 26 (3) :699-709. 2ZHOU B, CHEN X W.Garment Modeling from a Single ImageJ.Pacific Graphi
34、cs, 2013, 32 (7) :85-91. 3高成英, 刘宁.基于细分曲面的三维服装柔性实体模拟J.计算机研究与发展, 2004, 41 (3) :454-462. 4AMENTA N, BERN M, KAMVYSSELIS M.A New VoronoiBased Surface Reconstruction AlgorithmCProceedings of ACM SIGGRAPH.1998:415-421. 5WIEMANN T, LINGEMANN K, HERTZBERG J.Optimizing Triangle Mesh Reconstructions of Planar
35、 EnvironmentsJ.IFAC-PapersOnLine, 2016, 49 (15) :218-223. 6XIONG S Y, ZHANG J Y, ZHENG J M, et al.Robust Surface Reconstruction via Dictionary LearningJ.ACM Transactions on Graphics (TOG) , 2014, 33 (6) :201-210. 7MATTHEW B, ANDREA T, SEVERSKY LEE M.A Survey of Surface Reconstruction from Point Clou
36、dsJ.Computer Graphics Forum, 2016, 35 (8) :1-27. 8CALAKLI F, TAUBIN G.SSD:Smooth Signed Distance Surface ReconstructionJ.Comput.Graph.Forum, 2011, 30 (7) :1993-2002. 9WATANABE Y, KOMURO T, ISHIKAWA M.High-resolution Shape Reconstruction from Multiple Range Images Based on Simultaneous Estimation of Surface and MotionCIEEE12th International Conference on Computer Vision.2009:1787-1794.