李开贵,游 燕
(成都纺织高等专科学校,成都 611731)
无线传感器网络(WSN)是借助大量部署的传感元件来监控环境变量的智能系统,近年来,其发展十分迅速,传感器的嵌入式技术已经成熟,已经可以穿到身上,并且不会给穿戴者带来不适[1,2]。
2002年Prof.Guang-Zhong Yang将WSN延伸,提出了体感网络(BSN)的全新概念[3]。体感网络基于无线传感网络的低功耗与实时性特性,只需使使用者穿上一些传感元件,就可远程实时监控穿戴者的状况。
本文系统在录制教练动作视频的同时,同步地记录教练标准动作的传感器信息,使学员可通过无线通讯设备,同步地将连续动作的传感器信息上传到云端计算设备,进行动作轨迹重建特征比对,并且同步回传学员需要更正的错误动作,如图1所示。
本文提出的系统其关键技术包括:初始化多运动传感器的位置和传感器之间同步、运动轨迹重建、拍摄视频与运动传感器信息同步、相似度比对等,以下章节将详细描述。
图1 系统示意图
我们将初始化多运动传感器位置和传感器间同步,描述如下:
1)定义人体前方为X轴正向、左侧为Y轴正向、上方为Z轴正向。
2)通过一个输入装置,如键盘、鼠标来告知系统该学员的身高。
3)依据学员的身高,依照标准人体肢体比例来得知各肢体的长短,进而推算各个运动传感器在空间中的初始位置。
4)此外学员可以在动作开始前,利用一个致动方法,如按钮、声音、手势等,告知运动学习系统利用无线通讯,如ZigBee、Bluetooth等方式,开始读取运动传感器的数值。
5)假设学员身上穿戴m个重力传感器,开始读取运动传感器数值时,得到各个传感器初始Tick的时间是{t1, t2, ..., tm},则之后记录各个运动传感器的传感器信息其时间为(Ti-ti)×si,其中i=1...m, s代表每秒取样数的倒数。
有些球类运动,如:高尔夫、网球等,相对于击球力量,更重要的是能稳定地击到球并控制球的方向。高尔夫运动,为了在最少挥杆次数下达到最终进洞的目标,击球方向的稳定性就非常重要,所以必须建立一个完美的挥杆,才能提高成功击球的机率,以及更接近所想要达到的位置。因此,必须要有一套工具来反映出学员所挥击的信息。我们在球杆的杆身上嵌入惯性传感器,借此抓取球杆在移动过程中的物理信息,利用重力传感器来获取球杆移动的加速度状况,陀螺仪来获取球杆旋转的角度变化状况。
因此我们可以利用运动传感器中的三轴重力传感器(Triple-axis G-accelerometer sensor)、磁力计等,提供加速度、方位角等传感器信息。接着,我们利用式(1),对上述传感器信息进行积分,参考运动传感器的初始位置,就可以计算出运动传感器在X、Y、Z每一轴向的位移量,并进一步推算出运动传感器的位置信息。
此外由于球杆旋转和移动的过程中,传感器本身坐标也一直在变换,传感数值没有一个相同的参考坐标,会造成连续的数值没有关联性,因此我们必需将坐标轴转到同一个参考坐标,所以我们借助陀螺仪侦测的角速度乘上取样时间得到角度变化,再依据角度变化得到转换矩阵,利用这个转换矩阵就可以把传感器移动的状况全部转换到一开始挥杆的坐标系,再进行积分,推算出传感器的位移信息,流程如图2所示。
图2 轨迹重建流程
为了使学员可以更为精确的学习动作的细节,我们尝试将动作的传感器信息,嵌入教学视频中,并基于视频画面速率和传感器取样率,使两者记录的信息,能够达到时间同步的效果。此时的视频与传感器信息可以分别记录在不同档案,如AVI和XML档中,或是将传感器信息写入于视频档案的字段中。举一个例子来说,我们可以调整传感器取样率为视频画面速率的倍数,如传感器每秒取样120次,而视频的画面速度为60fps。视频和传感器记录的起始时间,都应该将Tick值或是Timestamp值,转换至同一个时间轴上表示,如式(2)所示:
假设传感器读到第一个传感器信息的Tick值(t0)为52642,第二个传感器信息的Tick值(t2)为52646,取样率为120Hz,此时记录的时间(TC)分别为0和0.03。同样的,假设视频第一张画面的Timestamp为52646,第二张画面的Timestamp为5238,每秒画面速率为60,则此时记录的时间(TC)则分别为0和0.03。
我们定义6个高尔夫挥杆的关键动作,包括带、转、移、放、跟、收的步骤:
带:(上杆前期)将双掌带到右大腿前方的位置。手→手臂→肩膀→臀部。以上述顺序带动球杆,并且右手腕转动至正前方;
转:(上杆后期)左肩旋转至下巴下方,作出一个大幅度的上杆动作。手臂弯曲,上升至顶点时球杆与地面平行,且左手腕固定约90度角;
移:(下杆前期)右肩下沉,右肘带到右肋下方,进入“击球准备位置”,杆子约在腰带上方;
臀部启动下杆,手腕保持角度,展现系统的“鞭打效应”,下杆前期顺序:臀部→肩膀→手臂;
放:(加速期)手腕到达腰部之后到击球。手腕在下杆前期所维持的角度做完全的释放;
跟和收:(收杆前后期)这2个动作合为一个,视为一个收杆动作,从击球完成到整个收杆动作结束。
再利用传感器信息判断出关键动作后,会产出一个视频片段和传感器信息的对应表。此对应表将记录在哪一个时间点发生什么关键动作,可以是一个独立的电子档案,或是将传感器信息写入于视频档案的字段中,如图3所示。
图3 不同的视频片段和传感器信息对应方法
在高尔夫运动中,挥杆的好坏有一些评比标准,例如动作的时间节奏、杆头挥动的轨迹与杆面位置、杆头的速度和力量等,其中:
1)动作的时间节奏:挥杆必须要有节奏才打得出好球,挥杆动作虽然很短暂,但也要有一致的节拍,才有稳定的球路及速度挥杆。Neal,Abernethy和Moran的研究中也指出新手以及专业球员在上下杆的时间分布上仍有不小的差异。新手球员在挥杆的时间分布中,上杆所占的时间从20%至60%不等[4]。相对来说,专业球员的上杆时间分布很密集的分布于70%上下。
2)杆头挥动的轨迹和杆面的位置:挥杆时杆头维持在一个圆的平面上,有如一个呼拉圈。挥杆时若离开这个平面,代表杆头会时而在平面之上,时而在平面之下。这一点主要可以由轨迹进行判断,当全部的挥杆资料都转换回地球坐标(Earth Frame)后,并且计算出每笔资料的位移,如此一来便可在同一个坐标系统下,比较两次挥杆间,其挥杆面的倾斜角度是否相同。
3)杆头的速度及力量:参考杆头的加速度资料进行判断,由于速度与力量成一正比关系,只要计算出杆头各阶段的加速度,即可知道使用者的力道是否正确。
4)各肢体部位动作先后的问题:借助将各部位的传感器资料进行分群,参考收集到的正确动作的分群时间轴,检查学员的动作传感器资料是否落在正确的分群当中。
利用章节1.2介绍的运动轨迹特征描述方法,我们可以将标准的教练的三维运动轨迹参数描述为(ae,x,i,ae,y,i,ae,z,i,),而学员的运动轨迹参数为(al,x,i,al,y,i,al,z,i,)。我们可以定义一个动作相似度(Similarity),如式(3)所示:
其中动作相似度经过正规化后,会介于0%~100%。假设教练运动轨迹为{(0,-45,130), (20,-45,120), (40,-40, 100)},而学员的运动轨迹是{(0,-40,125),(15,-40,120),(35,-35,105)},则相似度为88%。
在本实验章节中,我们将对多运动传感器的同步结果、轨迹绘制与不同肢体在时间轴上的动作相对时间进行讨论。
如图4所示,首先在运动传感器同步的实验中,我们将两个运动传感器重叠摆放,之后同时给传感器一短暂振动,如此以来,两个传感器的数值波形应该是同时发生,且同时结束,但是从图的前两张可很清楚地看到,传感器1以及传感器2的开始时间明显有段差距。经过同步后,传感器2的时间轴会向传感器1的时间轴对齐,从第三张可以清楚看出两个传感器的波形已经完全吻合。
利用章节1.2的轨迹重建技术,我们可以绘制出学员的挥杆轨迹,如图5所示,为两次挥杆的轨迹,学员可以自行检查单次挥的上下杆轨迹是否位于同一个平面上,亦可以比较某一次的挥杆轨迹,使学员可以自行修正动作错误。
图4 多传感器同步实验
图6比较两次挥杆是否在同一平面,我们以十项资料做分析,依据上述高尔夫挥杆动作分解中的起杆以及下杆顺序,对传感器资料的分布做合理群聚分析。我们可明显看出在上下杆的起始动作上,手腕和腰部的动作时间点会有明显的群聚现象,加上配合上述高尔夫球动作解析中的起杆以及下杆顺序,即可为本次挥杆动作进行评分。
图5 比较两次挥杆是否在同一平面
本文设计了一个基于云计算的高尔夫运动训练平台,使学员可以避免花费大笔资金去聘请教练和购买高端学习设备,学院可通过3G或Wi-Fi可随时连接云端系统,进行动作姿势比对。在实验章节中,我们讨论系统中的核心关键技术,包括运动传感器位置初始化与同步、轨迹绘制与讨论不同肢体动作在时间轴上的相对时间,以验证技术的可行性。
图6 不同肢体动作的相对时间分布图
[1] 杨靖, 熊伟丽, 等.无线传感器网络中基于蚁群算法的路由算法[J].计算机工程, 2009, 35(6): 4-6 .
[2] 樊俊青, 赵丽华, 等.基于网络分簇的WSN能量感知路由协议[J].计算机工程, 2010, 36(10): 108-109.
[3] 车力军, 孙峰.3G时代体感游戏的发展思考[J].电信技术,2011, 25(11): 55-58.
[4] 范旭东.现代高尔夫运动的发展趋势: 从贵族走向平民[J].体育科技文献通报, 2012, 18(1): 123-124.