基于3D双目视觉的虚拟现实医学教学平台研究*
2018-03-02史森中吴东东
史森中 黄 昊 刘 洋 吴东东
随着计算机科学技术的不断进步,促使虚拟现实(virtual reality,VR)技术的发展。VR技术是以计算机技术为基础,集成了三维(three-dimensional,3D)图像、立体显示和触觉反馈等多种技术,是构建VR数字环境的一门新兴技术。在一定范围内VR环境在视觉、听觉和触觉等感官方面与真实环境高度相似,并能实现人与计算机之间的理想交互[1]。其中,立体显示技术—3D则是VR技术中最为关键的技术之一。由于人眼看事物时是通过双目成像的过程,普通的视频及图像显示,只能展示所谓平面的二维空间影像,即无法充分展示以及令眼部感受到事物的深浅、远近以及角度等信息,因此真正的VR医学教学资源的既视感需要3D成像来展示。为此,本研究设计开发一种双目立体3D-VR医学教学资源平台,为教学资源中的新技术和新业务开展提供技术支持。
1 3D-VR医学教学平台
1.1 研发背景
VR技术在医学上的应用前景十分广泛,生物学与医学仿真系统的开发也越来越多,3D双目视觉VR医学教学平台是基于虚拟仿真操作来实现[2]。在教学操作中,医生需要通过使用剪刀、抽吸器和手术刀等手术器械来进行手术操作,将这些内容反映到VR医学教学的场景中,需要针对操作实现相关的立体视频展示,而由于不同患者信息的差异性,需要获取不同患者的病理特征,并在VR场景中重现其特征。因此,通过利用基于计算机立体视觉的双目3D视觉技术,模拟重现真实的医学教学场景,以此训练医生和(或)学员的操作能力,而训练者通过相应的硬件设备便能够观测到3D-VR视觉效果,从而获取更好的训练效果。
1.2 主要研究内容
本研究以3D双目视觉的VR技术为基础,将其应用于计算机VR医学教学中,以解决VR仿真系统中3D显示问题;探究3D视频渲染及纹理映射等问题,为实现VR的沉浸式感受提供理论指导与依据,并为其他相关的研究提供理论支持。
在一般的VR显示设备中,采用的头盔显示器的显示屏并不能完全的覆盖眼睛的视场,除显示屏显示的画面外,还能看到很大部分的黑暗背景。对此,在医学VR教学实验平台的基础上提出广视角的双目3D视觉解决方案,能够完全的覆盖人眼的视觉场景;通过理论分析、系统设计编程以及实验测试与评价,完善了本研究提出的双目3D立体显示系统设计。通过改善理论与模型,构建较为优化的双目3D立体显示系统,并对系统性能进行评价[3]。研究内容包括:①设计广视角3D双目视觉的VR显示系统,对系统的硬件系统做出详尽的分析,研究一个实用的广视角3D立体显示方案;②针对平台中的教学操作过程模型仿真与图像视频显示,利用本领域的现有研究成果,提出平台的软件设计,着重研究VR医学教学平台的3D成像方案,视频渲染方法等;③研究双目立体视觉的几何投影模型,通过分析各种模型的优缺点,确定采用的几何投影模型,并通过打开图形库(open graphics library,Open GL)专业3D程序接口,实现本设计的模型,完成3D双目视觉的VR软件设计。
2 3D双目视觉的VR系统平台研发
2.1 平台总体架构
双目视觉的VR医学平台架构可分为3D建模、触觉反馈、VR设备、3D-VR教学资源和视觉系统部分。双目视觉的VR医学平台的工作流程为:系统通过3D建模导入系统的模型数据→用户(学员)通过触觉设备与系统进行交互操作→操作结果反馈到视觉系统→视觉系统通过反馈的数据渲染出视频并将反馈视觉信息给用户→用户通过视觉、力触觉等感官因素与系统进行交互操作[4]。3D双目视觉的VR平台基本框架如图1所示。
图1 3D双目视觉VR医教平台基本框架图
2.2 平台硬件组成
在3D双目视觉的VR平台上,设计的双目场景均可以实现3D-VR视觉显示。在硬件模块中,3D双目视觉的VR医学教学平台将操作数据流导入到视觉系统中;中央处理器(central processing unit,CPU)通过指令控制数据的处理,图形处理单元(graphics processing unit,GPU)协助处理图形数据,并将经过处理的CPU和GPU数据流导入到缓冲存储器;用户选择显示模式,缓冲存储器则将处理好的图像数据流传入相关的显示器进行显示。同时,可通过头部追踪及音频设备等来增强系统沉浸感。硬件系统主要由个人计算机(personal computer,PC)终端与头盔显示器两部分组成。由于本研究所涉及的模型数据很大,需要图形加速来提供较快运算速度以达到快速的视频队列渲染刷新速率,因此需选取具有较强视频处理能力的工作站(如图2所示)。
图2 3D双目视觉VR医教平台硬件模块及数据流程图
2.2.1 PC终端
采用的CPU为Intel core i7-6700处理器,使用22 nm制作工艺,处理性能稳定。CPU具有四核、八线程、三级缓存,处理器主频3.4 GHz,处理速度能够满足本系统的处理任务要求,对于本研究的3D双目视觉的VR医学教学平台程序运行已足够。显卡芯片为Nvidia GeForce GTX 960,英伟达Quadro系列显示芯片,其定位为专业级绘图工作站领域,具有十分优秀的图形绘制能力。内存为32 GB的DDR4ECC RDIMM,具有新一代内存的优秀存储性能,能够胜任本系统模型数据的存储。
2.2.2 VR显示设备
采用2016年新上市的Oculus Rift CV1头戴式显示器,CV1版本相比之前的DK2版本有着诸多的升级之处,其配备了全新双有机发光二极管(organic lightemitting diode,OLED)显示屏设计,综合分辨率为2160×1200像素,90 Hz刷新率及110度视野,防止眩晕并提供足够流畅的使用体验;内置陀螺仪、加速度计及磁力计等,其显示精度在同类产品中较为优秀。配置上足以满足良好的观摩体验,该设备在目前的研究阶段中,尚未获得广泛普及与应用,但发展十分迅速。相对市场上其他产品较为经济,且具有覆盖眼睛全部视场的全视角,适合于本研究的探索性测试,能够起到头部跟踪效果及广视角显示作用,且能够清晰的显示图像,并且达到沉浸式效果(如图3所示)。
图3 Oculus Rift CV1头戴式显示器实物图
VR显示设备具有两组曲率差别的透镜组,A类透镜适用于普通视力及轻度近视的使用者,B类透镜适用于高度近视的使用者;头部位置追踪设备,可以通过追踪头部位置来实现渲染视点的转移;数字视频接口(digital visual interface,DVI)转换高清晰度多媒体接口(high definition multimedia interface,HDMI)视频转换接口,适用于对电脑接口的转接,可更改插头的电源适配器,以及若干连接线。
2.2.3 VR显示设备广视角的实现
VR显示设备通过凸透镜的放大原理,在人眼与显示屏之间放置一组凸透镜,通过图像的处理使得眼睛获取广视角,从而增加了设备的沉浸感,其原理如图4所示。
图4 广视角实现原理示图
显示屏通过显示软件处理得到的图像,而显示屏的光线则透过透镜组到达眼睛,正如图4所显示,人眼的视角得到了全部的覆盖。广视角的头盔显示器能够带给观测者极强的沉浸感,但由于使用透镜放大虚像,需要对图像做进一步的处理,图像边缘的扭曲效应,锯齿效应仍然十分明显,有待在今后的研究中得以解决。
2.2.4 头戴显示器头部追踪的实现
头戴显示器的头部追踪装置,在增强学员感官沉浸感的过程中起到探测跟踪头部的方位、实现渲染场景中观察视点的改变作用。设置头部为坐标,通过坐标设置确定了追踪器追踪的视点的原点位置;默认原点为人头部初始位置,梯形视锥体为追踪的范围,只有当头部的移动落在该范围内部,头部位置的转移才会通过追踪器在屏幕上得到追踪点新的位置坐标。追踪摄像机在得到头部位置之后,通过基于原点的偏移计算,得到头部偏移位置,继而将偏移位移数据传输给显示系统,系统通过重新计算设置内部摄像机模型新视点,以达到与头部位置同步。
2.3 平台的软件构建
VR医学教学平台开发的重点为3D视觉显示,而VR教学平台开发的软件实现是视觉显示实现的基础,因此VR医学教学平台的软件构建尤为重要。在VR医学教学资源的实现过程中,充分利用计算机资源表达和实现近乎真实的VR场景,需要对医学教学资源进行模拟及仿真处理。整个过程涉及到计算机图形渲染和3D-VR虚拟模型等技术模拟“真实”的医学教学场景。
2.3.1 3D视频模型建立
(1)3D信息的获取。3D视频建模技术是使用计算机数字化对现实世界中物体进行形状、材质、纹理等多方面属性进行表述[5]。一般3D建模的主要步骤为:获取3D信息、3D建模及模型的计算机实现。对于3D信息的获取,需要获取待建模物体的外部数据、位置信息、大小及长宽尺寸等。针对不同情形的物体,具体信息的获取方式亦不同。传统方法为直接测量获取,随着计算机科学的发展及各种科学检测设备的出现,3D信息获取的方式也越来越多,如激光扫描测量、结构光学测量以及近景摄影测量等。
(2)模型的建立。传统的模型建立,常使用几何方法构建模型的结构,随着各种3D建模辅助软件的出现,可通过辅助软件实现3D视频模型的建立,设计模型的数据结构[6]。模型的计算机实现主要通过视频渲染及纹理映射等方式来实现。在VR教学资源中,对于建立模型的实时交互性、显示速率、模型精确度等具有较高的要求,就要求模型逼真,容易进行几何处理,模型更新的速率能够达到视频渲染的速率。因此,在模型的获取上,如通过激光扫描获取更加精准的视频数据,再通过分析数据,获取视频模型特征,消除噪声并最终使用辅助软件完成视频模型数据的获取[7]。
(3)3D视频模型实现。由于3D视频模型无固定的结构特性,不具有拓扑结构,其简单的构造极易进行几何处理和点模型的重构,对于医学教学资源而言,基于点的模型更适用于人机的交互操作,各阶段数据的处理与模型的显示可被简化,因此采用3D点云模型的建模方法作为数据结构。通过3D离散点的采样使用计算机重现出该模型的3D信息,进行位置计算并投影到2D屏幕上进行光照和纹理等处理,最终渲染出3D视频。对于双目立体显示系统而言,更快的渲染速率意味着视频更快的刷新速率,刷新速率越快,视频显示将更加稳健,则不会出现画面的闪烁感,从而保证系统良好显示效果。2.3.2 3D视频渲染
视频渲染方法中,最常用的有三角网格法和基于点模型的渲染方法两种[8]。三角网格法在视频渲染中应用最为广泛,使用该方法需要所渲染的曲面具有一致的拓扑关系。然而,当需要对教学视频模型进行交互操作时,虽然该方法简单,渲染效率高,但维护曲面一致的拓扑关系十分困难。不适合高实时性的系统。而基于点的方法相对更适合。基于点的渲染方法中,点能够很容易地承担视频制作基元,渲染效率高,其难点在于使用离散点构造无空洞的连续表面,获取点的法向量,使用精确的法向量能够获取更加真实的光照效果[9]。使用三个方向相互垂直的光源照射物体,从而记录每条光线上与物体模型交点上的法向量、颜色及材质等信息,采用分层深度立方体(layered depth cube,LDC)结构,类似于3D空间的坐标表示,LDC结构中相邻的8块构成1个大块节点,也可理解为八叉树结构。渲染时,设计了面元的概念,通过计算每个像素中面元个数,确定八叉树中的层次可见性后再完成遮挡的判断,通过法向量计算光照,最终完成立体视频构造并显示。采用八叉树的数据结构来组建模型,能够使得渲染速率与渲染质量都能达到预期的效果。
3 3D双目立体教学资源应用
人类视觉可获取80%的外界信息,而使用计算机及摄像设备来实现人类视觉功能十分困难。人类形成立体视觉与人眼的深度感知有关,即人眼分辨立体环境中物体的大小、远近、高低和位置前后关系的能力[10]。深度感知的来源主要是双目线索深度感知信息,借助计算机来模拟实现人类的视觉,模拟应用生物视觉仿生技术。一台数字摄像机能够以每秒数十帧的速度传输图像给计算机,这种关系类似于人类视网膜与大脑之间的关系。通常,视觉系统获取原始场景的信息并加以保存。场景中物体的灰度、形状、位置等关系以及场景中光线关系均为获取信息的重要因素,因此取决于物体的材质、纹理以及环境光照。使用计算机实现双目视觉既需要硬件设计,也需要软件支持,通过Open GL的独立的3D影像开发库,跨平台专业的图形程序接口,同步实现实时立体配对的立体视频。
3.1 双目线索
双目线索指两只眼睛协同获取深度信息,主要包括双眼调节、双眼辐合及双目视差等。双目线索能够分辨事物的相对位置,估算空间物体的相对距离[11]。其中,双目视差是最为重要的深度感知方式。双眼调节指眼睛晶状体的调节,人眼在观测物体时,通过改变晶状体的曲率来调节眼睛的最佳视觉效果,通常正常瞳距范围为5~7 cm。人眼在观看事物时映射到视网膜的图像并不完全相同,略存在着些许差异,主要体现在角度不同,呈现的位置远近也不尽相同。因此,大脑通过分析这种差异从而实现人眼观测事物的3D化,同时也是3D立体显示中最为重要的原理之一。
3.2 双目视差
双目视差因素分为零视差、负视差、正视差和发散视差4类[12]。立体视觉实现中,双目视差占据主导地位,渲染一幅立体影像时需要两组二维影像配对。左右眼分别对应相对的影像,只有视差合适的影像才能够被大脑融合并获取深度信息,如果影像反馈的深度线索并不是相对应的视差印象,眼睛无法融合两组影像,深度感将会减弱甚至消失,以至于眼睛看到两组完全分离的影像。
3.3 双目视觉的摄像机投影模型
视觉的立体成像主要是由正视差形成。在计算机视觉中,基于人眼双目线索感知距离的三角原理形成立体的影像。3D双目视觉摄像机的实现原理如图5所示。
图5 3D双目视觉摄像机实现原理示图
对于视差而言,远处的物体视差变化较小、物体越远双眼越难分辨出其远近关系,故深度感较弱;而近处的物体,视差变化较大,双眼的辨别也较为容易。VR医学教学平台使用两个摄像机与物体之间形成一个三角关系,根据摄像机投影模型不同来分类,可将立体视觉中的双目模型分为平行双目投影模型和汇聚双目投影模型[11]。本研究采取平行双目投影模型,两个摄像机机位视线作用于同一平面内,其视觉方向一致,由此可以避免出现垂直视觉差异,左右两眼视频只有水平视差等汇聚双目投影模型的缺陷,视频的立体配对相对更加容易[12]。
3.4 Open GL坐标变换
Open GL坐标变换是实现模型描述的基础,在屏幕上描述一个物体时,在表示物体位置和形状之前,需要一个参考点来标定测量与定位物体。在Open GL的3D空间中,描述一个物体需要熟悉所使用的坐标系统,而视图转换是摄像机坐标设置的基础,通过预设值视图转换来确定摄像机坐标位置,实现双目摄像机定点拍摄。模型转换与视图转换具有相同性质,统称为模型视图转换。
模型视图转换与投影转换是形成3D空间事物距离、位置信息最为重要的转换方式。投影转换定义了3D空间物体到二维显示的转换,即将3D图像投射到显示的裁切平面上。视口转换是将最终场景的二维投影投射到屏幕的某个窗口上,转换多通过矩阵来实现,使用矩阵运算能够简化转换之间的数学逻辑关系。在Open GL中对于矩阵的大小无限制,但其每行或者每列所包含元素必须与矩阵中其他行或者列的元素数量相同。此外,采用到了模型视图矩阵与投影矩阵。源顶点的数据一般依次经过模型视图变换,投影变换,裁切变换,再使用透视除法获得规范设备坐标,最终使用视口转换来获取窗口坐标。
3.5 Open GL中实现双目立体显示系统
整个系统的执行过程为,计算机实时的渲染一个单眼二维场景,并通过立体模式的判断,询问系统是否进入立体显示模式。当选择二维模式时,系统通过Open GL接口函数,根据数学建模矩阵,设置单个摄像机的接口参数并建立单个的对称视景体,设置单视口并制作视频,通过渲染缓冲区的交换,最终显示到显示屏幕上。当选择进入立体显示模式时,系统会根据判断参数,设置平行双目投影数学模型的3D场景参数,并在Open GL中建立该模型,使用非对称视景体设置双眼位置与视觉参数,再通过视口变换绘制图像,最终渲染出图像并在立体设备上显示图像,系统整体流程如图6所示。
图6 双目立体显示系统整体流程图
3.6 3D-VR立体教学资源展示
将点数据通过接口函数读入内存中,在使用渲染算法判断某点的可见性,将需要绘制出的点输入顶点着色器中进行光照、计算位置、半径等处理,再通过纹理算法计算出对应点的纹理坐标;使用片段着色器将所有数据光栅化后再将视频写入相应的缓冲区,等待显示设备读取缓冲区的数据并最终将视频显示在屏幕上,其渲染效果图如图7所示。
图7 二维普通医教视频与3D-VR双目立体医教视频对比图
图7中渲染帧率达60 Hz,可满足交互操作的要求,纹理能够较好的反应真实情况,具有较强的真实感。图7中b在使用头盔显示器后,场景中的操作对象出现较为真实的景深,配合纹理的真实效应,具有较强沉浸感,适合作为VR医学教学的显示系统。
3.7 3D双目视觉的VR医学教学平台评价
(1)学生深度学习的帮手。3D双目视觉的VR医学教学平台与传统的教学视频相比较,其略带趣味性,学生对新生事物充满好奇心,而学生在略带趣味性的3D-VR医学教学系统的学习过程中,3D-VR立体视觉教学平台从人体的感官层上不断刺激脑细胞组织,不但能够起到快速拓展知识面的效果,并且可充分掌握和巩固所学内容,是学生进行深度学习的得力帮手。
(2)改善教学资源不足现状。3D-VR立体视觉教学资源是较为灵活的教学方式,并可不断重复使用,极大弥补了传统教学资源不足、分布不均衡的弊端,增强了医学生良好的学习氛围。对于医学学科中的内镜、喉镜及影像等教学,传统的教学方式无法展示操作方法,而3D-VR立体视觉教学平台则可以延伸及完善;对于人类免疫缺陷病毒(human immunodeficiency virus,HIV)病毒实验、有毒药品实验等,通过3D-VR立体视觉教学资源的展示学习,医学生犹如身临其境,既可加深对这类操作的感性认识,也可避免危险事故的发生,避免因实验而造成的学员人身伤害。
(3)自由掌握学习的时间与空间。3D-VR立体视觉教学资源突破了传统医学教学中时间与空间的限制,在极短的时间里,展示给学生的是精华,使那些原本需要长期的灌肠才能看到的某些病变、细菌培养、病毒培养及动物实验等,可在数分钟内便完成学习,且以第一实验和(或)操作者的视觉进行,有利于学员知识面的拓展,在为学生提供了自由学习时间和空间的同时,激发了学生的兴趣爱好。
4 结论
本研究针对医学教育设计出双目视觉3D-VR医学教学资源。双目3D视觉的研究从视觉理论体系,到各种立体视觉显示设备的出现,都越来越广泛,3D立体显示技术的应用加快了VR技术的研究发展。目前,VR的应用对于立体显示的要求也越来越高,提高立体显示设备的性能是科研努力的方向[13-14]。VR医学教学资源是虚拟现实的一个重要的研究内容,通常医学教学资源二维场景较多,本研究设计的双目立体显示教学资源平台的3D显示能够增强学员的沉浸感,从而提高学员的培训效率[15]。
在使用计算机实现视觉模型上,采用Open GL图形、图像编程接口,将Open GL实现3D图像渲染显示的原理与其坐标变换原理应用在平行双目视觉的影像模型的构建中,确定在双目立体显示系统中两个摄像机的相对位置。使用Open GL在该模型的基础上设计了3D-VR医学教学资料,其结果表明,本视频资源的渲染质量能够达到理想要求,图形渲染速率满足交互操作的要求,表现出了良好的交互性能。使用数学建模的方法实现两种视觉模型的建模,使用Open GL实现了平行双目投影模型,完成了双目立体显示平台的设计,使影像资料能够较好地表现医学教学操作场景特征,达到了预期的效果。
本研究的不足之处是,广视角实现了人眼观测视角的保障,但是却会产生视频队列的偏差,在视频的边缘部分及色差较大的部分,存在一定的视频锯齿以及畸变,解决上述问题有待后续的研究。在软件设计中,视频渲染是最为重要的考量指标,渲染时间越快,交互系统就拥有更高的交互性能。在预处理层面,需考虑可视化的选择、层次树的控制以及几何压缩等。同时,还可采用合适的并行渲染方式、点模型实时渲染技术、用于提高视觉效果的方法(如光照,颜色等)。点模型的图形渲染方法虽然多种多样,但是其渲染质量、渲染速率并非是最理想状态,提高渲染速率、视频资料的质量依然是未来科研工作的重点。
随着计算机硬件水平、软件技术的提升和影像视觉的发展,3D-VR医学教学技术将日趋成熟,能够为医学教育提供更优质的教学资源。
[1]田然,柏敏,马腾.虚拟现实技术对脑卒中患者上肢功能及日常生活活动能力的效果[J].中国康复理论与实践,2016,22(12):1371-1374.
[2]范晓明,夏照帆.虚拟现实技术在军事医学领域中的应用[J].中华医学杂志,2016,96(24):1948-1950.
[3]牛育鸿,白石,阮彩莲.虚拟现实系统在经枕髁入路显露颈静脉结节三维解剖研究中的应用[J].解剖学报,2016,47(2):250-253.
[4]韩笑,吴辉群,季达峰.虚拟现实脑动脉模型在人体解剖学教学中的建模和应用[J].解剖学杂志,2015,38(2):238-240.
[5]石巧,侯建霞.虚拟现实技术在口腔诊疗操作培训中的应用[J].国际口腔医学杂志,2015,42(1):69-74.
[6]郑民华,马君俊.3D腹腔镜手术是颠覆性抑或过渡性技术[J].中华消化外科杂志,2016,15(9):858-860.
[7]鹿松松,魏梁锋,林顺安,等.基于虚拟现实技术重建法为标准的垂体腺瘤体积测量公式的对比研究[J].中华神经医学杂志,2016,15(1):81-84.
[8]金星,许光旭,孟兆祥,等.基于虚拟现实技术的康复训练对脑外伤恢复期患者平衡功能的影响[J].中华物理医学与康复杂志,2016,38(6):406-408.
[9]曹光.VR技术在中等职业卫生学校教学中的探究[J].卫生职业教育,2017,34(4)l:29-30.
[10]郭勇陈,贾佳丽,王皎琳,等.VR技术在高校经管类实验教学中的应用研究[J].实验室科学,2016(2):70-75.
[11]董金权,甘琴.VR技术在高校思想政治理论课实践教学中的应用模式[J].通化师范学院学报,2011,32(5):106-108.
[12]胡光夏.虚拟现实技术对教育领域的启示[J].电子测试,2016,25(9):81-82.
[13]冯丽,张宏.虚拟现实技术在教育领域中的应用[J].信息与电脑,2016,19(13):21-23.
[14]王清波,虞成,朱隽典,等.基于Node.JS的远程实时虚拟康复训练系统研究[J].中国医学装备,2016,13(8):7-10.
[15]罗溪,李松声,王月帆,等.虚拟现实技术在高等医学教育中的应用[J].中国医学教育技术,2016,30(4):420-423.