法律状态公告日
法律状态信息
法律状态
2017-08-25
未缴年费专利权终止 IPC(主分类):G06T17/00 授权公告日:20130710 终止日期:20160710 申请日:20080710
专利权的终止
2013-07-10
授权
授权
2011-08-10
实质审查的生效 IPC(主分类):G06T17/00 申请日:20080710
实质审查的生效
2010-01-13
公开
公开
技术领域
本发明涉及计算机图形学技术,特别涉及一种利用轮廓点云数据集对非平行轮廓医学影像进行三维表面重建的方法。
背景技术
自从X射线发明以来,CT(计算机断层成像)、MRI(核磁共振成像)、CR(计算机X射线成像)、B超、电子内窥镜等现代医学影像设备先后出现,使传统的医学诊断方式发生了革命性的变化。随着现代计算机科学技术的发展,医学影像处理作为一门新兴的交叉学科也随之出现,给医学诊断带来了新的曙光。但是传统的看片方式都是二维的,需要经过专门训练的放射科医学来看片并做出判断,随着计算机可视化技术的发展,医学影像的三维可视化也变得可能。医生通过计算机的辅助,可以看到人体器官的逼真的三维图像,从而可以提高诊断的正确率。
医学影像三维可视化的关键技术是从一系列二维影像重建出三维模型。目前常见的有基于体素的(Voxel-based)的重建方法和基于三角面片的(Triangle-based)的表面重建方法。
体素重建方法是最早应用于医学影像领域的,它用体素作为最基本的单元。所谓体素,就是以原始数据集的每个网格点为中心的一个立方体,一个感兴趣的器官的表面可以用一套体素来表达,在绘制的时候将可见的体素表面绘制出来。由于这种方法直接将原始的网格点和待抽取的表面联系起来,并且体素的表达方法简单有效,因此受到了很多研究者的重视。但是基于体素的方法必须使用纯软件实现,这使得它不能用来实时处理超大规模数据集。
表面重建方法是从传统的图形学领域引进医学影像领域的,随着MC(Marching Cubes移动立方体)算法的巨大成功,它在医学影像领域得到了越来越广泛的应用。但是,原始的MC算法存在三大严重问题:拓扑不一致、计算效率低以及输出的三角片太多,很大程度地限制了它在实际中的应用,并且它也不适应于超大规模数据集的实时可视化。
常规的医学影像分为平行的二维断层数据与不平行的二维断云数据。CT、MRI等得到的图像是平行的二维断层数据,其重建算法已日臻成熟,应用也比较广泛。
利用普通B超进行自由扫描所得到的影像是不平行的二维断层数据。非平行医学影像的三维重建,目前尚无特别成熟的重建算法,一般是借用基于平行影像的一些算法,如Marching Cubes算法,但重建质量和时间都很难令人满意。因此,建立非平行影像轮廓的三维重建方法是势在必行的。
发明内容
根据背景技术所述,本发明的目的在于避免上述不足,利用点云数据处理技术,提供一种可提高非平行轮廓医学影像三维表面重建质量,节省三维重建时间,减少三维重建时对系统资源的占用,进而整体提高非平行轮廓三维表面重建方法的效率,拓宽其在医学影像领域的应用范围的全新的非平行轮廓医学影像的三维表面重建方法。
为了实现上述目的,本发明是通过以下技术解决方案来实现的:
一种非平行轮廓医学影像的点云式三维表面重建方法,包括下列步骤:
1、影像采集:利用多种习用手段采集具有任意角度或彼此交叉的非平行医学影像序列,并确定每一帧影像在空间的位置和姿态;
2、影像分割:使用阈值分割或者区域增长等分割方法从医学影像的二维切片中将感兴趣区域(ROI)分割出来;
3、获取二维轮廓点云数据:将每一帧二维影像采用轮廓跟踪方法将影像的轮廓提取出来,作为二维轮廓数集,并把二维轮廓数集变换到三维坐标系中,形成三维轮廓点云数据;
4、点云表面重建:首先,选取种子三角形,其三条边组成最初的边集,然后选取一合适大小的枢球,边集的每一条边即是枢球旋转的枢纽,使其绕边集中的每一条边旋转,用以寻找新的三角形;然后,让一合适大小的枢球每次绕边集中的一条边旋转,当此枢球碰到新的点时,此新点与作为枢轴的边的两个端点组成一个新的三角形,此过程循环往复,遍历得到所有的有效三角形,即三维重建所要求的三角形面片网格;最后,进行边集扩充与合并,每一次枢球旋转,有可能碰到新的点,也有可能碰不到新的点,新的点有可能已在三角形网格中,也有可能不在三角形网格中,重建算法根据不同的情况对边集进行扩充与合并;
5、三维绘制:采用面绘制的方法交互显示点云重建算法所得到的三角形面片网格。
其中,获取二维轮廓点云数据步骤,利用轮廓跟踪方法,将每一帧二维医学影像转换为轮廓点云数据,这样才可以利用点云数据处理技术进行重建。
其中,点云表面重建步骤,把医学影像数据转换成点云数据,并利用点云数据处理技术来进行三维重建。
其中,种子三角形选取步骤,选取一合适的种子三角形作为初始边集,边集的每一条边即是枢球旋转的枢轴;枢球旋转步骤,选取大小合适的枢球,并利用其旋转操作来寻找新的三角形面片。
另外,为了简化种子三角形选取步骤和枢球旋转步骤,采用效率较高的空间邻域搜索算法。
由于采用了上述技术方案,本发明具有以下优点和效果:
1、本发明采取的点云重建算法,是基于alpha-shape理论的,其构建的三角形面片网格是点云数据集的Delaunay三角形网格的一个子集,故在点云数据密度足够的情况下,其三维重建效果较好,质量较高。
2、由于采用了高效率的领域搜索算法,本发明的两个关键操作“种子三角形选取”、“枢球旋转”,计算效率较高,时间较为恒定,不会因点云数据集的变大而导致重建时间增长,因而本发明可以节约三维表面重建的时间,在临床应用这种对时间要求苛刻的场合具有重要的应用价值。
3、本发明可提高非平行轮廓医学影像三维表面重建质量,节省三维重建时间,减少三维重建时对系统资源的占用,进而整体提高非平行轮廓三维表面重建方法的效率,拓宽其在医学影像领域的应用范围。
附图说明
图1是本发明点云三维表面重建步骤的流程图
图2是本发明种子三角形选取的流程图
图3是本发明三维表面重建枢球旋转操作示意图
图4是本发明采用普通B超仪采集非平行轮廓医学影像的系统组成示意图
图5是本发明用普通B超仪采集的样本球体的非平行轮廓
图6是本发明图5的非平行轮廓的点云数据集
图7是对图6的点云数据集用本发明方法重建得到的三角形网格
图8是对图6的点云数据集用本发明方法重建并进行三维绘制的实验结果
具体实施方式
本发明的非平行轮廓医学影像的点云三维表面重建方法,包括:
1、影像采集:利用多种习用手段采集具有任意角度或彼此交叉的非平行医学影像序列,并确定每一帧影像在空间的位置和姿态;
2、影像分割:使用阈值分割或者区域增长等分割方法从医学影像的二维切片中将感兴趣区域(ROI)分割出来;
3、获取二维轮廓点云数据:将每一帧二维影像采用轮廓跟踪方法将影像的轮廓提取出来,作为二维轮廓数集,并把二维轮廓数集变换到三维坐标系中,形成三维轮廓点云数据;
4、点云表面重建:首先,选取种子三角形,其三条边组成最初的边集,然后选取一合适大小的枢球,边集的每一条边即是枢球旋转的枢纽,使其绕边集中的每一条边旋转,用以寻找新的三角形;然后,让一合适大小的枢球每次绕边集中的一条边旋转,当此枢球碰到新的点时,此新点与作为枢轴的边的两个端点组成一个新的三角形,此过程循环往复,遍历得到所有的有效三角形,即三维重建所要求的三角形面片网格;最后,进行边集扩充与合并,每一次枢球旋转,有可能碰到新的点,也有可能碰不到新的点,新的点有可能已在三角形网格中,也有可能不在三角形网格中,重建算法根据不同的情况对边集进行扩充与合并;
5、三维绘制:采用面绘制的方法交互显示点云重建算法所得到的三角形面片网格。
本发明的关键在于获取二维点云轮廓数据、点云表面重建这两个步骤,其他步骤是常用的医学影像处理技术,不再详述。
获取二维点云轮廓数据:
传统的医学影像重建,一般是将每一帧二维影像作为一个整体来进行处理,一般是先将二维影像变换到三维坐标系中,然后利用体素重建或表面重建算法进行三维重建。
本发明的特征在于不是把每一帧二维影像作为一个整体来进行处理,而是利用轮廓跟踪方法把每一帧二维影像的轮廓提取出来,作为二维轮廓数据,然后把一系列二维轮廓数据变换到三维坐标系中,形成三维轮廓点云数据,这样,才能利用点云数据处理技术来进行表面重建。由图6示出一系列的二维点云轮廓数据。
点云表面重建:
由图1示出点云三维表面重建的流程图,本发明点云表面重建算法采取的是渐进式方法来建立三角形网格,此算法的输入是二维超声影像轮廓点云数据集σi,每个点的法向量集ni,枢球半径ρ。算法首先选取一个种子三角形(σi,σj,σk),三角形的三个顶点在枢球上,且此枢球不包含额外的点,然后通过枢球旋转操作每次增加一个新的三角形。
1、数据结构
本发明定义了下列数据结构:
①点云数据集P:保存作为输入的点云数据及其法向量的链表。
②三角面片集T:保存点云重建算法所生成的三角形面片网格。
③边集F:由边组成的循环双向链表,初始时只包含种子三角形的三条边。某一条边e(i,j)应保存下列元素:
两个端点(σi,σj);
其所属三角形的第三个顶点σo;
与三个点都接触的半径为ρ的枢球的球心cijo;
指向前一条边的指针;
指向后一条边的指针;
边的状态:Active:可以作为枢轴的边,Boundary:不可以作为枢轴的边。
当球绕枢轴(边)旋转时,它可能碰到一个新点,也可能碰到一个已经用过的点,这时边集的拓扑会发生改变,对应的有两种拓扑操作:边集扩充,边集合并。
④3D空间网格(体素集)V:为加快空间领域搜索速度所建立的临时体素集的链表。
2、空间领域搜索
在点云表面重建算法中,种子三角形选取和枢球旋转都要求在一个较小的空间邻域内搜索点云的某个子集以快速找到特定的点。为此,采取了如下的空间领域搜索方法:
把点云数据集P的包络空间划分为一个规则的三维网格。每一个网格单元为一个边长为δ=2ρ(ρ为枢球半径)的立方体,称为一个体素(voxel)。
输入的点云数据存储在一个链表P中。此链表经过木桶排序,以保证位于同一个体素内的点在链表P中毗邻,形成一个子链表。
每一个体素存储一个指针,此指针指向此体素内的所有点组成的子链表中的第一个点。若此体素为空,不包括任何点,则其指针指向下一个子链表。网格最后一个体素的指针存储空指针。
如此,即在点云数据集P与空间的体素集V之间建立了一种映射关系。要访问某体素内的所有点,只需要从此体素所指向的点遍历(按序访问)到下一个体素所指向的起始点即可。
这样,为了搜索已知点p的领域,可以按如下两步走:
①将点p的坐标除以δ,即可以很容易地求得其所位于的体素v;
②搜索所有距点p的距离为δ的点,这些点是紧邻v的27个体素(包括v自己)内的所有点的一个子集,因而只需遍历这27个体素即可。
这种把点云数据空间划分为3D网格的方法具有明显的优点:不论点云数据集有多大,进行领域搜索的时间基本恒定。这样在进行大数据集重建时,可以大大节省三维重建时间。
3、种子三角形选取
由图2示出种子三角形选取的流程图,可知,在实际选取种子三角形时,为了消除噪声点的影响,对于σ邻域内的每个体素,可只选取其内的一个点作为种子三角形的候选顶点。同时,对于某个特定的体素,取其内所有点的平均法向量作为顶点法向量,这一平均法向量大致代表了此区域的表面法向量。因为要进行的是表面重建,枢球应该在重建模型的表面行走,所以在选取种子三角形时,应优先考虑那些在平均法向量上的投影较大且为正的点。
4、枢球旋转寻找新的三角形面片
由图3示出枢球旋转寻找新的三角形片的操作,可知,三角形面片的计算是一个循环渐进的过程。初始时,设空间圆球的球心在Cijo,并与且只与三角形τ=(σi,σj,σo)相接触(此三角形可能是种子三角形,也可以是前一次枢球旋转操作得到的有效三角形)。现让球绕边e(i,j)旋转。在旋转的过程中,如果圆球没有碰到任何点,则设置边e(i,j)的状态为boundary,即此边为边界边。如果圆球在旋转的过程中碰到一个新的点σk,则三角形τ’=(σi,σk,σj)为一个新的有效三角形面片,可加入到三角面片集T中。同时可利用边集扩充操作把边e(i,k)和e(k,j)加入到边集F中,并把边e(i,k)当作下一次枢球旋转操作的旋转轴。
5、边集扩充与合并
扩充操作用于扩大边集F。当枢球绕边e(i,j)旋转碰到一个新的未使用的点σk时,除了要输出三角形面片(σi,σk,σj)外,还应执行边集扩充操作,即从边集F中移除边e(i,j),并把边e(i,k)和边e(k,j)加入到边集F中。
扩充操作后,必须利用合并操作从边集F中移除顶点一致但方向不同的边。例如,当边e(i,k)被扩充操作加入到边集F中后,若边e(k,i)已经存在于边集F中,则边集合并操作会将边e(i,k)与边e(k,i)从边集F中移除。
由图4、图5、图6示出本发明实施例采用普通B超仪用自由扫描方式采集了一标准球体的一系列非平行影像,并将其转换成了一系列二维轮廓数据,得到了标准球体的非平行轮廓的点云数据集的示意图。
基于此方法,在普通PC机上,用VC++6.0实现了本发明的点云重建算法,利用本发明的点云三维表面重建方法,对点云数据集进行了重建实验,重建实验结果如图7、图8所示。由图可见,表面重建质量很高。
机译: 用于手持式设备的底盘的框架,具有平行的轮廓表面,两个表面之一或第三轮廓表面形成空心轮廓的下侧或下边界,而第四轮廓表面以车顶形状形成
机译: 用于手持式家用吸尘器的过滤袋,其内部布置有泄漏轮廓,并且连接表面形成为连接平面,其中泄漏轮廓形成平行于连接平面延伸的泄漏平面。
机译: 平行三维共焦表面轮廓及其测量方法,可检测保险杠的高度和半导体水的缺陷