计算机系统应用  2018, Vol. 27 Issue (7): 19-25   PDF    
基于Leap Motion的手术室无干扰交互技术
王宇航, 朱运生, 孙晓燕     
杭州师范大学 杭州国际服务工程学院, 杭州 311121
摘要:在手术室中, 传统人机交互技术很大程度上依赖于鼠标、键盘、触摸屏等输入设备, 但这种接触式交互有导致患者感染的风险. 而虚拟操作人机交互过程采用计算机视觉来获取手势信息, 在交互的自然性与成本上有很大的优势, 是现如今人机交互领域发展的主要趋势. 本文介绍了一种基于Leap Motion的手势控制技术, 利用AR技术和Leap Motion设备, 使得手术过程中医生无需接触手术设备, 在非接触式设备的帮助下使医生能彻底远离因接触设备给手术带来的干扰和手术风险. 实验表明, 相比于传统的接触式交互技术, 基于Leap Motion的手术室无干扰交互技术在一定程度上减少了接触式交互所带来的手术感染风险并增加了医生操作的易用性.
关键词: Leap Motion    无干扰手术    人机交互    
Non-Contact Interaction in Operation Room Based on Leap Motion
WANG Yu-Hang, ZHU Yun-Sheng, SUN Xiao-Yan     
Hangzhou Institute of Service Engineering, Hangzhou Normal University, Hangzhou 311121, China
Foundation item: Natural Science Foundation of Zhejiang Province of China (LQ16H180004)
Abstract: In the operation room, the traditional human-computer interaction technology relies heavily on the touch-based devices such as mouse, keyboard, and touch screen, which raises the risk of infection during the surgery. Human-computer interaction based on gesture recognition has a great advantage in the cost and interactive naturalness. This paper introduces a gesture-based control technology utilizing Leap Motion, the use of AR technology and Leap Motion equipment make doctors do not need to touch the surgical equipment during surgery. With such help of non-contact equipment, doctors can be completely away from the interference and surgical risk because of the contact to the equipment during surgery. The Leap Motion based interaction technology provides the possibility of reducing the risk of surgical infection in the operation room.
Key words: Leap Motion     non-interference surgery     human-computer interaction    

引言

现代发达的医学影像技术已经能够让医生直观的窥探人体内部[1], 但目前多限于术前检查和规划, 难以在手术过程中发挥最大的作用. Augmented Reality (AR)即增强现实技术, 是一种把虚拟世界套在现实世界中, 并进行互动的技术. 这种技术最早于1990年提出, 目前, AR技术在军事[2]、游戏[3]等领域都有了广泛的应用. 随着AR技术的发展, 它也被引入包括手术在内的医学领域以及手术模拟[4]中, 应用于手术导航[5]、手术训练[6]等, 使得术前影像提供的患者信息最大限度地服务于手术. 越来越多的探索在实际临床手术中展开, 包括头颈、脊柱、颅额面等多个部位的手术操作中都尝试了AR辅助的方式. 例如, 冰岛Landspitali大学医院使用3D X射线和光学成像技术为外科医生提供“患者全面的增强现实视图”[7]; 杜克大学用AR眼镜助力大脑手术[8]; 尼克劳斯儿童医院与VR/AR公司Next Galaxy Corp连手, 制作为医院手术专用设计的软件[9]; 国内四川大学也推出了《人卫3D系统解剖学》VR应用[10], 使得医生凭借VR能全方位立体地观察屏幕中人体的各个器官和结构. 有研究指出, 在针刺活检应用中, AR技术比传统的“徒手”技术具有更好的操作精度和可靠性[11].

然而, 在实际的手术场景中, 医生对于虚拟图像的检索和操控仍然没有那么容易——在手术过程中要求手术医生放下手术器械切换到鼠标或键盘操作进行显示状态的切换显然不符合手术无菌环境的要求[12], 因为它们未经消毒, 有感染的风险. 外科医生通常只能向助手下达口令, 再由后者通过鼠标或键盘进行操作[13], 但这无法直接有效的体现医生的意图. 近年也有研究者探索利用平板计算机的触屏方式提供交互[14], 但都存在干扰手术进程、引起染菌风险的问题.

目前, 现有的手术非接触式控制技术主要包含两大类: 语音控制和手势控制. 如国外有学者利用语音控制和计算机系统来远程辅助手术的操作[15], 但语音控制存在着精度不够准确, 语音识别率较低等问题. 在手势控制中, 有学者提出了基于Kinect的手势控制技术[16]. Kinect是微软出品的3D体感设备, 可提供非接触式的人机交互, 但在实际的手术控制中, 由于Kinect的传感器分辨率不够, 无法有效的辨别出手指, 其次Kinect使用的结构光技术也使得深度传感器的可视范围无法重叠, 在实际手术中环境汇中, Kinect的设备尺寸大, 需要较长的电源线, 对于手术的操作有一定的阻碍.

为此, 从手术的安全性和实际操作的可行性上, 因此本文基于Leap Motion小巧、灵活、高精度的提出了基于Leap Motion手势识别的非接触式无干扰化的交互控制技术. 系统设计了一套易于理解和操作的手势用于手术中影像数据的交互呈现: 利用Leap Motion设备采集手部的数据[17]、基于API实现相应的手势识别, 并将对应的控制信号回馈给计算机, 从而达到手术过程中影像可视化效果非接触式人机交互的目的.

1 方法 1.1 系统总体设计

系统主要由手术过程中的AR显示和手势控制两部分组成, 其中, AR效果在平板电脑中呈现, 实现术前信息与术中场景的虚拟迭加, 而手势控制则基于Leap Motion设备实现. 系统总体结构如图1所示, 利用ARToolKit实现术前数据在真实场景中空间坐标的实时配准, 并以OpenGL技术将由CT、MRI等数字化成像技术获得的人体信息在计算机上直观地表现为三维效果, 从而提供用传统手段无法获得的结构信息. 其中对于手术相关的影像信息的控制, 以Leap Motion获取医生的手势信息, 在同一局域网下利用Java类中的Socket方法, 辅以接听函数实现显示内容的旋转、缩放、平移等.

图 1 系统总体结构

1.2 Leap Motion简介

Leap Motion作为Leap公司在2013年新推出的体感控制产品, 类似于微软的Kinect, 是目前最流行的体感设备之一[17]. Leap Motion对用户手掌的9块骨头、29个关节进行探测, 并检测到较近距离内的从手肘到指尖部分的手势, 可以识别毫米级别的极短位移量, 具有高精度、实时回馈的特点.

Leap Motion使用的是人眼3D原理, 将两个独立的2D画面转换为空间3D感应. 它根据内置的两个摄像头以及红外LED从不同角度捕捉的画面, 以设备本身为原点建立一个三维坐标体系(如图2所示, 坐标系的原点是控制器上表面的中心, 坐标系的X轴平行于传感器, 指向屏幕右方. Y轴指向上方. Z轴指向背离屏幕的方向), 重建出手掌在真实世界三维空间的运动信息[18]. Leap Motion所采用的快门传感器速度高达120帧每秒, 可完整采集手部的像素信息, 然后再对这些资料进行后续处理, 通过大量资料计算来做到对设备功能的稳定控制, 从而获取包括如图3所示的手掌方向和法向等手部运动相关的信息. Leap Motion的检测范围大体在传感器上方25 mm到600 mm之间, 检测的空间大体是一个倒四棱锥体.

图 2 Leap Motion坐标系

图 3 Leap Motion识别的手掌方向和法向

Leap Motion提供了适用于Windows、Mac OS和Linux的SDK. 本系统在Windows10操作系统的Java环境下开发, 利用原生接口, 通过接口中六大类(Controller类、Frame类、Gesture类、Finger类、HandList类、Hand类)来的实现从Leap Motion服务中获取追踪数据.

Leap Motion Controller的主要接口为Controller类. 创建此Controller类的实例以访问跟踪数据和配置信息的帧. 可以使用Controller :: frame()函数随时轮询帧数据. 调用frame()或frame(0)来获取最近的帧. 为了在程序中开启Leap Motion的手势识别, 需使用controller中的enableGesture函数, 输入的参数为手势的类型(如Gesture.Type.TYPE_CIRCLE).

Frame类表示在单个帧中检测到的一组手和手指跟踪资料. Leap Motion设备检测跟踪区域内的手、手指, 以帧速率的方式报告其位置、方向、手势和运动. Gesture类表示对用户移动手势的识别. 其子类定义了由运动控制器识别的特定运动模式的属性, 子类包括CircleGesture(), SwipeGesture(), ScreenTapGesture(), KeyTapGesture().

Finger类代表一个跟踪的手指. 试验中从Frame或Hand物件获取有效的Finger物件.

HandList类表示Hand对象的列表. 其中get方法通过其在列表中的位置访问列表成员. 输入的参数为基于零的列表位置索引, 返回在指定索引处的Hand对象.

Hand类从HandList类中获取得到, 通过Hand类可以得到检测到的手的身体特征如手掌位置和速度、手掌正常的方向和手指的方向、适合手的球体属性和附加的手指的列表. 其中palmVelocity方法返回向量表示手掌速度的坐标(X, Y, Z), direction方法返回从手掌位置朝向手指的方向的向量.

Leap设备把代表识别动作模型的Gesture对象放到Frame对象中gestures的list列表里. 在回调函数onFrame()中, 应用程序循环读取gestures的list列表, 并把每个手势的信息输出.

通过使用上述的类和方法, 来实现从Leap Motion中获取到手势信息.

1.3 基于Leap Motion的手势识别

我们提出一种基于手势识别的非接触式的交互技术, 让医生通过不同手势来实现对图像显示效果的控制, 从而减少鼠标操作对手术无菌环境造成的影响. 在手术过程中, 医生对图像控制的主要需求有对图像进行旋转、缩放、平移等. 为此, 设计了6种不同的手势来实现需求, 具体手势如表1.

表 1 手势配置表

基于Leap Motion的手势识别流程如图4所示, 首先用户的手势信息被Leap Motion的红外摄像头捕捉到, 然后通过Leap Motion设备的处理, 进行手势分割, 并与现有的模型进行参数对比, 从而识别出相应的手势.

手势识别的具体算法如图5所示, 在算法处理中, 通过Leap Motion提供的gesture类, 利用gesture.type()返回的数值TYPE_CIRCLE, TYPE_KEY_TAP, TYPE_SWIPE分别得到基于指尖画圈动作的顺逆时针旋转、手指单击、以及平移手势, 从而实现图像的旋转、缩放和平移功能.

图 4 手势识别流程图

图 5 算法流程图

1) 图像的旋转功能通过比较gesture.state()的返回值得到. 在TYPE_CIRCLE(旋转)手势中, 利用gesture.state()的返回值(Gesture.State.STATE_STOP或Gesture.State.STATE_START)来得到手势动作的开始状态和结束状态, 从而得到一个完整的连续的手势时间周期. 若direction().angleTo<π/2, 则识别出只伸出手指, 并顺时针旋转的手势, 反之则识别出只伸出手指, 并逆时针旋转的手势.

2) 图像的缩放功能通过比较isFinger()和tappingFinger.type()的返回值得到. 在TYPE_KEY_TAP(手指单击)手势中, 通过keytap类中的pointable方法得到单击物体的类型(手指或工具), 若为手指(tappingPointable.isFinger()), 根据tappingFinger.type()识别出不同的手势. 当手指类型为INDEX时, 识别出手掌张开单击食指的手势; 当手指类型为MIDDLE时, 识别出手掌张开单击中指的手势. 该方法对左右手均可识别.

3) 图像的平移功能通过计算palmVelocity数字得到. 在TYPE_SWIPE(滑动)手势中, 通过gesture.state()获取到滑动停止时的状态, 并利用Hand类的palmVelocity得到手掌速度的向量信息. 由于Leap Motion的坐标系与图像的坐标系存在差异, 因此若X, Z轴的向量数值在一定的阈值内且X轴上的向量数值递减, 则识别出手掌张开向右移动的手势; 若X, Z轴的向量数值在一定的阈值内且X轴上的向量数值递增, 则识别出手掌张开向左移动的手势.

图 6 手势与手势关节对应图

2 实验 2.1 实验配置

实验用到了计算机(Windows 7系统)一台和Leap Motion设备一套, 首先在计算机上安装好Leap Motion驱动程序, 将Leap Motion设备水平放置在无杂物的桌面上, 再将其与计算机连接, 设备指示灯显示黄色则表明连接成功. 其中必须将Leap Motion设备放置在无障碍的桌面上, 设备上方无障碍是成功使用Leap Motion设备的基本条件.

本次实验选取了20名试验对象, 其中10名男性, 10名女性, 均为右利手. 为方便数据统计, 20名实验对象分组为A、B、C、D、E五组, 每组两男两女共四人, 分别编号为A1到A4, 、B1到B4、C1到C4、D1到D4、E1到E4. 20名实验对象中, 有2名在实验前接触过非接触式交互技术如Kinect(对象A2和C1). 共设计了三组实验, 分别对Leap Motion参数准确性、手势识别准确性、系统交互易用性进行测试. 为避免测试人员因疲劳感而产生的影响, 实验顺序按照如下图顺序进行:

在实验前, Leap Motion设备放置在水平桌面上, 通过USB线和系统相连, 手势的操作均在Leap Motion上方中央区域进行.

2.2 Leap Motion参数准确性评估

分别对Leap Motion返回的手指个数以及手部运动速度进行测试, 以评估Leap Motion对手部运动基本数据的获取的准确程度. 五组试验对象均进行了手指个数的测试, 测试形式为用右手放置不同的手指数. 每位测试人员分别对伸开1–5根手指的手势重复50次进行测试, 对比实际手指个数和系统利用Leap Motion的Finger.number值输出的手指个数. 在共计1000次的试验中, 仅有97次未能正确识别, 准确率90.3%. 其中, 1根手指无错误识别, 2根手指的错误识别有16次, 3根手指的错误识别有20次, 4根手指的错误识别有26次, 5根手指的错误识别有35次. 由此可知, Leap Motion对少于三个手指的情况识别较为准确; 当手指个数为三个以上时, 误差较为明显. 而男女性别差异在手指个数的识别结果上无明显差异.

图 7 实验顺序图

在对X轴速度参数的测试中, 随机选取了一组实验对象, 进行了4次测试, 分别以慢、适中、快、极快的速度下挥手通过Leap Motion的正上方的中央区域, 将数据取平均值, 得到如表2所示数据.

表 2 对X轴速度参数的测试

由此, Leap Motion传感器返回到的X轴速度分量与用户的挥手的速度在一定情况下成正比, 能够反应实际手势速度的差异.

2.3 手势识别准确性评估

五组试验对象进行了手势识别准确性的测试, 在没有提前对手势进行练习的情况下, 将手部置于Leap Motion上方区域并完成如下表格中的手势. 各组的每名对象对每种手势重复测试100次, 即每种手势共实验2000次, 并将所得的数据进行整理汇总, 得出表3.

表 3 各手势准确性评估表

从多次实验的结果中看, 对于平移和旋转手势, Leap Motion的识别率基本上能达到令人满意的程度, 但是对于食指和中指的点击, 由于手掌在自然张开的状态下, 食指的点击会影响到中指, 同样中指的点击也会影响到食指, 因此误差较大. 其中中指的点击效果优于食指点击.

2.4 系统交互易用性评估

五组试验对象分别对手势识别系统的交互功能进行试用后, 对每一项手势易用性进行了打分评估. 打分以操作者的主观感受为标准, 其中每一项满分为10分, 对得分取平均值得到如表4.

表 4 交互易用性评估表

大多数被试者对平移手势的评分较高, 但对于缩小和放大所对应的单击手指手势, 由于手指间的动作的互相影响, 交互的自然性略显不足, 易用性仍需加强, 相应的客观评分低于其他四种手势. 其中有个别被试者反映对于缩放手势感觉不够自然, 分析后得知一个原因便是由于食指的点击不可避免的会影响到中指, 同样, 中指的点击也会影响到食指, 而Leap Motion设备将这几毫米动作当成了人体手指的移动, 从而造成了误差. 后期为了解决这一问题, 讨论了两种可行的方案, 方案一是采用其他手势来实现缩放效果, 如手指的捏合; 方案二是优化算法, 将数据精确到手指的向量信息上.

2.5 系统总体评分

在完成对Leap Motion参数准确性、手势识别准确性和交互易用性的测试后, 让被试者对系统的总体感受、反应速度、手势自然程度进行打分, 并写出最不满意的手势. 得到了如下的每一项满分为100分的数据表格如表5.

表 5 实验评分表

在对系统的测试中, 对于六项手势所对应的六个动作, 绝大部分被试者能在未训练的前提下良好的实现.

3 结论和展望

针对手术室无菌环境要求非常高的现实需求, 以及传统鼠标键盘等人机交互方式存在的需要定期消毒且无法在手术过程中进行操作等客观限制, 本文对目前手术室中人机交互存在的问题进行了分析, 提出基于体感设备Leap Motion的非接触式手势控制方案. 以Leap Motion作为数据采集源, 利用Leap Motion的API, 形成一套精确度相对较高、易用性相对较强的无干扰化手术控制系统. 在现有的虚拟操作人机交互方法中, 本文方法更具有现实意义, 优势突出, 且进一步促进了人机交互与手术结合领域的发展. 实验表明, 目前该系统在无干扰特性上有着较大的优势, 准确度与易用性上的表现也令人满意, 同时也证明了Leap Motion设备获取指尖信息的可行性[19]. 但目前对于某些手势(比如手指单击)的精确识别上仍存在不足, 下一步的工作将继续深入研究手指关节和体感信息的提取方法和手势匹配算法, 在现有的基础上通过双目摄像头进行深度成像, 再根据双目信息利用匹配算法推算出深度, 最后从深度图中得到三维手部模型[20]. 与传统的鼠标相比较, 手势控制有着更加灵活的操作性: 在操作上无需接触, 且手势的控制不受空间的限制, 同时对手势控制的研究有着更加大的研究意义[21]. 但在精细操作时, 灵敏度和稳定性有待提高, 这也是我们下一步的工作目标.

参考文献
[1]
刘付斌. 医学影像技术在医学影像诊断中的临床应用探究. 大家健康(上旬版), 2016, 10(3): 70.
[2]
杨克, 韩雪, 周宗铂. 增强现实技术在军事装备教学中的应用分析. 电脑知识与技术, 2017, 13(25): 112-113.
[3]
Juan CM, Toffetti G, Abad F, et al. Tangible cubes used as the user interface in an augmented reality game for edutainment. Proceedings of the 10th IEEE International Conference on Advanced Learning Technologies. Sousse, Tunisia. 2010. 599–603.
[4]
赵娜, 杨谊平. 增强现实技术与手术模拟. 中华医学丛刊, 2004, 4(4): 58-59.
[5]
钮艳华, 汪元美, 段会龙. 基于增强现实的外科手术导航技术. 中国医疗器械杂志, 2004, 28(1): 50-54.
[6]
De Crescenzio F, Fantini M, Persiani F, et al. Augmented reality for aircraft maintenance training and operations support. IEEE Computer Graphics and Applications, 2011, 31(1): 96-101. DOI:10.1109/MCG.2011.4
[7]
Helgason T, Gargiulo P, Jóhannesdóttir F, et al. Monitoring muscle growth and tissue changes induced by electrical stimulation of denervated degenerated muscles with CT and stereolithographic 3D modeling. Artificial Organs, 2005, 29(6): 440-443. DOI:10.1111/aor.2005.29.issue-6
[8]
Durrani AF, Preminger GM. Three-dimensional video imaging for endoscopic surgery. Computers in Biology and Medicine, 1995, 25(2): 237-247. DOI:10.1016/0010-4825(95)00001-K
[9]
Konstantinov IE, Van Arsdell GS, O’Blenes S, et al. Retroaortic innominate vein with coarctation of the aorta: Surgical repair and embryology review. The Annals of Thoracic Surgery, 2003, 75(3): 1014-1016. DOI:10.1016/S0003-4975(02)04333-3
[10]
李怀慧, 崔荣军, 李凯军, 等. 虚拟现实技术在护理教学中的应用探讨. 中国临床护理, 2010, 2(2): 152-153.
[11]
Mottelson A, Hornbæk K. Virtual reality studies outside the laboratory. Proceedings of the 23rd ACM Symposium on Virtual Reality Software and Technology. Gothenburg, Sweden. 2017.
[12]
陈萍萍, 刘文红, 陈琪. 浅谈外来手术器械在手术室无菌质量的管理. 上海护理, 2017, 17(7).
[13]
Gantenbein D. Kinect launches a surgical revolution. A+A, 2013, (9): 14.
[14]
宋志坚, 邓薇薇, 李舫, 等. 一种基于平板电脑的手术导航用的体数据可视化方法: 中国, CN103908345B. 2017-02-08.
[15]
Martin-Khan M, Freeman S, Adam K, et al. The evolution of telehealth. Mobile e-Health. Cham: Springer, 2017: 173–198.
[16]
Xu XL, Sun MH, Sun XY, et al. Research and development of virtual instruments system based on depth camera. Proceedings of the 3rd International Conference of Pioneering Computer Scientists, Engineers and Educators. Changsha, China. 2017. 108–114.
[17]
Li WJ, Hsieh CY, Lin LF, et al. Hand gesture recognition for post-stroke rehabilitation using leap motion. 2017 International Conference on Applied System Innovation. Sapporo, Japan. 2017. 386–388.
[18]
周开店, 谢钧, 罗健欣. 基于Leap Motion指尖位置的手势提取和识别技术研究. 微型机与应用, 2017, 36(2): 48-51.
[19]
Guna J, Jakus G, Pogačnik M, et al. An analysis of the precision and reliability of the leap motion sensor and its suitability for static and dynamic tracking. Sensors, 2014, 14(2): 3702-3720. DOI:10.3390/s140203702
[20]
钱露, 樊亚春, 周明全, 等. 基于Leap Motion的三维模型草图检索. 图学学报, 2017, 38(2): 267-277. DOI:10.11996/JG.j.2095-302X.2017020267
[21]
周华春. 体感手势智能控制开发平台研究意义. 卷宗, 2014(12): 398.