一种文物碎片模型自动分割及拼接方法与流程

文档序号:16214642发布日期:2018-12-08 08:12阅读:445来源:国知局
一种文物碎片模型自动分割及拼接方法与流程

本发明涉及图形分割和拼接技术领域,尤其涉及一种文物碎片模型自动分割及拼接方法。

背景技术

在文物碎片拼接中,首先要找到碎片的断面部分,以进行后续的拼接处理。人工标记碎片断面部分,需要大量的时间和精力,并且存在误差。现有技术中采用基于随机游走的三维网格分割算法对碎片进行拼接,该方法从某点出发,随机向左右移动,向左和向右的概率相同,都为1/2,并且到达0点或n点则不能移动。那么通过求解该线性方程组就可以得到各个点到达目的地n点的概率。将这种思想扩展到三维网格分割,将网格中每个三角片对应图中一个节点,利用相邻三角片之间的二面角来定义节点之间的权重。同样通过求解线性方程组可以得到网格分割效果。另外现有技术中还采用基于谱聚类的三维网格分割算法对碎片进行拼接处理,该方法首先构建一个相似矩阵用于记录网格上相邻面片之间的差异性,然后计算相似矩阵的前k个特征向量,这些特征向量将网格面片映射到k维谱空间的单位球上,最后使用k-means方法对谱空间中的数据点进行聚类。无论是基于传统三维网格分割算法、谱聚类的三维网格分割算法、法向量聚类、曲率、meanshift聚类对于碎片断面分割的完整性都很差,可能出现多余或缺少的部分。



技术实现要素:

根据现有技术存在的问题,本发明公开了一种文物碎片模型自动分割及拼接方法,具体包括以下步骤:

s1:将文物的碎片重建为三维网格模型,其中三维网格模型由多个三角面片的网格组成,利用法向投影法获得每个三角面片的特征映射图像;

s2:在三维网格模型上标记断面边缘部分和断面平整部分的三角面片,并记录所标记的三角面;

s3:采用卷积神经网络模型预测每个三维网格模型的断面边缘部分,并将预测结果标记到三维网格模型上得到具有粗标记的碎片模型;

s4:利用碎片模型的几何特征对具有粗标记的碎片模型进行误差去除处理:利用面积均值法去除标记错误的三角面片,采用获取骨架的方法剔除大部分断面边缘三角面片,利用法向量聚类方法对剔除骨架的碎片模型进行聚类处理,采用捷径切割方式去掉多余的三角面片得到完整的断面分割模型;

s5:采用比较断面长度相似度的方式进行断面匹配,采用基于断面主方向的方式获取断面预配准结果再利用icp算法对断面进行精确配准实现一对断面的拼接。

所述利用法向投影法获得每个三角面片的特征映射图像采用如下方式:

将当前三角面片上方具有尺度不变性、空间不变性的几何形状投影到三维模型上,投影的覆盖范围包括当前三角面片及其近邻三角面片,投影的方向为当前三角面片法向量法向的反方向,当前三角面片的空间特征信息是投影点到三维模型的距离,再将这些距离映射为像素值即得到特征映射图像。

卷积神经网络模型预测每个三维网格模型的断面边缘部分:

s31:构造具有一个输入层、三个卷积层、一个全连接层和一个输出层的神经网络,设共有n个训练样本,每个训练样本相应的标签均有m个维度,卷积神经网络的代价函数表示为:

其中表示第n个样本对应的标签的第k个分量,表示网络输入第n个样本属于第k个类别的概率,卷积神经网络模型只在一个训练样本上的训练误差表示为:

s32:卷积神经网络采用relu函数作为输出层的激活函数,网络使用交叉熵代价函数作为系统的损失代价函数,表达式如下:

loss=-∑y′log(y)

对于真实的类别向量为y′表示样本的真是类别,预测的向量为y表示样本经过网络的训练得到的预测类别。

s33:采用随机梯度下降法对损失代价函数进行优化,设随机梯度下降算法损失代价函数为j(θ),则随机梯度下降算法在更新和计算参数梯度时,使用单个或者少量训练样本来估计期望值,即

其中,(x(i);y(i))是训练集中的一个样本,η为学习率,经过对损失函数的优化完成了卷积神经网络训练的过程,将训练结果直接应用在没有做任何标记的数据集上,即完成了断面边缘粗标记的过程。

所述利用面积均值法去除标记错误的三角面片采用如下方式:

定义标记的三角面片的集合为l={l1,l2,…,ln},n为预测结果中标记三角面片的个数,则标记的三角面片面积的均值表示为依次遍历标记的三角面片计算其面积sl,如果sl<savg则将该三角面片加入到拟边缘三角面片的集合m中,再将集合m中的三角面片标记在碎片模型上得到过滤掉断面平整部分三角面片的集合。

所述采用获取骨架的方法剔除断面边缘三角面片采用如下方式:

s41:连接集合m中所有第一近邻三角面片的中心点组成ω个连通分量,并将所有连通分量中三角面片加入到边缘三角面片的集合m′中;

s42:将集合m中没有近邻的三角面片的中心点当做孤点,连接到距离其最近的连通分量中,并将孤点与其近邻连通分量连接处覆盖的三角面片加入集合m′中,并计算每个连通分量的端点;

s43:将两个端点距离最近的连通分量连接为同一连通分量,连接处为两个连通分量的端点,将两个连通分量连接处覆盖的三角面片加入到集合m′中;

s44:将步骤s53迭代λ次使整个连通分量缩小到一定数目,得到断面边缘部分的骨架,剔除边缘骨架所在的三角面片。

采用捷径切割方式去掉多余的三角面片得到完整的断面分割模型采用如下方式:

利用k-means聚类方法将断面平整部分与其他部分切割开,聚类数目为k,在聚类结果中的每一类选取γ个三角面片,放入集合c中,即c={c1,c2,…,ck},其中ci(i=1,2,…,k)表示每一类中三角面片的集合;

利用dijkstra算法计算集合c中每个集合中三角面片之间的最短路径其中u,v∈c,u≠v;则每两个集合间的最短路径表示为其中t={t1,t2,…,tn}表示路径上三角面片的集合;

统计每个三角面片在所有最短路径上出现的频数fi,当fi满足设置阈值即将该三角面片剔除从而得到完整的断面分割结果。

采用比较断面长度相似度的方式进行断面匹配采用如下方式:

将每个断面上的点集利用k-means聚类分成h个类,每个类的中心点为ξi(xi,yi,zi),其中(1≤i≤h);计算每个断面中所有中心点间的距离,将距离d的最大值作为该断面的长度,依次找到断面长度相近的两个断面完成断面匹配。

采用基于断面主方向的方式获取断面预配准采用如下方式:

利用pca算法求断面点集的主方向βi=(ai,bi,ci)t,其中i表示第i个断面,再将两个匹配断面的主方向通过变换矩阵旋转至平行的位置,得到断面预配准结果;

通过icp算法迭代两个经过预配准的断面点集,当两个点集之间在空间上的距离满足给定的阈值或者达到一定的迭代次数,便完成了断面的精配准操作,按照断面的匹配结果将所有断面对齐实现文物碎片的复原。

由于采用了上述技术方案,本发明提供的文物碎片模型自动分割及拼接方法,该方法采用卷积神经网络预测断面边缘部分和基于断面主方向的断面预配准方法,可准确地将碎片模型的断面完整地提取出来,不存在大面积断面缺失或多余的结果。本发明提出的算法具有一定的创新性,可以适用于较为复杂的文物碎片三维模型的断面提取及配准操作,能够在计算机辅助文物修复过程中提供较大的支持作用,为断面的匹配以及对齐提供了良好的基础。

附图说明

为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为本发明方法的流程图;

图2为本发明中的法向投影法的示意图;

图3为本发明中的特征映射图像;

图4为本发明中的标记断面平整部分示意图;

图5为本发明中的标记断面边缘部分示意图;

图6为本发明中的卷积神经网络结构图;

图7为本发明中的网络训练结果的准确率和交叉熵曲线图;

图8为本发明中的粗标记结果示意图;

图9为本发明中的断面标记后处理的流程图;

图10为本发明中的粗标记结果的细节示意图;

图11为本发明中的经过面积均值过滤后的标记结果细节示意图;

图12为本发明中的获得近邻连通分量示意图;

图13为本发明中的获得断面边缘骨架示意图;

图14为本发明中的剔除骨架后对模型法向量聚类结果示意图;

图15为本发明中的断面与非断面连接处的细节示意图;

图16为本发明中的断面分割结果示意图;

图17为本发明中的获得断面长度示意图;

图18为本发明中的基于断面主方向的断面预配准示意图;

图19为本发明中的最终碎片复原结果示意图。

具体实施方式

为使本发明的技术方案和优点更加清楚,下面结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚完整的描述:

如图1所示的一种文物碎片模型自动分割及拼接方法,包括以下步骤:s1:将文物的碎片重建为三维网格模型,其中三维网格模型由多个三角面片的网格组成,利用法向投影法获得每个三角面片的特征映射图像。

由于文物碎片的三维模型是以三角网格的形式渲染出来的,所以利用每个三角网格作为每一个训练数据。三角网格的特征包括网格的法向量、面积大小、顶点的曲率值、顶点及中心点的坐标,如图2所示。但是这些特征不足以描述一个三角面片周围的特征,这就引入了“法向投影法”,如图2所示。向量为当前三角面片的法向量记为α=(a,b,c)t,a为当前三角面片的中心点,以b为圆心绘制32个半径不同的同心圆。最小的圆的半径为r0,然后每个同心圆的半径依次增大δr。在每个圆周上均匀取32个点,这样同一个圆周上的两个相邻的点与圆心的夹角的大小θ=π/16,在圆周上均匀的取点后,再将这些点沿该三角面片法向量的反方向投影到网格上得到对应的交点,并计算圆周上的点与其对应投影点间的距离记为其中i表示一个圆周上第i个投影点,j表示从内到外第j个同心圆。这样就得到大小为32×32=1024的向量记为x=(x1,x2,…,xn)t,可以更好地表达每一个三角面片周围的各种特征。为了将三角面片的空间信息加入到特征中,将x与α点乘得到向量再将向量y的每一行求和得到向量z=((a+b+c)x1,(a+b+c)x2,…,(a+b+c)xn)t,将向量z每个元素的值映射为图像像素值的范围(0-255),便得到了“映射特征图像”,如图3所示。

进一步的,利用法向投影法获得每个三角面片的特征映射图像采用如下方式:将当前三角面片上方具有尺度不变性、空间不变性的几何形状投影到三维模型上,投影的覆盖范围包括当前三角面片及其近邻三角面片,投影的方向为当前三角面片法向量法向的反方向,当前三角面片的空间特征信息是投影点到三维模型的距离,再将这些距离映射为像素值即得到特征映射图像。

s2:在三维网格模型上标记断面边缘部分和断面平整部分的三角面片,并记录所标记的三角面。由于上一步产生的“特征映射图像”之间的差距难以用肉眼分辨,所示数据集的标记工作在碎片模型的三维网格上进行。通过人工标记碎片模型中断面平整部分的三角面片,将标记结果保存到文件中,如图4所示。通过人工标记碎片模型中断面边缘部分的三角面片,将标记结果保存到文件中,如图5所示。

s3:采用卷积神经网络模型预测每个三维网格模型的断面边缘部分,并将预测结果标记到三维网格模型上得到具有粗标记的碎片模型;

进一步的采用卷积神经网络模型预测每个三维网格模型的断面边缘部分具体方式为:

s31:构造具有一个输入层、三个卷积层、一个全连接层和一个输出层的神经网络,设共有n个训练样本,每个训练样本相应的标签均有m个维度,卷积神经网络的代价函数表示为:

其中表示第n个样本对应的标签的第k个分量,表示网络输入第n个样本属于第k个类别的概率,卷积神经网络模型只在一个训练样本上的训练误差表示为:

s32:卷积神经网络采用relu函数作为输出层的激活函数,网络使用交叉熵代价函数作为系统的损失代价函数,表达式如下:

loss=-∑y′log(y)

对于真实的类别向量为y′表示样本的真是类别,预测的向量为y表示样本经过网络的训练得到的预测类别。

s33:采用随机梯度下降法对损失代价函数进行优化,设随机梯度下降算法损失代价函数为j(θ),则随机梯度下降算法在更新和计算参数梯度时,使用单个或者少量训练样本来估计期望值,即

其中,(x(i);y(i))是训练集中的一个样本,η为学习率,经过对损失函数的优化完成了卷积神经网络训练的过程,将训练结果直接应用在没有做任何标记的数据集上,即完成了断面边缘粗标记的过程。

进一步的,该卷积神经网络包含一个输入层、三个卷积层、一个全连接层和一个relu输出层,如图6所示。第一个卷积层中卷积核的大小为6×6,输入通道为1,输出通道为6;第二个卷积层中卷积核的大小为5×5,输入通道为6,输出通道为12;第三个卷积层中卷积核的大小为4×4,输入通道为12,输出通道为24;全连接层神经元的个数为200,还接有dropout操作,防止过拟合;输出层的大小为2,表示是否标记为断面边缘。利用卷积神经网络学习的结果标记新的数据集,将标记结果映射到碎片三维网格模型上,得到粗标记的结果如图7所示。

s4:利用碎片模型的几何特征对具有粗标记的碎片模型进行误差去除处理:利用面积均值法去除标记错误的三角面片,采用获取骨架的方法剔除大部分断面边缘三角面片,利用法向量聚类方法对剔除骨架的碎片模型进行聚类处理,采用捷径切割方式去掉多余的三角面片得到完整的断面分割模型。

由于预测结果存在一定的误差,不能将预测结果直接用作断面的提取,要经过一系列的几何上的处理,才能将断面完全分割出来。具体步骤为:神经网络预测的是断面边缘部分的三角面片,但可能也会将数量较少断面平整部分的三角面片也标记出来,如图8所示。由于断面边缘部分的三角面片的面积要比断面平整部分的三角面片小,可以利用面积的均值来过滤掉断面平整部分的三角面片。定义预测结果中标记三角面片的集合为l={l1,l2,…,ln},n为预测结果中标记三角面片的个数,则标记的三角面片面积的均值可表示为依次遍历标记的三角面片计算其面积sl,如果sl<savg则将该三角面片加入到拟边缘三角面片的集合m中。再将m中的三角面片标记在模型上,得到过滤掉断面平整部分三角面片的结果,如图9所示。

进一步的,如图10所示,所述采用获取骨架的方法剔除断面边缘三角面片采用如下方式:

s41:连接集合m中所有第一近邻三角面片的中心点组成ω个连通分量,并将所有连通分量中三角面片加入到边缘三角面片的集合m′中;

s42:将集合m中没有近邻的三角面片的中心点当做孤点,连接到距离其最近的连通分量中,并将孤点与其近邻连通分量连接处覆盖的三角面片加入集合m′中,并计算每个连通分量的端点;

s43:将两个端点距离最近的连通分量连接为同一连通分量,连接处为两个连通分量的端点,将两个连通分量连接处覆盖的三角面片加入到集合m′中;

s44:将步骤s43迭代λ次使整个连通分量缩小到一定数目,得到断面边缘部分的骨架,剔除边缘骨架所在的三角面片,如图11所示。

在对没有剔除断面边缘部分的网格聚类,聚类效果不明显,不能将断面平整部分分割出来,经过剔除操作之后,再经过聚类便可将断面平整部分与其他部分切割开,这里采用的聚类方法是k-means聚类,例如聚类数目k=6。法向量聚类结果如图12所示。

进一步的,如图13所示,采用捷径切割方式去掉多余的三角面片得到完整的断面分割模型采用如下方式:

在聚类结果中的每一类选取γ个三角面片,放入集合c中,即c={c1,c2,…,ck},其中ci(i=1,2,…,k)表示每一类中三角面片的集合;

利用dijkstra算法计算集合c中每个集合中三角面片之间的最短路径其中u,v∈c,u≠v;则每两个集合间的最短路径表示为其中t={t1,t2,…,tn}表示路径上三角面片的集合;

统计每个三角面片在所有最短路径上出现的频数fi,当fi满足设置阈值即将该三角面片剔除从而得到完整的断面分割结果。如图14所示。

s5:采用比较断面长度相似度的方式进行断面匹配,采用基于断面主方向的方式获取断面预配准结果再利用icp算法对断面进行精确配准实现一对断面的拼接。

由于相匹配的断面大部分的特征具有相似性,这里只采用断面的长度作为判断断面是否相似的依据。首先将每个断面上的点集利用k-means聚类分成h个类,每个类的中心点为ξi(xi,yi,zi),其中(1≤i≤h);计算每个断面中所有中心点间的距离,将最远的距离d作为该断面的长度,如图15所示,最后依次找到断面长度相近的两个断面,完成断面匹配。

利用pca算法求断面点集的主方向β=(ai,bi,ci)t,其中i表示第i个断面;再将两个匹配断面的主方向通过变换矩阵旋转至大致平行的位置,按照断面的匹配结果将所有断面对齐实现文物碎片的复原。如图16所示。

本发明公开的一种文物碎片模型自动分割及拼接方法,本方法首次将机器学习领域的内容迁移到三维模型指定特征面分割,利用卷积神经网络训练指定位置的特征,并进行预测得到了相当好的分割效果从而实现文物碎片的精准拼接,该方法与传统方法比较具有很大的创新性和准确性。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,根据本发明的技术方案及其发明构思加以等同替换或改变,都应涵盖在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1