发明内容
为了克服相关技术中存在的基于可穿戴设备的人体活动识别过程能量消耗过高、响应时间较大的问题,本发明实施例提供了一种人体活动识别方法和装置,运用轻量级的人体活动识别框架,无需基于深度神经网络模型来进行人体活动识别,降低了人体活动识别算法的计算复杂度和占用的硬件资源,从而减小了人体活动识别方法的能耗和响应时间。
根据本发明的一方面,提供一种人体活动识别方法,包括:
获得原始活动数据,对所述原始活动数据进行预处理,得到第一数据;
提取所述第一数据的时域特征,得到第一特征向量;
基于所述第一特征向量和多个活动类别的聚类中心点,对所述第一数据进行预分类,其中,所述聚类中心点描述每个所述活动类别中最具代表性的特征参数;以及
基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别。
优选地,所述人体活动识别方法,还包括:建立分类器模型,
所述建立分类器模型,包括:
获得训练数据,对所述训练数据进行预处理,得到第一训练数据;
提取所述第一训练数据的时域特征,得到第一训练特征向量;
基于所述第一训练特征向量,训练分类器目标模型,得到所述分类器模型。
优选地,所述人体活动识别方法,还包括:基于所述第一训练特征向量,对所述第一训练数据进行聚类计算,得到描述每一个所述活动类别中最具代表性的特征参数的所述聚类中心点。
优选地,所述基于所述第一特征向量和多个活动类别的聚类中心点,对所述第一数据进行预分类,包括:
计算所述第一特征向量和每一个所述活动类别的聚类中心点之间的欧氏距离;
将所述第一数据预分类到最小的所述欧式距离对应的活动类别,得到所述第一数据所属的第一活动类别。
优选地,所述基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别,包括:
比较所述最小的所述欧氏距离和所述第一活动类别的预分类置信度。
优选地,所述基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别,还包括:
如果所述最小的所述欧氏距离小于等于所述第一活动类别的预分类置信度,则将所述第一数据归类为所述第一活动类别。
优选地,所述基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别,还包括:
如果所述最小的所述欧氏距离大于所述第一活动类别的预分类置信度,则基于所述分类器模型,对所述第一数据进行重新分类,得到所述第一数据所属的第二活动类别。
优选地,所述人体活动识别方法,还包括:基于所述第一数据的活动识别结果的反馈,调整每一个所述活动类别的聚类中心点。
优选地,所述人体活动识别方法,还包括:根据历史活动数据,调整所述原始活动数据的当前采样频率。
优选地,所述根据历史活动数据,调整所述原始活动数据的当前采样频率,包括:
更新所述历史活动数据;
根据最新的多个所述历史活动数据,计算用户的活动强度变化率;
比较所述活动强度变化率和预设阈值;
如果所述活动强度变化率小于所述预设阈值,则将所述当前采样频率调整至对应的最低采样频率;以及
如果所述活动强度变化率大于等于所述预设阈值,则所述当前采样频率保持不变。
优选地,通过计算所述第一活动类别中所有的第一训练特征向量与所述第一活动类别的所述聚类中心点之间的欧氏距离,
对所述欧式距离取预设分位数,得到所述第一活动类别的所述预分类置信度。
根据本发明的另一方面,提供一种人体活动识别装置,包括
预处理单元,被配置为获得原始活动数据,对所述原始活动数据进行预处理,得到第一数据;
特征提取单元,被配置为提取所述第一数据的时域特征,得到第一特征向量;
预分类单元,被配置为基于所述第一特征向量和多个活动类别的聚类中心点,对所述第一数据进行预分类,其中,所述聚类中心点描述每个所述活动类别中最具代表性的特征参数;以及
活动识别单元,被配置为基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别。
优选地,所述人体活动识别装置,还包括:建立单元,被配置为建立分类器模型,
所述建立分类器模型,包括:
获得训练数据,对所述训练数据进行预处理,得到第一训练数据;
提取所述第一训练数据的时域特征,得到第一训练特征向量;
基于所述第一训练特征向量,训练分类器目标模型,得到所述分类器模型。
优选地,所述人体活动识别装置,还包括:聚类计算单元,被配置为基于所述第一训练特征向量,对所述第一训练数据进行聚类计算,得到描述每一个所述活动类别中最具代表性的特征参数的所述聚类中心点。
优选地,所述基于所述第一特征向量和多个活动类别的聚类中心点,对所述第一数据进行预分类,包括:
计算所述第一特征向量和每一个所述活动类别的聚类中心点之间的欧氏距离;
将所述第一数据预分类到最小的所述欧式距离对应的活动类别,得到所述第一数据所属的第一活动类别。
优选地,所述基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别,包括:
比较所述最小的所述欧氏距离和所述第一活动类别的预分类置信度。
优选地,所述基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别,还包括:
如果所述最小的所述欧氏距离小于等于所述第一活动类别的预分类置信度,则将所述第一数据归类为所述第一活动类别。
优选地,所述基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别,还包括:
如果所述最小的所述欧氏距离大于所述第一活动类别的预分类置信度,则基于所述分类器模型,对所述第一数据进行重新分类,得到所述第一数据所属的第二活动类别。
优选地,所述人体活动识别装置,还包括:第一调整单元,被配置为基于所述第一数据的活动识别结果的反馈,调整每一个所述活动类别的聚类中心点。
优选地,所述人体活动识别装置,还包括:第二调整单元,被配置为根据历史活动数据,调整所述原始活动数据的当前采样频率。
优选地,所述根据历史活动数据,调整所述原始活动数据的当前采样频率,包括:
更新所述历史活动数据;
根据最新的多个所述历史活动数据,计算用户的活动强度变化率;
比较所述活动强度变化率和预设阈值;
如果所述活动强度变化率小于所述预设阈值,则将所述当前采样频率调整至对应的最低采样频率;以及
如果所述活动强度变化率大于等于所述预设阈值,则所述当前采样频率保持不变。
优选地,通过计算所述第一活动类别中所有的第一训练特征向量与所述第一活动类别的所述聚类中心点之间的欧氏距离,
对所述欧式距离取预设分位数,得到所述第一活动类别的所述预分类置信度。
根据本发明的又一方面,提供一种人体活动识别控制装置,包括:处理器;用于存储处理器可执行指令的存储器;其中,所述处理器被配置为执行上述的人体活动识别方法。
根据本发明的再一方面,提供一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机指令,所述计算机指令被执行时实现如上所述的人体活动识别方法。
根据本发明的再一方面,提供一种计算机程序产品,包括计算机程序产品,所述计算机程序包括程序指令,当所述程序指令被移动终端执行时,使所述移动终端执行上述人体活动识别方法的步骤。
本发明的一个实施例具有以下优点或有益效果:
获得原始活动数据,对原始活动数据进行预处理,得到第一数据。通过算法提取第一数据的时域特征,得到第一特征向量。基于第一特征向量和多个活动类别的聚类中心点,对第一数据进行预分类。基于预分类结果和每一个活动类别的预分类置信度,得到第一数据所属于的活动类别。如果第一特征向量和多个活动类别的聚类中心点之间的最小的欧氏距离小于等于第一活动类别的预分类置信度,则将第一数据归类为第一活动类别。运用轻量级的人体活动识别框架,无需基于深度神经网络模型来进行人体活动识别,降低了人体活动识别算法的计算复杂度和占用的硬件资源,从而减小了人体活动识别方法的能耗和响应时间。
具体实施方式
以下基于实施例对本发明进行描述,但是本发明并不仅仅限于这些实施例。在下文对本发明的细节描述中,详尽描述了一些特定的细节部分。对本领域技术人员来说没有这些细节部分的描述也可以完全理解本发明。为了避免混淆本发明的实质,公知的方法、过程、流程没有详细叙述。另外附图不一定是按比例绘制的。
图1是本发明的一个实施例的人体活动识别方法的流程示意图。具体包括以下步骤:
在步骤S101中,获得原始活动数据,对所述原始活动数据进行预处理,得到第一数据。
在本步骤中,获得原始活动数据,对原始活动数据进行预处理,得到第一数据。原始活动数据可以是可穿戴传感设备采集的一个时间窗口内的人体行为数据。其中,可穿戴传感设备可以是重力加速度传感器、线性加速度传感器、陀螺仪、距离传感器等传感器中的一个或者多个。人体行为数据是按照一定的时间顺序产生的,每个时间点都对应着一系列的传感器数据。对原始活动数据预处理,例如,去噪和格式化,得到第一数据。
在步骤S102中,提取所述第一数据的时域特征,得到第一特征向量。
在该步骤中,通过算法提取第一数据的时域特征,得到第一特征向量。可以理解的是,由于特征维数过高会增加人体活动识别模型的复杂度并降低人体活动识别模型的泛化能力,为了最小化特征的维数,可以使用遗传算法选择最具区别性的特征,得到第一特征向量。
在步骤S103中,基于所述第一特征向量和多个活动类别的聚类中心点,对所述第一数据进行预分类,其中,所述聚类中心点描述每个所述活动类别中最具代表性的特征参数。
在该步骤中,基于第一特征向量和多个活动类别的聚类中心点,对第一数据进行预分类。对第一数据进行预分类即基于第一特征向量和多个活动类别的聚类中心点,确定第一数据所属于的活动类别。具体地,计算第一特征向量和每一个活动类别的聚类中心点之间的欧氏距离。比较多个活动类别对应的欧式距离,将第一数据预分类到最小的欧式距离对应的活动类别,得到第一数据所属的第一活动类别。这里的活动类别的聚类中心点是在离线训练阶段,通过对每一个活动类别中的训练数据进行聚类计算得到的。聚类中心点描述每个活动类别中最具代表性的特征参数。第一特征向量和一个活动类别的聚类中心点之间的欧氏距离越小,表明第一数据属于该活动类别的可能性越大。
在步骤S104中,基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别。
在该步骤中,基于预分类结果和第一活动类别的预分类置信度,得到第一数据所属于的活动类别。具体的,比较第一特征向量和多个活动类别的聚类中心点之间的最小的欧氏距离和第一活动类别的预分类置信度。如果最小的欧氏距离小于等于第一活动类别的预分类置信度,则将第一数据归类为第一活动类别。
根据本发明实施例,获得原始活动数据,对原始活动数据进行预处理,得到第一数据。通过算法提取第一数据的时域特征,得到第一特征向量。基于第一特征向量和多个活动类别的聚类中心点,对第一数据进行预分类。基于预分类结果和每一个活动类别的预分类置信度,得到第一数据所属于的活动类别。如果第一特征向量和多个活动类别的聚类中心点之间的最小的欧氏距离小于等于第一活动类别的预分类置信度,则将第一数据归类为第一活动类别。运用轻量级的人体活动识别框架,无需基于深度神经网络模型来进行人体活动识别,降低了人体活动识别算法的计算复杂度和占用的硬件资源,从而减小了人体活动识别方法的能耗和响应时间。
图2是本发明的一个实施例的人体活动识别方法的流程示意图。本实施例是比前述实施例更加完善的人体活动识别方法。
图3是本发明的一个实施例的人体活动识别装置的框图。如图3所示,该人体活动识别装置使用预分类降低人体活动识别算法的复杂度,并基于用户的历史活动数据动态调整传感设备的采样频率。该人体活动识别装置由两部分组成:离线数据训练和在线活动识别。离线训练模块从训练数据中提取特征并完成以下两个工作:训练分类器以及构建聚类中心点。在线活动识别模块提取滑动窗口内原始活动数据的特征并使用轻量级算法进行预分类,预分类的结果将保存并作为自适应调整采样频率的依据。
下面结合图3对图2所示的人体活动识别方法进行详细说明,具体包括以下步骤:
在步骤S201中,建立分类器模型。
在本步骤中,获得训练数据,对训练数据进行预处理,得到第一训练数据。这里的训练数据可以是通过三轴加速度传感器在一定的时间窗口采集到的数据。使用滑动中值滤波以及截止频率为20Hz的三阶低通巴特沃斯滤波器对训练数据进行去噪并且对去噪处理后的训练数据进行格式化。同时在预处理阶段为每一个训练数据标注其所属的活动类别,得到第一训练数据。时间窗口的大小需要根据待识别人体活动的活动类别而设定,窗口太小会将一个完整的活动数据拆开,窗口太大会包含多个活动数据。显然,下楼梯和站立这两种活动类别对应的时间窗口应该设置为不同值。
通过算法提取第一训练数据的时域特征,得到第一训练特征向量。可以理解的是,由于特征维数过高会增加人体活动识别模型的复杂度并降低人体活动识别模型的泛化能力,为了最小化特征的维数,可以使用遗传算法选择最具区别性的特征,得到第一训练特征向量。值得注意的是,从训练数据中提取的训练特征向量集合中可能存在离群点,需要清楚训练数据中的离群点。
基于第一训练特征向量,训练分类器目标模型,得到分类器模型。分类器模型可以选择线性核的支持向量机分类器(SVM)。支持向量机分类器在相对较小的训练数据上能取得较高的准确率、可扩展性强、能适应数据维度的增加、形式简单、执行时间较快。
在步骤S202中,基于所述第一训练特征向量,对所述第一训练数据进行聚类计算,得到描述每一个所述活动类别中最具代表性的特征参数的所述聚类中心点。
在该步骤中,基于第一训练特征向量,按照为第一训练数据标注的活动类别,对第一训练数据进行聚类计算,得到描述每一个活动类别中最具代表性的特征参数的聚类中心点。多个活动类别的聚类中心点的集合记为T,T={Ti|i∈{1,2,...,c},其中,c为待识别的活动类别的数量。这里待识别的活动类别可以为步行、跑步、快走、上楼梯、下楼梯、站立、坐、躺等日常活动。活动类别的聚类中心点Ti的计算公式为:
其中,Ti为活动类别i的聚类中心点,Vij为活动类别i的第j条第一训练数据所提取出的第一训练特征向量,Vik为活动类别i的第k条第一训练数据所提取出的第一训练特征向量,Ni={1,2,...,ni},ni为活动类别i中第一训练数据的个数。
为了减少时间消耗,离线数据训练在线下进行,将训练结果(分类器模型和聚类中心点)存储在终端上以供在线活动识别阶段使用。
在步骤S203中,获得原始活动数据,对所述原始活动数据进行预处理,得到第一数据。
在该步骤中,获得原始活动数据,对原始活动数据进行预处理,得到第一数据。这里的原始活动数据可以是通过三轴加速度传感器在一定的时间窗口采集到的数据。使用滑动中值滤波以及截止频率为20Hz的三阶低通巴特沃斯滤波器对原始活动数据进行去噪并且对去噪处理后的原始活动数据进行格式化,得到第一数据。时间窗口的大小需要根据待识别人体活动的活动类别而设定,窗口太小会将一个完整的活动数据拆开,窗口太大会包含多个活动数据。显然,下楼梯和站立这两种活动类别对应的时间窗口应该设置为不同值。
在步骤204中,提取所述第一数据的时域特征,得到第一特征向量。
在该步骤中,通过算法提取第一数据的时域特征,得到第一特征向量。可以理解的是,由于特征维数过高会增加人体活动识别模型的复杂度并降低人体活动识别模型的泛化能力,为了最小化特征的维数,可以使用遗传算法选择最具区别性的特征,得到第一特征向量。
在步骤205中,基于所述第一特征向量和多个活动类别的聚类中心点,对所述第一数据进行预分类,其中,所述聚类中心点描述每个所述活动类别中最具代表性的特征参数。
在该步骤中,计算第一特征向量和每一个活动类别的聚类中心点之间的欧氏距离。将第一数据预分类到最小的欧式距离对应的活动类别,得到第一数据所属的第一活动类别。
具体地,第一特征向量和每一个活动类别的聚类中心点之间的欧氏距离的计算公式为:
其中,E=(e1,e2,…,ec)表示待识别的第一特征向量与多个活动类别的聚类中心点之间的欧氏距离,c为待识别的活动类别的数量,Ti=(Ti1,Ti2,…,Tim)为活动类别i的聚类中心点,M为活动类别i的聚类中心点的维度,X=(x1,x2,…,xM)为待识别的第一特征向量,M为第一特征向量的维度。
比较第一特征向量与多个活动类别的聚类中心点之间的欧氏距离,得到最小的欧氏距离min({e1,e2,…,ec})。将第一数据预分类到最小的欧式距离min({e1,e2,…,ec})对应的活动类别,得到第一数据所属的第一活动类别。
可以理解的是,比较第一特征向量与多个活动类别的聚类中心点之间的欧氏距离,可能存在几个活动类别的欧氏距离相差不大的情况,即对于当前时间窗口,使用预分类方法难以辨别活动类别m与活动类别n。因此,本申请实施例引入预分类结果的约束条件判断:如果满足预分类的约束条件,则将当前活动归类为具有最小欧氏距离的相应活动类别。相反,则使用分类器进行活动分类。
在步骤206中,基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别。
在该步骤中,比较最小的欧氏距离和第一活动类别的预分类置信度。这里的第一活动类别的预分类置信度是通过计算第一活动类别中所有的第一训练特征向量与第一活动类别的聚类中心点之间的欧氏距离,对得到的欧式距离取预设分位数,得到第一活动类别的预分类置信度confmin。第一活动类别的预分类置信度confmin可以在线活动识别阶段计算,也可以在离线训练阶段计算。可以理解的是,在离线训练阶段计算第一活动类别的预分类置信度confmin,由于第一数据的预分类结果是在线活动识别阶段得到的,所以在离线训练阶段需要计算每一个活动类别的预分类置信度。即通过计算每一个活动类别i中所有的第一训练特征向量与活动类别i的聚类中心点之间的欧氏距离,对得到的欧式距离取预设分位数,得到活动类别i的预分类置信度confi。将每一个活动类别的预分类置信度保存在内存中,以待在在线活动识别阶段得到第一活动类别后,调用第一活动类别的预分类置信度confmin。
如果最小的欧氏距离小于等于第一活动类别的预分类置信度(min({e1,e2,…,ec})≤confmin),则将第一数据归类为第一活动类别。
如果最小的欧氏距离大于第一活动类别的预分类置信度(min({e1,e2,…,ec})>confmin),则基于分类器模型,对第一数据进行重新分类,得到第一数据所属的第二活动类别。这里的分类器模型可以为支持向量机分类器。
可以理解的是,聚类中心点描述每个活动类别中最具代表性的特征参数。第一特征向量和一个活动类别的聚类中心点之间的欧氏距离越小,表明第一数据属于该活动类别的可能性越大。可以通过反馈在线活动识别阶段的识别结果,即反馈分类器模型对第一数据的分类结果,调整每个活动类别的聚类中心点,使本申请实施例的人体活动识别方法更适应特定用户的行为模式,增加人体活动识别应用的鲁棒性。
可以理解的是,如果传感设备使用固定采样频率采集原始活动数据,则人体活动识别缺乏灵活性。对于某些容易区分的活动类别,采样频率太高可能会有大量的数据冗余;而对于某些难以识别的活动类别,采样频率太低会导致识别不准确。因此,本申请实施例提出了一种动态调整采样频率的人体活动识别方法,该方法根据历史活动数据来调整原始活动数据的当前采样频率的大小,以减少能量消耗。
具体地,更新历史活动数据,即将第一数据的在线活动识别结果写入历史活动表history中。根据最新的多个历史活动数据,计算用户的活动强度变化率。比较活动强度变化率和预设阈值。如果活动强度变化率小于预设阈值,则将当前采样频率调整至对应的最低采样频率。如果活动强度变化率大于等于预设阈值,则当前采样频率保持不变。
人类活动是一个持续时间较长的连续过程,因此当用户一直处于某种活动状态时,在保证基本的识别能力的前提下,可以降低传感设备的当前采样频率从而降低功耗。本申请实施例使用活动强度变化率σt来衡量当前时间窗口下用户保持当前活动状态的可能性。活动强度变化率σt使用如下方法进行计算:首先,为所有待识别的活动类别赋予活动强度。如表1所示,待识别的活动类别为坐、站、躺、上楼梯、下楼梯、走、跑和快走,每一个活动类别分别对应一个活动强度。
表1活动强度
然后,计算过去λ个时间窗口内人体活动的活动强度的标准差作为活动强度变化率,σt的计算公式为
其中,λ表示计算活动强度变化率时所参考的人体历史活动的时间窗口数,一个时间窗口对应一个历史活动数据,strenr为第r个时间窗口对应的历史活动数据所属于的活动类别对应的活动强度,为λ个时间窗口对应的λ个历史活动数据所属于的活动类别对应的活动强度的均值。
例如,当活动强度变化率σt小于某个预设阈值δ时(σt<δ),认为用户的活动状态变化不大,从而可以降低采样频率,将当前的采样频率调整为对应的最低采样频率。最低采样频率是传感设备以最低负载工作的频率。传感器设备的采样频率一般可配置成5Hz-100Hz不等。
当活动强度变化率σt大于等于某个预设阈值δ时(σt≥δ),认为用户的活动状态变化较大,从而保持当前的采样频率不变,以保证采集的活动数据的准确性。对于参数δ,易知:若δ取值较小,则本申请实施例的人体活动识别方法更倾向于以较大采样频率工作;若δ取值较大,则更容易触发降低当前采样频率的操作。
根据本发明的实施例,根据历史活动数据来调整原始活动数据的当前采样频率的大小。当活动强度变化率小于某个预设阈值时,将当前的采样频率调整为对应的最低采样频率,从而降低传感设备的功耗。当活动强度变化率大于等于某个预设阈值时,认为用户的活动状态变化较大,保持当前的采样频率不变,以保证采集的活动数据的准确性,从而提高了人体活动识别方法的准确性。同时,通过反馈在线活动识别阶段的识别结果,即反馈分类器模型对第一数据的分类结果,调整每个活动类别的聚类中心点,使每个活动类别的聚类中心点更加准确的适应特定用户的行为模式,从而提高了人体活动识别方法的鲁棒性。
图4是本发明的一个实施例的人体活动识别装置的结构示意图。如图4所示,该人体活动识别装置包括:预处理单元401、特征提取单元402、预分类单元403和活动识别单元404。
预处理单元401,被配置为获得原始活动数据,对所述原始活动数据进行预处理,得到第一数据。
该单元被配置为获得原始活动数据,对原始活动数据进行预处理,得到第一数据。原始活动数据可以是可穿戴传感设备采集的一个时间窗口内的人体行为数据。其中,可穿戴传感设备可以是重力加速度传感器线性加速度传感器、陀螺仪、距离传感器等传感器中的一个或者多个。人体行为数据是按照一定的时间顺序产生的,每个时间点都对应着一系列的传感器数据。对原始活动数据预处理,例如,去噪和格式化,得到第一数据。
特征提取单元402,被配置为提取所述第一数据的时域特征,得到第一特征向量。
该单元被配置为通过算法提取第一数据的时域特征,得到第一特征向量。可以理解的是,由于特征维数过高会增加人体活动识别模型的复杂度并降低人体活动识别模型的泛化能力,为了最小化特征的维数,可以使用遗传算法选择最具区别性的特征,得到第一特征向量。
预分类单元403,被配置为基于所述第一特征向量和多个活动类别的聚类中心点,对所述第一数据进行预分类,其中,所述聚类中心点描述每个所述活动类别中最具代表性的特征参数。
该单元被配置为基于第一特征向量和多个活动类别的聚类中心点,对第一数据进行预分类。对第一数据进行预分类即基于第一特征向量和多个活动类别的聚类中心点,确定第一数据所属于的活动类别。具体地,计算第一特征向量和每一个活动类别的聚类中心点之间的欧氏距离。比较多个活动类别对应的欧式距离,将第一数据预分类到最小的欧式距离对应的活动类别,得到第一数据所属的第一活动类别。这里的活动类别的聚类中心点是在离线训练阶段,通过对每一个活动类别中的训练数据进行聚类计算得到的。聚类中心点描述每个活动类别中最具代表性的特征参数。第一特征向量和一个活动类别的聚类中心点之间的欧氏距离越小,表明第一数据属于该活动类别的可能性越大。
活动识别单元404,被配置为基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别。
该单元被配置为基于预分类结果和第一活动类别的预分类置信度,得到第一数据所属于的活动类别。具体的,比较第一特征向量和多个活动类别的聚类中心点之间的最小的欧氏距离和第一活动类别的预分类置信度。如果最小的欧氏距离小于等于第一活动类别的预分类置信度,则将第一数据归类为第一活动类别。
图5是本发明的一个实施例的人体活动识别装置的结构示意图。如图5所示,该人体活动识别装置包括:建立单元501、聚类计算单元502、预处理单元503、特征提取单元504、预分类单元505和活动识别单元506。
建立单元501,被配置为建立分类器模型。
该单元被配置为获得训练数据,对训练数据进行预处理,得到第一训练数据。这里的训练数据可以是通过三轴加速度传感器在一定的时间窗口采集到的数据。使用滑动中值滤波以及截止频率为20Hz的三阶低通巴特沃斯滤波器对训练数据进行去噪并且对去噪处理后的训练数据进行格式化。同时在预处理阶段为每一个训练数据标注其所属的活动类别,得到第一训练数据。时间窗口的大小需要根据待识别人体活动的活动类别而设定,窗口太小会将一个完整的活动数据拆开,窗口太大会包含多个活动数据。显然,下楼梯和站立这两种活动类别对应的时间窗口应该设置为不同值。
通过算法提取第一训练数据的时域特征,得到第一训练特征向量。可以理解的是,由于特征维数过高会增加人体活动识别模型的复杂度并降低人体活动识别模型的泛化能力,为了最小化特征的维数,可以使用遗传算法选择最具区别性的特征,得到第一训练特征向量。
基于第一训练特征向量,训练分类器目标模型,得到分类器模型。分类器模型可以选择线性核的支持向量机分类器(SVM)。支持向量机分类器在相对较小的训练数据上能取得较高的准确率、可扩展性强、能适应数据维度的增加、形式简单、执行时间较快。
聚类计算单元502,被配置为基于所述第一训练特征向量,对所述第一训练数据进行聚类计算,得到描述每一个所述活动类别中最具代表性的特征参数的所述聚类中心点。
该单元被配置为基于第一训练特征向量,按照为第一训练数据标注的活动类别,对第一训练数据进行聚类计算,得到描述每一个活动类别中最具代表性的特征参数的聚类中心点。多个活动类别的聚类中心点的集合记为T,T={Ti|i∈{1,2,...,c},其中,c为待识别的活动类别的数量。这里待识别的活动类别可以为步行、跑步、快走、上楼梯、下楼梯、站立、坐、躺等日常活动。活动类别的聚类中心点Ti的计算公式为:
其中,Ti为活动类别i的聚类中心点,Vij为活动类别i的第j条第一训练数据所提取出的第一训练特征向量,Vik为活动类别i的第k条第一训练数据所提取出的第一训练特征向量,Ni={1,2,...,ni},ni为活动类别i中第一训练数据的个数。
为了减少时间消耗,离线数据训练在线下进行,将训练结果(分类器模型和聚类中心点)存储在终端上以供在线活动识别阶段使用。
预处理单元503,被配置为当获得原始活动数据时,对所述原始活动数据进行预处理,得到第一数据。
该单元被配置为当获得原始活动数据时,对原始活动数据进行预处理,得到第一数据。这里的原始活动数据可以是通过三轴加速度传感器在一定的时间窗口采集到的数据。使用滑动中值滤波以及截止频率为20Hz的三阶低通巴特沃斯滤波器对原始活动数据进行去噪并且对去噪处理后的原始活动数据进行格式化,得到第一数据。时间窗口的大小需要根据待识别人体活动的活动类别而设定,窗口太小会将一个完整的活动数据拆开,窗口太大会包含多个活动数据。显然,下楼梯和站立这两种活动类别对应的时间窗口应该设置为不同值。
特征提取单元504,被配置为提取所述第一数据的时域特征,得到第一特征向量。
该单元被配置为通过算法提取第一数据的时域特征,得到第一特征向量。可以理解的是,由于特征维数过高会增加人体活动识别模型的复杂度并降低人体活动识别模型的泛化能力,为了最小化特征的维数,可以使用遗传算法选择最具区别性的特征,得到第一特征向量。
预分类单元505,被配置为基于所述第一特征向量和多个活动类别的聚类中心点,对所述第一数据进行预分类,其中,所述聚类中心点描述每个所述活动类别中最具代表性的特征参数。
该单元被配置为计算第一特征向量和每一个活动类别的聚类中心点之间的欧氏距离。将第一数据预分类到最小的欧式距离对应的活动类别,得到第一数据所属的第一活动类别。
具体地,第一特征向量和每一个活动类别的聚类中心点之间的欧氏距离的计算公式为:
其中,E=(e1,e2,...,ec)表示待识别的第一特征向量与多个活动类别的聚类中心点之间的欧氏距离,c为待识别的活动类别的数量,Ti=(Ti1,Ti2,...,Tim)为活动类别i的聚类中心点,M为活动类别i的聚类中心点的维度,X=(x1,x2,...,xM)为待识别的第一特征向量,M为第一特征向量的维度。
比较第一特征向量与多个活动类别的聚类中心点之间的欧氏距离,得到最小的欧氏距离min({e1,e2,...,ec})。将第一数据预分类到最小的欧式距离min({e1,e2,...,ec})对应的活动类别,得到第一数据所属的第一活动类别。
可以理解的是,比较第一特征向量与多个活动类别的聚类中心点之间的欧氏距离,可能存在几个活动类别的欧氏距离相差不大的情况,即对于当前时间窗口,使用预分类方法难以辨别活动类别m与活动类别n。因此,本申请实施例引入预分类结果的约束条件判断:如果满足预分类的约束条件,则将当前活动归类为具有最小欧氏距离的相应活动类别。相反,则使用分类器进行活动分类。
活动识别单元506,被配置为基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别。
该单元被配置为比较最小的欧氏距离和第一活动类别的预分类置信度。这里的第一活动类别的预分类置信度是通过计算第一活动类别中所有的第一训练特征向量与第一活动类别的聚类中心点之间的欧氏距离,对得到的欧式距离取预设分位数,得到第一活动类别的预分类置信度confmin。第一活动类别的预分类置信度confmin可以在线活动识别阶段计算,也可以在离线训练阶段计算。可以理解的是,在离线训练阶段计算第一活动类别的预分类置信度confmin,由于第一数据的预分类结果是在线活动识别阶段得到的,所以在离线训练阶段需要计算每一个活动类别的预分类置信度。即通过计算每一个活动类别i中所有的第一训练特征向量与活动类别i的聚类中心点之间的欧氏距离,对得到的欧式距离取预设分位数,得到活动类别i的预分类置信度confi。将每一个活动类别的预分类置信度保存在内存中,以待在在线活动识别阶段得到第一活动类别后,调用第一活动类别的预分类置信度confmin。
如果最小的欧氏距离小于等于第一活动类别的预分类置信度(min({e1,e2,...,ec})≤confmin),则将第一数据归类为第一活动类别。
如果最小的欧氏距离大于第一活动类别的预分类置信度(min({e1,e2,...,ec})>confmin),则基于分类器模型,对第一数据进行重新分类,得到第一数据所属的第二活动类别。这里的分类器模型可以为支持向量机分类器。
可选地,人体活动识别装置,还包括:第一调整单元,被配置为基于第一数据的分类结果的反馈,调整每一个活动类别的聚类中心点。
可以理解的是,聚类中心点描述每个活动类别中最具代表性的特征参数。第一特征向量和一个活动类别的聚类中心点之间的欧氏距离越小,表明第一数据属于该活动类别的可能性越大。可以通过反馈在线活动识别阶段的识别结果,即反馈分类器模型对第一数据的分类结果,调整每个活动类别的聚类中心点,使本申请实施例的人体活动识别方法更适应特定用户的行为模式,增加人体活动识别应用的鲁棒性。
可以理解的是,如果传感设备使用固定采样频率采集原始活动数据,则人体活动识别缺乏灵活性。对于某些容易区分的活动类别,采样频率太高可能会有大量的数据冗余;而对于某些难以识别的活动类别,采样频率太低会导致识别不准确。因此,本申请实施例提出了一种动态调整采样频率的人体活动识别方法,该方法根据历史活动数据来调整原始活动数据的当前采样频率的大小,以减少能量消耗。
可选地,人体活动识别装置,还包括:第二调整单元,被配置为根据历史活动数据,调整原始活动数据的当前采样频率。
具体地,更新历史活动数据,即将第一数据的在线活动识别结果写入历史活动表history中。根据最新的多个历史活动数据,计算用户的活动强度变化率。比较活动强度变化率和预设阈值。如果活动强度变化率小于预设阈值,则将当前采样频率调整至对应的最低采样频率。如果活动强度变化率大于等于预设阈值,则当前采样频率保持不变。
人类活动是一个持续时间较长的连续过程,因此当用户一直处于某种活动状态时,在保证基本的识别能力的前提下,可以降低传感设备的当前采样频率从而降低功耗。本申请实施例使用活动强度变化率σt来衡量当前时间窗口下用户保持当前活动状态的可能性。活动强度变化率σt使用如下方法进行计算:首先,为所有待识别的活动类别赋予活动强度。如表1所示,待识别的活动类别为坐、站、躺、上楼梯、下楼梯、走、跑和快走,每一个活动类别分别对应一个活动强度。
表1活动强度
然后,计算过去λ个时间窗口内人体活动的活动强度的标准差作为活动强度变化率,σt的计算公式为
其中,λ表示计算活动强度变化率时所参考的人体历史活动的时间窗口数,一个时间窗口对应一个历史活动数据,strenr为第r个时间窗口对应的历史活动数据所属于的活动类别对应的活动强度,为λ个时间窗口对应的λ个历史活动数据所属于的活动类别对应的活动强度的均值。
例如,当活动强度变化率σt小于某个预设阈值δ时(σt<δ),认为用户的活动状态变化不大,从而可以降低采样频率,将当前的采样频率调整为对应的最低采样频率。最低采样频率是传感设备以最低负载工作的频率。传感器设备的采样频率一般可配置成5Hz-100Hz不等。
当活动强度变化率σt大于等于某个预设阈值δ时(σt≥δ),认为用户的活动状态变化较大,从而保持当前的采样频率不变,以保证采集的活动数据的准确性。对于参数δ,易知:若δ取值较小,则本申请实施例的人体活动识别方法更倾向于以较大采样频率工作;若δ取值较大,则更容易触发降低当前采样频率的操作。
图6根据本发明实施例的人体活动识别控制装置的结构图。图6示出的设备仅仅是一个示例,不应对本发明实施例的功能和使用范围构成任何限制。
参考图6,该装置包括通过总线连接的处理器601、存储器602和输入输出设备603。存储器602包括只读存储器(ROM)和随机访问存储器(RAM),存储器602内存储有执行系统功能所需的各种计算机指令和数据,处理器601从存储器602中读取各种计算机指令以执行各种适当的动作和处理。输入输出设备包括键盘、鼠标等的输入部分;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分;包括硬盘等的存储部分;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分。存储器602还存储有以下的计算机指令以完成本发明实施例的人体活动识别方法规定的操作:获得原始活动数据,对所述原始活动数据进行预处理,得到第一数据;提取所述第一数据的时域特征,得到第一特征向量;基于所述第一特征向量和多个活动类别的聚类中心点,对所述第一数据进行预分类,其中,所述聚类中心点描述每个所述活动类别中最具代表性的特征参数;以及基于预分类结果和预分类置信度,得到所述第一数据所属于的活动类别。
相应地,本发明实施例提供一种计算机可读存储介质,该计算机可读存储介质存储有计算机指令,所述计算机指令被执行时实现上述人体活动识别方法所规定的操作。
相应地,本发明实施例还提供了一种计算机程序产品,包括计算机程序产品,所述计算机程序包括程序指令,当所述程序指令被移动终端执行时,使所述移动终端执行上述人体活动识别方法的步骤。
附图中的流程图、框图图示了本发明实施例的系统、方法、装置的可能的体系框架、功能和操作,流程图和框图上的方框可以代表一个模块、程序段或仅仅是一段代码,所述模块、程序段和代码都是用来实现规定逻辑功能的可执行指令。也应当注意,所述实现规定逻辑功能的可执行指令可以重新组合,从而生成新的模块和程序段。因此附图的方框以及方框顺序只是用来更好的图示实施例的过程和步骤,而不应以此作为对发明本身的限制。
以上所述仅为本发明的一些实施例,并不用于限制本发明,对于本领域技术人员而言,本发明可以有各种改动和变化。凡在本发明的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。