你使用过智能手环吗?作为穿戴设备中最普及的硬件,小小的手环里功能强大,可以精准检测出不同运动模式下消耗的卡路里,监测并判断睡眠状态和睡眠质量,从而便利和提升生活质量。那么在这些炫酷的功能背后究竟隐藏了什么秘密呢?
传感器数据+算法
看似小小的手环,里面集成了众多传感器,比如高精度6轴MEMS运动传感器(3轴加速度传感器+3轴陀螺仪),气压传感器,光学心率传感器等等。其中加速度计测量的是加速度,陀螺仪测量的是角速度,气压计测量的是高度变化。
假如想要计算热量消耗,在计步的场景下一般有几种典型的方法,一种是首先基于MEMS惯性传感器计算走/跑到步数,然后根据步长(用户输入,或根据用户信息,如身高,性别)和步数来计算,这并不能反映用户实际行走的环境对热量消耗的影响。更加精确的办法是用气压传感器的数据与惯性传感器进行融合,气压计记录每个动作的高度变化,形成独特的“动作指纹”并补偿进算法。那么在设计算法的过程中会考虑什么呢?如何保证其准确率和可靠性?
多传感器融合校准数据
游泳运动越来越流行,有些穿戴设备甚至还有游泳姿态的识别功能。在游泳的过程中,划水的手臂不仅有姿态的变化,还有各种旋转动作,那么要实现泳姿识别,就必须要实现加速度计和陀螺仪的协调和融合。
然而加速度计和陀螺仪的数据都具有不确定性。陀螺仪具精确但有零点漂移特性,其测量误差会随着时间的累加而不断的累积,从而影响测量精度。因此,短时间测量应信任陀螺仪。由于加速度计测量的是惯性力,这个力可以由重力引起(理想情况只受重力影响),但也可能由设备的加速度(运动)引起。因此对震动和噪声的敏感,混叠额外的高频振动量干扰,但是漂移小。因此,长时间测量应信任加速度计。所以单一的传感器测量难以得到精确的姿态角度。一般采用卡尔曼滤波器来做多传感器信号融合,使它们分别补偿对方的噪音和漂移误差来实现准确的度量。
Kalman Filter
特征工程及算法实施
得到了准确的数据之后,我们首先要做特征的构造和选择,其本质是让人为选择的特征对样本进行划分之后,让其混乱程度(熵)减小,纯度变高,以便于做动作的区分与识别。特征提取和选择作为“内功心法”,考验的是工程师对数据的“insight”,一些情况下可以用直觉的方式,例如要检测一个人是否从高空坠落,我们可以判断他保持失重的时间。但有情景是较为复杂的,例如从脚手架上有碰撞的跌落,会遇到需要多个特征融合或者关键特征难以提取的情况,我们一般是数据驱动的方式解决,比如用机器学习的方式把处理好的数据放入决策树中进行训练进而得出能够分类动作的模型。下面给大家介绍一个实际的项目案例。
iSite项目中 的Smart Helmet
工地施工场景
iSite项目的应用领域是智能工地,价值定位是用智能硬件提升施工工地安全和生产效率,其中就包括检测工人人身安全这样critical的 问题。智能头盔作为硬件载体,集成了博世BHI160,内置三轴加速度计和三轴陀螺仪以用于动作识别。由AE-CN负责智能头盔的算法开发的工作,实现了工地复杂场景下的连续跌落检测,脱戴帽状态检测,异常静止检测等功能。
通过采集不同动作的数据,进而预处理,做特征提取和融合,数据增强,模型训练,模型剪枝,并测试验证之后,把模型部署在BMI160内置的MCU里。这样在实际工况下实时采集到的数据处理过后利用已经训练好的决策树分类器进行分类识别,进行实时的动作识别,我们在测试集和实际测试中均达到了98%的准确率。
Figure 5. Normalized Confusion Matrix
在未来,机器学习等复杂的算法正移向边缘嵌入式设备中,结合多传感器同步融合为人们提供实时的智能推断,推荐和事件检测。
全部0条评论
快来发表一下你的评论吧 !