当前位置:首页 >> >> 三维重建

三维重建




卷 第 期 年 月 文章编号:1007-791X (2009) 02-0120-04

燕山大学学报

基于等值面拓扑简化的三维重建算法
孔凡树,王蓓蓓,贾 超


(燕山大学 信息科学与工程学院,河北 秦皇岛 摘 要:针对工业

无损检测中缺陷的空间信息无法准确判断的问题,提出了重建缺陷的算法。该算法使用八 提取的等值面经

叉树来节省内存,并同时从内部增加和外部切除体素的方法来准确找到缺陷的边缘,利用 得到了缺陷在空间任意方向的分布。 关键词:重建;缺陷;八叉树; 中图分类号:TP391 ;等值面

过拓扑简化得到最终的重建模型。实验表明,该方法可以实现对缺陷的三维空间形状观察,并提高了检测效率,

文献标识码:A

引言
目前,工业 无损检测是通过观察一组二维

到含有缺陷的三维重建模型, 通过实验对缺陷的三 维空间形状进行观察和研究。

断层图像(包含缺陷在该平面上的位置、大小等信 息)去发现缺陷部位, 借助工程人员的经验和空间 想象来判断缺陷的空间位置、大小、几何形状,进 而分析缺陷, 判定缺陷种类及等级,并做出能否服 役的判断 。存在的问题是:只能给出断层平面上 缺陷的位置、尺寸等信息,至于缺陷的空间位置、 大小、几何形状及密度分布等信息,仅通过观察二 维切片图像是很难实现的, 是借助经验和空间想象 的结果, 尚不能精确的测定缺陷的空间信息。 虽然 已有人对 图像中缺陷的定位方法进行研究 ,

算法关键技术
构建八叉树 通过图 的几个预处理得到三维体数据后 ,

构建八叉树,存储体素。
原始 图像 灰度 校正 图像 滤噪 边缘 信息 层间 插值 三维 体



获得三维体数据的流程图

但得到的仍然是模糊的信息, 并且不能得到缺陷任 意方向的分布。 为此本文提出对缺陷进行三维重建, 以便得到 缺陷在空间任意方向的分布。 由于三维重建需要的 体数据量相当大,因此使用八叉树存储体素, 以便 节约内存。在不改变物体整个拓扑结构的基础上, 同时从内部增加体素和从外部切除体素, 准确找到 缺陷的边缘, 为重建算法减少数据量。 本文还采用 可视化体数据方法中流行的一种——网格提取, 如 利用移动立方体的方法来提取物体的轮廓 , 并且 为每个体素自动提供一个内外识别。 提取网格后得
收稿日期: 作者简介:孔凡树(

因为本文算法完全是空间一致的, 所以要选择 一个空间数据结构, 如八叉树。八叉树结构是二维 空间中四叉树结构在三维立体空间的拓展。 在计算 机图形学、计算机视觉、 图像处理及景物分析等领 域有着广泛的应用。 八叉树结构采用递归分解方式 形成分层树型结构, 能保证生成连续的等值面,通 过八叉树的细分深度可以控制生成模型的表面细 节,灵活掌握细分的程度。理论上,重构需要的仅 仅是模型表面附近的信息。因此, 任何远离表面的 体素都可以合并到超体素中。
) ) , 。

基金项目:河北省自然科学基金资助项目(

) ,女,黑龙江依安人,助理工程师,主要研究方向为计算机图应用; 通讯作者:贾 超(

男,黑龙江绥棱人,博士,教授,主要研究方向为计算机图形学和虚拟现实,





孔凡树 等

基于等值面拓扑简化的三维重建算法

空间和时间最基本的平衡如下:用 表示在边 界包围盒中最大维数的体素数, 这样体素的总数就 是 。存储整个体数据需要花费 空间, 时间直接 而存储八叉树仅需 空间, 因为表面穿过大约

所有邻居进行局部检查。结果, 为每个缺陷打个补 丁。 从物体边界包围盒上开始切除体素, 直到找到 物体的表面。若切除体素会造成拓扑结构的改变, 则该体素不被切除, 并对该体素的所有邻居进行局 部检查。当外部不再有改变拓扑的体素时, 剪除了 所有缺陷的补丁。 在提取网格之前,对未切除的体 素值进行调整, 获得一个与最初物体相似的 面。 从外部切除了改变拓扑的体素并从内部增加 了没有改变拓扑的体素。 从外部切除的结果是切除 缺陷的补丁; 从内部增加的结果是给缺陷打一个补 丁。重复该过程直到一定数量的体素被操作。 局部检查 型表

个体素。另一方面,当模型花费

存储在八叉树中时,体素访问花费的时间是个常 数。因为在八叉树中大多数体素的邻居就在附近, 所以某些体素的操作(如邻居的查找)将返回固定 的时间。 八叉树结点数据结构类型定义如下:

标志位,用来标记是否改变了拓扑 个子节点指针 距离值

按照标准的自上而下方法建立八叉树

——

首先检查从外部切除的情况。 逐一对每个体素 进行局部检查, 判断切除体素是否会引起拓扑结构 的变化。设 表示所有没被切除的体素集合, 表示 要切除的体素。 ′ 表示除了 以外的所有没被切除 的体素集合。如果 能够简化成 ′ (根据简单的同 伦论) ,则切除 不会引起拓扑改变。 能否简化成 ′ 是由 的边缘状态决定的。体素的边缘被分类到 内部或外部集合中。内部集合是 的边缘与 ′ 的交 叉,而外部集合是剩余 的边缘。因此,内部集合 用 对 ′ 表示,外部集合用 ′ 表示。根据有序 ′ ′ 的数量。 图 是对局部 对要切除的 进行分类, 其中 表示组成

当一个超体素的所有孩子都在模型表面的同一边 时, 就把它们合并到超体素中。若保存存储在体素 中的任何表面信息, 则不允许合并任何表面对边有 邻居的体素。 若超体素没有孩子, 既其所有孩子都 已经合并,则其与同层上的其它超体素联合。用 算法提取表面网格,子体素信息表示到表面 的距离,则子体素信息为拓扑修补程序的切除次 序, 且为八叉树中超体素定义距离值。 该值依赖于 超体素孩子的状态。若所有的孩子均在内部, 则父 母在内部,且距离值是八个孩子距离值中最小的。 同样,如果所有的孩子均在外部,则父母在外部, 且距离值是孩子距离值中最小的。 否则,父母的距 离值赋值为 。 本文给出的八叉树进行的是多分辨率 树的根层 操作,

的数量, 表示组成

检查的二维应用。 最左边的图是体素的当前集合 , 标记两个要切除的体素为 和 。中间的图显示切 除 将引起拓扑改变,体素边缘由内部(粗线)和 外部(细线)两部分组成。最右边的图显示移除 将不会引起拓扑结构的变化。 只有当 可以切除 (图 时,才能简化成 ′ 例如 在 , 是对这种情况的三维显示) ,

极大的加速了执行过程。 多分辨率操作开始于八叉 (最低的分辨率) ,并从其开始切 除。在当前层所有能被切除的超体素都被切除后, 在下一个分辨率步骤中做切除, 将没被切除的超体 素再细分到它们的八个孩子中。这样重复直到 层, 即最高和最好的分辨率层,并且是八叉树的最 深层。 切除 增加体素 从物体内部的单个体素开始向内部集合增加 体素,直到到达物体的表面。 若增加体素会造成拓 扑结构的改变,则不添加该体素, 并对这个体素的

处被分类时。 只有这种情况不发生拓扑改变,并且 其它情况都将引起拓扑结构的改变。例如, 在 处被分类, 由于 是从 中挑选出来的体素, 因 此切除 将使 ′ 少一个组成。如果 在 比 个组成。如果 在 处被分类(见图 处 ) ,则 被分类,切除 将引起 ′ 的扩充,则 ′ 恰好比 多一 切除 将发生 ′ 多一个组成或 ′ 少一个组成 比 比

燕山大学学报

的情况。 这两情况的发生都依赖于模型的整体拓扑 结构,并且不能通过局部检查来决定。 最后一个简 单的情况是, 在 组成的情况。当 复杂情况的例子。 处被分类(见图 ) 。这 时移除 也将引起 ′ 多一个组成或 ′ 少一个 比 比 时被认为是复杂的情况,因 是一个 为当 被移除时会发生组合的改变。图

个比特位用来判断在体素切除或增加时拓扑结构 是否发生改变。 切除 增加体素的次序 补丁和切除的形状是由被切除体素的次序来 控制的。使用模型表面的距离(曼哈顿距离)作为 此次序。 计算完八叉树当前层的所有体素的距离值 后,就决定了需要分类的体素的切除次序。 在切除 期间, 保存了优先队列,该队列包含了当前未被切 除的体素集合的边缘体素(边界队列) 。

集合

切除

切除

算法描述
输入: 从切片组成的三维数据中提取出来的体 数据集、等值面的值、距离场函数。 输出:拓扑简化后的三角网格
根据等值面 建立八叉树



局部检查的二维例子









计算距离值 初始化边界队列



局部检查的三维例子

图 显示了移除的体素 和它在 ′ 中 以外的部分)组成。


当边缘有未切除的体素时,检查边界队列找到具有最 大距离的体素 从队列中移出

区域。 的边缘由内部(粗线)和外部(除了粗线

内部增长的工作方式与上面是相同的。 检查是 否能在内部集合增加 代替从外部体素集合移除 。 设 表示添加 之前增加的体素集合, ′ 而 表示加上 的体 素集 合。 的边 缘根 据内部 和外 部
否则,如果在八叉树的最高层, 则保留 如果增加 切除 不会引起模型的拓 扑改变并且 在八叉树中没有孩子,则增加 切除

被分类。如果每个集合恰好只有一个组 成,则不会发生拓扑改变,因为 是 ′ 的简化。其 它情况都与外部体素切除的情况相对应。 例如,在 处被分类的 意味着 ′ 的补充成分比 少一个。 同样,在 被分类的 意味着 ′ 不是比 少一个

如果八叉树的当前层低于最高分辨率层, 则在当前层细分 未切除和未增加的体素

组成,就是比 多一个组成。 体素的边缘是由面、 边和顶点组成的。其中每 一个都会被标记为内部或外部, 标记的关键依赖于 它是否横穿包括 的体素集或不包括 的体素集。 因 为 的面、边和顶点相当于 的 个邻居,以它邻

根据

提取网格

算法中,距离场函数的定义如下: 设 则 是各断层的坐标,设 为三维实体, 为相应的截面。因此位

居的切除(或添加)状态为特征来切除(或添加) 有 种结果。建立一个查找表,每种情况包含一





孔凡树 等

基于等值面拓扑简化的三维重建算法



层的距离场定义为

实验中八叉树节点的变化, 增加和切除体素的 时间对比如表 。
表 实验数据

在轮廓线边界以内 在轮廓线边界以上 在轮廓线边界以外 其中, 表示 的边界, 表示轮廓线, 表示

数据名称 体素数量 八叉树的初始化结点数 个 八叉树的最终结点数 个 增加体素的时间 切除体素的时间

数值

每个断层内的欧几里德距离。如果体素位于轮廓 内,则 为小于零的值,位于轮廓线上 为零,位 于轮廓线外 大于零。 队列 的组建过程:假设体素 的 个邻居中

结束语
本文提出的对缺陷进行三维重建的算法, 通过 从大量断层切片中提取的三维体数据来构建三维 模型。 从模型的内部和外部增加和切除体素,构建 缺陷空间形状,以便分析内部缺陷对整体的影响。 用八叉树的空间结构来存储体素, 加快了体素周围 邻居的检索,缩短了重建时间。试验结果表明,可 内存, 开发工具结合 硬盘。 快速、准确重建物体内部的缺陷,确定缺陷的位 置、形状和分布等信息。
参考文献
赵俊红 王珏 工业 测 冷帅 张丽 陈志强等 中国体视学与图像分析 李扬 郑莹娜 基于极大图像熵的均质材料内部缺陷 机械工程学报 齐志华 张丽 康克军 基于工业 核电子学与探测技术 的工件缺陷识别方法 诊断 图像中缺陷的快速定位方法 图像三维重建及剥离显示 无损检

的某个为 。如果 没有被切除 增加并且没有在边 界上,而且与 在同一边,则把 加入到队列 中。

实验结果
该实验的运行环境是: , 本算法使用 中的库函数实现。 实验数据是从中间有孔洞缺陷的柱体的 图

片(见图 )中,经过一系列的预处理得到的。通 过切除 增加体素来简化物体的拓扑,用八叉树来 存储体素,最后提取出的三角网格如图 是三维重建渲染后的效果。 ,图



中间有孔洞缺陷的柱体的

照片
赵俊红 瞿中 工业 机发展 断层序列图像三维重建的实现 微

网格

重建



重建结果

(下转第

页)

燕山大学学报

使用展开递归节点算法展开,而 结果一样。 实验结果分析

算法不做

化了查询重写的程序,提高了访问控制的效率。它 也是未来 访问控制领域的研究热点。
参考文献
傅海英 李晖 王育民 机应用研究 王竞原 胡运发 葛家翔 机工程 肖袁 吉根林 基于索引的 学 查询技术研究 计算机科 中的文本查询研究 计算 及相关安全研究进展 计算

任何处理。所以,对于不含递归的 ,它们的运行

从实验数据可以看出, 对于含有递归的访问规 范, 在递归层数一定的情况下,随着数据集尺寸的 增大其运行时间越长;在数据集尺寸一定的情况 下, 随着递归层数的增多其运行时间也越长。 对于 不含递归的访问规范,递归层数对它没有影响,只 随着数据集尺寸的增大运行时间增长。

结束语
本文所研究的展开递归节点算法是在视图获 取过程中实现的,能有效的避免产生递归视图,简

Unfolding algorithm on DTD of XML document

Abstract:

Key words:

(上接第

页)

Three-dimensional reconstruction algorithm based on topology simplification of isosurface

Abstract:

Key words:


赞助商链接
更多相关文档:

三维重建算法及分析比较

三维重建算法及分析比较 摘要 三维模型被广泛应用于机械加工、建筑设计、动画制作等多种领域, 并对据设计图形进行加工建造的工程项目具有十分重要的意义, 这就要求...

Smart3D系列教程3之 《论照片三维重建中Smart3D几个工...

Smart3D 系列教程 3 之 《论照片三维重建中 Smart3D 几个工作模块 的功能意义》 【摘要】近年来, 倾斜摄影测量技术是国际测绘遥感领域近年发展起来的一项高新技术...

三维重建方案建议

三维重建方案建议_互联网_IT/计算机_专业资料。1、 相机数量: 据我们了解, 主流的三维重建公司, 在搭建设备时, 使用的相机数量都在 120 以上(例如,TEN24,Pixel...

计算机三维重建技术发展与应用

计算机三维重建技术发展与应用 - 计算机三维重建技术发展与应用 [摘要] 叙述了三维重建的社会背景及三维重建研究的重要意义。提出了利 用三维重建技术建立专家系统,对...

一种基于OpenCV的三维重建实现方案

一种基于 OpenCV 的三维重建实现方案摘 要 本文以计算机视觉三维重建技术为研究对象,分析了开放计算机视觉函数库 OpenCV 中的三维重建模型,通过六个步骤,特别是摄像...

三维重建的opencv实现问题

三维重建的opencv实现问题 - 1. opencv2.1 和 opencv2.0 在做 stereo vision 方面有什么区别了? 2.1 版增强了 Stereo Vision 方面的功...

Smart3D系列教程2之 《为什么三维重建效果这么差?——...

Smart3D系列教程2之 《为什么三维重建效果这么差?——探探那些被忽略的拍照要求和技巧》 - Smart3D Smart 3D Capture ContextCapture 倾斜摄影测量...

基于单目视频序列的真实人体姿态三维重建

基于单目视频序列的真实人体姿态三维重建 摘要 本文提出了一种基于视频的三维人体姿态重建技术,制定了基于视频 的关键帧的重建框架。 本文还利用牛顿物理学,关节点的...

三维重建 ,三维重构

而多视图的三维重建(类似人的双 目定位)相对比较容易, 其方法是先对摄像机进行标定, 即计算出摄像机的图象坐标系与世界 坐标系的关系.然后利用多个二维图象中的...

国内三维重建技术的研究进展

国内三维重建技术的研究进展_专业资料。龙源期刊网 http://www.qikan.com.cn 国内三维重建技术的研究进展 作者:孟庆龙 来源:《新农村》2010 年第 12 期 三维...

更多相关标签:
网站地图

文档资料共享网 nexoncn.com copyright ©right 2010-2020。
文档资料共享网内容来自网络,如有侵犯请联系客服。email:zhit325@126.com