2019.3运动手环识别篮球运球手势的算法工作进度
问题描述:
由加速度传感器和陀螺仪采集的数据保存格式为N行7列的txt文件,前三列分别为xyz轴的加速度,后四列分别为四元数。采样时间间隔相等。
采集的数据为高手运球(high)30个、低手(low)30个、双手交替运球(cross)30个、直线运球(line)20个、体前双手交替运球(front)20个,原地快速(fast)运球200个左右。
数据预处理:
1、根据加速度和四元数,可以求出当前时刻对应的总价速度、xyz轴的重力分量、手臂和水平面的夹角角度(如下图)
2、寻峰算法找到各个动作的峰值,标上红点
3、尝试手动分割了三个人的数据,分为六类运动模式:高手、低手、交叉、直线、体前、快速,然后打上lable。使用KNN、DT、GNB、SVM分类器分出来准确率只有25…
样本还是太少了,但是每个人的样本数据差距好大啊,作动作的大小、速度都不一样。而且样本数据的格式也不是很对,比如100行数据表示一个动作,现在这100行每行都打上lable为1,打100个lable肯定是不准确的;但如果把一百行数据放在一个数组里再打lable,又会因为每个人的一个动作长度不一定是100行导致样本数组大小不一样,也不行……
4、篮球数据用手臂夹角数据和总加速度求方差、四分位数、变异系数、最大值等,观察发现:手臂夹角数据中直线运球的方差最大,快速运球方差最小,可以作为分类特征加入训练样本数据。其他特征似乎参考价值不大? 但是方差是一百个采样点算出来的一个数据,采样数据一百行才有一个方差,要是想把方差和原始数据都作为训练样本怎么把他们融合到一起呢?