一种基于医学影像的虚拟现实辅助手术的建立方法与流程

文档序号:16758116发布日期:2019-01-29 17:33阅读:247来源:国知局
一种基于医学影像的虚拟现实辅助手术的建立方法与流程

本发明涉及虚拟现实技术,尤其涉及一种基于医学影像的虚拟现实辅助手术的建立方法。



背景技术:

虚拟辅助手术系统在术前规划、教学、医患沟通方面有重要的应用价值。由于硬件设备与计算机技术的制约,目前关于虚拟手术系统的研究一是大都采用的是仿真平台去模拟人体组织实验,丢失了虚拟现实所要求的沉浸感;另外对虚拟手术系统的人体组织模型基本都使用3d软件去仿真,缺乏真实性,对实际手术应用价值不大,尚达不到临床应用的虚拟手术系统要求。而如今计算机技术、通信技术、虚拟现实设备等软硬件技术的快速发展,为虚拟现实在手术中的应用提供了强有力的支撑。

为此,亟需一种能够还原真实的人体组织与手术场景的方法实现虚拟现实辅助手术的方法。



技术实现要素:

(一)要解决的技术问题

为了解决现有技术的上述问题,本发明提供一种基于医学影像的虚拟现实辅助手术的建立方法,该方法可以利用从患者ct影像数据分割提取出的组织数据进行三维建模,借助虚拟现实设备,最大程度的还原真实的人体组织与手术场景,达到虚拟手术带来的沉浸感与交互性。

(二)技术方案

为了达到上述目的,本发明采用的主要技术方案包括:

一种基于医学影像的虚拟现实辅助手术的建立方法,包括:

s1、从患者医学断层图像中获取特定组织的体数据;

s2、基于网络模型建立方式,对所述体数据进行处理,生成以四面体网络为代表的三维人体组织模型;

s3、依据虚拟现实眼镜,构建与现实手术室相当的3d模型手术室;

s4、将所述三维人体组织模型加入到所述3d模型手术室中;

s5、将加入到3d模型手术室中的三维人体组织模型的各个组织添加碰撞检测包围盒,以检测模拟手术中是否碰撞到各组织;

s6、将所述3d模型手术室关联控制装置与加入到所述3d模型手术室的三维人体组织模型进行匹配,获取匹配关系,以使用户使用控制装置进行虚拟现实辅助手术。

可选地,所述虚拟现实眼镜为采用htcvive设备的眼镜。

可选地,所述步骤s2中生成的三维人体组织模型的存储格式为.obj格式。

可选地,所述步骤s5包括:

碰撞检测包围盒包括:最小方向立方体、最小包围球、最小方向立方体和最小包围球的混合包围盒;

先计算最小方向立方体包围盒,然后计算包围球包围盒,虚拟手术中只要操作者触碰到最小立方体包围盒和包围球包围盒的范围即认为接触到了特定组织。

可选地,所述步骤s5还包括:

最小方向立方体包围盒计算方法包括立方体包围盒方向和大小两步计算;

三维人体组织模型由多个三角形面片组成,用pi,qi,ri代表第i个三角形面片的顶点位置坐标,几何模型的位置坐标均值μ和协方差矩阵c的计算公式如下:

其中,c是3×3的一个对称矩阵,n为组织模型三角形面片的数目,

求出协方差矩阵c的三个特征向量,并对特征向量做正规化处理求取三个正交向量,即为最小方向立方体包围盒的三个方向轴,求取所有三角形面片分别投影到三个轴向上最大值和最小值,获得包围盒的长、宽、高。

可选地,所述步骤s5还包括:

最小包围球包围盒计算方法:

包含对象的最小球体叫做包围球如公式(3)所示:

r={(x,y,z)|((x-cx)2+(y-cy)2+(z-cz)2<r2}(3)

其中,r表示包围球的半径,(cx,cy,cz)是包围球的中心坐标;

把所有基本几何元素的坐标值的平均值作为包围球的中心坐标,然后获得离中心坐标最大距离的几何元素坐标获得包围球的半径。

可选地,所述步骤s6包括:

控制装置中的第一按钮与三维人体组织模型中人体组织器官的显示的关系;

和/或,

控制装置中的第二按钮与三维人体组织模型中人体组织器官的隐藏的关系;

和/或,

控制装置中的第三按钮与三维人体组织模型中人体组织器官所在的虚拟场景退出的关系;

和/或,

控制装置中的第四按钮与三维人体组织模型中人体组织器官接触、翻转、抓取的关系;

和/或,

控制装置中的第五按钮抓取手术器件,以及手术器件与三维人体组织模型中人体组织器官接触、翻转、切除的模拟关系。

可选地,所述步骤s2包括:

s21、基于体数据建立背景栅格;所述背景栅格是根据分类的体数据在坐标轴三个方向上的采样生成的,包含了整个待重建及网格生成的区域;

具体地,需要对体数据的每个体素进行分类,用1代表组织内的体素,用-1代表组织外的体素;然后,在坐标轴三个方向上相邻的采样点构建立方体栅格;立方体每个角点的样本值为-1,称为外立方体栅格,立方体每个角点的样本值为1,称为内立方体栅格;立方体角点的采样值既存在数值为1的点也存在数值为-1的点,称为边界立方体栅格,获得背景栅格;

s22、基于所述背景栅格,构建三维人体组织模型;

具体地包括下述子步骤:

第一步、等值面提取:在边界立方体栅格内分片进行,采用三角形表面网格去逼近等值面,并hermite数据获取方式求取数据的最小点作为等值面顶点;

第二步、四面体网格模型构建:对等值面包含的内部三维区域进行四面体单元剖分,即对等值面内的立方体进行剖分,对边界立方体中的一部分进行剖分,完成生成四面体网格,获得三维人体组织模型。

可选地,用三角形表面网格去逼近等值面中出现的t型点问题,采用一种边平分法解决自适应四面体网格剖分时出现的t型点。

可选地,所述步骤s1包括:

从患者的医学断层图像提取出特定组织的体素点;

具体地,m1:初始化候选点队列为空;

m2:在医学断层图像的某一层上手工选择组织内的某一像素点p0,该像素点标记1;

m3:设定候选体素点加入候选点队列的条件:p0点灰度值-阈值<候选体素点的灰度值t<p0点灰度值+阈值,其中阈值为根据不同组织和影像类别人工设定的数值;

m4:依次判断p0点周围二十六邻域内的像素点,如果像素点满足加入候选点队列条件,将该像素点加入到队列中,且标记为1;

m5:从候选点队列中取出一点作为p0,该像素点从候选队列中删除,重复m4;

m6:当候选点队列为空时,所有标记为1的像素点即为特定组织的体素点。

本发明的有益效果是:

本发明利用从患者ct影像数据分割提取出的组织数据进行三维建模,借助虚拟现实设备,最大程度的还原真实的人体组织与手术场景,达到虚拟手术带来的沉浸感与交互性。

本发明的方法可构建人体的组织器官,供医生在手术前预演手术流程,探索手术方案,提高手术准确率,为临床医生的手术方案选择和手术培训发挥作用。

附图说明

图1为本发明提供的自适应等值面的提取的示意图;

图2为本发明提供的内部立方体剖分模板的示意图;

图3为本发明提供的边界立方体剖分模板的示意图;

图4为本发明提供的t型点的示意图;

图5为本发明提供的消除t型点的原理图;

图6为本发明提供的虚拟手术室场景效果图;

图7为本发明提供的碰撞检测包围盒的示意图;

图8为本发明提供的手柄示意图;

图9为本发明提供的虚拟手术场景功能示意图。

具体实施方式

为了更好的解释本发明,以便于理解,下面结合附图,通过具体实施方式,对本发明作详细描述。

本发明主要分为3步:

第一步、从患者的医学断层图像(ct/mri等)提取出特定组织的体数据;

第二步、依据体数据,建立特定组织的三维网格模型;

第三步、构建虚拟手术场景:构建手术室环境、将组织网格模型导入、加入碰撞检测。

下面分别对上述三个步骤进行详细描述:

2.1从患者的医学断层图像(ct/mri等)提取出特定组织的体素点;

举例来说,可包括下述的子步骤:

step1:初始化候选点队列为空;

step2:在医学断层图像的某一层上手工选择组织内的某一像素点p0,该点标记1;

step3:设定候选体素点加入候选点队列的条件:p0点灰度值-阈值<候选体素点的灰度值t<p0点灰度值+阈值,其中阈值可根据不同组织和影像类别由人工设定;

step4:依次判断p0点周围二十六邻域内的像素点,如果点满足加入候选点队列条件,将该点加入到队列中,且标记为1;

step5:从候选点队列中取出一点作为p0,该点从候选队列中删除,重复step4;

step6:当候选点队列为空时,所有标记为1的点即为特定组织的体素点。

2.2建立特定组织的三维网格模型

1)背景栅格建立

通常利用图像分割算法对患者医学断层图像(ct/mri)进行分割操作,可以获得人体某个组织体数据。体数据的每个元素被称为体素(voxel,volumeelement)或格元,体素的标识可以用图层,行,列的数字识别。本发明首先对组织体数据进行分类标注,用1代表组织内的体素,用-1代表组织外的体素,用0表示组织边界体素点,在此基础上建立背景栅格。

体数据就是三维坐标体素点,图像上都是二维坐标点,称为像素。由于医学断层图像是很多张二维图像组成,因此除了图像xy轴外,还有z轴信息,z的数值通常为图像所在的层数,比如第几层。可以将体数据修改为体素点。

背景栅格是根据分类的体数据在坐标轴三个方向上的采样生成的,其特点是它包含了整个待重建及网格生成的区域。而每个立方体栅格是通过栅格中相邻的采样点构成的,且这个立方体的角点定义就是其相邻的八个采样点。通过角点采样值为1或-1的相对性而言,判断立方体所在的位置建立相应分类的背景栅格:

1)完全在等值面外的立方体称为外立方体,每个角点的样本值为-1;

2)完全位于等值面内的立方体称为内立方体,每个角点的样本值为1;

3)边界立方体,其立方体角点的采样值既存在数值为1的点也存在数值为-1的点。

背景栅格是很多个规则立方体,就是把所有医学断层图像的体数据用若干个规则立方体(长宽高均为一个体素点单位)表示,每个立方体是在组织内、外,是边界上。

在建立组织体数据的背景栅格的基础构建组织的网格模型,主要分为:等值面提取、四面体网格模型构建、模型平滑等。

2)等值面提取

所谓的等值面是用于表示几何对象边界,且是空间中具有某个相同点值得集合,这些集合构成了一个曲面,用1代表组织内的体素(体素是体数据的最小单位),用-1代表组织外的体素,组织边界的等值面表示为:

sf={(x,y,z)f(x,y,z)=0}(1)

所谓的等值面提取就是在边界立方体内分片进行,由于等值面是连续的曲面,计算机只能构建多面体网格去逼近连续曲面。本发明采用三角形表面网格重去逼近等值面。

本发明提取的等值面提取方法如图1所示的那样,不同于规则立方体构成的背景栅格,本发明构造的背景栅格中相邻格元往往会出现在不同层次,这就导致某些交叉边只有三个相邻边界立方体和得到三个相邻最小点,就对这三个相邻最小点作为等值面的顶点进行连接,形成了一个三角面片。当然,对于存在的四个相邻最小点采取其同样的方法,生成两个三角面片。

边界立方体的相邻最小点求取方法采用求出其hermite数据,并利用hermite数据中法向信息的加入,去求取边界立方体中的二次误差最小点作为相邻最小点,并作为等值面的顶点。

具体地,两个角点采样值分别为1和-1的边构成了交叉边,根据等值面的定义,则等值面一定和交叉边相交于某一点。本发明采用了先求取交叉边上某交点的hermite数据(p,n),再利用此数据去计算二次误差最小点作为等值面顶点,可以更好地逼近等值面。

对于交点的求取采用以下方法:从角点采样值为1的一端开始,顺着交叉边去寻找满足f(v)=1,f(v+1)=-1的体素v,若寻找的到,则将体素v作为交点,若是找不到这样的体素,则交点取交叉边的中点。本发明中令所取交点为p(i,j,k),现在需要计算其表面的法线信息n=(nx,ny,nz)。表面法向信息的获取可采用对图像梯度估算方法,如梯度算子取中心差分算子,则可得到表面法向三个坐标点法向如下式(2),归一化法向信息就得到了交点的hermite的数据(p,n)。

通过以上的计算,获取了交点的hermite数据(p,n),基于此,接下来只要基于此计算出二次误差最小点即可。

在给出计算方法之前,先来说说为什么要使用二次误差最小点作为等值面顶点。对于获取的边界立方体,通过以上的计算获得了交叉边上的交点pi和法向ni,则边界立方体的二次误差为式(3),求得的二次误差大小可以为评估边界立方体内的某点x与等值面的关系,x随着误差的变小越接近实际的等值面。

而对于上述中求得hermite数据(p,n),确定了法向信息,则在立方体的内的点x在二次误差最小化过程中逐渐沿着等值面切线方向移动,从而可最终可达到尖锐特征处,更好地逼近实际等值面,保证了几何特征较好地保持。

求得的二次误差大小可以为我们评估边界立方体内的某点x与等值面的关系,x随着误差的变小越接近实际的等值面。而对于上述中求得hermite数据(p,n),我们确定了法向信息,则在立方体的内的点x在二次误差最小化过程中逐渐沿着等值面切线方向移动,从而可最终可达到尖锐特征处,更好地逼近实际等值面,保证了几何特征较好地保持。通过(4)获得二次误差最小点作为等值面的顶点即可。

3)四面体网格模型构建

通过以上对等值面的提取操作后,得到等值面包含的内部三维区域(包含背景栅格所有内部立方体和一部分边界立方体的一部分),用公式(5)表示如下:

vf(0)={(x,y,z)f(x,y,z)≥0}(5)

四面体剖分是对等值面包含的内部三维区域进行四面体单元剖分,得到四面体网格的过程。

本实施例中将对内部立方体和边界立方体使用定义的若干四面体剖分模版进行合理的剖分,并采用一种边平分法解决自适应四面体网格剖分时出现的t型点问题。

对于提取的等值面三角网格,其进行四面体剖分主要就分为两个部分:一就是对等值面内的立方体进行剖分,二就是对边界立方体中的一部分进行剖分,以下将从这两部分剖分说起,从而完成均匀四面体的剖分或者说四面体网格生成。

内部立方体的剖分相对边界立方体要简单的多。采用的方法往往就是利用自定义的若干个模板,将任意一个立方体剖分,剖分个数五个或更多四面体。同时,组成四面体的顶点全数来自背景栅格的点。例如图2就是定义的两个模板,利用这两个模板可以将内部立方体剖分为五个四面体。而且,使用这两个模板交替对相邻的立方体进行四面体剖分也保障了网格拓扑的一致性。

边界立方体是一个与等值面相交的立方体,它包含两部分,外等值面区域和内区域。对于边界立方体的剖分,只需要对其等值面内的部分剖分即可,这就要求在剖分时要去除等值面外的部分。基于此,剖分边界立方体相对剖分立方体要复杂一些。本实施例重点研究了针对边界立方体存在的交叉边、内部边、内部面等情况下的四面体连接问题,以期能够合理地进行边界立方体的四面体剖分。在剖分边界立方体之前,本节先对交叉边、内部边、内部面给予理清与介绍。

通过边界立方体的每个面的4个角点的标识值来区分边界立方体的面:

边界立方体中完全位于等值面外的面,其组成面的四个角点的标识值全为-1,在进行四面体单元剖分时不考虑在内;边界立方体中完全位于等值面内的面,其组成面的四个角点的标识值全为1,在进行四面体单元剖分时必须要考虑在内,这样的面也就称为内部面;而对于组成面的四个角点既包含1又包含-1的情况,则将其根据棱边去进行处理。

对棱边的分类,可根据四边形中构成每条边的两个角点的标识值加以区分:若组成棱边的两个角点的标识值都为-1,则称此棱边为外部边,剖分处理不予考虑;若组成的棱边的两个角点的标识值都为1,则称此棱边为内部边,内部边的邻域包含1到4个的边界立方体,剖分时考虑;若组成棱边的两个角点的标识值一个为1,另一个为-1,则称此棱边为交叉边,交叉边的四周立方体都是边界立方体,剖分时考虑。

图3中边界立方体细分模板对于不同的情况,例如边界立方体的相交边,内边和内部面,给出了四面体分解方法,其中立方体表示边界立方体,并且边界立方体的二次误差最小点用坚实的圆点表示,等值面内角点和外角点分别用实心方块和空心方块表示。具体实现说明是:

(1)对于交叉边的情况处理如图3(a)所示:在等值面提取阶段已经通过使用交叉边邻域的四个边界立方体内四个最小点的连接形成了两个三角面片。在四面体剖分阶段,只需要将把交叉边的内部角点与两个三角面片进行相连,就构造生成了两个四面体。

八叉树结构的特殊性,还会出现交叉边的邻域内只有三个最小点的情况,那么只需对这三个最小点连接即可,如图3(b)。

(2)对于内部边的情况处理根据其与内部边相邻的边界立方体个数可细分为以下四类:

(a)内部边相邻的边界立方体个数为四个情况下,其剖分模板如3(c)所示:首先对相邻边界立方体内的四个最小点进行相连得到了一个四边形,然后将四个最小点分别内部边的两个角点进行相连;

(b)内部边相邻的边界立方体个数为三个的情况下,其剖分模板如3(d)所示:将共面的的相邻的两个边界立方体中的最小点进行连接,然后和内部角点相连。

(c)内部边相邻的边界立方体个数为两个的情况下,其剖分模板如3(e)所示:若这两个相邻的两个边界立方体共面,则将他们中的两个最小点进行相连,然后在与内部边的两个角点进行相连,得到的四面体单元个数为1;

(d)内部边相邻的立方体最小点与内部边相连不可以组成一个四面体单元,不考虑。

(3)对于内部面的情况处理如图3(f)所示:直接将内部面的四个顶点与边界立方体最小点直接相连,得到一个金字塔状的物体,然后通过内部立方体对内部面对角线剖分,则就得到了两个四面体单元。

由上面对边界立方体进行剖分可知,其剖分方法使用了背景栅格的角点与边界立方体内的最小点相连的方法,所以说边界立方体剖分而来的四面体单元质量不如内部四面体剖分。

所谓的t型点,就是相邻格元由于尺寸的不同导致的小尺寸的格元的角点出现在大尺寸的格元的面或是边上的一种现象。如图4所示。也正是由于八叉树背景栅格构造的这种特殊性,使得t型点存在的必然性。t型点影响四面体网格的兼容性。所以在对自适应网格剖分完之后,t型点的去除也是一个需要解决的重要问题。

相邻立方体大小相差一倍,导致了t型点一定是边的中点。基于这一特性,提出了一种边平分方法去消除t型点问题,这种方法不需要添加额外的顶点,也同时完美地实现了t型点的消除。其具体原理可参见图5。如图5(a)所示,边上的正方块都是t型点,相邻立方体的边用虚线表示,对生成的四面体单元进行逐一观察,如果在四面体的边上发现t型点,则约束条件设置为相邻四面体的边,将t型点与对角顶点相连接,就将四面体分成了两个。循环操作以上方法,等到不存在t型点停止。

至此,就可以通过医学体数据的获取与预处理,背景栅格的构建,自适应等值面的提取,自适应四面体的剖分等步骤,生成一般需要的以四面体网格为代表的三维网格模型,该模型保存为.obj格式。

2.3虚拟手术场景构建

本系统的虚拟现实眼镜采用htcvive设备。

(1)本发明的手术室采用了和现实生活中手术室相当的3d模型来组成,包括病床、病人、手术台、手术刀,并对其位置,大小,角度进行了合理的调节,为不同的模型制作了相应的材质,并且在不同的方位为整个手术室添加了光照效果,使其更逼近于真实的手术室,如图6所示。

也就是说,操作者或用户带上虚拟现实眼镜之后,可呈现相当于现实生活中手术室的3d模型。

(2)将导出的.obj格式的人体组织模型加入手术室环境中。

(3)对人体组织模型添加碰撞检测包围盒:顶层包围盒采用包围球,下层的包围盒采用最小方向立方体,如图7所示。该部分通过编程的程序添加。

举例来说,对人体组织模型添加碰撞检测包围盒,由于人体组织的形状复杂性,采用最小方向立方体和最小包围球的混合包围盒。先计算最小方向立方体包围盒,然后计算包围球包围盒,虚拟手术中只要操作者触碰到最小立方体包围盒和包围球包围盒的范围即认为接触到了特定组织。

a:最小方向立方体包围盒计算方法包括立方体包围盒方向和大小两步计算。人体三维组织的模型由多个三角形面片(即网格)组成,用pi,qi,ri代表第i个三角形面片的顶点位置坐标,几何模型的位置坐标均值μ和协方差矩阵c的计算公式如下:

其中c是3×3的一个对称矩阵,n为组织模型三角形面片的数目,

根据数值计算求出协方差矩阵c的三个特征向量,并对特征向量做正规化处理求取三个正交向量,即为最小方向立方体包围盒的三个方向轴,求取所有三角形面片分别投影到三个轴向上最大值和最小值,获得包围盒的长、宽、高。

b:最小包围球包围盒包含对象的最小球体叫做包围球(sphere),其表示方法如公式(8)所示:

r={(x,y,z)|((x-cx)2+(y-cy)2+(z-cz)2<r2}(8)

其中r表示包围球的半径,(cx,cy,cz)是包围球的中心坐标。

包围球的计算简单,把所有基本几何元素的坐标值的平均值作为包围球的中心坐标,然后获得离中心坐标最大距离的几何元素坐标获得包围球的半径。

(4)设置3d模型关联的控制装置(如图8所示的手柄)的三个功能交互按钮,例如,按钮可包括在点击时实现人体组织器官的显示、隐藏、虚拟场景的退出,适当调节按钮界面的大小、位置、角度,并给予相应的材质。交互操作步骤如下:

(a)触碰“人体组织显示”界面,界面变为红色,按下左(右)控制器的扳机键可显示人体组织(肺气管和左右肺血管)预制体;

(b)触碰“人体组织隐藏”界面,界面变为红色,按下左(右)控制器的扳机键可隐藏人体组织(肺气管和左右肺血管)预制体;

(c)触碰“退出重置”界面,界面变为红色,按下左(右)控制器的扳机键可回到启动界面,重新开始虚拟操作;

(d)在人体组织显示的情况下,按下扳机键(trigger)7或侧键(grip)8可实现抓取肺气管、左或右血管进行立体观察;

(e)按下扳机键(trigger)7,可抓取手术刀,并利用手术刀对人体组织上存在的结节或其他病变组织进行切除模拟。

在图8中,7指的是扳机键,8指的是侧键。

2.4系统实现结果

本发明以肺部组织为例,利用从胸部影像分割出的支气管和肺部血管构建了虚拟手术系统,如图9所示。

上述各个实施例可以相互参照,本实施例不对各个实施例进行限定。

最后应说明的是:以上所述的各实施例仅用于说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述实施例所记载的技术方案进行修改,或者对其中部分或全部技术特征进行等同替换;而这些修改或替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。

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