视触觉融合的增强现实三维注册方法
2021-06-11张晶晶
刘 佳,郭 斌,张晶晶,闫 冬
南京信息工程大学 自动化学院,B-DAT&CICAEET,南京210044
增强现实(Augmented Reality,AR)是由虚拟现实(Virtual Reality,VR)技术发展而延伸出来的研究领域[1],它突破了虚拟现实只能构建虚拟场景的局限,借助视觉技术和计算机图形学将计算机生成的虚拟环境与用户周围的真实环境融为一体[2],达到虚实结合的目的,呈现给用户一个感官真实的新环境[3]。增强现实的关键技术有三维跟踪注册技术,虚实融合显示技术和人机交互技术[4]。其中三维注册技术是增强现实系统的核心,是衡量增强现实系统性能优劣的重要指标[5-6]。目前,基于计算机视觉的增强现实注册方法有基于无标识的和基于标识的[7-8]。基于标识的方法可以使用ARToolkit开发平台,它使用模板匹配技术[9],计算精度高且效果稳定。在增强现实系统中,交互技术满足了人们在虚拟和现实世界自然交互的愿望[10]。早期的AR研究中,用户只能通过显示设备观看虚实效果,没有太多与虚拟对象的交互[11]。但随着计算机性能的提高,仅“显示”的增强现实场景不再能满足用户的需求,多种交互技术在AR系统中应用。目前,增强现实中人机交互技术主要分为四类,分别为基本命令式交互、双手交互、多通道交互和特殊工具交互。人自身具有多种感官感知功能,可以将触觉、听觉、力反馈等作为输出,实现多通道的增强现实交互[12]。在增强现实系统中加入触觉感知,构建视触觉增强现实系统(Visuo-Haptic Augmented Reality,VHAR)[13],这主要运用了多通道交互方式。VHAR的理念主要是将增强现实技术与触觉相结合,满足用户在增强现实环境中看到并触摸虚拟对象的需求,实现与虚拟对象的触觉交互。目前常用的触觉交互设备有力反馈手控器、数据手套等。Geomagic Touch[14]是业界最广泛配置的专业力反馈装置,可在用户手中施加力反馈,使用户在操纵屏幕上的3D对象时能够感受虚拟对象并产生逼真的触摸感。触觉设备可用于多种应用[15-16],如手术模拟、医疗培训、科学可视化以及盲人和视障人士的辅助技术等,如图1所示。
图1 触觉设备应用场景
本文提出了一种视触觉融合的增强现实三维注册方法。视触觉融合的类型可以分为共址定位和非共定位[17]。共址定位指将触觉设备集成到增强现实环境中,触觉交互点与三维场景中的接触点在视觉上重合;非共定位指用一个虚拟代理表示触觉交互点,用户通过操控触觉设备的触控笔实现用虚拟代理移动虚拟对象。本文提出的算法针对非共定位的视触觉融合,采用基于标识的跟踪注册技术,将虚拟对象与虚拟代理融入到真实环境中。同时对触觉环境进行力触觉渲染,给虚拟对象赋予材料属性,提供给用户真实的反馈力,提高用户与虚拟对象交互时的真实感与沉浸感。
1 相关工作
视触觉增强现实作为一个新兴的技术已经有了一些研究。一些研究使用传统的基于屏幕的显示[18-19],还有一些研究使用光学透视式或视频透视式的头盔显示器(HMDs)[20]。Harders等人[21-22]提出了一种高精度的视觉与触觉融合的增强现实系统,在该系统中,使用外部跟踪器对目标进行跟踪,并且连接到触控笔进行校准。该系统包含了触觉设备和头戴式显示器,并将其应用在娱乐方面。
视触觉增强现实技术被广泛地应用于医疗康复领域。Alamri等人[23]提出了一种适用于脑卒中患者损伤的康复系统。该系统不需要治疗师监督,患者自主完成康复训练,此外该系统实时记录患者手部的运动轨迹以评估训练效果。Vidrios-Serrano等人[24]提出了一种机器人辅助治疗上肢功能的系统。该系统将机器人装置与AR环境结合创建了用于康复治疗的触觉平台,为患者提供了额外的动力。患者在感受到视觉和触觉刺激的同时,系统可以跟踪患者的行为,记录患者的交互信息。
视触觉增强现实技术也可以应用于教育和娱乐等方面。Huang等人[25]采用基于标识的注册在屏幕中显示虚拟对象,用户可以通过触觉设备直接感受到该对象的存在并触摸该物体。目前,该研究可以与增强现实中的电子书相结合,利用触觉设备,用户不仅可以欣赏他们观看的内容,还可以触摸到产生的3D对象,给用户带来较好的感知体验,使得教学材料更加丰富,更加有趣。
将增强现实与触觉相结合,能够给用户带来更多真实感,使用户以更自然的方式与虚拟对象进行交互。三维注册是实现视触觉融合的关键。Sandor等人[13]提出了VHMR系统的一种简单的注册方法,并使用双手动交互技术创建了一个绘画应用程序。Aleotti等人[26]提出了一种基于模型的注册方法,利用激光扫描仪获取距离数据,计算目标的三维特征,在数据集中匹配三维模型。Harders等人[22]提出了动态注册的方法。通过红外光学跟踪踪器对附着在触觉设备上的标识进行识别,采用基于视觉的跟踪方法,得到触觉设备在世界坐标系下的位置。其他定位方法[27-28]为实现设备和真实世界的精确定位确定了触觉装置的运动参数。
2 算法组成
视触觉增强现实系统可分为两部分:增强现实和触觉交互。其中需要解决的问题为摄像头和触觉设备的标定、三维注册以及力触觉渲染[29]。相比于传统的增强现实应用,视触觉增强现实系统增加了一个视觉到触觉的变换。
2.1 标定
图2 摄像头与触觉设备的工作空间
本文设计的视触觉增强现实系统中涉及到摄像机与Geomagic Touch这两个设备,需要对摄像机和触觉设备进行标定。摄像机与触觉设备的工作空间存在差异,如图2所示。摄像机的工作空间呈锥体,范围较大;而触觉设备的工作空间呈立方体,触笔移动范围有限。如果放大触觉设备的工作空间使它适应摄像机,触觉设备的坐标将不容易设置。
摄像机标定是为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,以此建立摄像机成像几何模型,重构三维场景。本文使用Zhang的方法[30]进行标定,标定板是一块黑白方块间隔组成的棋盘,采集不同方位棋盘的图像,利用采集图像特征点之间的对应关系求解出摄像机的内参,再根据单应性矩阵计算摄像机的外参。该方法避免了传统方法设备要求高、操作繁琐的缺点,又比自标定方法精度高,符合桌面视觉系统的标定要求。为了获取准确的触觉设备坐标,防止机械臂发生偏离导致坐标变换后视觉场景出现偏移,对触觉设备进行校准。触觉设备的校准有三种类型:编码器硬件校准、墨水池(inkwell)校准和自动校准。本文对触觉设备进行墨水池校准,提示用户将触觉设备的探针放入墨水池完成校准。
2.2 三维注册
为了实现与虚拟对象的触觉交互,需要解决视觉与触觉坐标的三维配准问题,保证真实环境、触觉设备以及虚拟对象之间的几何一致性。本文提出的视触觉增强现实三维注册算法中,将标识坐标系作为世界坐标系,同时,搭建触觉环境,在标识位置上绘制并渲染虚拟对象以及虚拟代理,并将最终的三维效果图显示在屏幕中。在增强现实环境下实现视触觉融合,需要协调好摄像机、触觉设备空间、标识和屏幕坐标之间的位置关系。通过对坐标系进行平移和旋转变换,使得各个坐标系相匹配。图3为视触觉增强现实中各坐标的关系图,其中涉及到几个坐标系统。
图3 坐标系之间的关系
2.2.1 增强现实中的三维注册
增强现实的最终目的是实现虚拟对象与真实场景的融合,要实现这一目标,需要结合显示技术以及虚拟对象与真实环境的相对位置。注册过程就是实现虚拟对象放置在真实环境中正确位置上的过程。本文中增强现实系统的搭建在ARToolkit平台上开发并且采用基于标识的跟踪注册方法。基于标识的三维注册方法的原理是给定模板图片,计算模板的特征点,通过摄像头读取场景中标识的信息,通过计算机视觉的相关算法识别并提取标识的轮廓,找出摄像头相对于标识的位置和方向,从而准确地进行三维定位。
假设标识坐标系中一点的坐标为(Xw,Yw,Zw)T,其在图像坐标系对应的投影点的坐标为(u,v),根据标识到摄像头坐标系的变换和摄像头到图像坐标系的变换可以推导出标识上一点与对应投影点之间的关系,如式(1):
式中,dx和dy为每个像素点在图像坐标系的x轴、y轴方向上的物理尺寸;(u0,v0)为图像坐标系的原点在像素坐标系上的坐标,f为摄像机焦距;由于只与摄像头的内部参数有关,称这些参数为摄像头内参,K0是摄像头的内参矩阵。R为绕三个坐标轴的旋转矩阵,T为三维平移向量,用来表示标识坐标系与摄像头坐标系之间的相对位姿;P0是由旋转矩阵和平移向量组成的摄像头的外参矩阵,该矩阵表示世界坐标系和摄像头坐标系之间的转换关系。可以通过摄像头标定得到内参和外参,就能够知道标识在摄像头中的位置和方向,进而将虚拟对象注册到标识中。
2.2.2 触觉环境中的三维注册
在虚拟环境中加入触觉感知,需要通过触觉设备提供力反馈。实现虚拟环境中的触觉交互,需要将触觉环境叠加到虚拟环境中,即实现触觉设备坐标系与屏幕坐标系之间的配准。首先建立触觉设备工作空间与图像场景的映射关系,然后通过坐标变换关系实现触觉设备到屏幕坐标系之间的变换。
图4 触觉工作空间到图形场景的映射
图4描述了触觉设备工作空间到图形场景的映射关系。其中对象坐标为虚拟对象的本地坐标,通过模型变换将虚拟对象映射到世界坐标系,世界坐标系是图形场景的全局参照系;通过视图变换将世界坐标转换为视图坐标,视图坐标是虚拟摄像头的本地坐标;有了视图坐标后需将其投影到裁剪坐标;最后,将裁剪坐标通过视口变换转换为屏幕坐标显示到屏幕上。触觉坐标是工作空间的父坐标系统。触觉坐标系表示从工作空间到独立于进一步的工作空间转换的视图坐标系的基本映射,工作空间坐标是触觉设备的本地坐标。
虚拟环境中图形场景的建立由OpenGL完成,它将绘制的三维虚拟对象呈现在屏幕上。OpenGL主要有两个矩阵,模型视图矩阵和投影矩阵。模型视图矩阵,定义了虚拟对象所在的世界坐标系到虚拟摄像头坐标系的转换。
将触觉环境叠加到虚拟环境中,主要原理如下。假设视图坐标系中的一点为(Xv,Yv,Zv)T,与之对应的触觉坐标系中的点的坐标为(xt,yt,zt)T,工作空间中的点的坐标为(Xt,Yt,Zt)T,视图坐标系与触觉坐标系之间的关系如下:
其中,A4×4实现了将映射的工作空间定向到视图坐标中的目标,可以通过平移使得工作空间的最近部分与映射目标的最近部分配准。使得视图空间中所有可见的虚拟对象都可触摸,为了方便可将其设为单位矩阵。因此,触觉-工作空间矩阵实际上定义了工作空间到视图坐标系之间的映射。
由于工作空间的差异,触觉工作空间受到触觉设备的限制,触觉设备的实际位置和触觉虚拟代理在屏幕上显示的位置不同,为了将触觉设备的虚拟代理在屏幕中正确显示,需要将触觉设备坐标系转换到视图坐标系,变换关系如下:
其中,B4×4定义了触觉坐标系相对于视图坐标系的旋转和平移。
2.2.3 视触觉融合的三维注册
实现增强现实环境与触觉环境的融合,只需将增强现实环境下的标识坐标系和触觉环境下的触觉工作空间坐标系对准同一个摄像头坐标系。
在增强现实中,当标识旋转或平移时,用变换矩阵将标识坐标系转换到摄像头坐标系,使它们的位置相对应。摄像头可以获取标识的位置信息,标识将其位置转换到屏幕上并显示正确的图像,齐次变换矩阵的公式为:
其中,Vc=[Xc Yc Zc]表示摄像头坐标系中的一点,Vm=[Xm YmZm]表示相对应的标识坐标系中的点。
前面已经讨论了工作空间的问题。触觉设备的探针只能在有限的范围内移动,相对于摄像头的工作空间有明显的区别。正是由于这种差异,使得触觉设备的探针的实际位置和虚拟代理在屏幕上的位置不同。在这种情况下,当虚拟光标显示在屏幕上时,很有可能坐标系不配准,需要以下转换:
其中,Vt=[Xt Yt Zt]表示触觉工作空间中的点。
根据上述三维注册算法,实现增强现实环境下视触觉的融合。系统定义的用户工作空间示意图如图5所示,其中蓝色线框区域表示可以活动的触觉空间,灰色虚线表示标识坐标系所在的平面。
图5 用户工作空间示意图
为了实现与虚拟对象的交互,需要可视化虚拟代理的位置,建立触觉设备的探针与虚拟环境中的虚拟代理之间的映射关系,由于虚拟代理代替了触觉设备的探针,触觉设备不显示在工作空间中。3D光标是触觉场景中虚拟代理的图形表示。虚拟代理的大小需要与整个工作空间相适应,根据场景中的虚拟对象的大小,提供合适的比例确定3D光标的大小。通过透视投影可以使3D效果更具真实感。
透视投影的视域体类似于一个顶部和底部都被切除掉的棱椎,视野看起来像一个被切割的金字塔,以此模拟真实摄像头通过透镜所能观察到的空间。它的特点是距离视点近的物体比较大,而距离远的物体比较小[31]。因此,当绘制3D对象时,通过添加透视投影使呈现的对象更具真实感。透视投影矩阵[32]为:
其中,zNear为视点到近平面的距离,zFar为视点到远平面的距离,且都为正数,fovy为y方向的取景区域的角度,aspect为x方向的用来确定取景区域的高宽比。
2.3 力触觉渲染
本文使用GeomagicTouch力反馈设备,这个设备看起来像一个小的机器人手臂,每个关节都有一个电机驱动,它可以产生运动感觉信息与触觉信息。通过对触觉环境的渲染[33-35],用户可以触摸并操控虚拟对象,触觉设备通过内部电机给用户提供反馈力。本文中通过给虚拟对象添加材料属性,将虚拟对象定为刚性物体,用户在与虚拟对象进行触觉交互时,在视觉上光标不会穿透其表面,使接触更加可信。
本文采用God-Object力触觉交互算法[36],计算力反馈设备的交互点位置以及与虚拟物体交互时产生的力。当与虚拟物体进行触觉交互时,实际的触觉交互点位于虚拟物体内部,即图6中点1表示的位置。理想交互点位于虚拟物体的表面,God-Object算法的目的在于找到实际交互点到虚拟物体表面上距离最短的点,将此时虚拟物体表面上的点视为理想交互点,即图中点2表示的位置。
图6 God-object算法示意图
God-Object算法通过对多个条件约束的多元函数求极值进行优化,从而得到理想交互点的位置。找到一组有效约束时,使用拉格朗日乘数法来确定新理想交互点的位置。公式(7)给出了在一个虚拟弹簧中的力量。
其中,x、y、z表示理想交互点的位置坐标,xh、yh、zh表示触觉交互点的位置坐标。本文中有三个平面约束,理想交互点的新位置通过最小化公式(8)中的L求得:
当找到新的理想交互点位置时,根据胡克定律计算出此时的交互接触力。交互接触力与反馈力是一对相互作用力,反馈力的公式为:
其中,k为弹簧系数,d为实际交互点与理想交互点之间的距离。
3 实验结果
3.1 实验软硬件平台
本文通过一台PC机、一个显示器、一个摄像头和一个GeomagicTouch触觉设备进行注册实验。触觉设备具有6自由度位置姿态检测和3自由度的力反馈功能,工作空间>160 mm(宽)×120 mm(高)×70 mm(深),位置精度约为0.055 mm,最大施力3.3 N。系统在VS2015环境中开发,使用ARToolkit和OpenHaptics工具包,实验中的摄像头分辨率为640×480,运行于2.4 GHz的电脑上。
3.2 系统实现
本文的增强现实环境在ARToolKit平台上搭建,借助OpenHaptics工具包对触觉环境进行构建,利用GeomagicTouch触觉设备提供力反馈,根据上述三维注册算法开发了一个视触觉增强现实系统。
视触觉增强现实系统主要是由操作者、一个力触觉设备和增强现实环境组成,计算机将生成的虚拟环境注册到真实场景中,形成虚实结合的一个增强现实环境,利用触觉设备将触觉融入增强现实环境,用户可以在该场景下进行触觉交互。图7说明了一个视触觉增强现实系统的基本框架,其中,X表示虚拟代理,S表示虚拟对象,Fd表示计算的反馈力,FY表示反馈给用户的力。
图7 视触觉增强现实系统框架
首先采用张正友的棋盘标定法对摄像头进行标定,然后根据ARToolkit的工作流程,将虚拟对象和触觉虚拟代理同时注册到真实场景中。最后对触觉环境进行渲染,实现增强现实环境下的视触觉融合。用户能够在此环境下与虚拟对象进行触觉交互。实验场景图如图8所示。
图8 实验场景图
本文算法与其他算法的对比如表1所示。本文算法采用的是非共定位的视触觉融合方法,与共址定位的方法相比,所需的外部设备比较简单,仅需要一个摄像头即可。使用基于视觉的方法对虚拟物体进行注册,比基于模型的方法更加快速。与Huang的方法相比,增加了对虚拟对象的控制。与Aleotti的方法相比,没有对虚拟物体间的位置进行遮挡处理。
3.3 实验结果
图9显示了校准和注册后的示例环境。从摄像头收集的图像显示了虚拟对象与虚拟代理同时注册到现实环境中。其中蓝色的锥形光标表示触觉虚拟代理,虚拟代理显示的方向与真实环境中触觉设备探针的方向保持一致。
表1 算法对比
图9 视触觉增强现实结果图
给虚拟对象赋予触觉的材质属性,设置虚拟对象的刚度、阻尼等。当用户手持触觉设备的探针,用虚拟代理接触虚拟对象时,只能触碰到虚拟对象的表面,不能穿透虚拟对象。如图10所示。
图10 赋予虚拟对象材料属性
当虚拟光标与虚拟对象发生碰撞时,用户按下触控笔上的按钮,虚拟代理会附着在虚拟对象上,用户操控触觉设备的探针可以实现对虚拟对象的平移和旋转,如图11所示。
图11 与虚拟对象的交互
由于标识在真实场景中会带来视觉障碍,影响用户的沉浸感及真实感,对系统进行改进,在标识移除后仍然能够显示虚拟物体并与之进行交互。如图12所示。
图12 标识移除后的场景图
本文设计了一个组装机器人的项目,该游戏体现了视触觉融合的优势。在真实场景中注册机器人的各个组成零件,给定机器人的效果图,用户手持探针抓取机器人的零件并按照效果图进行组装。用户在手持探针的过程中可以感受到触觉设备持续提供的力。组装机器人的界面如图13所示。
图13 组装机器人项目
4 结束语
近年来,多感官交互在增强现实领域的研究越来越受研究者的重视。传统的触觉交互研究大多应用在虚拟环境中,为了满足用户在真实环境中与虚拟物体之间的触觉交互,提出了视触觉增强现实三维注册方法。为了使视触觉增强现实环境更加准确以及稳定,需要保证视觉、触觉的空间位置保持一致,将触觉设备空间、标识、摄像头以及屏幕这四个坐标系进行配准,协调好摄像头、触觉设备空间、标识和屏幕坐标之间的位置关系。将虚拟物体注册到真实环境中,使虚拟对象更加贴合真实环境,加入触觉感知,触觉设备给用户提供反馈力,使用户体验更加真实,从而验证视触觉增强现实系统的可行性。