王漠 赵威超 李舜禾 郭军
摘 要:现有的武术训练评估方法主要采用人工评价方式,主观性强,不易普及。为此,我们将信息技术领域的可穿戴计算技术与传统武术训练相结合,设计开发以护腕为硬件载体、结合机器学习方法的可穿戴武术动作量化评估系统。通过对运动数据的分析,建立武术动作误差分析模型,进而建立武术动作的神经网络量化评估模型,采用专家打分策略训练神经网络,实现武术训练的量化评估。我们以常见的三路长拳为数据样本,通过多组实验表明,系统具有较强的动作分析能力,能够正确反应运动者的动作质量,帮助其提高学习效果。
关键词:可穿戴;功夫文化;量化评估;神经网络
中图分类号:TP39 文献标识码:A 文章编号:2095-1302(2018)08-00-04
0 引 言
武术,国外又称“功夫”,是中华传统文化的重要组成部分,是一种深受广大民众喜爱的体育运动。据统计,全世界超过100多个国家拥有武术组织,国内外武术爱好者超过千万。但是目前武术练习效果仍然采用人工评判的方法,既不精确,也不方便。随着信息化、智能化、数字化技术的广泛应用,为武术练习者提供了一种数字化定量研究传统武术特性和动作要义的新手段。因此,我们设想将可穿戴设备与中国传统功夫的学习相结合,为广大习武之人练习武术提供一种新的训练效果量化评估指导方法,有利于传统武术在社会各界中普及和发扬光大,也有利于弘扬中国传统文化。
1 系统总体构成
我们借鉴运动手环的设计模式,利用加速度传感器M6050设计可穿戴手环,测得武术动作训练数据,利用机器学习技术对数据进行分析评测。开发的系统名为“功夫护腕”,在用户使用时,利用传感器采集数据,并将数据通过低功耗蓝牙传输至处理平台,通过程序对数据进行分析,输出每一个动作的准确程度,最后组合成一段拳法的标准度量结果。系统的硬件结构如图1所示。
图1 总体硬件架构
2 硬件组成与基本原理
“功夫护腕”的核心硬件设备包括加速度传感器MPU6050,低功耗蓝牙,高速MCU等。
2.1 加速度传感器
G-Sensor是重力传感器,英文全称为Gravity-Sensor,它能够准确感知加速力的变化,加速力即物体在加速过程中作用在物体上的力,采用加速度传感器MPU6050测量[1],而这也是本产品的关键,我们将通过G-Sensor模块采集样本数据和用户练习“初三路”武术时的数据。
系统采用高精度陀螺加速度计MPU6050,通过处理器读取MPU6050的测量数据,然后通过串口输出,避免用户自己开发复杂的MPU6050 I2C协议,同时精心的PCB布局和精湛的工艺保证了MPU6050所受到外界的干扰最小,测量精度最高。且模块内部自带电压稳定电路,可兼容3.3 V/5 V的嵌入式系统,连接方便。
2.2 低功耗蓝牙
低功耗蓝牙(Bluetooth Low Energy,BLE)与传统蓝牙技术有着本质的区别,它为医疗、运输等领域的无线应用带来了突破。只需一枚硬币大小的电池,低功耗蓝牙便可以连接并扩展到各类个人局域网(Personal Area Network,PAN)设备和新一代传感器,令其可靠地运行若干年。对于蓝牙模块和单片机MCU我们参考各种手环后,选定nRF51822蓝牙协议模块[2-3]。该模块是一款为超低功耗无线应用(ULP Wireless Applications)设计的多协议单芯片解决方案。芯片支持BLE4.0和2.4 GHz协议栈,整合了射频发射电路,一个ARM Cortex M0核以及256 kB的FLASH+16 kB的RAM。
nRF51822具有以下特点:
(1)nRF51822的IO配置十分灵活,只有ADC必须配置在8个规定的PIN脚上,其他功能可以灵活配置在31个GPIO上,该设计便于设备微型化;
(2)nRF51822内部电源工作在LDO模式下,外部可输入1.8~3.6 V电压供给芯片,虽然芯片内置了DCDC模式,但是由于功耗过大,故放弃使用;
(3)nRF51822使用1个16 MHz的外置高频晶振和1个32.768 kHz的外置低频晶振,芯片内部有32.768 kHz的RC振荡器,同时还可加入外部低频晶振来满足振荡器计时的精度;
(4)蓝牙BALUN既可以使用分立器件,也可以使用ST定制的BAL-01D3。设计中我们使用定制器件BAL-01D3,在保证信号性能的同时减小板卡尺寸。
2.3 电源模块
为了保证足够的电源效率,设计使用了高效率、带轻载优化的DCDC芯片TPS62260[4],而非传统的LDO。由于nRF51822内部有LDO,为提高效率,故系统电压越低越好。考虑到MUP6050额定电压在3 ~5 V之间,白色LED最低工作电压为2.8 V,其他IC的最低系统电压为1.8 V,因此最终确定的系统電压为4 V。
电源芯片选择DCDC。虽然DCDC静态电流大,但当输入电流大于1 mA时,效率能够达到90%以上。电源芯片电路如图2所示。
值得一提的是,需要注意 DCDC 的走线,否则电源会出现谐振。输出端的磁珠用于进一步去除噪声。电池保护模块电路如图3所示。
为了便于用户使用,系统应设计有电量检测功能。电池电量和电压之间有对应关系,系统只需检测到电池电压即可映射成电池剩余电量。
电池接入瞬间,大约0.5 s可完成电容充电,此时输出的测量电压才是稳定的正确值,所以ROM初始化代码需要延时1 s再采集电池电压。
2.4 复位模块
因为手环属于运动时的贴身物品,极易遇汗水,所以外部复位不能采用低电平复位,以防止因系统短路导致系统复位。
电平反转和静电保护是外部复位功能的关键。输入信号通过TVS管防止静电击穿电路[5],而后电容电阻网络吸收静电未达击穿电压(约6 V)时的能量。复位模块电路如图4
所示。
3 实验数据分析
3.1 误差分析评测
首先我们利用Matlab工具分析数据。预先采集一组数据作为样品模板(标准值),之后再加入一组数据,通过Matlab对所采集的数据进行处理,再调用polyfit函数对两组数据进行10次方的多项式拟合,p1/p2为其多项式拟合结果对应系数,从而得到拟合函数。通过Matlab画出拟合曲线,调用polyfit函数对两组数据进行10次方的多项式拟合,调用函数legend('Original Data1','Fitting Date1','Original Data2','Fitting Data2')计算每个点的平方差并求和,作为相似度的量化结果。
Ax Ay Az(x轴、y轴、z轴加速度的两条曲线的平方差之和)的数值越小证明动作越标准。数据采集系统如图5所示,Matlab制图显示x轴加速度原曲线和拟合曲线如图6所示,Matlab制图三轴两组数据相异程度见表1所列。
3.2 动作的机器学习评分方法
采用误差分析评测动作的好坏等级容易实现,但难以理解,特别在使用Matlab工具分析時,由于采样点的离散性,当某采样点与标准值偏离过大时,会对最后结果造成巨大影响;若不标准的曲线部分没有或过少地被采样,也会造成明显的结果误差,而一味通过增加采样点解决问题会导致分析效率成倍下降。为了解决误差分析方法特定情况下准确率不高、评测结果不易理解等问题,我们引入了机器学习方法[6]。
采用比较经典的专家打分方法为已有动作打分,以此作为训练样本训练机器学习模型,然后将新的测试样本输入模型进行测试,得到新输入动作的评分。这里,机器学习模型采用多层人工神经网络方法,通过学习输入数据的结构和内在模式不断调整网络参数,获得经验和知识[7]。通过2 400次训练后,可将损失函数降至0.1以下。机器学习损失函数数据见
表2所列,机器学习损失函数变化如图7所示,程序流程如
图8所示。
神经网络模型的数学表达如下[8]:
(1)
F()函数为激活函数,可采用relu,tanh,sigmoid等:
(2)
其中:正向传播过程中,W,b为节点参数,a(l)为前一层输出,a(l+1)为当前层的输出。该过程分为线性激活(上面的式子)和非线性激活两部分(下面的式子)。在神经网络的最后一个输出节点输出的最终分数为sigmoid激活函数的输出值。
(3)
神经网络的损失函数反映了神经网络对训练数据的训练效果。在训练过程中随着参数的不断调整损失函数的值不断减小。
(4)
反向传播过程利用W,b参数与损失函数间的导数关系,更新W,b参数使得损失函数不断变小,同时W,b参数的值趋于收敛。α为每次更新参数的幅度,即函数中的learning_rate。
训练过程采用我们提供的实验数据集进行,随着训练次数的增加,损失函数不断减小,神经网络参数趋向收敛[9]。将测试数据输入模型,通过多层神经网络处理,在输出层输出一个归一化的小于1的数字,其值越接近1,表示实验动作与标准动作越相似。我们将一个标准动作的数据集输入系统,获得了较高分;而另一个初学者的动作则获得了较低分。实验证明机器量化评估可行[10]。标准输入及得分如图9所示,初学者输入及得分如图10所示。
4 结 语
我们以大学生都熟悉的初三路为数据集实验,使用可穿戴设备采集这套拳法的标准数据,利用编写的机器学习程序对数据分析进行学习。当其他数据输入时,系统可以根据动作标准程度给出分数,并显示在PC端。
通过将获得的数据与使用者的动作对应,我们可以获知使用者动作的正确程度,并提供反馈信息,帮助使用者更好地学习功夫。该系统的应用能促进我国传统武术文化向数字化、科技化以及精确化平台模式发展,并能在与科技相互促进的同时发扬我国传统武术文化。
参考文献
[1]张少飞.基于多传感器数据融合的肢体动作识别系统研究[D].太原:太原理工大学,2016.
[2] ROBIN,HEYDON.低功耗蓝牙开发权威指南[M].北京:机械工业出版社,2014.
[3]赵文苓.基于NRF51822的可穿戴心率监测及防丢系统设计[M].成都:成都理工大学, 2017.
[4]万超.一种大电流低功耗的BUCK型DCDC芯片设计[D].成都:电子科技大学,2016.
[5]郭远东,李雪玲.TVS管失效原因分析[J].环境技术,2013(4):21-24.
[6]杜宇.基于深度机器学习的体态与手势感知计算关键技术研究[D].杭州:浙江大学,2017.
[7]张润,王永滨.机器学习及其算法和发展研究[J].中国传媒大学学报(自然科学版),2016,23(2):10-18.
[8] ZEKISUAC M,PFEIFER S,ARLIJA N. A comparison of machine learning methods in a high-dimensional classification problem[J]. Business systems research journal,2014,5(3).
[9] JIA J Q,DUAN H B. Automatic target recognition system for unmanned aerial vehicle via backpropagation artificial neural network[J]. Aircraft engineering and aerospace technology,2017,89(1):145-154.
[10] SALAPA K,TRAWISKA A,ROTERMAN I,et al. Speaker identification based on artificial neural networks. Case study: the Polish vowel (pilot study)[J]. Bio-Algorithms and Med-Systems,2014,10(2):91-99.