文物虚拟复原过程包含碎块三维模型获取、碎块模型预处理、碎块分类、碎块断裂面提取以及碎块匹配等多个方面,其中碎块三维模型获取和碎块模型预处理已经在前面做了介绍,接下来主要就碎块分类、碎块断裂面提取以及碎块匹配等三个方面的国内外研究现状进行分析。
对于兵马俑类文物,其碎块分类就是按照身体部位将兵马俑碎块划分为头部、躯干、裙摆、上肢和下肢等五大碎块类别的过程。分类方法有很多,既可以采用基于语义的分类方法,也可以采用基于内容的分类方法。通常前者采用人工方式对碎块进行标注分类,后者则是通过采集碎块三维数字化模型、模型特征提取、类别判断以及分类结果输出等过程来实现的,常用的碎块模型特征主要包括碎块的形状特征、表面纹理特征以及色彩特征等。
目前,常用的三维模型分类方法主要有五种:基于决策树的分类方法、基于贝叶斯原理的分类方法、基于人工神经网络(Artificial Neural Networks,ANN)的分类方法、基于K-邻近(K-Nearest Neighbour,KNN)的分类方法以及基于支持矢量机(Support Vector Machine,SVM)的分类方法。
对于基于决策树的分类方法,其分类规则采用树的形式来表示。在进行分类时,基于决策树的分类方法通过自上而下的数据对象的属性值比较来确定叶子的走向,进而通过树的叶子来表示其最终分类结果。常见的基于决策树的分类算法主要有ID3算法(朱颢东,2010)、SLIQ算法(张海堂,2011)、CART算法(Tang,2017)以及C4.5算法(Lee,2018)等,它们的主要区别体现在其决策树的构造策略、属性的判断方法以及剪枝算法等方面的不同。
决策树算法接近人类的思维方式,解释性较强,而且容易理解。该分类方法的主要优点有:①算法鲁棒性较好;②容易解释和理解;③对数据量的要求较小;④时间复杂度低;⑤可以处理的数据类别多;⑥为了验证模型的可靠性,可以使用统计检验来验证模型。
该分类方法的主要缺点有:①容易造成过拟合,需要通过剪枝策略来避免;②分类结果不够稳定,通常可以采用集成决策树来提高分类结果的稳定性;③该算法是基于启发式的算法,不能保证返回全局最优决策树;④学习者容易创建有偏异的树。
基于贝叶斯原理的分类方法是利用贝叶斯理论来实现分类的方法,其中的朴素贝叶斯(Naive Bayes)算法是贝叶斯类分类方法中最具代表性的一种。 该方法利用Bayes定理来预测数据对象属于各个类别的概率,然后将概率最大的类别作为该数据对象的类别,从而实现分类。
基于贝叶斯原理的分类方法的主要优点有:①分类效率稳定,这是因为其采用的数学原理较为成熟;②分类过程简单、速度快;③对数据完整性的要求较低。
该分类方法的主要缺点有:①执行效率受属性独立性的制约较大,属性独立性越高,分类效率也越高;反之,若属性较多或独立性较低,分类效率则会大幅度下降。②先验概率对该分类方法的准确性影响较高。
ANN是一种模拟人类大脑神经突触联结结构的数学模型,它通过模仿人类的神经系统结构,将大量的逻辑节点连接成网络。 目前ANN发展迅速,出现了许多的网络模型,如径向基(Radial Basis Function,RBF)神经网络以及反向传播(Back Propagation,BP)神经网络等。
基于ANN的分类方法有如下主要优点:①分类准确率较高;②具有较强的数据并行处理能力;③学习能力强;④容错能力强;⑤对噪声不敏感;⑥鲁棒性较好;⑦有联想和记忆能力;⑧泛化能力好,适用于样本数量少、维度高的样本分类问题。
该分类方法的主要缺点有:①需要用户设定ANN的拓扑结构、初始阈值和节点的连接权值;②ANN在分类过程中不能人为干涉,因而使得分类规则不易为用户所理解;③ANN在学习过程中的耗时较长;④该方法不能保证达到预测效果。
基于KNN的分类方法通过对样本实例间距离的度量来确定待分类对象的分类属性,它需要不断地调整数据的分类分布以获得理想的分类结果。
基于KNN的分类方法有如下主要优点:①KNN方法简单、有效,训练耗时较短;②时间和空间复杂度均符合线性规律;③适合对样本集重叠较高的数据进行分类,这是由于KNN方法对数据对象的分类主要取决于待分类对象到样本集之间的距离;④适合样本数量较大的数据对象的分类。
该分类方法的主要缺点有:①该方法对样本数量较小的数据对象的分类效果较差;②KNN采用的是懒散学习方法,输出结果的可解释性不强;③该方法的计算量较大,可以通过提高KNN方法的效率来删除样本集中对分类效果影响不大的样本。
SVM是一种基于统计学习理论的分类方法,通常用于机器学习(Machine Learning)中。 SVM是一种监督式学习(Supervised Learning)方法,主要用于解决统计分类(Classification)问题和回归分析(Regression)问题。SVM是一种线性分类器,被认为是提克洛夫规范化(Tikhonov Regularization)方法的一个特例。该分类方法能够同时最小化经验误差与最大化几何边缘区,因此,SVM也叫最大边缘分类器。
基于SVM的分类方法有如下主要优点:①该方法基于非线性映射理论,并利用内积核函数代替向高维空间的非线性映射;②该方法不涉及概率测度及大数定律等理论,是一种小样本学习方法,具有坚实的理论基础;③该方法可以实现从训练样本到预报样本的传导推理;④该方法可以有效避免“维数灾难”;⑤该方法的算法简单,具有较好的鲁棒性。
该分类方法的主要缺点有:①该方法对大规模训练样本难以实施;②该方法对多分类问题的解决较为困难。
对于兵马俑类文物的三维数据模型,目前主要有两种常用的碎块分类方法:基于单个模型的分类方法和基于一组同类模型集合的一致性分类方法。 通常,基于单个模型的分类方法,利用模型的几何特征,将一个三维数据模型分割成若干个数目有限、各自连通且各自具有简单形状意义的子部分。
基于单个模型的分类方法大多采用聚类的方法来实现,通常使用单一的特征对模型部位进行分割。该方法适用于具有明显主体分支结构的三维模型分割,因此适用性不强。此外,根据模型的不同,基于单个模型的分类方法对其进行分类的方法也不相同,被分割出来的粒度也不相同。而一致性分类方法则是对一类几何结构相似的模型进行分类,该方法有利于提取模型的显著性特征,使特征明显的碎块模型可以帮助特征不够明显的碎块模型实现分类。由于兵马俑碎块的数量庞大,并且成堆的碎块往往来自多个不同的兵马俑,对碎块三维数据模型的特征提取的计算量也大,因此,一致性分类方法更适用于兵马俑碎块的分类。通常,兵马俑碎块是按照身体部位进行分类的,分为上肢、躯干、裙摆、头部和下肢等五大类别,如图1-4所示。
图1-4 兵马俑碎块分类结果
资料来源:根据西北大学可视化技术研究所提供的数据整理而得。
目前,兵马俑碎块分类大多采用基于形状的分类方法,主要包括基于表面纹理特征、轮廓线特征以及语义特征等分类方法。比如,采用三维纹理直方图模型表示兵马俑碎块外表面的纹理特征,并利用SVM实现碎块的自动分类(李孟,2009);采用基于内容的图像分类技术,实现碎块二维图像分类(Bosch,2007);采用基于母线相似度的碎块分类方法,可以解决纹理油彩特征丢失碎块的分类问题(欧阳磊广,2007);利用轮廓关键点集的分类方法,可以解决非线性失真的碎块模型分类问题(杨小军,2010);针对三维模型的语义分类和检索,采用高斯过程实现三维模型语义的分类方法(高波涌,2010);基于图像形状轮廓特征描述器,采用轮廓点直方图进行图像检索(Shu,2011);采用基于表面形状特征聚类的兵马俑碎块分类方法,可以实现纹理特征明显碎块的有效分类(杨戈,2014);根据薄壁文物碎块的特点,将青铜器碎块分为二维碎块和三维碎块两大类,可以为后续的碎块拼接提供良好的分类基础(Lin,2016)。
上述的碎块分类方法大多仅考虑了单一的特征表示方法,采用的分类器也主要是传统的支持向量机、贝叶斯分类器等,而且大多数的分类算法都依赖于先验知识,从而造成在小样本和高维空间情况下的分类效果不佳的问题。兵马俑碎块表面纹理复杂、轮廓粗糙且存在几何缺失,因此,上述方法更容易对兵马俑碎块模型的分类产生误分现象。综合考虑兵马俑碎块模型的多种特征,采用基于多特征的分类方法是兵马俑碎块模型分类的一个有效方法。
在提取兵马俑碎块的断裂面之前,首先要对碎块外表面进行三维分割,然后划分出原始表面与断裂面。兵马俑碎块的原始表面和断裂面相比,原始表面比较光滑,而断裂面明显比较粗糙。由于兵马俑属于厚度不可忽略的刚体,因此,通过提取其碎块的断裂面并通过断裂面的匹配来实现碎块的匹配,不仅可以降低碎块匹配的难度,而且可以提高碎块匹配的效率。物体三维模型分割已经被广泛地应用于三维重建以及形状识别等领域(雒赪,2014;Miandarhoie,2017)。早在20世纪90年代,三维模型分割就被提出来了,但是当时的分割均为手工分割,后来,随着三维模型分割技术的发展,出现了半自动化或自动化的三维模型分割,开始主要用于二维图像分割,后期才应用到了三维模型的分割上。
目前,常用的物体三维模型分割方法主要包括三大类,即分水岭算法(赵宗泽,2016)、区域生长算法(仇清涛,2017)和迭代聚类算法(徐辉,2014)等。比如,基于分水岭的曲面分割算法适用于三角网格模型的曲面分割,可以较好地解决过分割现象,但有时会出现将平坦区域进行错误分割的现象(Mangan,1999);后来出现的改进分水岭分割算法,通过利用二面角提取曲面特征边的方式来实现三维模型外表面分割,可以有效解决分割过程中边界不准确的问题(Razdan,2003);采用基于矢量平均法区域生长算法对碎块外表面进行分割,并通过对曲面的深度图像进行拉普拉斯锐化来区分碎块的原始表面和断裂面(Papaioannou,2003);利用K-means算法实现曲面分割,可以有效提高曲面分割的精度和效率(Shlafinan,2003);基于K-means分割算法,可以通过将三维模型的局部区域进行平面拟合实现分割(Cohen-Steiner,2004);利用曲面的曲率特征提取特征边界,并通过选择非特征区域来实现最终的曲面分割(Vieira,2005);后来又对K-means分割算法进行了进一步改进,并使用球面、滚动球面以及圆柱面等多种曲面来拟合三维模型的局部区域,从而实现了更加精确的曲面分割(Wu,2005)。
此外,还可以利用特征区域来提取三维模型的骨架结构,实现在逆向工程应用中的网格分割(Rossl,2000);利用Dijkstra 最短距离算法和法向量,将网格分割应用到纹理分割中(Petitjean,2002);通过提取特征点,可以实现三角网格模型的分割(Katz,2005);利用改进的随机游走方法,可以实现交互式和自动形状的模型分割(Lai,2008);利用金字塔形状作为三维模型分割的基本形状,并将其分解为一定数量的金字塔形状分块,可以发挥其在3D打印领域的优势(耿国华,2016);利用基于粒子群优化的模糊聚类分割方法,可以实现点云模型的区域分割,解决分割中的锯齿边界问题(王晓辉,2017)。部分匹配方法还被应用到了三维模型分割中,并基于部分匹配实现标签传递(Kreavoy,2007;Yuri,2008;Shapira,2010)。基于凸域感知的非参数方法,其性能优于随机游走分割算法,具有良好的三维模型分割结果(Au,2012);利用基于改进Ostu的模型分割算法,可以有效降低模型分割的时间复杂度,提高模型分割的准确度(韩志斌,2010)。
除了对以前模型分割算法的不断改进,学者们还提出了许多新的三维模型分割算法。比如,基于数据驱动的模型分割方法,可以实现三维形状的分段和标注(Kalogerakis,2010);基于马尔可夫随机场算法的三维模型分割算法,将其与图像分割算法相结合,可以实现三维模型的准确分割(徐胜军,2013);基于模糊熵和模拟退火算法的模型分割算法,利用双重阈值实现了三维模型的有效分割(郑毅,2014);基于极限学习机的三维模型快速分割算法,实现了无监督的三维模型的有效分割(Xie,2015)。另外,随着深度学习的不断发展,很多研究者还将深度学习方法成功应用到了三维模型的分割中,如自适应数据选择的深度学习算法(Yang,2018)、结合全卷积神经网络和递归神经网络的深度学习算法(Zhao,2017)等。
虽然目前已经提出了很多三维模型外表面分割算法,但是其分割技术依旧不够成熟,甚至还存在过分割及分割无意义的情况;有些算法的分割结果不能很好地参数化;还有些算法只能面向特定的三维数据模型,不具有普适性。因此,研究三维模型分割算法依旧是图形图像处理领域中的必要研究课题。
兵马俑破碎后会随机形成若干个任意形状的碎块,破碎兵马俑的复原问题就是将这些碎块按照某种方法进行匹配拼接的过程。两个碎块的匹配就是通过某种方法寻找一个三维刚体变换,使得两个待匹配碎块的断裂面的共同部分能够正确匹配和拼接的过程。 目前,碎块匹配已经在考古研究(李群辉,2012;蔺素珍,2016)、雷达影像处理(陈思颖,2016)、生物工程(Makinen,2010)等领域得到了广泛的应用。
整体来说,碎块的匹配过程可以分为粗匹配和精匹配两个阶段。粗匹配就是将两个碎块的断裂面进行粗略对齐的过程,它能为精匹配带来较好的初值;而精匹配就是指将粗匹配后的两个碎块进行进一步对齐的过程,从而完成两个碎块的精确匹配。在碎块粗匹配算法中,通常采用曲面的特征进行匹配,如曲率(蔺素珍,2016)和法向(Miu,2005)特征,它们具有旋转和平移不变性,但是离散曲率对噪声敏感,会带来一定的误差。轮廓曲线也是曲面特征描述的一种重要方法,只要正确提取并匹配了刚体碎块断裂面的轮廓曲线,那么两个碎块就匹配好了,但是对于轮廓曲线不明显的碎块,该方法并不适合(王洋,2016;李群辉,2016)。另外,还可以利用积分不变量来描述刚体碎块断裂面凹凸不平的几何特征,通过对断裂面上或凸或凹的显著性区域的匹配来完成两个碎块断裂面的匹配(Pottmann,2009)。
在碎块精匹配算法中,迭代最近点(Iterative Closest Point,ICP)算法也得到了较为广泛的应用,该方法通过对两个断裂面上的顶点进行配准来完成两个碎块的断裂面的匹配(Besl,1992)。ICP算法步骤简单,易于实现,但是在数据量较大时需要的迭代时间比较长,而且对两个待匹配点集的初始位置要求较高,抗噪性也不好。针对ICP算法中存在的这些问题,国内外学者提出了许多改进的ICP算法,比如,尺度迭代最近点(Scaling Iterative Closest Point,SICP)算法,该算法将一个带有边界的尺度矩阵加入ICP算法中,解决了不同尺度情况的点云数据的配准问题(Du,2010);将模拟退火搜索与标准稀疏ICP算法结合,可以高效地解决优化问题,具有较强的抗噪性,能较好地解决两个几何表面的配准问题(Mavridis,2015);基于概率模型的概率迭代最近点(Probability Iterative Closest Point,PICP)算法,该算法具有较强的抗噪性,可以大大提高点云模型的配准精度和速度(Du,2015);虽然这些改进的ICP算法在收敛速度、精度和抗噪性等方面都得到了较大程度的提高,但是对于一些特殊刚体碎块(如兵马俑碎块)的匹配效果并不十分理想。
在兵马俑碎块匹配拼接方面,西北大学文化遗产数字化国家地方联合工程研究中心也做出了突出的贡献。该中心承担了多项国家级的文物数字化复原项目,尤其在兵马俑等刚体文物的虚拟复原方面取得了很大的成绩。比如,利用碎块断裂面上的轮廓线,实现兵马俑碎块匹配拼接(茹少峰,2003);运用傅里叶变换实现碎块边缘轮廓线的分段匹配,从而将兵马俑碎块进行了精确对齐(吕科,2003);首次提出了内轮廓线和外轮廓线的概念,并将其成功地应用到兵马俑碎块匹配中(樊少荣,2005);利用B-样条曲线实现碎块轮廓线的拟合,并通过空间曲线的匹配达到兵马俑碎块匹配的目的(杜建丽,2005);利用曲线和曲面的匹配方法,通过小波轮廓描述符和碎块表面的脚标实现碎块的两两匹配(周术诚,2007);基于特征点的断裂面匹配方法,实现了兵马俑碎块的精确匹配(孟秋晴,2013);基于特征轮廓约束的断裂面匹配方法,实现了兵马俑碎块的精确匹配(李静,2015);基于空间模板的轮廓线匹配方法,提高了碎块的匹配效率(刘军,2014);基于变尺度的点云优化配准算法,并将该算法成功地应用到了兵马俑碎块的匹配中(赵夫群,2017);基于轮廓曲线和特征区域的碎块匹配方法,有效提高了兵马俑碎块断裂面的匹配精度(赵夫群,2018)。