一种面向嵌入式平台的宠物运动识别方法与流程

文档序号:17955758发布日期:2019-06-19 00:26阅读:237来源:国知局
一种面向嵌入式平台的宠物运动识别方法与流程

本发明属于模式识别与人工智能技术领域,特别涉及一种面向嵌入式平台的宠物运动识别方法。



背景技术:

随着手机、平板等移动智能终端的普及,其中内含的带有加速度传感器的移动智能设备在人们的生活中得到了非常广泛的应用,带有加速度传感器的移动智能设备可以方便地识别到人体的运动,对人体的运动识别是计算机视觉领域的一个热点问题,在智能健康、人机交互以及视频检索等领域具有广泛的应用前景和潜在的经济价值。目前,随着人体运动识别的兴起,各式各样的智能手表、手环层出不穷,可以对人的运动状态进行实时的识别,这也使得人们开始提高对自身的健康关注。与此同时,一些热爱宠物的人士越来越关注自家宠物的健康状态,希望通过可穿戴设备对宠物的运动及睡眠进行实时监测。而目前,对宠物运动算法的研究尚未成熟,处于起步阶段。与人体运动识别相比,宠物运动识别具有传感器佩戴困难、宠物动作变化快、宠物动作分类难等技术难点,有较大的应用和研究价值。

嵌入式系统具有软硬件可裁剪,可对功能、成本、体积、功耗严格要求等优势。将宠物运动识别分析系统部署在嵌入式系统上具有非常大的优势。同时,嵌入式系统也对宠物运动识别分析系统有着不少的约束,主要包括存储空间、运算能力以及功耗三个方面:首先,嵌入式系统的内存空间非常有限,一个算法如果需要整合到嵌入式系统,必须严格限制其所占用的内存空间;其次,嵌入式系统的运算能力,尤其是高精度浮点数的运算能力效率较低,若算法中有大量的浮点数运算将不可避免地加大其开销;最后,嵌入式系统的功耗控制也是一个难点,功耗过大将严重影响系统的续航时间。



技术实现要素:

本发明的目的在于克服现有技术的缺点与不足,提供一种准确性、鲁棒性以及实时性高的面向嵌入式平台的宠物运动识别方法,该方法不涉及浮点数运算以及乘法和除法的运算,非常适合资源有效的嵌入式系统使用。

本发明的目的通过下述技术方案实现:一种面向嵌入式平台的宠物运动识别方法,步骤如下:

S1、对三轴加速度数据进行滑动窗的加窗处理,以将连续的多个采样点从数据流中截取出来,获取到各个样本,其中每个滑动窗的信号对应一个样本;

S2、对于一个滑动窗对应的样本,首先计算各轴加速度信号的极差,根据各轴加速度信号的极差判断出波动最剧烈的一个轴,然后提取该轴加速度信号的周期;并且将各样本中波动最剧烈轴对应的加速度信号极差和该轴加速度信号的周期作为对应样本的特征;

S3、获取训练样本集:通过佩带在宠物身上的三轴加速度计采集三轴加速度数据作为训练数据,将采集的三轴加速度数据经过步骤S1处理后获取到训练样本集,然后通过步骤S2的方式获取到训练样本集中各训练样本的特征,并且通过视频观察方法人工为各训练样本标注其所属运动类别;

S4、决策表生成:根据各训练样本的特征得到边界条件,通过边界条件以及各训练样本所属运动类别生成决策表;

S5、动作识别:通过佩带在宠物身上的三轴加速度计实时采集三轴加速度数据,将实时采集的三轴加速度数据经过步骤S1处理后获取到测试样本,然后通过步骤S2的方式获取到测试样本的特征;最后根据测试样本的特征,利用步骤S4中生成的决策表判定对测试样本所属运动类别。

优选的,还包括以下步骤:

S6、建立一个包括状态一和状态二两个状态的有限状态机,对每个滑动窗的样本进行计步,具体如下:

S61、通过步骤S2的方式获取到各样本中波动最剧烈的一轴,然后获取各样本中该轴加速度信号的峰值均值和谷值均值,再计算峰值均值和谷值均值的平均值,将其作为信号中值;

S62、将各样本波动最剧烈轴在滑动窗中每个采样点对应加速度信号与信号中值进行比较,若低于信号中值一定幅度A,则对应采样点加速度信号进入状态一;若高于信号中值一定幅度B,则对应采样点加速度信号进入状态二;当加速度信号从状态一转移至状态二时,计步数加1;

S63、当一个滑动窗的样本计步完成后,返回该滑动窗内的计步结果,并且保存当前滑动窗计步完成时对应采样点加速度信号所处状态,当进入下一滑动窗的计步时,以该采样点加速度信号所处状态开始继续计步。

更进一步的,当佩带在宠物身上的三轴加速度计精度为256LSB/g时,所述A为14LSB(least significant bit,最低有效位),B为14LSB。

优选的,还包括以下步骤:

S7、根据步骤S5获取到测试样本运动所属类别识别结果针对各测试样本对应滑动窗内消耗的能量EALL将进行估算,具体为:

EALL=∑e

其中e为一个动作的能量估计;

对于雄性宠物:

对于雌性宠物:

其中w为宠物体重,AE为能量系数。

更进一步的,当测试样本运动所属类别识别结果为走路时,则能量系数AE为1.1;当测试样本运动所属类别识别结果为跑步时,则能量系数AE为1.29;当测试样本运动所属类别识别结果为跳跃时,则能量系数AE为1.4。

优选的,步骤S2中根据各轴加速度信号的极差判断出波动最剧烈的一个轴的具体过程如下:

S21、对于一个滑动窗对应的样本,获取该样本各个轴的加速度信号最大值和加速度信号最小值;

S22、将各轴的加速度信号最大值和加速度信号最小值进行作差,得到各轴加速度信号的极差;

S23、找到三个轴中,加速度信号的极差最大的轴,将该轴作为波动最剧烈的轴。

优选的,所述步骤S2中通过平均幅度差函数法提取滑动窗对应的样本波动最剧烈轴的加速度信号周期;

其中所述平均幅度差函数C(k)为:

其中xm(n)为滑动窗对应的样本最剧烈轴的加速度信号,m为加速度信号的长度,即滑动窗的窗长,n为滑动窗内的各采样点,通过平均幅度差函数C(k)的极小值所在位置获取到加速度信号的周期,其中k为采样点n向左移动的值,k=1,2,3,…,m。

优选的,步骤S1中通过单向链环的数据结构实现滑动窗功能,具体为:

S11、初始化建立一个单向链环,该单向链环中的节点数对应滑动窗的窗长;其中单向链环中一个节点中包含三个数据,分别为三轴加速度信号每一轴的加速度值;

S12、新建一个指向单向链环最新节点的指针;

S13、每当有新的数据需要更新的时候,将指向最新节点的指针往后移动一位,即指针指向当前单向链环中最旧节点,并将该最旧节点的数据进行更新,此时该最旧节点就成为了单向链环中最新节点;

S14、重复步骤S13,对单向链环进行一次循环,即完成了滑动窗内数据的一次遍历。

优选的,所述滑动窗的窗长为154,各个样本包括三轴加速度数据的154个采样点。

优选的,所述滑动窗的采样率为128HZ。

本发明相对于现有技术具有如下的优点及效果:

(1)本发明方法针对三轴加速度计获取到的三轴加速度信号进行滑动窗处理,并且对于每个滑动窗对应的样本,通过加速度的极差提取波动最剧烈的轴,并且计算该轴的周期,将各样本中波动最剧烈轴对应的加速度信号极差和该轴加速度信号的周期作为对应样本的特征;通过训练样本中的特征以及训练样本所属运动类别生成决策表,最后根据测试样本的特征,利用决策表判定测试样本所属运动类别。可见本发明方法运动识别过程中完全不涉及浮点数运算,也不涉及乘法和除法的运算,对嵌入式系统而言不会造成太大的负担,这对计算资源非常有限的嵌入式系统而言是非常合适的,因此本发明方法能够很好的面向嵌入式平台,非常适合在嵌入式系统使用。

(2)本发明方法将信号分析集中在波动最剧烈的一个轴的加速度信号上,根据该波动最剧烈的轴上的加速度信号进行运动识别,这样的单轴加速度信号处理方式不仅可以减少运算量以及内存占用,同时还能降低运动过程中三轴加速度计旋转所带来的不稳定性,而宠物在运动的过程中,大部分能量集中在三轴加速度信号的其中一个轴上,因此本发明基于单轴加速度信号的识别方法,相比基于三轴加速度信号的识别方法,仍然具有较高的准确性。本发明宠物运动识别方法具有准确性、鲁棒性和实时性高的优点。

(3)本发明方法能够通过有限状态机对每个滑动窗的样本进行计步,实现宠物所走步数的统计,进一步了解到宠物的运动状态。另外,本发明方法计步过程中,当一个滑动窗的样本计步完成后,保存当前滑动窗计步完成时对应采样点加速度信号所处状态,当进入下一滑动窗的计步时,以该采样点加速度信号所处状态开始继续计步。这样可以保证整个信号计步的连续性,确保计步结果的正确性。

(4)本发明方法能够根据测试样本运动所属类别识别结果针对各测试样本对应滑动窗内消耗的能量EALL将进行估算,从而了解到宠物的运动情况。

(5)本发明方法中针对三轴加速度数据进行加窗处理的滑动窗是通过单向链环的数据结构实现,通过指针移动方式对数据进行更新,利用这种方式实现的滑动窗在程序运行的过程中无需重复地申请和回收空间,也不需要额外的存储空间完成临时数据存储,有效地提高了内存的使用效率,同时满足嵌入式系统对内存的要求。

附图说明

图1是本发明方法流程图。

图2是本发明方法中滑动窗实现原理示意图。

具体实施方式

下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。

实施例1

本实施例公开了一种面向嵌入式平台的宠物运动识别方法,如图1所示,具体步骤如下:

S1、对三轴加速度数据进行滑动窗的加窗处理,以将连续的多个采样点从数据流中截取出来,获取到各个样本,其中每个滑动窗的信号对应一个样本;本实施例中滑动窗的窗长为154,即各个样本包括三轴加速度数据的154个采样点。滑动窗的采样率为128HZ。

其中本步骤中通过单向链环的数据结构实现滑动窗功能,如图2所示,具体为:

S11、初始化建立一个单向链环,该单向链环中的节点数对应滑动窗的窗长;其中单向链环中一个节点中包含三个数据,分别为三轴加速度信号每一轴的加速度值;如图2中所示,x_i,y_i,z_i表示第i个节点包含的三轴加速度信号,i=1,2,3,……,m,m是滑动窗的窗长,即本实施例中m为154。

S12、新建一个指向单向链环最新节点的指针;

S13、每当有新的数据需要更新的时候,将指向最新节点的指针往后移动一位,即指针指向当前单向链环中最旧节点,并将该最旧节点的数据进行更新,此时该最旧节点就成为了单向链环中最新节点;例如如图2所示,在第一次有数据更新之前,单向链环中m个节点分别包含数据为(x_1,y_1,z_1),(x_2,y_2,z_2),…,(x_m,y_m,z_m),此时单向链环最新节点为数据(x_m,y_m,z_m)所在节点,而最旧节点为数据(x_1,y_1,z_1)所在节点。指针指向最新节点,即数据(x_m,y_m,z_m)所在节点;当有新的数据(x_m+1,y_m+1,z_m+1)需要更新的时候,指针往后移动一位,指向单向链环中最旧节点,即数据(x_1,y_1,z_1)所在节点,此时将该最旧节点中的数据更新为(x_m+1,y_m+1,z_m+1),并且该最旧节点就成为了单向链环中最新节点。

S14、重复步骤S13,对单向链环进行一次循环,即完成了滑动窗内数据的一次遍历。

S2、对于一个滑动窗对应的样本,首先计算各轴加速度信号的极差,根据各轴加速度信号的极差判断出波动最剧烈的一个轴,然后提取该轴加速度信号的周期;并且将各样本中波动最剧烈轴对应的加速度信号极差和该轴加速度信号的周期作为对应样本的特征;

其中本步骤中根据各轴加速度信号的极差判断出波动最剧烈的一个轴的具体过程如下:

S21、对于一个滑动窗对应的样本,获取该样本各个轴的加速度信号最大值和加速度信号最小值;

S22、将各轴的加速度信号最大值和加速度信号最小值进行作差,得到各轴加速度信号的极差;

S23、找到三个轴中,加速度信号的极差最大的轴,将该轴作为波动最剧烈的轴。

其中本步骤中通过平均幅度差函数法提取滑动窗对应的样本波动最剧烈轴的加速度信号周期;

其中所述平均幅度差函数C(k)为:

其中xm(n)为滑动窗对应的样本最剧烈轴的加速度信号,m为加速度信号的长度,即滑动窗的窗长,n为滑动窗内的各采样点,通过平均幅度差函数C(k)的极小值所在位置获取到加速度信号的周期,其中k为采样点n向左移动的值,k=1,2,3,…,m。

S3、获取训练样本集:通过佩带在宠物身上的三轴加速度计采集三轴加速度数据作为训练数据,将采集的三轴加速度数据经过步骤S1处理后获取到训练样本集,然后通过步骤S2的方式获取到训练样本集中各训练样本的特征,并且通过视频观察方法人工为各训练样本标注其所属运动类别;

S4、决策表生成:根据各训练样本的特征得到边界条件,通过边界条件以及各训练样本所属运动类别生成决策表。具体为:三轴加速度中提取的连续的各训练样本对应的特征构成连续特征;然后将连续特征通过Gini指数最小化的方式得到一系列边界条件,根据每个特征的边界条件可以得到一张表,然后针对表中的每一种情况,利用特征满足相同情况的训练样本中出现的最多的运动类别作为该特征情况下的决策类别,如果没有出现过特征相同情况的训练样本,则用训练样本集中整体出现次数最多的训练样本作为标签,将该标签所属运动类别作为没有出现过相同情况特征的决策类别,通过上述最终获取到一张决策表。

其中本实施例中获取到的决策表如下表表1所示;

表1

其中表1中no表示静止,slight表示轻微运动,intense表示剧烈运动。

S5、动作识别:通过佩带在宠物身上的三轴加速度计实时采集三轴加速度数据,将实时采集的三轴加速度数据经过步骤S1处理后获取到测试样本,然后通过步骤S2的方式获取到测试样本的特征;最后根据测试样本的特征,利用步骤S4中生成的决策表判定对测试样本所属运动类别。

本实施例还公开了对宠物运动过程中进行计步的步骤,步骤为:

S6、建立一个包括状态一和状态二两个状态的有限状态机,对每个滑动窗的样本进行计步,具体如下:

S61、通过步骤S2的方式获取到各样本中波动最剧烈的一轴,然后获取各样本中该轴加速度信号的峰值均值和谷值均值,再计算峰值均值和谷值均值的平均值,将其作为信号中值;即

S62、将各样本波动最剧烈轴在滑动窗中每个采样点对应加速度信号与信号中值进行比较,若低于信号中值一定幅度A,则对应采样点加速度信号进入状态一;若高于信号中值一定幅度B,则对应采样点加速度信号进入状态二;当加速度信号从状态一转移至状态二时,计步数加1;其中本实施例中当佩带在宠物身上的三轴加速度计精度为256LSB/g时,则A为14LSB,B为14LSB。

S63、当一个滑动窗的样本计步完成后,返回该滑动窗内的计步结果,并且保存当前滑动窗计步完成时对应采样点加速度信号所处状态,当进入下一滑动窗的计步时,以该采样点加速度信号所处状态开始继续计步。

本实施例还公开了对宠物的能力消耗进行估算的步骤,步骤为:

S7、根据步骤S5获取到测试样本运动所属类别识别结果针对各测试样本对应滑动窗内消耗的能量EALL将进行估算,具体为:

EALL=∑e

其中e为一个动作的能量估计;

对于雄性宠物:

对于雌性宠物:

其中w为宠物体重,AE为能量系数。其中当测试样本运动所属类别识别结果为走路时,则能量系数AE为1.1;当测试样本运动所属类别识别结果为跑步时,则能量系数AE为1.29;当测试样本运动所属类别识别结果为跳跃时,则能量系数AE为1.4。

上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1