当前位置:首页 期刊杂志

基于惯性传感技术的裁判员手势跟踪研究

时间:2024-05-04

刘彬 王慧

摘要:针对快速捕捉赛场中裁判员手势判决跟踪问题,依靠图像的动态手势跟踪虚拟现实交互技术,研制了一种基于惯性传感技术的裁判员手势控制器,并进行了相关实验验证。该手势控制器由安装在手部、小臂和大臂的13个传感器节点组成,可用于计算机快速捕捉到裁判员对赛事的判罚,进而与虚拟空间中的物体进行交互。实验结果表明,该手势控制器能够准确地跟踪裁判员手姿势,进而控制虚拟手完成虚拟各类手势等交互操作。

关键词:虚拟交互;裁判员手势;惯性传感

中图分类号:rIP212

文献标识码:A

0 引言

裁判员作为体育比赛中负责赛场只需的任务,其主要依靠手势行使规则赋予的职权[1]。针对裁判员手势的跟踪研究是快速判断比赛结果的重要依据。虚拟现实(Virtual Reality,VR)作为目前虚拟空间并与之交互的三维环境模拟系统,是视觉表达最为完美的艺术表现形式,具有很强的沉浸感[2],且已经在军事航天、康复医疗训练、游戏、室内设计、工业仿真、教学等从军事到民用等诸多领域得到了广泛应用[3]。裁判员手势输入具有迅速、直观的特点,主要分为基于数据手套的静态手势识别[4]和基于图像的动态手势跟踪[5]两类。数据手套能够准确地识别出手势信息,但是手势被限制在固定点,属于静态手势,而且柔性传感器成本昂贵、容易损坏[6]。基于图像的动态手势跟踪是基于实时图像处理技术实现的,該方法能有效快速跟踪裁判员手部的运动,但是算法实现难度大[7],而且容易受到赛场摄像机视场以及光照条件的限制。

近年来,随着微惯性传感技术(MEMS)的不断发展,惯性式动作捕捉技术逐渐成为研究热点[8]。国内外对惯性传感技术在手势跟踪方面的研究主要集中在主从控制[9]、人机交互[10]、康复医疗[11]等领域,而且这些研究大多针对静态手势识别。从交互的角度来看,静态手势识别适用于指令式操作,属于单向输入,一般用于流程控制;动态手势跟踪适用于交互式操作,可用于操作虚拟空间中的手势。

从虚拟现实输入的角度出发,针对裁判员动态手势跟踪,提出了一种基于惯性传感技术的手势控制器,并加入了振动反馈。该控制器不仅可以为虚拟现实提供手势跟踪,而且可以提供触觉反馈,使得虚拟交互变得更加真实自然,且快速获取裁判员对赛事判决。

1 整体方案设计

1.1 功能需求

在体育赛事中,裁判员通过手势去表达比赛结果的判决,手势表达在赛事中具有非常重要的意义。在人机交互中,手势输入作为一种新型交互手段,具有生动、形象和直观的特点,可以为研究裁判员手势提供非常自然的交互体验。

针对虚拟交互的动态手势跟踪方法主要有两类,一是基于图像的动态手势跟踪方法[12],该方法对摄像机视场中的图像进行实时处理,但是当赛场中众多运动员同时交互发生遮挡或受到空间中其他物体的遮挡时,动态手势跟踪会失去效果。另一类是基于惯性传感技术的动态手势跟踪方法[13]该方法不受光照、背景、空间等外部环境的限制,不存在遮挡问题,而且具有实时性好、灵敏度高、动态性能好等优点,非常适合应用在多人互动的虚拟交互环境中。

针对虚拟交互设计的裁判员手势控制器应该具备以下功能:(1)适用于虚拟交互,具有可拓展性,未来可用于现实赛场;(2)具有触觉反馈功能,可用来感知操作对象;(3)穿戴方便,且性能要稳定可靠。手势控制器中增加的触觉反馈功能可以增强互动感,考虑到舒适性、体积限制等因素,拟采用振动触觉反馈方式。

1.2 传感器布局方案设计

图1所示为人手骨骼解剖结构图。手掌骨骼主要由掌骨、近节指骨、中节指骨和远节指骨构成。其中除大拇指外,其他四指均由远节指骨、中节指骨和近节指骨构成。手指的弯曲由三节指骨的旋转运动来实现,其中除大拇指外其余四指主要依赖近节指骨和中节指骨的主动运动。由于远节指骨的自主运动范围极小,而且它与中节指骨在运动上有一定的附属关系,因此在手势跟踪中,远节指骨的数据常常根据中节指骨来计算出,而不需要在远节指骨上安装传感器。大拇指的运动是由远节指骨和近节指骨的运动来共同完成的。因此,在手掌部分,每根手指需要安装两个传感器,同时手背处也需安装传感器来检测手的空间翻转、俯仰运动,则手掌部分共需11个传感器。

人手在空间中的运动范围可以抽象为:以肩关节为原点,臂长为半径的球形空间(在不考虑关节运动限制的情况下)。当前设计出的包含11个传感器节点的手势控制器所控制的虚拟手被限定在固定位置,属于静态手势识别。因此,参照人手的运动特点,在大臂和小臂处增设传感器节点,以肩关节为原点,大臂、小臂和手掌共同作为运动捕捉对象,通过关节间的旋转构造出人手的空间运动姿态。在单手手势控制器中,共需13个传感器,最终的传感器布局方案如图2所示.

2 姿态解算原理

2.1 捷联惯导系统

在捷联惯导系统中[14],导航坐标系为n,即地理坐标系,一般采用东北天坐标系。由运载体的机体轴确定的坐标系为6,一般称为载体坐标系。根据欧拉旋转定理可知,载体坐标系相对于导航坐标系的转动可通过三次独立的旋转来实现。初始时载体坐标系与导航坐标系重合,设旋转轴依次为:-Zn→Xn→Yn,得到的旋转角依次为:偏航角ψ,俯仰角θ,横滚角φ。初始时载体坐标系b与导航坐标系n重

2.2 空间旋转四元数法

表征空间旋转的方法主要有欧拉角法[15]、方向余弦法[16]和规范化四元数法[17]。其中欧拉角法仅用三个旋转角参数(ψ、θ、φ)进行描述,计算简单,但是会出现奇异值,造成万向节死锁,不能用于全姿态的解算。方向余弦法可用于全姿态解算,但是需对九个方程求解,计算量大,不适合实时解算系统。规范化四元数法相对于方向余弦法而言,计算量小,动态响应快,对处理器性能要求低,且不会出现欧拉角法涉及到的万向节锁,是空间全姿态解算方法,因此在惯导系统中应用较为广泛。四元数的复数形式表示为:

2.4 基于互补滤波器的四元数姿态解算方法

在姿态解算中,利用加速度计和磁力计可以直接解算出姿态信息,静态时准确性较好,但是容易受到外界加速度及磁场的影响,动态性能较差。陀螺仪动态响应特性良好,但是直接用于积分会累积误差,精度也不高。为了获得较准确的运动信息,同时兼顾动态性能,拟采用滤波算法融合这三个传感器的数据,以提高解算精度和系统的动态性能。最常用的滤波算法有卡尔曼滤波和互补滤波两类。卡尔曼滤波是一种最优估计方法,计算过程中涉及到大量代数运算和矩阵求逆,运算量很大,对处理器性能要求较高。相比之下,互补滤波具有计算量小、实时性好、对处理器性能要求不高等特点,而且在载体变化率较小的情况下,互补滤波的效果比卡尔曼滤波更好。综合考虑,选择采用互补滤波算法来进行数据融合。姿态解算流程如图3所示:

3 硬件设计

3.1 传感器节点设计

传感器节点的硬件电路架构如图4所示,包括微处理器及外围电路、三轴加速度计、三轴陀螺仪、三轴磁强计。

传感器节点的功能是采集当前传感器原始数据,进行数据融合处理得到姿态数据[19](四元数),最后将姿态数据输出到数据采集板。由于该节点要安装在手指上,因此其尺寸必须满足微型化要求,且不能影响手指的正常生理活动。

微处理器采用ARM Cortex -M3内核的STM32F103系列微处理器,该处理器内部集成了IIC接口、USART接口以及CAN控制器等,提供了多种数据传输方式。处理器外围电路主要包括供电(3.3V)、复位、晶振以及通讯相关接口部分。姿态传感器采用MPU6050芯片,该芯片是集成了三轴加速度计和三轴陀螺仪的6轴运动处理组件,消除了加速度计与陀螺仪安装轴误差带来的影响,减小了封装空间,且该芯片内部集成了nc接口以及辅助nc接口,能够挂载额外的传感器,如磁强计或气压计。三轴磁强计采用HMC5883L芯片,该芯片体积小集成度高,具备nc接口,航向精度能精确到10至20,使用简单且成本较低,充分满足了设计需求。

3.2 触觉反馈设计

由于手部体积限制,考虑采用振动来提供反馈,即在传感器绑带的内侧(手心一侧)增加微型振动马达(如图6所示),连接到微控制器10处,通过PWM输出来调节振动强度。当虚拟手与虚拟物体接触时,将接触信号反馈到对应的微控制器,微控制器进而驱动微型马达振动,为操作者提供一个触觉上的接触反馈。

3.3 节点实物图

3.4 数据采集模块设计

数据采集模块的硬件电路架构如图7所示,包括微处理器、串口芯片、WIFI模块、CAN收发器。

数据采集模块的功能是接收各传感器节点的姿态数据并打包处理[20],然后通过有线(串口传输)或无线(WIFI)传输的方式发送到上位机中。传感器节点内已经集成了CAN控制器,每一个CAN控制器都对应一个CAN收发器,二者配合实现CAN总线的数据传输,即实现了各传感器数据的采集。数据采集模块内主要包括处理器、CAN收发器、WIFI模块、USB转串口芯片及外围电路,其中处理器采用STM32F103系列微处理器;WIFI模块采用正点原子[21]的HLK-RM04模块,CAN收发器采用SN65HVD230芯片,该芯片采用3.3V供电;USB转串口芯片采用CH340G芯片。

4 软件设计

4.1 软件处理流程

(1)传感器节点内处理好传感器数据,经由CAN收发器与CAN总线连接,将姿态信息发送到CAN总线上;

(2)数据采集模块内的处理器STM32F1系列经CAN收发器从CAN总线接收姿态信息;

(3)当处理器接收到全部13个节点数据后,将数据进行打包处理,然后经由有线(串口)或无线(WIFD的方式发送至控制主机(即计算机)。

(4)控制主机对姿态数据进行解包,并将数据与骨骼相对应,操作虚拟手运动,当虚拟手与虚拟物体发生交互作用时,触发反馈信息,同时将该信息发回到处理器,进而驱动振子振动,为使用者提供振动反馈。

4.2 虚拟平台设计

采用PC机作为控制主机,选择Unity 3D软件作为虚拟平台。Unity 3D是由Unity Technologies开发的一个专业游戏引擎,其具备跨平台发布、高性能优化、高性价比、高级游戏渲染效果等特点,应用范围非常广泛,也是目前主流的一款VR开发平台。

在场景建模方面中,本文采用了从外部直接导入模型的方式,将在3DS MAX软件中建立的模型.max文件直接导入到Unity中使用,被导入的信息包括物体的空间位置、材质、关节信息等。

4.2.1 虚拟手模型驱动

在裁判员手势活动中,以手臂运动为例来说明,手指可以独立运动而不影响手背、小臂、大臂的运动;但是,当大臂、小臂、手背运动时,手指必然会随之运动而改变手指的空间位置。因此,在运动捕捉的过程中,我们以大臂终点肩关节为基本根关节,小臂肘关节为子关节,手部腕关节为次子关节,各手指关节同一指节的地位相同,依照图9所示的次序驱动各个关节运动。

Unity 3D中支持脚本语言C#和JavaScript,通过选择合適的脚本,可以完成数据通信、模型控制、场景变换等不同的功能。本方案中,选择C#脚本语言作为开发语言,Unity中封装了大量的API函数供开发者调用。通过GameObject.Find O函数获得指定游戏对象,进而用Quatemion(四元数)类下的API函数去处理由串口或WIFI读入的姿态数据(四元数),从而驱动指定游戏对象做相应的运动。

4.2.2 坐标系转换

由串口读入的数据是在地理坐标系n下的载体姿态数据,由于Unity中有世界坐标系和局部坐标系的概念,世界坐标系是固定在Unity中一切其他坐标系的总参考,因此经串口读入的数据需要进行坐标转换,转换步骤如下:

(1)首先通过Quatemion类下的旋转函数将虚拟手臂的坐标系旋转到与世界坐标系重合;

(2)真实手臂相对于东北天坐标系的初始姿态与虚拟手臂相对于Unity中的世界坐标系的初始姿态重合,进行初始化;

(3)通过配置运动函数及参数,使得真实手臂运动来驱动虚拟手臂同步运动。

4.2.3 弯曲检测

弯曲检测可以模拟出现实环境中物体碰撞到障碍物时产生的反应。在Unity3D中,要产生弯曲的效果,必须为操作对象添加刚体属性(Rigidbody)和碰撞器(Collider)。当为虚拟手臂添加组合碰撞器和刚体属性后,手臂可以在虚拟空间中与其他物体产生联系,进而可以设计弯曲、抓取等交互实验。在Unity3D中,通过MonoBehaviour.OnTriggerEnter和Mono Behaviour.OnCollisionEnter可以设计出各类弯曲情形的组合。

5 实验设计

5.1 初始化

裁判员穿戴好传感器设备后,上电进行初始化。待初始化完成后,手部运动可以控制虚拟手同步运动,如图10、图11所示。图10为手掌展开状态,图12为握拳状态。

5.2 弯曲实验

在虚拟空间中创建立方体,并增加碰撞体表面。在手臂皮肤表面创建组合弯曲体,当手臂皮肤与立方体接触时,会触发弯曲,弯曲实验如图13、图14所示。图12表示手指在移动过程中即将与立方体接触但还未接触到时的状态;图13表示手指拨动立方体后的状态,接触的瞬间振动马达会振动产生反馈,立方体受到碰撞后旋转向上运动(此状态下未增加重力约束)。如果没有在立方体表面和手臂皮肤表面增加碰撞体表面,则手指在触碰到立方体后会穿透立方体表面,而没有相对运动的产生,也不会产生碰撞效应。

5.3 抓取实验

在虚拟空间中创建虚拟小球,并增加弯曲体表面。实验者操作虚拟手来完成小球的抓取,抓取实验如图14、图15所示。图14表示手指在移动过程中靠近小球但还未接触到时的状态,此时小球颜色为白色。图15表示手指抓取到小球时的状态,此时小球颜色变为红色,表示手指抓取到小球,且手指内侧的振动马达开始振动从而为用户提供一定的触觉反馈。在抓取状态下,小球可随手指在空间中移动。

6 结论

针对虚拟交互设计的裁判员手势控制器立意较新颖,能够流畅地完成动态手势跟踪及虚拟交互。在比赛场地中且不需要苛刻的实验环境条件下,该控制器稳定可靠,佩戴舒适,能够较好地满足裁判员手势跟踪的操作需求,并且还可用于快速获取裁判员对赛事判决,具有广阔的现实应用前景。

参考文献

[1]张文,牟艳,高振兴,等.基于移动终端的壁球裁判评分系统设计[J].微处理机,2017,38 (03):46-51.

[2]林一,陈靖,刘越,等.基于心智模型的虚拟现实与增强现实混合式移动导览系统的用户体验设计[J].计算机学报,2015,38 (02).408-422.

[3]孔丽文,薛召军,陈龙,等,基于虚拟现实环境的脑机接口技术研究进展[J].电子测量与仪器学报,2015,29 (03):317- 327.

[4] 张立志,黄菊,孙华东,等.局部特征与全局特征结合的HMM静态手势识别[J].计算机科学,2016,43 (2):247-251.

[5]张毅,姚圆圆,罗元,等,一种改进的TLD动态手势跟踪算法[J].机器人,2015,37 (06):754-759.

[6]余超,关胜晓.基于TLD和DTW的动态手势跟踪识别[J].计算机系统应用,2015,24 (10):148-154.

[7] 覃文军,杨金柱,王力,等.基于Kalman滤波器与肤色模型的手势跟踪方法[J].东北大学学报:自然科学版,2013,34 (04): 474-477.

[8]孙伟,初婧,丁伟,等,基于IMU旋转的MEMS器件误差调制技术研究[J],电子测量与仪器学报,2015,29 (02):240-246.

[9]王少阳,张瑞峰,孙晓伟,等.基于FPCA的MEMS测量控制系统的设计[J].电子测量技术,2014,37 (12):58-61.

[10]孙凯,严潇然,谢荣平.基于手势识别的智能家居人机交互系统设计[J].工业控制计算机,2014,27 (04):54-56.

[11]陈俊江,李华,汤呈祥,等.基于MEMS传感器的肢体康复程度检测系统[J].沿海企业与科技,2015,(04):28-32+20.

[12]林伟强,庄宝山,动态手势轨迹跟踪与HMM模式识别[J].电脑知识与技术,2014,10 (32):7714-7718 +7733.

[13]李华兴.MEMS惯性传感技术专利分类对比研究[J].中国科技信息,2016,(16):106-107.

[14]张小跃,杨功流,张春熹.捷联惯导,里程计组合导航方法[J].北京航空航天大学学报,2013,39 (07):922-926.

[15]赵晓颖,温立书,么彩莲,欧拉角参数表示下姿态的二阶运动奇异性[J].科学技术与工程,2012,12 (03):634-637.

[16]吴能伟,基于方向余弦的交会方法[J].光电子·激光,2017,28(O1):87-90.

[17]乔相伟,周卫东,吉宇人.用四元数状态切换无迹卡尔曼曼滤滤波器估计的飛行器姿态[J].控制理论与应用,2012,29(01):97-103.

[18]庞鸿锋,潘孟春,王伟,等.基于高斯牛顿迭代算法的三轴磁强计校正[J].仪器仪表学报,2013,34 (07):67-72.

[19]江杰,朱君,岂伟楠.四旋翼无人飞行器姿态数据采集处理系统[J].计算机测量与控制,2012,20 (06):1703-1706.

[20]王利华,胡志东.基于乒乓结构的数据打包技术[J].信息通信,2014,(03):20-21.

[21]周青春,狄尊燕,周昱.量子点、量子点分子及耦合腔场的纠缠动力学[J].广东工业大学学报,2014,31 (02):7-13.

免责声明

我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!