基于惯性传感器的人体行为识别系统设计

2023-03-06 11:46冉宪宇
微型电脑应用 2023年1期
关键词:惯性人体关节

冉宪宇

(陕西国防工业职业技术学院, 计算机与软件学院, 陕西, 西安 710300)

0 引言

人体行为识别主要是利用模式识别理论中的方法对人体的运动信息进行处理,实现行为类别的划分,在医疗保健、体感游戏、智能家居、影视创作、人工智能等多个领域有广泛应用。但人体动作复杂多变,具有多样性以及柔韧性且存在个体差异,精准识别非常困难,受惠于MEMS微机电系统在技术上的快速发展,传感器在价格、尺寸、能耗、质量等多个方面得以改进,穿戴式设备为人体行为识别的数据采集提供了便捷可靠的技术手段。因此,基于传感器技术设计人体行为识别系统,利用分类算法提升识别准确率,为其在各个领域的应用提供技术保障。

1 基于惯性传感器进行人体行为识别整体方案

1.1 人体行为识别现状

目前人体行为识别大体上包括基于计算机视觉、基于传感器两类方法,基于计算机视觉的方法在过去十几年取得了很多成就,但要求存储的信息量大,监测区域受限,且成像设备不利于携带。早期阶段传感器也存在类似问题,研究成果并不理想,随着MEMS技术的发展,传感器的限制越来越少,推广范围逐步增大,因此也成为热门研究方向。

1.2 惯性传感器优势

计算机视觉方法的智能设备成本较高,不利于推广,且受光照、遮挡、阴影等环境因素影响较大,而且无法进行大范围的监测、成像设备体积大、不便携带。相较于基于计算机视觉的识别方法,基于惯性传感器的方法具有更多优势:首先,采集设备集成度高且价格低,利于推广;其次,不受光照、障碍物等因素影响,监测范围广,可实现大范围监测;再次,采集设备质量轻、体积小,便于携带,更容易集成到各类电子产品之中;最后,传感器续航能力高,灵敏度高且功耗低,可实现长期监测[1]。

1.3 整体识别流程

为了提升识别精度,传感器数量非常关键,过多不利于佩戴,舒适度降低,而且信息量增加也会导致运算复杂度提高,单个传感器又存在信息太少影响识别精度问题。因此引出对信号处理环节的研究,进行特征提取、关键特征选择,从算法上提升识别性能。设计系统的整体识别流程如图1所示。

图1 基于惯性传感器进行人体行为识别整体流程

2 人体行为识别系统硬件部分设计

2.1 数据采集模块

人体动作由一系列的肢体行为构成,包括运动信息,因此采集传感器在选型时综合考虑数据整合量、体积、成本等因素后选择mpu9250作为惯性传感器,采集过程如图2所示。将传感器节点与人体关节进行绑定实现数据采集,为了提升传感器采集数据的准确性,采用多点佩戴方式,选择人体运动涉及的主要关节,通过增加传感器数量确保数据不会出现过大的偏差。采集模块包括九轴惯性传感器(三轴加速度计、三轴陀螺仪、三轴磁力计)、微处理器[2]。数据通过ZigBee无线传输网络发送至信息接收模块。

图2 惯性传感器采集流程

2.2 信息接收模块

信息接收模块主要实现惯性传感器与计算服务器之间的数据通信,利用USB接口连接计算机,将数据采集模块发送的信息通过串口传输至计算机处理。主要包括USB转串口及ZigBee无线网络构成。由于行为动作捕捉过程中惯性传感器属于自给系统,缺少参考点,没办法获得空间位移信息,因此采用精度高、性能好的超宽带定位技术通过纳秒级窄脉冲实现人体位移信息采集。

3 人体行为识别系统软件部分设计

3.1 数据存储模块

根据人体行为识别系统的需求,为了方便处理模块调用采集到的行为数据,存储过程中应注重结构简单、占用空间较小,因此利用BVH格式文件进行存储以便于数据的读取。由于人体行为存在个体差异,利用BVH文件中关节的相对位置可调整人体比例。将根节点作为Hips节点,改变其参数实现三维空间的位移。

将每个完整的人体行为存储为一个BVH文件,利用文件名进行区分,文件名采用“行为编号_人员编号_实验次序编号.bvh”格式[3]。

3.2 三维重现模块

人体的关节构成可采用树状层次结构进行表示,由一个根节点及多个叶子节点组成。主要关节模型如图3所示。

图3 人体主要关节模型

形体的每一次运动过程都可以看做是相对于父节点的关节的运动,由于髋关节活动范围有限,因此将髋关节作为根节点,将惯性传感器节点固定在人体关节,即可捕捉行为数据。惯性传感器获取人体行为动作传输至计算机之后,根据行为数据构建三维人体模型进行行为重现,实现可视化行为展示。

利用Unity3D实现人体模型的三维实时展示,将原始数据经过处理后生成姿态的四元数,采用米作为统一度量单位,站立位置作为初始原点,初始姿态为T字形,人体模型的中心作为轴心,对绑定了惯性传感器的关节进行设置,实时反馈电量、绑定状态等信息,实现人体行为的实时捕捉与展示[4]。

3.3 基于SVM算法的人体行为识别模块

对BVH文件中存储的人体行为信息进行数据预处理以及特征提取,提取出影响较大的特征矢量,采用分类算法实现人体行为分类实现行为识别。

SVM(支持向量机)算法的学习策略为间隔最大化,将线性数据分割后利用一条直线将数据分开,在三维数据集时,则是利用一个平面进行分割。SVM算法需要找出最接近分割之后超平面的点,以此计算最大支持向量与分割面之间的距离[5]。设训练数据集为T={(x1,y1),(x2,y2),(xN,yN)},利用惩罚参数C>0构造并求解凸二次规划问题:

(1)

ω*·x+b*=0

(2)

式(4)中w为向量,b为常数,则决策函数可记作:

f(x)=sign(ω*·x+b*)

(3)

4 人体行为识别效果验证

4.1 实验准备

为了验证系统的识别效果,采用8个人员进行测试与识别。在受测人员的10个主要关节绑定惯性传感器:头、腰、左/右肩、左/右肘、左/右髋、左/右膝。通过这些核心关节的运行状态判断人体行为。设计包括上肢、躯干、下肢在内的16种行为动作如表1所示,每人每个动作做4次,每个动作要求在10 s内完成。

表1 行为定义

由于受测试人员存在动作幅度、骨骼比例等差异,因此采用BVH文件进行信息存储,在BVH文件中可以修改关节点的相对位置,设定人体模型的身体比例,利用欧拉角对骨骼与肢体关节旋转数据进行描述,通过调整根关节的参数实现人体模型的位移变化,以此减少不同测试人员之间数据采集的误差。

4.2 数据预处理及特征提取

4.2.1 数据预处理

采集到的数据可能存在异常情况导致最终分类结果不准确,因此需要对原始数据进行预处理,剔除异常数据。经过综合考虑采用四分位距法统计数据的离散程度,剔除异常值。将采集到的人体行为数据从小到大排序后利用三个点Q1、Q2、Q3分割为四等份,三个点分别是第一、第二、第三四分位数,利用箱型图筛选异常值,如图4所示[6]。

图4 四分位距箱型图

其中,U为上界,D为下界,则:

U=Q1-k(Q3-Q1)

(4)

D=Q3+k(Q3-Q1)

(5)

式中,k=1.5为中度异常,k=3为极其异常,本文取k=1.5,以此计算得到的离群点即为异常数据,对每个动作的原始数据进行预处理,使数据更加平稳,没有跳跃点。

4.2.2 特征提取

为了方便后续处理,将BVH文件的数据记作数组形式data[k][e][n],k代表惯性传感器数量,e为传感器节点的欧拉角,n为数据帧数。由于本次实验中采用10个惯性传感器,因此k=10,每个传感器节点选择3个欧拉角,因此e=3,选择均值、最大值、最小值、标准差、方差、中值、极差、斜率绝对值、能量9个特征代表人体行为特征,因此n=9。最终BVH文件提取的一组行为数据的数组可记作data[10][3][9]。提取后共产生270个特征。

4.2.3 特征降维

由于特征过多数据训练时间会非常长,计算过于复杂。因此需要利用主成分分析法选取其中关键特征,步骤如下:

(1) 选择矩阵的一行记作一个特征,求每个特征的均值,利用“原始数据-均值”作为新的中心化后的值。

(3) 根据矩阵S求解特征值、特征向量。

(5) 利用投影矩阵求得降维之后的特征。

经过多次试验,当损失率取0.08时,可提取60个主成分,满足实验要求。因此将特征向量的维度从270维降至60维。

4.2.4 归一化处理

4.3 识别步骤

由于本文识别的人体行为动作包括16类,因此利用系统中基于SVM算法的人体行为识别模块构建16类分类器,实验采集8个人员的动作信息,开启软件相应串口后连接惯性传感器,受测试人员保持T字型静止,打开惯性传感器进行自动校准后捕捉人体行为,每个测试人员每个动作重复4次,则每个动作均会产生32个样本数据,将其中70%作为训练数据,30%作为测试数据,代入系统的人体行为识别模块,经过数据预处理、特征提取、特征降维以及归一化处理后,根据SVM分类算法,采用高斯径向基函数为SVM的核函数,惩罚因子C=1,利用Python语言编程实现人体行为数据识别,识别率=(识别正确数/实验总数)*100%,识别结果如表2所示。

表2 行为识别结果

4.4 识别效果分析

根据得到的识别率可以看出,系统设计的分类器对16种人体行为的平均识别准确率可达到86.72%,其中对挥手、交叉、走路等行为识别效果最好,达到100%,对画圆和画X识别效果最差,仅为62.5%。由此可以看出,对于动作幅度较大且与其他行为区别比较明显的行为识别准确率较高,对于画圆、画X这种相似行为的动作则识别率会有所降低。

5 总结

人体行为识别系统在硬件部分包括惯性传感器采集数据、USB串口接收数据、超宽带定位模块,并通过SVM算法进行行为分类,利用UNITY3D技术实现动作的可视化重现,经过实际测试验证整体识别效果较好。但对于幅度不明显且存在相似动作的行为识别率会有所降低,且不同年龄段、不同身高、不同体重人员会存在个体差异,后续将在特征值提取方面进一步优化,提升系统识别的准确率。

猜你喜欢
惯性人体关节
你真的了解惯性吗
人体“修补匠”
冲破『惯性』 看惯性
人体冷知识(一)
排便顺畅,人体无毒一身轻
奇妙的人体止咳点
无处不在的惯性
用跟骨解剖钢板内固定术治疗跟骨骨折合并跟距关节及跟骰关节损伤的效果探讨
miRNA-140、MMP-3在OA关节滑液中的表达及相关性研究
CT和MR对人上胫腓关节面坡度的比较研究