骨骼平面显示与集成成像手势交互联动系统
2023-10-10郭校源籍风磊郭绍源胡笑含王世刚
韦 健,郭校源,籍风磊,郭绍源,胡笑含,贾 勇,王世刚
1.吉林大学 通信工程学院,长春 130012
2.吉林大学 第一医院,长春 130061
3.吉林大学 护理学院,长春 130021
在平面显示器上,患者的骨骼呈现直观的三维数字模型[1-2],是当下深受医生青睐的一种医学影像可视化方式。随着医疗领域对病例诊断、临床观摩、远程会诊、术前规划和术中导航等手段的高精度、临场感需求日益增长,这种方式的不足也逐渐凸显。二维视图不便于同时展现患者解剖结构的多视角空间信息,导致画面的立体纵深感和动态交互性较差,而对于基于双目视差的立体显示媒介[3-4],其观察视点的数量较少并且需要医生佩戴辅助设备,容易造成人眼疲劳、视野受限以及画面分辨率和亮度降低,尤其不利于长时间骨科显微手术。相比之下,真三维显示技术[5-8]无须任何助视设备就能为骨骼病灶再现具有物理景深的三维光学影像,可以为医生带来更舒适的观看体验、更逼真的感官冲击和更优质的交互性能[9]。在真三维显示方式中,相比于对光源、周围环境有严格要求且成像质量受空间光调制器性能参数制约的全息显示[10-11],以及显示空间受限于真空保护罩且无法显示物体的纹理和遮挡关系的体显示[12],集成成像技术[13-15]在工作原理和硬件设备方面都比较简单。它不需要相干光源或苛刻环境,影像具有真实色彩和准连续视点,并且采集与显示过程都是场景三维点间的信息对应。
当下,平面显示的二维视图画面非常清晰,而集成成像技术仍然处于探索期,三维影像在视角、景深、清晰度等方面通常较难同时满足应用需求[16-17]。所以,实现三维骨骼模型的平面视图和裸眼立体画面的双屏联动显示,可以使上述两种可视化技术取长补短,让医生能够对疑难杂症的病灶体数据实施动态高清的全方位立体观测,也有利于增强现实、虚拟现实等技术在精准医疗领域中的推广应用。达成这种联动显示需要考虑以下方面:(1)使用同一套虚拟相机来采集二维视图与集成成像所需的二维合成图,以便确保两种显示屏呈现的内容时刻保持一致;(2)在手术等无菌环境下,医生不便直接触碰键盘与鼠标,最好借助空中手势交互[18]来操纵屏上画面的尺度与视角;(3)为了使交互操控具有高流畅度,二维视图及二维合成图的产生都应当具有高时效性。
本文针对所提问题建立了一套面向人体三维骨骼的平面显示和集成成像手势交互联动系统。该系统基于Optix以及Leap Motion[19]:前者在NVⅠDⅠA CUDA并行计算平台下具备高效率的光线追踪引擎,允许对费时的光线投射进程做显著的提速,进而完成近乎同步的二维视图与二维合成图渲染;而后者作为一种擅长高帧率且高精度识别手势的小尺寸体感控制器,只会占用手术室中非常小的桌面面积。本文通过有效地融合Optix和Leap Motion的优点,利用反馈手势信息、即时更新虚拟相机参数和快速内容绘制,来完成骨骼二维视图和裸眼三维影像的同步显示与手势控制(如图1)。
图1 二维视图与裸眼三维影像手势交互联动显示Fig.1 Gesture interaction and linkage of two-dimensional view and naked-eye three-dimensional image
1 Leap Motion与集成成像简述
1.1 Leap Motion简述
Leap Motion 利用双目立体视觉原理,对内置双目摄像头上方一定视野范围(大体为一个倒四棱锥体)内的手势进行追踪采集和快速识别。它能够捕捉到每一帧手势信息,包括手臂数据(方向、长度、空间位置),手掌数据(方向、法线、空间位置)以及手指数据(指尖空间位置、手指方向、手指类型),然后根据每帧和前帧检测到的数据来生成运动信息。Leap Motion在探测手势期间建立一个直角坐标系,坐标系的原点是传感器的中心,坐标系的x轴平行于传感器并指向屏幕右方,y轴指向上方,z轴指向背离屏幕的方向。
1.2 集成成像简述
如图2 描绘了基于相机阵列的集成成像系统的工作原理,整个流程依次分为三个部分。
图2 基于相机阵列的集成成像系统的工作原理Fig.2 Principle of integral imaging system based on camera array
(1)视点图像阵列采集:利用真实(或虚拟)相机阵列为真实物体(或物体的三维数字模型)拍摄一组不同角度、相同分辨率的视点图像,从而将物体的三维信息存储在采集到的视点图像阵列中。相较于平面式相机阵列,会聚式相机阵列(如图2所示)能够增大集成成像的立体观看视角[20]。
(2)像素重采样:将所有视点图像中的像素,按照二维虚拟透镜阵列的采样结构和光学映射关系,逐点映射到每个透镜元对应的图像(称为立体元图像)中,从而生成一个立体元图像阵列(即一幅光场图像)。在水平和垂直方向上,虚拟透镜阵列中透镜元的数量与视点图像的分辨率相同,透镜元的尺寸与视点图像的数量相同。为描述方便,本文将由全部立体元图像阵列拼接而成的整幅图像称为二维合成图。
(3)集成成像显示:将二维合成图全屏显示在平面显示载体(如LCD 或LED 显示屏)上,其发出的光线经过一个与前述虚拟二维透镜阵列参数相同的真实二维透镜阵列后,在空中聚焦,最终重现出物体的裸眼三维影像。
2 系统的硬件构成与工作原理
2.1 系统的硬件构成
本文开发的手势交互联动系统主要由处理器、平面显示器、集成成像子系统、Leap Motion 组成,如图3 所示。其中,平面显示器、集成成像子系统、Leap Motion均与处理器相连。处理器中配置Optix 框架、三维重建可视化开发包VTK(visualization toolkit)以及CUDA架构。集成成像子系统主要由倾斜的柱透镜阵列和LED显示屏组成,其视点数量为N(N为奇数)。为了降低透镜阵列加工的难度和成本,集成成像子系统采用一维柱透镜阵列取代二维透镜阵列,因此本系统的裸眼三维影像仅具有水平视差;而将柱透镜阵列倾斜于LED 显示屏表面的坐标轴放置可以减小莫尔条纹和色彩混淆,从而改善立体观看效果,但是会在一定程度上导致裸眼三维画面在竖直和水平方向上的分辨率损失[21]。从本文的多次实验效果来看,这种分辨率损失并未对观看者的主观感受带来太大影响。
图3 手势交互联动系统的结构示意图Fig.3 Components diagram of gesture interaction and linkage system
2.2 系统的工作原理
手势交互联动系统的功能是:输入患者的CT 断层扫描图像,经过处理器中的数据处理、图像生成等运算,在平面显示器上和集成成像子系统的前方分别呈现出患者骨骼的二维视图和裸眼三维影像,并且观看者能够通过在Leap Motion 上的手势变化(手掌的旋转和收放),实时、同步操控两种画面的视角和尺度。两种画面的旋转和缩放分别是通过在处理器中旋转虚拟相机阵列以及改变虚拟相机阵列与三维模型之间的距离来实现的。系统的主要工作流程如图4所示,分为预处理和主处理两个阶段。虚拟相机的图像分辨率用W×H表示,在本文中,二维视图与二维合成图的分辨率均为W×H。
图4 手势交互联动系统的流程图Fig.4 Flowchart of gesture interaction and linkage system
2.2.1 预处理阶段
预处理阶段主要负责重建人体骨骼的三维数字模型以及搭建视点图像阵列的虚拟采集环境,具体步骤如下:
(1)将患者的一组CT断层图像读至处理器中,利用VTK 中基于光线投射技术的直接体绘制方法[22]重建出人体骨骼的三维网格模型。
(2)将集成成像子系统二维合成图的R、G、B三个通道的像素-视点对应矩阵MR、MG、MB导入处理器中。这三个矩阵(尺寸均为W×H)将用于像素重采样过程,具体使用方法见主处理阶段的步骤4。
(3)在处理器的Optix 场景中,创建一个由N台虚拟相机组成的会聚式虚拟相机阵列Cams,其主要参数见图5。每台虚拟相机Cam的视角为φ,其姿态由光心位置Cam_eye、焦点方向Cam_lookat、坐标轴向上方向Cam_up三个3×1列向量共同控制,相邻虚拟相机焦点方向的夹角为θ。此过程包括下列步骤:
图5 虚拟相机阵列参数示意图Fig.5 Parameters diagram of virtual camera array
(3.1)初始化中心相机Camc≡Cams( (N-1)/ 2 )的参数,令其光心位置为:
其焦点方向为:
其坐标轴向上方向为:
其中,C为三维骨骼模型外接矩形框的中心点坐标,Sm为三维骨骼模型外接矩形框长和宽之间的最大值。
(3.2)初始化其他每台相机Cami≡Cams(i)的参数,这里,i=0,1,…,N-1,并且i≠(N-1)/2。令其光心位置为:
其焦点方向为:
其坐标轴向上方向为:
在公式(4)中,R(v,α)表示环绕向量v旋转角度α得到的3×3旋转矩阵。
(4)设置一台参考虚拟相机Camr,用于计算Camc与其起始姿态的偏离量,Camr的参数与Camc的初始参数相同。
2.2.2 主处理阶段
主处理阶段负责在隔空手势的交互下联动显示三维骨骼模型的二维视图和裸眼三维影像,显示每一帧画面的具体步骤如下:
(1)如果当前帧是第一帧,则执行步骤(3);否则,执行步骤(2)。
(2)利用Leap Motion 检测是否当前时刻发生有效的手势交互,即手掌移动速度是否属于预先设定的有效速度范围[vmin,vmax]或者抓取力g(Leap Motion SDK中Hand类的grabStrength属性,手掌全张开时值为0,紧握拳时值为1)是否不为0,如果是,则更新Cams参数后,更新二维视图和二维合成图,即执行步骤(3)和(4);否则,执行步骤(5)。Cams参数的更新过程包括下列步骤:
(2.1)更新中心相机Camc的参数,其光心位置更新过程如下:
其中,βx、βz分别为手掌相对于Leap Motion的坐标系统中x轴、z轴的旋转角度;s表示交互过程对动态手势的灵敏度,此参数值可根据观看者的交互体验进行设置:
这里,cross表示两个向量之间的叉乘运算。令其坐标轴向上方向更新为:
公式(7)和(9)中分别引入βx、βz,目的是让虚拟相机阵列围绕C点旋转,其旋转方向与手掌旋转方向相同,旋转角度与手掌旋转角度成正比。公式(8)中引入g,目的是改变虚拟相机阵列的拍摄距离,如果手掌收紧,则缩小拍摄距离,缩小幅度与手掌的收紧程度成正比;如果手掌放开,则增大拍摄距离,增大幅度与手掌的放开程度成正比。
(2.2)更新其他每台相机Cami的参数,更新过程与预处理阶段中的步骤(3.2)相同。
(3)利用Camc和Optix 的实时光线投射渲染器,为三维骨骼模型渲染一幅视点图像(即二维视图),并在平面显示器上显示。
(4)利用Cams和Optix的实时光线投射渲染器,为三维骨骼模型生成一幅二维合成图,并在集成成像子系统中的LED 显示屏上全屏显示,其光线穿过柱透镜阵列后形成骨骼的裸眼三维影像。二维合成图中每个像素值的计算(即像素重采样)过程利用CUDA 架构实现并行化以提高处理速度,包括下列步骤:
(4.1)分别获取该像素值所属的像素点(x,y)在R、G、B三个通道上对应的视点序号:jR=MR(x,y) ,jG=MG(x,y),jB=MB(x,y)。
(4.2)对于每个通道和对应的视点序号j,利用虚拟相机Camj和其像素点(x,y)处的光线投射,得到该通道在此点处的像素值。
(5)如果关闭二维视图,则关闭二维合成图,整个联动显示过程结束;否则,转至下一帧,执行步骤(2)。
3 实验结果与分析
3.1 系统搭建
本文依据前述设计搭建的骨骼平面显示与集成成像手势交互联动系统如图6 所示。处理器中带有单块GTX 1080Ti GPU,平面显示器(27 寸)与集成成像子系统中LED 显示屏(206 cm×122 cm)的分辨率都为2 160×1 280,LED 屏的像素点间距为0.952 5 mm,柱透镜阵列倾斜角为向右(arctan1/3)°,集成成像的视点数量为26(由于本文中视点数量N应为奇数,为了适用于本文的硬件系统,实验中实际设置为N=27,而在渲染视图时只渲染出连续的26个视点图像),水平体素分辨率为270,最佳观看距离约6.5 m,观看视角约60°。
图6 手势交互联动系统实物图Fig.6 Diagram of practical gesture interaction and linkage system
3.2 手势交互联动功能评估
如图7 列出了7 种不同的手势姿态,将不同姿态组合即构成本系统支持的两种手势动作:手掌收放(①、②、③)和手掌旋转(②、④、⑤、⑥、⑦),这两种手势动作可以同时使用以产生叠加作用,例如,将姿态③按照动作②→④的方向旋转可表示为③→(③+④),或者将姿态⑥按照动作②→①将手掌收紧可表示为⑥→(⑥+①)。
图7 不同的手势姿态Fig.7 Different gesture postures
如图8给出了本系统使用一组人体双脚CT图像得到的足骨双屏显示效果;重建出的三维足骨模型如图9所示,采用法线贴图为二维视图与裸眼三维影像赋色,为了观察细节更加清晰,对比度进行了适当增强,双屏联动的帧率为36 帧/s。对比图9 中二维视图与裸眼三维影像左、右视图的局部(黑色框内)放大区域可以看出,集成成像的立体画面呈现出比较明显的水平视差,并且二维、三维的显示内容在不同的手势姿态下始终保持同步;通过手势交互,观看者可以同时从尺寸较小但画面细节清晰度更高的平面显示器,以及大尺寸、高分辨率且具有较强立体感的集成成像子系统中观测到不同视角、不同尺度的足骨模型。
图8 手势交互双屏联动显示效果Fig.8 Display effects of gesture interaction and two-screen linkage
图9 三维足骨模型Fig.9 3D model of foot bones
3.3 手势交互联动性能评估
3.3.1 实验设计
为了进一步验证本系统的可用性、易用性和主观体验感,选取40名大学生、研究生和高校教师志愿者以及20 名临床医生进行了应用实验,测试者年龄范围为21岁到61岁。临床医生来自关节外科、创伤骨科、足踝外科等科室,并且都具有多年的骨科临床诊疗经验。在所有测试者中,19 人对裸眼三维显示或裸手手势交互没有任何的体验经历,其余测试者对集成成像或Leap Motion 具有不同程度的了解和使用经验。在实验前,对测试者们进行了相关知识和使用技能的简单培训,以避免对这两种技术的陌生感降低最终实验结果的可靠性。
除了3.2 节中使用的三维足骨模型,实验还使用了图10(a)所示的由另外两组CT 图像三维重建得到的骨盆和腰椎模型,两个模型的集成成像立体显示效果如图10(b)和图10(c)所示,裸眼三维影像的着色方式为法线贴图。三个骨骼模型呈现出不同的几何特点,其中,骨盆模型整体宽阔,足骨模型由多个细长结构组成,而腰椎模型由于腰椎分割不够精确使得其周围还存在一些血管和其他组织器官。
图10 三维骨盆和腰椎模型以及集成成像效果Fig.10 3D pelvic and lumbar models and integrated imaging effects
本文在实验中提供了传统的键盘交互系统和鼠标交互系统各一套,用作手势交互联动性能评估的参考系统,两套系统分别使用键盘和鼠标代替Leap Motion,其余的软硬件运行环境与手势交互系统相同。在键盘交互系统中,利用键盘上的上、下、左、右四个方向键分别控制双显示画面向对应方向旋转,利用Ⅰ、O两个按键分别操控双显示画面的放大、缩小。在鼠标交互系统中,通过按住鼠标左键并且拖拽鼠标来旋转双显示画面,通过按住鼠标右键同时水平向上或向下移动鼠标来放大或缩小双显示画面。
本文共设计了两个实验,每名测试者分别对每个三维骨骼模型进行两次实验,在完成所有实验后填写表1所示的调查问卷。
表1 调查问卷内容Table 1 Content of questionnaire
考虑到测试期间交互操作准确性判断标准的统一性,全部实验采用同一位评判人员。此外,为了保证不同交互系统之间对比的公平性,评判人员在实验前经过多次测试,将键盘交互与鼠标交互的灵敏度均调节至与手势交互的灵敏度达到其主观上基本一致。
实验1通过使用上述三套交互系统以及观测“二维+裸眼三维”混合画面,按照图11所示的示例顺序,将双显示画面中的三维模型操控至对应的视角和相对尺度(相对于所属屏幕),然后记录在每种交互方式下各个被试操作的平均准确率与平均时长。交互操作准确的认定标准为评判人员主观上认为所显示内容无明显抖动,并且其视角和相对尺度都与图11 中对应的参考示例无显著区别。
图11 实验1的操作流程(以三维骨盆模型为例)Fig.11 Operation procedure of experiment 1(taking 3D pelvis model as example)
实验2在评判人员的监督下,通过使用手势交互系统,并且分别以只观测二维显示画面、只观测裸眼三维显示画面、同时观测“二维+裸眼三维”混合画面的方式,在5分钟内按照随机顺序准确完成对所显示内容的90°旋转(向上、下、左、右四个方向)、50%缩小、200%放大操作,然后分别记录在每种观测方式下对各个三维模型完成所有操作的平均时长。
3.3.2 实验结果
根据实验1的结果,三种交互方式下对双显示画面执行不同操作的平均准确率和平均时长对比,分别如图12和图13所示。通过观察图12可以发现,键盘交互的准确率最高,主要原因在于测试者通过按键可以对显示内容的视角和尺度进行稳定的微调,而手持鼠标和空中手势都难免发生无意识的手部抖动;手势交互能够达到与鼠标交互相当的准确度,在模型尺度较大的情况下(如操作2、3、6、7)其操控准确性更高,因为此时裸眼三维影像的细节辨识度更高。由图13可见,手势交互的速度最快,尤其是当显示内容改变幅度较大时(如操作3和7);而键盘交互和鼠标交互由于都需要依靠物理设备来实现,故交互时长有所增加;操作2、4、6、8 的耗时普遍较少,归结于这些操作只是调整了显示内容的尺度,相较于其他操作对视角的变化来说,更加容易正确完成。
图12 每种交互方式下不同操作的平均准确率Fig.12 Average accuracy of different operations in each interaction mode
图13 每种交互方式下不同操作的平均时长Fig.13 Average duration of different operations in each interaction mode
实验2的数据分析情况如图14所示。结果表明,二维显示的画面清晰度最高,因而手势交互的平均耗时最短;集成成像的画面立体感更强,但是其画质难与二维画面媲美,导致精准的手势交互用时最长;相比之下,“二维画面+裸眼三维画面“的混合显示方式结合了二者的优点,在实现对骨骼进行高清平面观测和裸眼立体观测的同时,其时效性介于两种单一画面观测方式之间,取得了观测体验与交互性能之间的较好平衡;显示内容的复杂度也对手势交互有着微弱的影响,骨盆模型的结构最简单,因此交互最快,而腰椎模型被其他人体组织频繁遮挡,故交互相对较慢。
图14 每种观测方式下对不同模型的手势交互平均时长Fig.14 Average duration of gesture interaction for different models in each observation mode
调查问卷的结果统计如图15 所示。从问题1 和2的回答情况得知,大多数测试者对本系统的手势识别设计比较符合期待;从问题3 的回答情况来看,本系统给93%的测试者带来了比较舒适的观看体验,只有个别测试者因为不习惯裸眼三维成像方式而稍感不适;根据问题4和5的调查结果,大部分测试者对本系统的“二维+裸眼三维”混合显示方案以及双屏的联动性都比较满意;根据问题6 的调查,只有不到三分之一的测试者认为本系统对骨科诊疗与手术的作用不大,而在参与实验的临床医生中给出肯定答案的人占到了85%,达到了本系统服务于医疗领域的预设期望。
图15 调查结果统计(Q6-d表示临床医生的调查结果)Fig.15 Statistics of survey results(Q6-d represents results from clinicians)
4 结束语
本文提出一种人体骨骼二维视图与集成成像裸眼三维影像双屏联动系统,实现了手势控制下对多视角、多尺度骨骼空间信息的交互观看。该系统能够推动当前的三维骨骼观测手段从鼠键操控的“伪立体”向隔空操控的“真三维”转变,显著提升高难度诊疗与手术的效率和可靠性。本文仍有一定的局限性,只依靠虚拟相机阵列位姿更新的方法很难进一步考虑语义信息,例如将股骨绕着髋臼旋转(可用于全髋关节置换的术前三维规划系统[23]),下一步将在这个方面继续探索。在未来的工作中,还将尝试结合基于Kinect的远距离肢体运动操控[24],来弥补Leap Motion 只能探测近距离手势变化的不足。