本发明属于3d物体形状重构领域,尤其涉及一种3d物体形状的重构方法及系统。
背景技术:
当前的3d物体形状的获取和重建方法主要集中于光学扫描,但是,当3d物体形状包含扫描仪视线无法访问的高度或是遮挡情况下,通过光学扫描无法准确获取及重建3d物体。
因此,基于常规(光学)扫描仪,复杂的形状不能被适当地获取或重建。此外,一些物体由光泽或透明材料制成,这是普通光学不能处理的另一个挑战。
技术实现要素:
为了解决现有技术的不足,本发明提供了一种3d物体形状的重构方法,该方法采用液体作为传感器的技术手段,针对具有闭塞部分和玻璃材质的3d物体,获得比传统光学扫描仪更好的扫描效果。
本发明的3d物体形状的重构方法,包括:
步骤a:将3d物体从多个角度浸入液体中,且同时追踪记录液位变化,构建出若干非统一交叉对象切片;
步骤b:将非统一交叉对象切片进行重采样测量,得到统一切片及其对应的水位信息;
步骤c:利用高斯内核平滑所述统一切片相对应的水位信息;
步骤d:根据平滑后的水位信息来构建一个稀疏线性方程组来近似浸没过程3d物体在液体中的浸没过程;
步骤e:求解上述稀疏线性方程组来重建3d物体的体素;
步骤f:将重建的3d物体体素转换为网格;
步骤g:平滑网格,最终重构出3d物体。
进一步的,在所述步骤a中,利用夹具将3d物体从多个角度浸入液体中。
本发明通过夹具来控制3d物体匀速下降,在下降过程中多次测量重量变换,最终在下降过程中得到多个的体积切片的体积。
进一步的,在步骤d之前,还包括:对夹具进行实验测试,得到平滑后的夹具的统一切片所对应的水位信息,最终得到仅有3d物体的平滑后的水位信息。
这样能够消除夹具步骤a~步骤c的影响,最终提高了重构出的3d物体的精度。
进一步的,在步骤e中,使用lsmr来求稀疏线性方程组。
本发明为了利用稀疏性,使用基于golub-kahan双对角化过程的lsmr。lsmr迭代地找到稀疏问题的解决方案,同时利用矩阵b的稀疏性。
进一步的,在步骤f中,利用等值面构造的方法将重建的3d物体体素转换为网格。
进一步的,在利用等值面构造的方法将重建的3d物体体素转换为网格的过程中,采用marchingcubes算法逐个处理3d物体体素,分类出与等值面相交的立方体,采用插值计算出等值面与立方体边的交点,最终得到网格。
进一步的,得到网格的具体过程包括:
①根据等值面与体素的对称关系构建一个256种相交关系的索引表;
②提取立方体的8个顶点,构成一个体素并把这8个顶点编号;
③根据每个顶点与阈值的比较确定该顶点在面内还是面外;
④把这8个顶点构成的01串组成一个8位的索引值;
⑤用索引值在上边的索引表里查找对应关系,并求出与立方体每条边的点;
⑥用交点构成三角形面片或多边形面片;
⑦遍历三维图像的所有体素,重复执行②到⑥。
本发明还提供了一种3d物体形状的重构系统。
本发明的一种3d物体形状的重构系统,包括:
非统一交叉对象切片构建模块,其用于在将3d物体从多个角度浸入液体的过程中,同时追踪记录液位变化,构建出若干非统一交叉对象切片;
统一切片及其对应水位信息获取模块,其用于将非统一交叉对象切片进行重采样测量,得到统一切片及其对应的水位信息;
水位信息平滑模块,其用于利用高斯内核平滑所述统一切片相对应的水位信息;
浸没过程近似模块,其用于根据平滑后的水位信息来构建一个稀疏线性方程组来近似浸没过程3d物体在液体中的浸没过程;
重建3d物体的体素模块,其用于求解上述稀疏线性方程组来重建3d物体的体素;
网格转化模块,其用于将重建的3d物体体素转换为网格;
3d物体重构模块,其用于平滑网格,最终重构出3d物体。
进一步的,在非统一交叉对象切片构建模块中,利用夹具将3d物体从多个角度浸入液体中。
进一步的,该系统还包括夹具水位信息消除模块,其用于对夹具进行实验测试,得到平滑后的夹具的统一切片所对应的水位信息,最终得到仅有3d物体的平滑后的水位信息。
与现有技术相比,本发明的有益效果是:
(1)本发明采用液体作为传感器的技术手段,针对具有闭塞部分和玻璃材质的三维物体,获得比传统光学扫描仪更好的扫描效果。
(2)相比传统扫描方式,例如ct扫描,结构光扫描,经济便宜。
(3)本发明通过夹具来控制3d物体匀速下降,在下降过程中多次测量重量变换,最终在下降过程中得到多个的体积切片的体积。
附图说明
构成本申请的一部分的说明书附图用来提供对本申请的进一步理解,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。
图1是本发明的3d物体形状的重构方法的流程图;
图2是本发明的3d物体形状的重构系统结构示意图;
图3(a)是本发明的3d物体形状以采样次数为100dips的重建效果图;
图3(b)是本发明的3d物体形状以采样次数为325dips的重建效果图;
图3(c)是本发明的3d物体形状以采样次数为550dips的重建效果图;
图3(d)是本发明的3d物体形状以采样次数为775dips的重建效果图;
图3(e)是本发明的3d物体形状以采样次数为1000dips的重建效果图。
具体实施方式
应该指出,以下详细说明都是例示性的,旨在对本申请提供进一步的说明。除非另有指明,本文使用的所有技术和科学术语具有与本申请所属技术领域的普通技术人员通常理解的相同含义。
需要注意的是,这里所使用的术语仅是为了描述具体实施方式,而非意图限制根据本申请的示例性实施方式。如在这里所使用的,除非上下文另外明确指出,否则单数形式也意图包括复数形式,此外,还应当理解的是,当在本说明书中使用术语“包含”和/或“包括”时,其指明存在特征、步骤、操作、器件、组件和/或它们的组合。
图1是本发明的3d物体形状的重构方法的流程图。
如图1所示,本发明的3d物体形状的重构方法,包括:
步骤a:将3d物体从多个角度浸入液体中,且同时追踪记录液位变化,构建出若干非统一交叉对象切片。
具体地,在所述步骤a中,利用夹具将3d物体从多个角度浸入液体中。
在具体实施过程中,本发明使用了一台机械臂作为夹具,来控制物体匀速下降,液位体积的变化使用重量传感器,传感器在液体容器下,将体积变化转换成重量变换,再通过重量变换推出体积变化。在下降过程中经过多次测量重量变换,最终这样就能在下降过程中得到很多的体积切片的体积。
本发明通过夹具来控制3d物体匀速下降,在下降过程中多次测量重量变换,最终在下降过程中得到多个的体积切片的体积。
步骤b:将非统一交叉对象切片进行重采样测量,得到统一切片及其对应的水位信息。
由于在3d物体下降过程中,在第i步,物体下降d个单位,并且水上升k个单位,但是体积片测量对应的是物体给定方向竖直d+k单位长度的体积。其中,i、d、k均是正整数。
上述得到的信息为非统一交叉对象切片数据,需要对上述数据进行预处理,故将非统一用一个连续方程处理,重采样成统一形式,新采样得到的体积片的宽度都是一样的。
步骤c:利用高斯内核平滑所述统一切片相对应的水位信息。
这样能够减少高频的噪声,最终提高重构出的3d物体的精度。
步骤d:根据平滑后的水位信息来构建一个稀疏线性方程组来近似浸没过程3d物体在液体中的浸没过程。
具体地,在步骤d之前,还包括:对夹具进行实验测试,得到平滑后的夹具的统一切片所对应的水位信息,最终得到仅有3d物体的平滑后的水位信息。
这样能够消除夹具步骤a~步骤c的影响,最终提高了重构出的3d物体的精度。
本发明通过作用在向量化体素对象(想象成一个一个的小格子)的旋转和求和矩阵来模拟浸渍过程。旋转矩阵表示物体的方向(因为本发明需要从各个不同的方向往下浸渍被测物体),求和矩阵s表示水的高度。
这样,对于每个方向(在这个方向上有一个浸入实验并得到测量数据),本发明可以用s*(r_theta)*object=measure的形式编写一组线性方程。
在本发明中,是等式的显式写作:{s}*r=v。
其中,s和r都是在一行或相邻元素上局部作用的矩阵,进而相乘产生了一个稀疏矩阵({s}*r)。
步骤e:求解上述稀疏线性方程组来重建3d物体的体素。
具体地,在步骤e中,使用lsmr来求稀疏线性方程组。
本发明为了利用稀疏性,使用基于golub-kahan双对角化过程的lsmr。lsmr迭代地找到稀疏问题的解决方案,同时利用矩阵b的稀疏性。
步骤f:将重建的3d物体体素转换为网格。
具体地,在步骤f中,利用等值面构造的方法将重建的3d物体体素转换为网格。
在利用等值面构造的方法将重建的3d物体体素转换为网格的过程中,采用marchingcubes算法逐个处理3d物体体素,分类出与等值面相交的立方体,采用插值计算出等值面与立方体边的交点,最终得到网格。
具体地,得到网格的具体过程包括:
①根据等值面与体素的对称关系构建一个256种相交关系的索引表;
②提取立方体的8个顶点,构成一个体素并把这8个顶点编号;
③根据每个顶点与阈值的比较确定该顶点在面内还是面外;
④把这8个顶点构成的01串组成一个8位的索引值;
⑤用索引值在上边的索引表里查找对应关系,并求出与立方体每条边的点;
⑥用交点构成三角形面片或多边形面片;
⑦遍历三维图像的所有体素,重复执行②到⑥。
步骤g:平滑网格,最终重构出3d物体。
其中,图3(a)是本发明的3d物体形状以采样次数为100dips的重建效果图;
图3(b)是本发明的3d物体形状以采样次数为325dips的重建效果图;
图3(c)是本发明的3d物体形状以采样次数为550dips的重建效果图;
图3(d)是本发明的3d物体形状以采样次数为775dips的重建效果图;
图3(e)是本发明的3d物体形状以采样次数为1000dips的重建效果图。
从图3(a)-图3(e),可知,随采样次数的增加,重建的d物体形状越来越精确。
本发明采用液体作为传感器的技术手段,针对具有闭塞部分和玻璃材质的三维物体,获得比传统光学扫描仪更好的扫描效果。
本发明通过夹具来控制3d物体匀速下降,在下降过程中多次测量重量变换,最终在下降过程中得到多个的体积切片的体积。
因此,本发明的3d物体形状的重构方法是基于古代的阿基米德原理,阿基米德原理:液体被置换的体积等于物体浸入到水面中的体积。
通过将物体沿轴线浸入液体中,可以测量液体体积置换,并将其转换成一系列沿着浸渍轴的形状的薄体积切片。
通过在各个角度方向反复地将物体浸入水中,产生不同的体积置换并将其转换成所谓的“浸入变换”。收集不同角度的采样。这反过来又能够生成足够的数据来恢复输入形状的几何结构。
由于本发明是基于使用通过液体交互对象生成的体积样本,所以可以以相对简单的方式获取闭塞和视线无法访问的部分。
浸入变换是可逆的,因此可以从其重建物体三维形状。逆变换需要解决一个未确定的问题。所涉及的矩阵大而稀疏,几乎正交。因此,它们具有可以用于加速数值计算的非零部分和结构特性。给定对象的一组给定样本,使用预先计算的因式分解矩阵来计算样本数量的近似线性时间的浸入变换,并获得该问题的稳定数值解。
当问题的尺度是小到中等时,通过(隐含地)计算伪逆来解决问题,产生最小范数的解。对于非常大的问题,应用lsmr,它们是无需分解的,并使残差范数最小化。
所提出方法的关键优点是采用液体作为传感器。与光学传感器不同,液体没有视线要求,它渗透到被测物体的空腔和隐藏部分,绕过常规扫描装置所有可视性和光学限制。
图2是本发明的3d物体形状的重构系统结构示意图。
如图2所示,本发明的一种3d物体形状的重构系统,包括:
非统一交叉对象切片构建模块,其用于在将3d物体从多个角度浸入液体的过程中,同时追踪记录液位变化,构建出若干非统一交叉对象切片;
统一切片及其对应水位信息获取模块,其用于将非统一交叉对象切片进行重采样测量,得到统一切片及其对应的水位信息;
水位信息平滑模块,其用于利用高斯内核平滑所述统一切片相对应的水位信息;
浸没过程近似模块,其用于根据平滑后的水位信息来构建一个稀疏线性方程组来近似浸没过程3d物体在液体中的浸没过程;
重建3d物体的体素模块,其用于求解上述稀疏线性方程组来重建3d物体的体素;
网格转化模块,其用于将重建的3d物体体素转换为网格;
3d物体重构模块,其用于平滑网格,最终重构出3d物体。
其中,在非统一交叉对象切片构建模块中,利用夹具将3d物体从多个角度浸入液体中。
该系统还包括夹具水位信息消除模块,其用于对夹具进行实验测试,得到平滑后的夹具的统一切片所对应的水位信息,最终得到仅有3d物体的平滑后的水位信息。
本发明采用液体作为传感器的技术手段,针对具有闭塞部分和玻璃材质的三维物体,获得比传统光学扫描仪更好的扫描效果。
本发明通过夹具来控制3d物体匀速下降,在下降过程中多次测量重量变换,最终在下降过程中得到多个的体积切片的体积。
上述虽然结合附图对本发明的具体实施方式进行了描述,但并非对本发明保护范围的限制,所属领域技术人员应该明白,在本发明的技术方案的基础上,本领域技术人员不需要付出创造性劳动即可做出的各种修改或变形仍在本发明的保护范围以内。