1
三维重建技术(面显示与体显
示)介绍
田捷
中国科学院自动化研究所
三维医学图像技术的意义
♦改变传统的阅片方式(两维到三维)
♦给医生提供真实感三维图形
♦任意角度观察
♦辅助医生临床诊断
三维重建的过程
♦输入:由CT、MR等
设备扫描得到的一系
列的两维切片数据
♦输出:组织(器官)
的三维形状
三维重建的分类
♦面显示(SurfaceRendering)
♦体显示(VolumeRendering)
三维重建的分类——面显示
♦只提取感兴趣的某一种物质(如骨骼)
♦计算速度快,显示清晰
♦一般用密集的三角网格来表达
♦应用广泛(图形引导手术、虚拟内窥镜
等)
♦可以实现多层的面显示,以观察整体效
果
面显示的例子(骨骼)
2
面显示的例子(皮肤)多层面显示的例子
三维重建的分类——体显示
♦将切片中所有的物质(皮肤、骨骼、肌
肉等)集中在一幅图中显示
♦可看出整体效果
♦计算速度慢,显示容易模糊
体显示的例子
体显示的例子面显示算法简介
♦MarchingCubes算法是面显示算法中的经
典算法,它也被称为“等值面提取”
(IsosurfaceExtraction)
♦本质是将一系列两维的切片数据看做是
一个三维的数据场,从中将具有某种域
值的物质抽取出来,以某种拓扑形式连
接成三角面片
3
MarchingCubes算法描述
♦切片数据可以看做是一些网格点组成
的,这些点代表了密度值
MarchingCubes算法描述
♦每次读出两张切片,形成一层(Layer)
MarchingCubes算法描述
♦两张切片上下相对应的八个点构成一个
Cube,也叫Cell,Voxel等
MarchingCubes算法描述
♦对一个Cube的8个顶点分别进行分类:
–顶点密度值<域值,Outside(1)
–顶点密度值≥域值,Inside(0)
MarchingCubes算法描述
♦由Cube的8个顶点的Inside(Outside)状
态得到一个0-255之间的索引值
MarchingCubes算法描述
♦由此索引值去查询一个长度为256的查找
表,得到三角片三个顶点所在的边号
4
MarchingCubes算法描述
♦得到边号以后,在此条边上进行线性插
值运算得到三角片顶点的坐标
MarchingCubes算法描述
♦法向量的计算也同样采用线性插值,首先使用
中心差异法计算两个顶点的梯度值,然后由这
两个梯度值插值得到三角片顶点的法向量
MarchingCubes算法描述
♦算法的难点:查找表的构造
–因为一个Cube有8个顶点,每个顶点有Inside
和Outside两种状态,所以一个Cube里头三角
片的分布总共可能有28=256种组合
–如果手工去造表的话,不仅容易出错,而且
工作量也太大
–反映了图形学算法的特点:容易理解,但是
细节太烦琐
MarchingCubes算法描述
♦Cube具有旋转(Rotation)对称性,旋转
不影响等值面的拓扑结构
♦另外,所有的Inside变为Outside,同时所
有的Outside变为Inside,则等值面的连接
方式也不会改变(Invertion对称)
MarchingCubes算法描述
♦考虑到Rotation和Invertion对称两种情况后,可以用15种Basic
Cube来覆盖所有256种可能的情况
♦由这15种BasicCube可以很容易地构造出长度为256的查找表
DividingCubes算法简介
♦由于MarchingCubes算法得到的三角面片数量相当巨
大,并且很多三角片投影到屏幕上以后小于一个像素
的大小,因此MarchingCubes的作者又开发了一个更简
化的算法:DividingCubes
♦绘制的基本元素由三角片变成了点,无需考虑拓扑结
构
♦速度更快,尤其适合于医学图形领域
♦目前新兴的基于点的绘制(PointsBadRendering)为
这一算法赋予了新的意义
5
DividingCubes算法描述
♦同MarchingCubes算法一样,处理的基本对象都是一个
Cube(体现了分而治之的策略)
DividingCubes算法描述
♦对每个Cube进行分类
–所有的八个顶点都是Inside则为InteriorCube
–所有的八个顶点都是Outside则为Exterior
Cube
–其它则为SurfaceCube
DividingCubes算法描述
♦将SurfaceCube在空间上分割为与最终图
像解析度相同的SubCube
–如果数据集的规模为256×256×128,而最
终显示的窗口的大小为512×512,则在x、y
方向上分割一次,在z方向上分割两次
–新的SubCube的顶点密度值由三线性插值得
到
–对于每个SubCube,继续进行上一步骤(分
类)
DividingCubes算法描述
♦对于最终得到的SurfaceCube,计算它的中心点的坐标、法向量
(由梯度得到)
♦最终形成一个点集,每个点都具有法向量
体显示算法简介
♦主要是研究光线在带颜色的、半透明的材质中传播的
理论。
体显示算法简介
♦由光的传输理论,经过一定的简化处理,可以得到体显示的方程
为:
6
体显示算法简介
♦将体显示方程离散化后可以得到
♦其中c
i
=C
i
×ɑ
i
C
i——颜色
ɑ
i——阻光度
光线透射算法(RayCasting)
AlphaBlending
RayCasting的步骤
♦对投影平面上的每一个像素,投射出一
条射线穿过体数据
♦在这条射线上按照一定的间隔采样,计
算出采样点的颜色(C
i
)和阻光度(ɑ
i)
♦按照体显示方程的离散化形式,进行颜
色合成,计算出这个像素的最终颜色
算法的整体流程
分类(Classification)
♦目的:得到每个体素处的阻光度值
♦两类方法:
–由密度值和阻光度的传递函数(Transfer
Function)决定
–用分割的方法(这里不作介绍)
分类(Classification)
7
明暗处理(Shading)
♦Phong光照模型
I=I
a
K
a
+I
d
[K
d
(N.L)+K
s
(N.H)n]
–K
a
——材质的环境光属性
–K
d
——材质的漫反射光属性
–K
s
——材质的镜面反射光属性
–n——材质的光滑程度
–I
a
——光源的环境光入射强度
–I
d
——光源的反射光入射强度
–N——体素的法向量(用梯度来计算)
–L——光源的方向矢量
–H——入射光和视线夹角一半处的矢量
明暗处理(Shading)
♦Gouraud明暗处理
–对于一个面,只计算顶点处的光照强度(按
照Phong光照模型)
–对于面内部的点,按照扫描线顺序进行光照
强度的线性插值
重采样滤波器
♦一般采用三线性插值(tri-linear
interpolation)
结束
♦谢谢!
本文发布于:2023-01-03 17:29:44,感谢您对本站的认可!
本文链接:http://www.wtabcd.cn/fanwen/fan/90/85582.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
留言与评论(共有 0 条评论) |