购买
下载掌阅APP,畅读海量书库
立即打开
畅读海量书库
扫码下载掌阅APP

第四节
模型预处理

一、模型去噪

基于以上对兵马俑碎块数据模型特点的分析,因此,在匹配之前,首先需要对碎块模型进行去噪、简化以及补洞等预处理,以获取完整有效的碎块数据模型,为后期的碎块匹配拼接提供稳健的数据基础。下面首先介绍模型去噪技术。

对于兵马俑碎块数据模型中存在的客观噪声和主观噪声这两类噪声,其采用的去噪方法也各不相同。通常,消除客观噪声可以采用平滑或去噪方法进行,常用的去除客观噪声的方法主要有k-D树(张毅,2009)、空间栅格法(Wang,2016)、K-邻域搜索算法(Ma,2017)以及Laplace方法(付德敏,2017)等。对于主观噪声,可以采用三维模型处理软件对其进行手动去噪,也可以采用算法去噪(第三章提出一种几何特征保持的点云去噪方法)。以一个兵马俑头部碎块的三角网格模型为例,采用Geomagic Studio 2012软件进行手动去噪,其手动去噪效果如图2-3所示。

图2-3 兵马俑头部碎块模型去噪

图2-3 兵马俑头部碎块模型去噪

资料来源:西北大学可视化技术研究所(2015)。

二、模型简化

三维模型在3D打印以及文物虚拟复原等领域的应用十分广泛,但其数据量较大,不利于存储、传输、计算和展示,因此,需要在保持数据模型必要特征的基础上对其简化。下面分别以兵马俑碎块的三角网格模型和点云模型为例,介绍其简化方法。

对于三角网格模型,常用的模型简化方法主要有元素删除法、元素折叠法和网格重绘法等三大类。元素删除法通过删除点或三角形来实现模型简化,元素折叠法通过折叠原始三角网格模型的边或三角形来实现模型简化,而网格重绘法则是通过重新绘制含顶点数目更少的三角网格模型来实现模型简化。目前已有的三类网格简化方法大多存在简化误差大、简化效率低等缺点,因此,这里采用一种结合网格精细化方法的三角形折叠网格简化方法来实现兵马俑碎块三角网格模型的简化。该网格简化方法的基本思想为:首先,利用 网格细分法确定待折叠三角形对应三个顶点的修正坐标,并据此确定折叠点的初始位置;然后,再利用原三角形的折叠点的拉普拉斯坐标和法向信息来更新折叠点的位置,并根据三角形折叠后该区域的体积误差和被折叠三角形的平展度来确定折叠代价,从而使网格优先从较为平坦和特征点较少的区域开始依次进行三角形折叠简化。 该方法在有效保持原网格模型几何特征的基础上,达到了较高的简化效率。采用该简化方法,对一个俑头部碎块的三角网格模型进行简化处理,由简化前的40638个三角形简化为20319个三角形,简化结果如图2-4所示。

图2-4 三角网格模型简化

资料来源:西北大学可视化技术研究(2015)。

对于三维点云模型,目前也提出了很多简化方法,既可以根据简化密度和曲面变分进行简化,也可以根据点数和表面变化系数对点云递归分块后再进行简化,也可以根据点的曲率值进行简化,还可以采用分割式聚类算法实现点云简化。 对于公共点云数据模型,以上这些传统的点云简化算法均能在较好地保持特征的基础上实现点云的有效简化,但是对于复杂的兵马俑碎块点云模型的简化效果还有待提高。

鉴于此,这里采用保留几何特征的点云简化算法来实现兵马俑碎块点云模型的简化(张雨禾,2016)。首先,计算模型的局部特征检测算子;其次,采用一种改进的区域生长算法来检测特征点,同时计算潜在曲面的弯曲度;最后,利用共享近邻聚类算法对非特征点进行聚类,判定各点潜在曲面的弯曲程度,从而删除噪声点。该算法可以避免模型精简时造成的孔洞,有效保持原始曲面的形状信息。以兵马俑头部碎块的点云模型为例,采用该简化算法的简化结果如图2-5所示。可见,该点云简化算法可以较好地保持兵马俑点云模型的显著特征,是一种有效的兵马俑碎块点云模型简化算法。

图2-5 点云模型简化

资料来源:西北大学可视化技术研究所(2015)。

三、孔洞修补

为了提高碎块匹配的效果,需要在匹配前进行孔洞修补。目前常用的三角网格模型孔洞修补算法主要分为两大类,即基于体素的孔洞修补方法和基于曲面的孔洞修补方法。 基于体素的孔洞修补方法通过将网格曲面转换成中间体素表示的形式,采用一定的算法在体素空间对孔洞进行修补,最后再生成网格(张婧,2018)。而基于曲面的孔洞修补方法则是利用孔洞附近的数据来对曲面上的孔洞进行修补(刘世凡,2018)。基于曲面的孔洞修补方法又分为两类,即网格增长方法和基于隐式曲面拟合的方法。网格增长法基于某种原则,从孔洞边界三角形的边界边向孔洞区域产生新的三角形,直到新增三角形覆盖整个孔洞为止。而基于隐式曲面拟合的孔洞修补算法则通过已知原始模型数据拟合出一个隐式曲面后,再对孔洞进行修补。

对兵马俑碎块数据模型的孔洞修补,一般采用基于泊松方程的孔洞修补算法(Hole-filling Algorithm Based on Poisson Equation,HAPE)来实现(李月雯,2017)。首先,建立基于原始模型几何信息的泊松方程,并对碎块模型的曲面进行全局拟合;然后对拟合的预测曲面进行裁剪,并与孔洞模型缝合,从而实现孔洞修补。HAPE算法无须进行空间分割和整合,能够在保持模型原始几何信息的基础上,有效地避免修补后网格自交的情况,对孔洞数量庞大且类型多样的三维网格模型修补效果较好。以兵马俑腿部底端的两个孔洞修补为例,采用HAPE算法对其修补的效果如图2-6所示。

图2-6 兵马俑碎块的孔洞修补

资料来源:西北大学可视化技术研究所(2015)。 oxggE63RUNt7fGRehjmRhuFiK8097d2E+TFEgDuh2XoiKOEKYK42a6Q9EB6KOLvp

点击中间区域
呼出菜单
上一章
目录
下一章
×