一种ar全息手术导航系统坐标系转换方法、装置及系统
技术领域
1.本发明涉及医学影像技术领域,具体涉及一种ar全息手术导航系统坐标系转换方法、装置及系统。
背景技术:
2.随着计算机辅助外科手术技术的快速发展,手术导航系统被广泛应用于外科手术中。手术导航系统能够定位手术器械,并在屏幕上实时显示手术器械相对病灶的位置以及病灶区矢状位、水平位和冠状位的组织结构等,最终引导临床医生调整手术器械的位置,进而更加快速、安全、准确地完成手术。但基于2d显示器的传统手术导航需要术者的视线在患者病灶部位和屏幕之间切换,存在手眼协调问题和深度信息缺乏问题,这些弊端都制约着现有的手术导航系统融入手术室,很难被大部分医生所认同和接受。
3.增强现实(argmentedreality,ar)技术是借助光电显示技术、传感器技术、计算机图形学等,将计算机生成的虚拟模型与使用者所在的现实场景融为一体,使用户从感官效果上确信虚拟物体是周围真实环境的组成部分。hololens是由微软推出的ar显示设备,也是一款完全独立的头戴式计算机。因此把ar技术应用于手术导航中,将患者病灶部位ct图像三维重建为虚拟立体模型后,借助ar显示设备hololens直接与病灶部位在空间中叠加显示在术者眼前,将有效解决以上问题。
4.但由于导航端和ar显示设备分别采用不同的坐标系,这就涉及到不同坐标系之间的数据的转换问题。而现有技术中,涉及到不同坐标系的转换时,要求左手和右手坐标系的坐标原点相同、x轴指向也要相同,限制条件比较苛刻,并不适合导航端和ar显示设备坐标系统的转换。
技术实现要素:
5.由于导航端是右手坐标系,传送出来的数据信息都是右手坐标系下的数据信息。而hololens是左手坐标系,因此本发明涉及到相同坐标系下(右手转右手)的位置信息转换和不同坐标系下(右手转左手)的位置信息转换。并且由于服务端发送的数据有一些是四元组形式(旋转矩阵 三维坐标)的数据,因此除了三维坐标的坐标系转换,还涉及到不同坐标系下的旋转矩阵转换、从旋转矩阵中反求旋转角度以及坐标校准的问题。
6.本发明所要解决的技术问题是现有技术中的坐标系转换方法,并不适合手术导航端和ar显示设备坐标系统间转换的问题,目的在于提供一种ar全息手术导航系统坐标系转换方法、装置及系统,也就是一种新的坐标系转换方法,解决了手术导航端和ar显示设备坐标系间转换问题。
7.本发明通过下述技术方案实现:
8.一种ar全息手术导航系统坐标系转换方法,在第二坐标系中设置锚点,并将所述锚点在第二坐标系中的位置作为第一坐标系的原点;将所述锚点在第二坐标系中的位姿,转换到第一坐标系中,得到所述锚点在第一坐标系下的锚点四元组位姿数据;获取第一坐
标系下目标对象的第一位姿数据,结合所述锚点四元组位姿数据对所述第一位姿数据进行坐标系转换,得到目标对象在第二坐标系下的第二位姿数据;其中,所述第一位姿数据和所述第二位姿数据包括三维坐标和/或旋转矩阵。
9.本发明通过在第二坐标系中设置锚点,作为第二坐标系的原点,再映射到第一坐标系中形成此原点的四元组位姿数据。再将第一坐标系中的目标对象的位姿数据通过设置的锚点的四元组位姿数据,转换到第二坐标系中,实现了第一坐标系到第二坐标系的转换。本发明作为一种全新的坐标转换方法,并不要求两个坐标系的坐标原点相同,也不要求x轴指向相同,能更加的适应于某些特殊场景。比如,手术导航端和ar显示设备坐标系统之间的坐标转换。
10.进一步的,还包括:通过二维码标定方法对所述第二位姿数据进行坐标校准。
11.进一步的,所述第一坐标系为右手坐标系;所述第二坐标系为左手坐标系。
12.进一步的,所述第一坐标系为手术导航设备的坐标系,所述第二坐标系为ar设备的坐标系。
13.进一步的,根据目标对象初始时刻位置的第二位姿数据,在ar设备视野中构建初始模型;将目标对象在t时刻位置的第二位姿数据,赋值给所述初始模型,并在ar设备的画布上实时显示目标对象t时刻位置、t
‑
1时刻位置与初始位置的角度、位置、深度偏移信息。
14.进一步的,所述目标对象包括:实施手术的器官模型、手术器械模型、手术点位置。
15.进一步的,预设手术器械模型与器官模型的标准相对位置关系,若所述角度、位置偏离所述标准相对位置关系,则在ar设备的画布上对偏离的角度、位置进行警示,并根据偏离程度进行多级警示。
16.进一步的,所述ar设备为hololens。
17.本发明的另一种实现方式,一种ar全息手术导航系统坐标系转换装置,包括:第一坐标模块:用于接收第二坐标模块中所述锚点在第二坐标系中的位姿,得到所述锚点在第一坐标系下的锚点四元组位姿数据;用于获取第一坐标系下目标对象的第一位姿数据,结合所述锚点四元组位姿数据对所述第一位姿数据进行坐标系转换,得到目标对象在第二坐标系下的第二位姿数据,并将第二位位姿数据发送给第二坐标模块;第二坐标模块:用于设置锚点,并将所述锚点在第二坐标系中的位置作为第一坐标系的原点;将所述锚点在第二坐标系中的位姿,发送给第一坐标模块中;用于接收来自第一坐标模块的第二位姿数据,并根据目标对象的第二位姿数据在ar设备视野中建立的相应的模型;全息显示模块,用于显示所述模型、所述锚点,同时显示下不同时刻下所述模型的位置及角度偏移量;其中,所述第一位姿数据和所述第二位姿数据包括三维坐标和/或旋转矩阵;所述目标对象包括:实施手术的器官模型、手术器械模型、手术点位置。
18.本发明与现有技术相比,具有如下的优点和有益效果:
19.本发明方法不要求进行坐标系转换的两个坐标系的坐标原点相同,也不要求x轴指向相同,能更加的适应于手术导航端和ar显示设备坐标系之间的坐标转换,且缩短了标定时间,更好的适应了实际工作的需要。通过二维码校准能够降低导航端与ar显示设备坐标误差。
附图说明
20.此处所说明的附图用来提供对本发明实施例的进一步理解,构成本技术的一部分,并不构成对本发明实施例的限定。在附图中:
21.图1为实施例1的方法示意图;
22.图2为实施例2装置的模块图;
23.图3为实施例3坐标转换的基本原理图;
24.图4为实施例3数据传输流程图;
25.图5为实施例3全息显示的模型图。
具体实施方式
26.由于导航端是右手坐标系,传送出来的数据信息都是右手坐标系下的数据信息。而hololens是左手坐标系,因此本发明涉及到相同坐标系下(右手转右手)的位置信息转换和不同坐标系下(右手转左手)的位置信息转换。并且由于服务端发送的数据有一些是四元组形式(旋转矩阵 三维坐标)的数据,因此除了三维坐标的坐标系转换,还涉及到不同坐标系下的旋转矩阵转换、从旋转矩阵中反求旋转角度以及坐标校准的问题。
27.为使本发明的目的、技术方案和优点更加清楚明白,下面结合实施例和附图,对本发明作进一步的详细说明,本发明的示意性实施方式及其说明仅用于解释本发明,并不作为对本发明的限定。
28.实施例1
29.本实施例1是一种ar全息手术导航系统坐标系转换方法,如图1所示,在第二坐标系中设置锚点,并将锚点在第二坐标系中的位置作为第一坐标系的原点;将锚点在第二坐标系中的位姿,转换到第一坐标系中,得到锚点在第一坐标系下的锚点四元组位姿数据;获取第一坐标系下目标对象的第一位姿数据,结合锚点四元组位姿数据对第一位姿数据进行坐标系转换,得到目标对象在第二坐标系下的第二位姿数据;其中,第一位姿数据和第二位姿数据包括三维坐标和/或旋转矩阵。本实施例1通过在第二坐标系中设置锚点,作为第二坐标系的原点,再映射到第一坐标系中形成此原点的四元组位姿数据。再将第一坐标系中的目标对象的位姿数据通过设置的锚点的四元组位姿数据,转换到第二坐标系中,实现了第一坐标系到第二坐标系的转换。本实施例1作为一种全新的坐标转换方法,并不要求两个坐标系的坐标原点相同,也不要求x轴指向相同,能更加的适应于某些特殊场景。
30.在一种可能的实施例中,还可以通过二维码标定方法对第二位姿数据进行坐标校准。使得校准后坐标系中的位姿数据更加精确。
31.在一种可能的实施例中,第一坐标系为右手坐标系;第二坐标系为左手坐标系。
32.在一种可能的实施例中,第一坐标系为手术导航设备的坐标系,第二坐标系为ar设备的坐标系。
33.在一种可能的实施例中,根据目标对象初始时刻位置的第二位姿数据,在ar设备视野中构建初始模型;将目标对象在t时刻位置的第二位姿数据,赋值给初始模型,并在ar设备的画布上实时显示目标对象t时刻位置、t
‑
1时刻位置与初始位置的角度、位置、深度偏移信息。
34.在一种可能的实施例中,目标对象包括:实施手术的器官模型、手术器械模型、手
术点位置。
35.在一种可能的实施例中,预设手术器械模型与器官模型的标准相对位置关系,若角度、位置偏离标准相对位置关系,则在ar设备的画布上对偏离的角度、位置进行警示,并根据偏离程度进行多级警示。多级警示可以通过颜色区分来表明,也可以通过在ar设备的画布上标记特殊符号来表明,也可以通过其他的一些方式,达到警示的作用。
36.实施例2
37.本实施例2是在实施例1的基础上,如图2所示,一种ar全息手术导航系统坐标系转换装置,包括:
38.第一坐标模块:用于接收第二坐标模块中锚点在第二坐标系中的位姿,得到锚点在第一坐标系下的锚点四元组位姿数据;用于获取第一坐标系下目标对象的第一位姿数据,结合锚点四元组位姿数据对第一位姿数据进行坐标系转换,得到目标对象在第二坐标系下的第二位姿数据,并将第二位位姿数据发送给第二坐标模块;
39.第二坐标模块:用于设置锚点,并将锚点在第二坐标系中的位置作为第一坐标系的原点;将锚点在第二坐标系中的位姿,发送给第一坐标模块中;用于接收来自第一坐标模块的第二位姿数据,并根据目标对象的第二位姿数据在ar设备视野中建立的相应的模型;
40.全息显示模块,用于显示模型、锚点,同时显示下不同时刻下模型的位置及角度偏移量;
41.其中,第一位姿数据和第二位姿数据包括三维坐标和/或旋转矩阵;
42.目标对象包括:实施手术的器官模型、手术器械模型、手术点位置。
43.实施例3
44.本实施例3是在实施例1的基础上。一种新的坐标转换及校准方法,包括下列步骤:
45.hololens使用unity开发,在unity开发中将main camera坐标为设置为(0,0,0)时,hololens在开启项目时会以当前hololens在现实世界的位置建立一个左手世界坐标系,因此重点就是导航的右手坐标系下的位姿数据信息在hololens左手坐标系的位姿对齐的问题。然而由于无法确定hololens设备的具体某个位置作为坐标系的坐标原点,本实施例3在hololens设备上安装锚点并将此锚点作为hololens坐标系的原点,但是金属锚点在手术导航下是右手坐标系,因此涉及到右转右和右转左两个坐标系转换方法。
46.首先服务端发送锚点在其右手坐标系下的四元组位姿数据(旋转矩阵和三维坐标),客户端接收数据并保存下来,之后所有的服务端发送的脊椎模型位姿、手术器械位姿、进针出针点位置都要经过这个一开始接收的旋转矩阵和三维坐标位置转换右手坐标系。
47.本实施例3提供的新的坐标转换及校准方法包括下列步骤:
48.假设服务端发送的某一个点为p,该点在坐标系a中的坐标是p
a
=[x
a
,y
a
,z
a
]
t
,在坐标系b中的坐标是p
b
=[x
b
,y
b
,z
b
]
t
,其中a,b均为右手坐标系,在右手坐标系下,点p的坐标从a到b符合以下关系:p
b
=r
right
p
a
t
right
,r
right
为右手坐标系下旋转矩阵,t
right
为右手坐标系下平移矩阵,将其三维坐标的z轴取反:
[0049]
p
a
=[x
a
,y
a
,
‑
z
a
],p
b
=[x
b
,y
b
,
‑
z
b
]
[0050][0051]
旋转矩阵左乘和sz的逆矩阵转成hololens左手坐标系。
[0052]
手术器械模型的动态加载通过prefab形式,服务端在发送实时器械信息数据包时会在头文件中指明是哪个器械模型(字符串格式),通过解析这个数据的头文件可以通过判别这个字符串是否和上一次的字符串是同一个字符串,如果是同一个字符串就不做机械加载处理,只改变器械模型的位置和角度。如果字符串不同则首先销毁当前的所有子物体然后再根据新的字符串实例化prefab作为子物体。通过改变父物体的位置和角度从而改变子物体的位置和角度。
[0053]
位置信息偏移:通过实时计算以进针点出针点两个点为矢量1,进针点手术器械点为矢量2,通过计算两个矢量的夹角判断二者位置偏移。
[0054]
角度信息偏移:通过实时计算以进针点出针点两个点为矢量1,当前器械模型的z轴矢量2,通过计算两个矢量的夹角判断二者的角度偏移。
[0055]
深度信息:计算出针点和器械模点的位置距离。
[0056]
完成坐标系转换后,为了降低导航端与hololens设备坐标误差,本实施例3通过二维码标定的方法进行坐标校准,其主要根据二维码在导航端中的位置和二维码在hololens设备中的位置,计算出相机的当前位置。
[0057]
步骤1,生成二维码图像,并对其进行图像处理,以获得该二维码的位置信息。寻找二维码的三个角的定位角点,需要对图片进行平滑滤波,二值化,寻找轮廓,筛选轮廓中有两个子轮廓的特征,从筛选后的轮廓中找到面积最接近的3个即是二维码的定位角点。
[0058]
步骤2:判断3个角点处于什么位置,主要用来对图片进行透视校正(相机拍到的图片)或者仿射校正(对网站上生成的图片进行缩放拉伸旋转等操作后得到的图片)。需要判断三个角点围成的三角形的最大的角就是二维码左上角的点。然后根据这个角的两个边的角度差确定另外两个角点的左下和右上位置。
[0059]
步骤3,根据这些特征识别二维码的范围,通过这些外参数计算二维码相对于导航端的相对位置,以二维码安装基准面为坐标原点建立在hololens设备上的坐标系。
[0060]
本实施例3还包括系统框架、数据通信模块、全息显示模块和操作预警模块。
[0061]
系统框架:导航系统作为服务端,hololens作为客户端,二者通过socket建立连接,客户端接收服务端发送的hololens位姿信息(四元组)、病人脊椎模型四元组、进针点出针点的位置(三维坐标点)、实时手术器械的位置(四元组)。客户端接收上述原始数据后需要对数据进行处理转换成hololens坐标系下的数据信息,并且保持空间相对位置的准确性。最后将处理后的数据依次赋值给相应的hololens视野中的模型,并在画布上显示实时与目标位置的角度、位置、深度偏移信息。
[0062]
数据通信模块:通过数据接口与手术导航系统连接,获取实时数据,包括:骨骼模
型、hololens坐标、手术器械坐标、手术操作点信息;然后对接受到的数据进行处理,主要包括数据存储、坐标转换、角度偏移计算以及深度信息。
[0063]
其中,坐标转换的基本原理如图3如示,p为目标坐标点,p'为器械的实时坐标;l为器械的目标角度,l'为操作时的器械;θ为实际角度与目标角度的角度差。
[0064]
坐标转换完成后,通过二维码进行导航端与hololens设备坐标标定,以减少误差。
[0065]
数据传输流程如图4所示。
[0066]
全息显示模块:通过定位数据计算模型显示锚点,显示病人的骨骼重建模型(也可以是病人的其他器官模型)、预设手术点、以及手术器械模型;同步模型位置信息与实际手术操作,并将信息以虚拟现实叠加的形式显示在ar设备中,设计数据显示画布,在hololens视野固定位置显示位置、角度偏移量。
[0067]
视野左上角为数据现实部分,在固定画布上显示实时的偏移数据。其余视野则是作为观看模拟模型的视野,全息显示的模型如图5所示。
[0068]
操作预警模块:实时处理定位数据,计算器械与目标点的坐标偏移以及角度偏移;模型显示,同步显示操作时器械坐标点与目标操作点的位置与角度;颜色预警,通过坐标与角度偏移量来改变模型颜色实现操作预警,预设颜色有三种,分别为:红、黄、绿,绿色表示符合手术操作要求,红色表示不符合手术操作要求,黄色作为过渡色,起到警告作用。
[0069]
本实施例3可以实现导航端与hololens端的坐标转换,缩短系统标定时间,再通过二维码校准能够降低导航端与hololens设备坐标误差。本实施例3坐标变换是通用的,不用限制原点和x轴指向相同。由于导航端一切数据皆默认是右手坐标系,不能提供右手坐标系直接转左手坐标系的数据,所以本实施例3处理左转右是分两步,重点就是在hololens设备上安装锚点,通过锚点坐标系作为右手转左手坐标系的中间站。首先将导航端坐标系下的数据转到锚点坐标系下的数据(右转右),然后再将锚点坐标系下的数据转到hololens左手坐标系的数据(右转左),最终实现导航端右手坐标系转左手坐标系。本实施例3的渲染可以直接交给hololens,在hololens客户端完成渲染。
[0070]
本领域普通技术人员可以理解实现上述事实和方法中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,涉及的程序或者所述的程序可以存储于一计算机所可读取存储介质中,该程序在执行时,包括如下步骤:此时引出相应的方法步骤,所述的存储介质可以是rom/ram、磁碟、光盘等等
[0071]
以上所述的具体实施方式,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施方式而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
转载请注明原文地址:https://win.8miu.com/read-25518.html