基于双目视觉和混合现实的光学手术导航仪
2023-01-15万新军方之强沈李正一
董 韶,万新军,方之强,沈李正一
(上海理工大学 光电信息与计算机工程学院 上海 200093)
引 言
颅底及颌面外科因其复杂的解剖结构以及治疗目的的特殊性[1-2],对手术操作要求较高。当前的发展趋势为数字化与术中导航技术结合。数字化技术在手术中的应用使得外科医生能够更精准、高效地帮助患者重建其外形[3]。计算机辅助导航技术基于电子计算机断层扫描(computed tomography,CT)、磁 共 振 成 像(magnetic resonance imaging,MRI)以及超声成像等医学图像,利用高精度的定位仪器对手术器械定位跟踪,达到图像引导手术的目的,提高了手术安全性以及成功率[4]。但此技术存在一些问题:第一,患者与导航系统所用的图像之间缺乏直接的空间关系[5];第二,显示屏显示的为二维图像,缺乏深度信息且不直观,完全依靠医生的经验来进行手术操作;第三,外科医生需要交替观察显示器和术区[6],来回切换视线容易造成视觉疲劳,进而影响手术的精确性。这些问题使得手术导航技术在颅颌面骨性手术的应用受到限制。
近年来,计算机性能的提升以及图像处理和显示技术的发展,使得混合现实技术得以发展。自微软推出Hololens头戴显示设备以来,基于Hololens的混合现实手术导航系统应用越来越广泛[7]。混合现实系统可以将计算机生成的虚拟物体、场景等实时叠加显示到真实场景中,增强了使用者对真实世界的感观[8]。混合现实技术结合即时定位与地图构建(simultaneous localization and mapping,SLAM)技术应用于手术导航中,能实现精确的定位跟踪[9]。混合现实手术导航技术可以将规划好的虚拟模型精准叠加显示到术区,这使得外科医生的视线不用离开手术视野,既保证了手术的安全性也减缓了医生的视觉疲劳,提高了手术效率。目前混合现实技术在临床上已经有较多的研究。Zhu等[10]运用混合现实技术为20例下颌骨畸形患者进行整形手术,基于与下颌骨固定连接的识别图进行定位,确定下牙槽神经管位置以及显示术前规划的截骨线。但该方案仅适用于下颌骨手术,制造专用夹板也需要耗费时间,且咬合夹板的松动会导致注册的错误。Teatini等[11]通过将跟踪小球固定于混合现实(mixed reality, MR)眼镜上,利用手眼标定法找到光学跟踪仪和MR眼镜两个坐标系的转换关系,使得最终的配准精度在8 mm左右。但该方案需要在MR眼镜上增加参考物,这增加了系统的复杂度。并且手眼标定流程复杂,最终的配准精度较低。Sun等[12]通过以探针测量在MR眼镜中显示的正交轴,以获取世界坐标到虚拟场景的映射。该方案有一定的便利性,但因手抖以及虚拟轴点漂移等因素,对最终的配准精度有一定影响。
本文提出了一种新颖的虚实配准方法,通过此方法可以获得混合现实眼镜坐标系与双目测量坐标系之间的转换矩阵,完成虚拟模型在两个坐标系中的转换。这种方法是通过在混合现实眼镜里显示与参考支架上的反光球大小相同的虚拟小球,并通过手势将其进行移动直至与参考支架上的反光球重合,由虚拟小球和反光球这两组对应的坐标进一步求解转换矩阵。相比于利用识别图进行定位,利用双目视觉定位的精度更高且系统更稳定。导航仪的配准方案相较于在MR眼镜上增加跟踪球,以及在MR眼镜里显示虚拟轴点等方案,系统复杂度较低,不受手抖因素的影响,操作简单,更易于应用到临床手术中。
1 光学手术导航仪设计
1.1 光学手术导航仪结构
如图1所示,导航仪主要包括3个子系统:区域1是光学跟踪仪子系统;区域2是MR眼镜子系统;区域3是数据处理子系统。另外,区域4、区域5和区域6所示分别是头骨模型、参考支架和探针。光学跟踪仪子系统跟踪带有反光标志球的探针以及被动参考支架的姿态,并将其位置坐标通过串口发送到数据处理单元。数据处理单元结合MR眼镜发送的虚拟配准点的坐标进行变换矩阵的计算,并将该矩阵以特定的形式发送给MR眼镜子系统,以控制虚拟模型的运动。
图 1 光学手术导航系统Fig. 1 Optical surgical navigation system
光学跟踪仪基于双目视觉原理来确定反光标志点的空间坐标,是目前手术导航定位系统主要采用的定位装置[13]。双目立体视觉的测量是根据光学三角法原理进行空间标志点的三维信息获取[14]。本文所采用的光学跟踪仪为NDI公司的Polaris系列,测量精度在0.25 mm内,最大帧率为20 帧/s。在导航过程中,光学跟踪仪可以实时获取探针和参考支架上的反光标志球的坐标,从而得到探针和参考支架的空间位置。
MR眼镜是结合惯性测量单元与摄像头提供的信息实时评估用户姿态,并将图像输出给全息显示器,最终将虚拟模型投射在空间环境中[15]。混合现实最关键的技术是SLAM技术。通过SLAM技术,MR眼镜可以判断全息影像相对于自身以及现实空间的位置。SLAM获取深度的方法主要有3种:第一是基于视差原理的双目视觉方法获取深度;第二是通过将光进行编码并射出打在物体上,由于编码光打在不同物体上的畸变程度不同,从而推断出物体立体信息,这种方法称为结构光法;第三是通过对光发射到物体表面并反射回来的时间差计算出物体深度信息,这种方法称为飞行时间(time of flight, ToF)方法。本文的导航仪采用的MR眼镜是微软推出的HoloLens 2代(HoloLens2)。HoloLens2的深度相机是基于ToF原理获取的。HoloLens2使用环境感知摄像头捕获真实环境图像,从中提取特征点,再匹配相邻帧图像的特征点,通过特征点相对位置的变化来反向推出HoloLens2转动的角度和产生的位移,从而算出HoloLens2的运动。
通过数据处理子系统可以建立光学跟踪子系统与MR眼镜子系统之间的连接,并对位置、姿态等数据进行处理。数据处理子系统还作为服务器向MR眼镜实时无线传输数据,控制虚拟模型的移动。
1.2 工作流程设计
(1)CT扫描与三维模型重建
术前患者进行薄层螺旋CT扫描。采用LightSpeed Ultra 16螺旋CT机(美国GE公司)进行多层螺旋 CT 薄层扫描。扫描范围为颅顶至舌骨水平,预设硬组织窗(250~3000 Hu),采用连续不重叠、轴向体层扫描方式,扫描参数为:层厚1.25 mm,螺距1.35,球管电流250 mA,电压120 kV,获取像素矩阵512×512,像素大小0.449 mm,重建薄层厚度1 mm。
本系统利用Simplant Pro Version 11.04软件进行重建。首先,将CT生成的DICOM格式文件导入Simplant软件进行转化;然后,确定三维重建的阈值范围,预设阈值为250~3071 Hu,获取颅颌面三维重建骨组织影像并去除颈椎结构;最终,完成颅颌面硬组织模型的三维重建。
(2)规划虚拟场景
将规划好的虚拟模型导入Unity虚拟场景设计软件。场景如图2所示,场景里包含虚拟模型、虚拟标志点以及设计的UI操作界面。将场景打包成UWP应用程序,通过Visual Studio开发环境将UWP应用程序导入到HoloLens2中。
图 2 规划虚拟场景图Fig. 2 Planning a virtual scene
(3)坐标转换
利用参考支架上的4个反光球作为真实标志点,设计与反光标志球等大的4个虚拟球作为虚拟标志点。获取4个虚拟球和4个真实反光球的坐标,完成虚拟模型坐标系到光学跟踪仪坐标系的转换。采集患者的牙尖和对应的虚拟模型上的牙尖的坐标完成光学跟踪仪坐标系到MR眼镜坐标系的转换。
(4)计算最终转换矩阵并无线传输到眼镜端
鉴于TCP通信稳定可靠,在MR眼镜和数据处理单元之间选择建立TCP连接,提供一种可靠的、面向连接的字节流服务。其中MR眼镜作为客户端,数据处理单元作为服务器,实现数据的双向无线传输。在服务器端进行数据的采集与计算,利用服务器和客户端之间的双向通信,将转换矩阵以特定的格式无线传输到客户端,控制虚拟模型的旋转与平移。为了避免数据拥塞或出现错误,设计了特定的运行机制。只有在客户端完成数据的响应并返回特定字符,服务器才会继续发送姿态数据,这增强了混合现实手术导航系统的安全性。服务器工作流程见图3。
图 3 服务器工作流程Fig. 3 Workflow of the server
(5)数据的实时更新
光学跟踪仪通过跟踪固定在头骨上的参考支架,实时获取其位置坐标,并通过参考支架前后两帧的坐标变化计算转换矩阵。由于参考支架和头骨是刚性连接的,跟踪仪可以得到前后两帧头骨位置的变换,实时更新虚拟头骨模型的位置。
导航仪的帧率受3个因素的影响:一是光学跟踪仪的采集;二是数据处理单元对数据的处理;三是无线传输。为了确定光学手术导航仪的实时帧率,将数据采集、处理和无线传输三个过程视为一个完整的周期。通过打印若干周期的时间来计算导航仪的实时帧率,最终确定导航仪的更新速率约为15 帧/s。考虑到患者在手术过程中不会快速移动,认为其帧率符合临床要求。
2 虚实配准模型和方法设计
2.1 基于奇异值分解(SVD)的虚实配准模型
整个混合现实手术导航系统包括3个坐标系,分别是:{Tr}光学跟踪仪坐标系,{V}虚拟模型坐标系,{H}MR眼镜坐标系。3个坐标系的转换关系见图4。
图 4 混合现实导航仪不同坐标系转换原理图Fig. 4 Coordinate transformation principle
虚实融合配准的最终目的是通过确定3个子坐标系之间的转换关系,从而实现将虚拟模型配准到真实世界物体上,具体步骤如下:
根据刚体变换的知识,不同坐标系之间的转换可以通过求解一组旋转及平移矩阵求得。若已知P为跟踪仪坐标系中的点集,Q为MR眼镜坐标系下的对应点集,则P和Q的转化关系为:
若用f表示源点集P在变换矩阵R和T作用下相对于目标点集Q之间的误差,则求解最优的转换矩阵即为求解当满足误差f最小时的变换矩阵R和T,即:
得到最优的变换矩阵可以分解为以下步骤:
︿P︿Q
(1)寻找两个点集的质心 和 。
(2)构建协方差矩阵E,使用奇异值分解(SVD)方法,找到最佳矩阵R和T。
最终矩阵R和T可表示为:
若点集中点的个数大于3,则求得的为最小二乘解。
2.2 虚实标定方法的设计
本文提出的虚实标定方法用于得到光学跟踪仪坐标系与MR眼镜坐标系之间的转换关系。基于参考支架上的4个反光球,在眼镜虚拟坐标系里显示与之对应的大小完全相同的虚拟球,并依次移动这些虚拟球与参考支架上的小球完全重合,此时得到虚拟球球心在MR眼镜坐标系中的位置坐标,以及参考架上反光球球心在光学跟踪仪坐标系下的坐标。通过这两组对应点的坐标,计算光学跟踪仪坐标系到MR眼镜坐标系的转换矩阵。
将4个虚拟球导入到虚拟场景设计软件Unity中,将可抓取功能的脚本附着在虚拟球上使虚拟球可以用手抓取并移动。Unity场景中还设计了若干不同功能的虚拟按键,如图5所示,区域1中Connect和Disconnect按钮分别用于与服务器建立和断开无线连接,Get_position按钮用于向服务器发送虚拟球在MR眼镜坐标系下的坐标。Reset按钮用于重新初始化虚拟场景。Hide按钮用于配准完成后隐藏4个虚拟球。区域2中的按钮用于控制虚拟球6个方向的平移。区域3中的按钮用于切换被控制的虚拟小球。
图 5 虚拟配准场景Fig. 5 Virtual registration scene
完整的注册过程包括4个步骤。
(1) 配准开始时,在MR眼镜中显示配准场景。单击Connect 按钮,与服务器建立连接。
(2) 用手依次抓取4个虚拟小球并移动它们与参考支架上对应的反光球大致重叠,操作场景如图6所示。其中,显示屏上显示的为MR眼镜里看到的场景。
图 6 配准操作场景Fig. 6 Operation scene during registration
(3) 点击区域2中的按钮微调虚拟小球的位置,直到虚拟球和真实的反光球完全重叠。
(4)点击Get_position按钮,可以得到4个虚拟球在MR眼镜坐标系中的坐标和4个反光球在光学跟踪仪坐标系中的坐标。通过这两组对应点的坐标,计算光学跟踪仪坐标系与MR眼镜坐标系之间的转换矩阵,完成这两个坐标系的配准。
3 导航仪精度验证实验设计
为了进行误差分析,定制了如图7所示的梯台进行实验。该梯台上底边长为100 mm,下底边长为150 mm,高为100 mm。梯台角点清晰且易于测量,故适合进行精度验证。
图 7 实验模型及标志点Fig. 7 Experimental models and markers
取梯台上的6个标记点(标白的点1至点6)进行配准,4个顶点(标黄的点1至点4)进行精度验证。具体验证步骤如下:
(1)用户戴上MR眼镜,运行设计好的 MR导航软件并与服务器建立连接。在虚拟场景中,用手依次抓取4个虚拟球并移动它们与参考支架上的反光球大致重叠,然后通过点击旁边的按钮精确控制虚拟球的旋转和平移,使之与参考支架上的反光球完全重叠。
(2)用探针依次测量标记点1至标记点6在跟光学跟踪仪坐标系中的坐标,计算出虚拟模型坐标系与光学跟踪仪坐标系之间的转换矩阵。
(3)利用虚拟球和真实反光球的两组坐标计算光学跟踪仪坐标系和MR眼镜坐标系之间的转换矩阵。
(4)根据步骤2和步骤3中得到的转换矩阵计算最终的转换矩阵。
(5)将最终的转换矩阵以特定的格式无线发送到MR眼镜,将虚拟梯台与真实梯台配准,如图8所示。其中,蓝色的模型为虚拟梯台,黑色的模型为真实的梯台。图片是通过MR眼镜拍摄,虚拟模型与真实梯台的配准状态与使用者佩戴眼镜观测的不完全一样(实际佩戴观看较为准确),其准确的精度数据以表1记录的为准。
图 8 配准完成后的效果图Fig. 8 The effect after the registration is completed
(6)用探针依次测量梯台上的4个验证点,将其记作Qi(x,y,z),然后依次测量与之对应的4个 虚 拟 标 记 点 的 坐 标,记 作Pi(x,y,z)。其 中i的值为1,2,3,4。计算Pi与Qi的距离,记作|PiQi|,可表示为:
|PiQi| 的值即为梯台上真实标记点与虚拟模型上的标记点的误差。利用真实标记点与虚拟标记点的误差可以实际表示出系统真实的配准精度,进而验证本导航仪配准方法的效率以及可靠性。
重复上述验证过程,共采集8组精度数据,以减小测量误差,将最终每个点的精度记录在表1中。
表 1 梯台模型的配准误差Tab. 1 Registration error of experimental models
将数据导入 MATLAB 软件,生成误差箱线图,见图9所示。其中,数据的上边缘、下边缘、中位数和两个四分位数都已经在图中表示出来。
图 9 梯台模型配准误差Fig. 9 Registration error of experimental models
结合表1和图9可以看出,最小的误差为1.6 mm,最大的误差为6.6 mm,误差值多数集中在3 mm至5 mm之间,总平均误差为4.5 mm。用梯台模型验证完精度后,进一步利用3D打印的头骨模型进行验证。实际配准效果见图10。其中,显示屏上显示的为MR眼镜里看到的场景。
头骨模型上做了若干标记点用于配准及精度验证。如图11(a)所示,配准点为牙齿上方的6个十字标记点,验证点为图中标红的点1至点4。经过配准操作后,虚拟头骨和真实头骨模型配准在一起,如图11(b)所示。蓝色的模型为虚拟头骨,白色的为3D打印头骨模型,可以看到,两者基本重叠在一起(佩戴眼镜实际观测效果要好于照片效果)。为了验证提出的配准方法的适用性,针对该3D打印的头骨模型,4名实验者,每人进行2次,参与实验验证,共进行了8组实验,实验数据记录在表2中。
图 10 配准完成后的场景图Fig. 10 The scene after registration is complete
图 11 头骨模型及虚实融合场景Fig. 11 Skull model and virtual reality fusion scene
表 2 头骨模型的配准误差Tab. 2 Registration error of skull model
将数据导入MATLAB 软件,生成误差箱线图,详见图12。其中,数据的上边缘、下边缘、中位数和两个四分位数都已经在图中表示出来。
图 12 头骨模型配准误差Fig. 12 Registration error of skull model
结合表2和图12可以看出,头骨模型的配准总平均误差在4.4 mm左右,最小的误差为1.9 mm,最大的误差为6.4 mm,误差值多数集中在3 mm至5 mm之间,总体和梯台模型验证结果一致。
另外,虚实配准过程所消耗的时间也是评价导航仪性能的指标之一。虚实配准操作包含两个过程,首先是建立MR眼镜坐标系与光学跟踪仪坐标系转化关系的虚实标定过程,然后是用探针依次测量配准点在光学跟踪仪坐标系中的坐标,完成虚拟模型坐标系与光学跟踪仪坐标系之间转换的过程(上文梯台配准操作中所介绍的步骤1和步骤2)。针对这两个过程所消耗的时间,通过记录4名不同的操作者共8次配准实验过程所用时间进行评估(其中每名操作者进行两次实验)。表3中分别是8组实验中配准操作所消耗的时间。可以看到,完成过程1所消耗的平均时间在50.0 s左右,完成过程2所消耗的平均时间在17.9 s左右,完成配准操作的总平均时间在67.9 s左右。
表 3 虚实配准消耗时间Tab. 3 Time spent in virtual-real registration
4 结 论
本文设计了一套用于颅颌面外科手术的光学导航仪,并设计和验证了全流程的工作步骤。该导航仪基于双目视觉和混合现实技术,将虚拟模型叠加显示到真实世界物体上,并可实时跟踪真实世界物体的运动,更新虚拟模型的位置。经实验验证,该导航仪的显示帧率为15 帧/s左右,虚实融合的平均误差在4.5 mm左右,利用该导航仪完成虚实配准操作所消耗的总时间为67.9 s左右。本文提出的虚实配准方法,没有增加导航系统的复杂性,易于操作,易于在临床手术中应用。实验中发现当MR眼镜佩戴者变换角度观看虚拟模型时,虚拟模型会相对偏离真实世界模型的位置,且头部的运动还会产生累积的误差。因此,在应用光学手术导航仪时,应当尽量减少大幅度变换视角。随着混合现实眼镜空间定位技术的进步,该手术导航仪的稳定性将会进一步增强。本文研究工作对于混合现实手术导航技术的发展具有一定的借鉴意义。