2. 广东工贸职业技术学院,广东 广州 510510
2. Guangdong Polytechnic of Industry and Commerce, Guangzhou 510510, China
人机交互是指人与机器通过各种输入输出设备传递、交换信息的过程. 早期的人机交互是以实现功能为目标, 人机界面不够友好. 例如鼠标键盘[1]等传统的、基于桌面式的WIMP范式[2], 能够保证基本交互功能的实现, 但通常需要定义复杂的、缺乏直观的交互逻辑. 混合现实技术是一种新型人机交互方式, 其实现理念是高效、自然、直观[3-5]. 在娱乐、生活、军事、医疗、教育等领域, 混合现实技术都具有很大的应用需求.
目前混合现实应用中主流的交互方式有: 手势交互、手柄交互、语言交互. 其中手势交互分为徒手交互和数据手套交互, 其实现原理是通过获取手部的位姿信息, 然后与先前定义过的特定手势进行对比, 最终确定是否触发某一特定的命令. 手柄交互是借助于陀螺仪等位姿传感器对手柄进行位姿求解, 同时利用特定的功能按键触发特定的命令. 语音交互是基于语音命令的模式匹配, 需要预先定义匹配模板, 目前多应用于功能命令和文本输入. 对于以上3种交互方式, 目前有大量的文献对其进行了充分的讨论. 例如, Wendy H Chun等[6-7]提出了面向移动混合现实的手势交互方案; Seonho Lee等[8]在混合现实头盔中应用了手势交互. 除了前面提到的3种交互方式, 也有其他一些研究. 例如, Kasun等[9]利用人脸跟踪设计了无手交互方式; Ehsan等[10]利用脑电波也实现了简单的人机交互.
人机交互实现所包含的3大要素是: 命令发起者、特定的命令和命令的执行者. 以上3种交互方式中, 命令的发起者都是用户, 所要执行的命令都是在经过预先定义的、有限的命令集中, 命令的执行者是在用户操作过程中随机指定的. 关于如何指定命令的执行者, 通常采用眼球注视机制[11]和头部朝向机制[12]. 对于需要进行仔细观察的目标来说, 这两种机制具有很强的适用性, 但通常用户并不需要盯着某一物体进行操作. 例如, 随手拿一个杯子, 如果用户每次都需要将头转向杯子, 注视几秒后才可以执行拿杯子的操作, 将会使操作低效, 且破坏操作的自然性. 直接对人手进行跟踪, 采用人手实现交互是一种高效、自然、直观的理想交互方式, 但人手是一种复杂且可变形的柔性物体, 如何实现它与虚拟物体之间的正确遮挡关系的处理, 最终达到不影响位姿判断的理想交互效果仍是这种交互方式的一个技术瓶颈[13]. 语音交互涉及到语音识别、语音理解等内容, 它可以实现在二维图形化界面下的高效交互操作, 但对于三维空间, 语音交互很难实现高效的交互.
对于强调命令执行者的混合现实装配技术, 以上几种交互方案都存在明显的不足. 因此, 本文主要面向混合现实技术在装配领域的应用需求, 选择并设计合适的交互方案. 提出了类似于指挥棒的交互方案(以下统称指挥棒交互),以期解决上述交互方案的不足,最终在技术可行性、鲁棒性以及交互自然性与高效性之间取得平衡的一种切实可行的交互方案.
1 总体框架指挥棒交互分为硬件和软件两个部分. 其中硬件包括视频透视AR头显和用于交互操作的指挥棒两个主要部件; 软件部分主要是利用双目视觉对指挥棒进行位置与姿态(后面简称为位姿)跟踪, 实现虚拟物体和现实环境之间的遮挡处理, 以及对指挥棒不同操作含义的解析.
1.1 指挥棒交互流程本文采用视频透视头盔进行操作场景显示, 利用双目摄像头采集现实场景的视频信息, 在采集的每一帧视频流中, 检测并计算指挥棒的空间位姿. 然后将这一位姿信息传递给计算机虚拟场景中的虚拟指挥棒, 通过计算虚拟指挥棒与虚拟环境中的物体的碰撞关系, 确定将要被操作的虚拟物体. 同时利用虚拟指挥棒与虚拟物体的遮挡关系, 实现真实指挥棒与虚拟物体的虚实融合, 并将最终的虚实融合效果显示在视频透视头盔显示器上, 图1是在一帧视频流中的交互流程图.
![]() |
图 1 指挥棒交互流程图 Figure 1 Baton interaction flow chart |
完整的指挥棒交互设计包括指挥棒的位姿跟踪、交互语义定义、虚实遮挡实现. 其中位姿跟踪是整个交互方案的基础, 为了避免所述问题宽泛化, 本文将主要讨论指挥棒的位姿跟踪方案.
2 指挥棒位姿跟踪本文利用双目摄像头实现对指挥棒的位姿跟踪. 关于视觉跟踪, 蔡荣太等[14-15]做了详细的论述. 本文的视觉跟踪是应用于混合现实, 具有以下特点: (1) 指挥棒的用途特定, 允许采用标识; (2) 实时性要求高; (3) 位姿跟踪精度要求高.
因此, 本文将采用有标识的指挥棒. 由于指挥棒在摄像机上的投影面积相对小, 为了保证标识特征的有效性, 本文采用纯色标. 同时为了降低现实环境中相同颜色的干扰, 本文采用红、绿双颜色标, 从而增加标识的空间约束, 降低标识误判的概率. 本文不考虑光照自适应问题, 整个实验都是在相对固定的光照条件下进行的. 图2是实验用到的指挥棒.
![]() |
图 2 指挥棒 Figure 2 The baton illustrate |
跟踪算法主要分为两个部分: 初步定位和精确定位. 如图3所示, 在摄像机获取到一帧视频流时, 判断上一帧是否检测到指挥棒, 如果上一帧未找到指挥棒, 那么使用初步定位算法, 否则使用精确定位算法. 流程图中的点g是定位的坐标, 如果点g为(0,0), 则说明定位失败.
![]() |
图 3 跟踪算法流程图 Figure 3 Flow chart of tracking algorithm |
初步定位是在整幅采集到的图像中检测是否有相隔很近的红、绿颜色块. 如果有, 则令两个颜色块的一个边界点为点g; 如果没有, 则令点g为(0,0). 如果前一帧没有检测到指挥棒, 便在当前帧采用初步定位算法.
2.1.2 精确定位精确定位算法是在一个以点g为中心的矩形窗口内进行的处理. 具体实现过程是在窗口内进行红色和绿色两种颜色的阈值分割, 并进行轮廓提取, 求解红色和绿色块的朝向. 当两个朝向的夹角较小时, 认为这两个颜色块是指挥棒上的颜色标, 并且计算出绿色块的中心点, 令其为点g. 否则, 令点g为零.
2.2 指挥棒的位姿计算在计算机图形空间中, 通常定义有世界坐标系、摄像机坐标系以及局部坐标系. 其中每个物体都有自身的局部坐标系, 该坐标系包含物体的点、线、面等几何信息, 即物体的几何形状定义在局部坐标系中, 两者具有绑定关系. 而一个坐标系在另一个坐标系中的位姿是可以用一个矩阵来表示. 本节将讨论这一矩阵的计算过程, 从而确定指挥棒的三维空间位姿.
2.2.1 平面投影位姿计算在二维图形中, 物体位姿可以用其中的一个固定点和朝向来表示. 平面物体的朝向通常是利用其轮廓或者所覆盖区域进行计算. 但是实际图像分割过程中, 所获取的图像轮廓会存在一定的缺损, 导致最终的位姿计算出现偏差. 因此, 本文采用最小面积矩形进行边界拟合, 拟合所得的矩形能够很好地忽略掉缺损部分对边界的影响. 具体的实现过程如图4所示.
![]() |
图 4 平面投影位姿计算 Figure 4 Plane projection attitude calculation |
图4(a)是由上节跟踪算法确定颜色标位置. 图4(b)是对该区域进行颜色分割, 从图中可以看出颜色标区域由于受光照的影响出现一定的缺损. 图4(c)是对分割的区域进行最小面积矩形拟合. 图4(d)是将拟合的矩形叠加在实际图像中的效果, 其中的红点是矩形的中心, 用来指定为物体的固定点点p. 图4(e)中间那条红线表示颜色标的朝向v, 由矩形的朝向确定. 事实上固定点p和朝向v表示的是指挥棒的轴向.
为了方便后面的计算, 这里用点p和点q来代替点p和朝向v对于平面位姿的表示. 如图5所示, p0、p1分别是点p在左右摄像头上的投影, 箭头表示颜色标的朝向. 假设点q0、点q1是点q在左右投影面的投影点, 其必然在箭头线上. 同时根据对极几何原理, q0、q1两点的y轴坐标必然相等, 通过一条水平线和箭头线的交点可以确定点q的投影点.
![]() |
图 5 平面投影分析 Figure 5 Plane projection analysis |
三维位姿的计算是基于双目视觉定位原理, 图6是双目视觉的示意图, 其中O0、O1分别是左右摄像头坐标系原点,
![]() |
图 6 双目视觉示意图 Figure 6 Sketch map of stereo vision |
在平行双目视觉模型中, 空间点p在左右投影平面的投影点的纵坐标相等, 即y0=y1, 其视差为d=x0-x1,图7是双目视差示意图.
![]() |
图 7 双目视差示意图 Figure 7 Sketch map of binocular parallax |
式(1)是用于计算空间点三维坐标的重投影式
$\left[ {\begin{array}{*{20}{c}} X \\[5pt] Y \\[5pt] Z \\[5pt] W \end{array}} \right] = \left[ {\begin{array}{*{20}{c}} 1&0&0&{ - {c_x}} \\[5pt] 0&1&0&{ - {c_y}} \\[5pt] 0&0&0&f \\[5pt] 0&0&{ - \displaystyle\frac{1}{T}}&{\displaystyle\frac{{{c_x} - c_x'}}{T}} \end{array}} \right]\left[ {\begin{array}{*{20}{c}} {{x_0}} \\[5pt] {{y_0}} \\[5pt] d \\[5pt] 1 \end{array}} \right].$ | (1) |
等式(1)右边的符号几何意义参照立体视觉示意图和双目视差示意图. 等式左边的结果经过变换, 即得点p的空间坐标,
在计算机图形空间中, 物体的三维位姿由其对应的局部坐标系矩阵表示. 局部坐标系的定义是任意的, 这里令点p为局部坐标系原点, 向量
![]() |
图 8 三维位姿计算流程图 Figure 8 3D attitude calculation flow chart |
其中u, v, w分别是局部坐标系x, y, z轴的单位向量, 矩阵R是指挥棒的局部坐标系相对于左摄像头坐标系的旋转矩阵, H是齐次矩阵, p是点p在左摄像头坐标系中的空间坐标.
3 实验结果与分析 3.1 跟踪实时性分析本文分别在CPU和GPU上测得跟踪算法的运行时延分布, 如图9所示.
![]() |
图 9 运行时延分布 Figure 9 Runtime delay distribution |
本文需要同时处理两幅分辨率为960×1 080的图片, 所以图片读取过程占用较多的时间. 对比两个实验结果, 本文跟踪算法在GPU上的实时性明显优于在CPU上的. 针对于在GPU上的运行结果, 当指挥棒跟踪失败时, 帧率为23.8 Hz, 当处于持续跟踪时, 帧率为26.3 Hz, 基本满足实时性要求.
3.2 位姿估计精度分析图10是从不同的观察角度进行位姿跟踪的效果图, 其中红色的点表示绿色标的中心点p, 和点p连接的直线表示指挥棒的朝向v.
![]() |
图 10 位姿跟踪效果图 Figure 10 Attitude tracking effect diagram |
指挥棒空间位姿计算的精度取决于p和v的精度, 由于点p始终是在绿色标区域内, 对指挥棒的整体位姿影响较小, 但是朝向v的不同可以完全改变指挥棒的位姿, 因此朝向v与指挥棒轴线的偏差可以表示指挥棒位姿跟踪的精度. 由于实验中朝向与指挥棒轴线的夹角较小, 不便于测量, 因此本文采用如图11所示的精度分析方法进行代替.
![]() |
图 11 精度分析示意图 Figure 11 Sketch map of accuracy analysis |
其中点p、q是上文计算的两个点, 这两个点的连线表示的是朝向v, AC是指挥棒的中截线, 与线段pq相交于B, 当AB与BC越接近时, 表示用v作为指挥棒的朝向越可靠. 设η为位姿精度, 则η的数学表达式为
$\eta = \frac{{{\text{4}} \times \overrightarrow {AB} \cdot \overrightarrow {BC} }}{{\overrightarrow {{\text{AC}}} \cdot \overrightarrow {AC} }}.$ | (2) |
当点B在指挥棒区域以外时, η<0, 当点B在指挥棒区域以内时, 0
![]() |
表 1 精度计算结果 Table 1 Accuracy calculation results |
由表1中数据最小值大于零, 说明点B未出指挥棒区域. 事实上, 在实验中η>0.8时便具有较好的跟踪效果, 即用计算所得的位姿进行虚实融合时, 人眼不易察觉虚实遮挡有明显的偏差.
图12是最终运行效果图, 左图是指挥棒与虚拟物体还未接触的效果图, 右图显示指挥棒和物体接触的效果图, 此时物体变为粉红色. 可以看出在位姿求解误差较小的情况下, 指挥棒与虚拟物体的虚实遮挡关系能够正常表示.
![]() |
图 12 交互效果图 Figure 12 Interaction diagram |
本文首先从当前已有的交互方式引入, 讨论了这些交互方式在混合现实环境中所存在的问题. 然后, 根据上述问题, 提出了指挥棒式的交互方案, 重点阐述了指挥棒的交互过程中的位姿跟踪部分. 位姿跟踪的具体思路是采用双色标进行视觉跟踪, 利用立体视觉原理计算指挥棒的空间位姿. 最后给出了位姿计算的精度数学模型, 并结合虚实遮挡, 在一个小案例中展示了位姿跟踪的实际效果. 后续将会将这一方案应用到机械拆装辅助学习的混合现实的环境中, 从而检验本文方法在工程中的应用可靠性.
[1] | 罗超. 鼠标、键盘退场智能硬件掀起交互革命[J]. It时代周刊, 2014(10): 36-37. DOI: 10.3969/j.issn.1672-5247.2014.10.019. |
[2] |
田丰, 牟书, 戴国忠, 等. Post-WIMP环境下笔式交互范式的研究[J].
计算机学报, 2004, 27(07): 977-984.
TIAN F, MOU S, DAI G Z, et al. Research on a pen-based interaction paradigm in post-WIMP environment[J]. Chinese Journal of Computers, 2004, 27(07): 977-984. DOI: 10.3321/j.issn:0254-4164.2004.07.015. |
[3] | MINE M, YOGANANDAN A, COFFEY D. Principles, interactions and devices for real-world immersive model-ing[J]. Computers and Graphics, 2015, 48(C): 84-98. |
[4] | SCHMITZ M, ENDRES C, BUTZ A. A survey of human-computer interaction design in science fiction movies[C]//The 2nd International Conference on Intelligent Technologies for Interactive Entertainment. Mexico, Cancun: ICST, 2008: 1-10. |
[5] |
黄进, 韩冬奇, 陈毅能, 等. 混合现实中的人机交互综述[J].
计算机辅助设计与图形学学报, 2016, 28(6): 869-880.
HUANG J, HAN D Q, CHEN Y N, et al. A survey on human-computer interaction in mixed reality[J]. Journal of Computer-Aided Design & Computer Graphics, 2016, 28(6): 869-880. |
[6] | KIM M, LEE J Y. Touch and hand gesture-based interac- tions for directly manipulating 3D virtual objects in mobile augmented reality[J]. Multimedia Tools & Appli-cations, 2016, 75(23): 16529. |
[7] | HURST W, WEZEL C V. Gesture-based interaction via finger tracking for mobile augmented reality[J]. Multi-media Tools & Applications, 2013, 62(1): 233-258. |
[8] | LEE S, CHUN J. A stereo-vision approach for a natural 3D hand interaction with an AR object[C]//16th International Conference on Advanced Communication Technology. Pyeongchang: IEEE, 2014: 315-321. |
[9] | CHATHURANGA S K, SAMARAWICKRAMA K C, CHANDIMA H M L, et al. Hands free interface for human computer interaction[C]//2010 Fifth International Conference on Information and Automation for Sustain-ability. Colombo: IEEE, 2011: 359-364. |
[10] | EHSAN T E, SUNDARARAJAN V. Using brain-computer interfaces to detect human satisfaction in human-robot interaction[J]. International Journal of Humanoid Robotics, 2011, 8(1): 87-101. DOI: 10.1142/S0219843611002356. |
[11] | MORIMOTO C H, MIMICA M R. Eye gaze tracking techniques for interactive applications[J]. Computer Vision and Image Understanding, 2005, 98(1): 4-24. DOI: 10.1016/j.cviu.2004.07.010. |
[12] | PATERAKI M, BALTZAKIS H, TRAHANIAS P E, et al. Visual estimation of pointed targets for robot guidance via fusion of face pose and hand orientation[C]//IEEE Interna- tional Conference on Computer Vision Workshops. Barcelona: IEEE, 2011: 1060-1067. |
[13] |
徐维鹏, 王涌天, 刘越, 等. 增强现实中的虚实遮挡处理综述[J].
计算机辅助设计与图形学学报, 2013, 25(11): 1635-1642.
XU W P, WANG Y T, LIU Y, et al. Survey on occlusion handling in augmented reality[J]. Journal of Computer-Aided Design & Computer Graphics, 2013, 25(11): 1635-1642. |
[14] |
蔡荣太, 吴元昊, 王明佳, 等. 视频目标跟踪算法综述[J].
视频应用与工程, 2010, 34(12): 135-138.
CAI R T, WU Y H, WANG M J, et al. Survey of visual object tracking algorithms[J]. Video Application and Project, 2010, 34(12): 135-138. |
[15] |
侯志强, 韩崇昭. 视觉跟踪技术综述[J].
自动化学报, 2006, 32(4): 603-617.
HOU Z Q, HAN C Z. A survey of visual tracking[J]. Acta Automatica Sinica, 2006, 32(4): 603-617. |