本发明涉及体重测量技术领域,特别指一种体重实时测量方法。
背景技术:
随着智能传感器与通信技术的发展,智能可穿戴装置已经被广泛应用于人体运动跟踪和环境感知与交互等场景,测量足部运动的智能鞋和智能鞋垫也层出不穷,且附加功能日益扩增,体重测量便是智能鞋和智能鞋垫等足底压测量装置的一个重要延伸功能。
现有的智能鞋和智能鞋垫等穿戴式设备采用足底压力感测阵列对足底的压力进行测量,但由于足底压力感测阵列是典型的非线性、强耦合性阵列(电阻式、电容性和压电式等压力测量方式),导致存在偏载误差和线性度误差影响测量结果,因此现有的智能鞋和智能鞋垫等穿戴式设备无法提供动态体重测量功能。偏载误差是由于足底压力感测阵列受各种非线性因素影响,被测载荷处于穿戴式设备的承载面上不同位置时,称重结果不一致而产生的误差;线性度误差是由于足底压力感测阵列的各路称重传感器特性不一致,导致输入与输出并非理想的线性关系从而产生的误差。
针对偏载误差的补偿,传统上采用基于经验的独立测试与人工调节方法,通过反复调节压力传感阵列各通道输出信号的权值实现偏载误差补偿;由于智能鞋和智能鞋垫等本身具有的耦合性、非线性等特点,使得偏载误差人工调节过程工作量大、补偿效果差、体重测量准确度低。
因此,如何提供一种体重实时测量方法,实现对体重进行实时测量,并提升体重测量精度,成为一个亟待解决的问题。
技术实现要素:
本发明要解决的技术问题,在于提供一种体重实时测量方法,实现对体重进行实时测量,并提升体重测量精度。
本发明是这样实现的:一种体重实时测量方法,包括如下步骤:
步骤s10、服务器获取足底压力感测阵列测量的第一压力值;
步骤s20、服务器基于所述第一压力值创建体重测量模型;
步骤s30、服务器利用增广拉格朗日乘子法以及神经网络优化法对所述体重测量模型进行非线性误差补偿;
步骤s40、服务器获取明确重量的荷载加载在足底压力感测阵列上测量的第二压力值,基于所述第二压力值对非线性误差补偿后的体重测量模型进行偏载误差补偿;
步骤s50、服务器利用神经网络对偏载误差补偿后的所述体重测量模型进行训练优化,得到理想体重测量模型;
步骤s60、服务器实时获取足底压力感测阵列测量的第三压力值,并利用所述第三压力值以及理想体重测量模型对体重进行实时测量。
进一步地,所述步骤s10具体为:
服务器获取足底压力感测阵列的各压力感测单元测量的第一压力值xi;其中xi的单位为牛顿;i为正整数。
进一步地,所述步骤s20具体为:
其中f(x)表示输出的重量,单位为千克;n表示压力感测单元的总数量;gi表示第i个压力感测单元的增益系数。
进一步地,所述步骤s30具体为:
构造神经网络训练的约束条件以及目标函数,基于增广拉格朗日乘子法以及神经网络优化法获得如下非线性误差补偿网络,完成所述体重测量模型的非线性误差补偿:
其中yi表示第一压力值对应的真实压力;
进一步地,所述步骤s40具体为:
服务器将体重划分为若干个区间,设定各区间的最大偏载误差ε以及各区间的分度值d;
将各所述区间内明确重量的荷载加载在足底压力感测阵列上测量的承载面的k处,服务器获取k处的第二压力值:
将yk与
即
|yk-yt|≤ε;
其中
进一步地,所述步骤s50具体为:
服务器基于偏载误差补偿后的所述体重测量模型创建训练目标函数,获取若干个足底压力感测阵列测量的体重与实际体重的样本数据,利用神经网络将所述样本数据输入训练目标函数进行训练优化,得到理想体重测量模型。
本发明的优点在于:
1、通过增广拉格朗日乘子法以及神经网络优化法对体重测量模型进行非线性误差补偿,通过明确重量的荷载加载在足底压力感测阵列上测量的第二压力值对体重测量模型进行偏载误差补偿,再利用神经网络以及大量的样本数据对体重测量模型进行训练优化得到理想体重测量模型,由于神经网络具有良好的逼近非线性函数的能力,能够有效解决足底压力感测阵列的非线性、交叉影响性等问题,使得理想体重测量模型的偏载误差和线性度误差得到很好的补偿,进而实现对体重进行实时测量,极大的提升了体重测量精度。
2、通过将体重划分为若干个区间,针对各区间的体重测量模型分别进行训练优化,进而极大的提升了理想体重测量模型的泛化能力。
附图说明
下面参照附图结合实施例对本发明作进一步的说明。
图1是本发明一种体重实时测量方法的流程图。
图2是本发明足底压力感测阵列的非线性误差补偿的原理框图。
图3是本发明足底压力感测阵列的非线性误差补偿的神经网络模型。
图4是本发明成员神经网络模型示意图。
图5是基于足底压力感测阵列的体重测量系统的执行流程图。
具体实施方式
本发明实施例中的技术方案,总体思路如下:通过增广拉格朗日乘子法以及神经网络优化法对体重测量模型进行非线性误差补偿,通过明确重量的荷载加载在足底压力感测阵列上测量的第二压力值对体重测量模型进行偏载误差补偿,再利用神经网络以及大量的样本数据对体重测量模型进行训练优化得到理想体重测量模型,进而提升体重测量精度,实现体重的实时在线测量。
即根据足底压力感测阵列的非线性误差,获得足底压力感测阵列的有关先验知识,如足底压力感测阵列输入-输出特性曲线的单调递增性;建立足底压力感测阵列非线性误差补偿的神经网络模型,并分别以足底压力感测阵列的输入-输出特性曲线的一阶导数与二阶导数为先验知识,构造神经网络训练的约束条件,采用惩罚函数法、乘子法等求解神经网络参数,构造三种基于导数约束的神经网络优化方法,即基于一阶导数约束与惩罚函数法的神经网络优化方法(dcnn)、基于二阶导数约束与惩罚函数法的神经网络优化方法(sdnn)与基于增广lagrange乘子法的神经网络优化方法(almnn),并推导出相应的训练算法,完成补偿网络训练。
本发明需使用如下体重测量装置,包括一足底压力感测阵列、一无线通信模块以及一服务器;所述无线通信模块的一端与足底压力感测阵列连接,另一端与所述服务器连接;
所述足底压力感测阵列包括若干个压力感测单元,各所述压力感测单元均分别与无线通信模块连接;所述足底压力感测阵列设于智能鞋或者智能鞋垫内;
所述无线通信模块为2g通信模块、3g通信模块、4g通信模块、5g通信模块、nb-iot通信模块、lora通信模块、wifi通信模块、蓝牙通信模块或者zigbee通信模块。
请参照图1至图5所示,本发明一种体重实时测量方法的较佳实施例,包括如下步骤:
步骤s10、服务器获取足底压力感测阵列测量的第一压力值;所述第一压力值为未修正的人体体重,采集时需要对信号进行放大、滤波和模数转换;
步骤s20、服务器基于所述第一压力值创建体重测量模型;所述体重测量模型为线性函数;
步骤s30、服务器利用增广拉格朗日乘子法以及神经网络优化法对所述体重测量模型进行非线性误差补偿;
步骤s40、服务器获取明确重量的荷载加载在足底压力感测阵列上测量的第二压力值,基于所述第二压力值对非线性误差补偿后的体重测量模型进行偏载误差补偿;
步骤s50、服务器利用神经网络对偏载误差补偿后的所述体重测量模型进行训练优化,得到理想体重测量模型;
步骤s60、服务器实时获取足底压力感测阵列测量的第三压力值,并利用所述第三压力值以及理想体重测量模型对体重进行实时测量。
在实际应用时,可利用先验知识构造集成输出权值调整器(估计器),对各成员神经网络输出进行加权组合(即先验知识的权值约束法),基于足底压分布实测数据导入理想体重测量模型获得最终的体重测量结果。
假设存在三个体重区间,即三个成员神经网络,w1、w2、w3为三个成员神经网络(子神经网络)的集成输出权值分量,则:
其中
所述步骤s10具体为:
服务器获取足底压力感测阵列的各压力感测单元测量的第一压力值xi;其中xi的单位为牛顿;i为正整数。
所述步骤s20具体为:
其中f(x)表示输出的重量,单位为千克;n表示压力感测单元的总数量;gi表示第i个压力感测单元的增益系数。
所述步骤s30具体为:
构造神经网络训练的约束条件以及目标函数,基于增广拉格朗日乘子法以及神经网络优化法获得如下非线性误差补偿网络,完成所述体重测量模型的非线性误差补偿:
其中yi表示第一压力值对应的真实压力(足底压真值);
所述步骤s40具体为:
服务器将体重划分为若干个区间,设定各区间的最大偏载误差ε以及各区间的分度值d;所述分度值d的取值优选为100g或者50g;基于各所述区间分别构建相互独立的成员神经网络,各所述成员神经网络负责对应区间内的融合,由于各所述成员神经网络相互独立,具有最大的差异性,因此能有效提高神经网络集成的泛化能力;
例如将体重划分为0至50kg,50-100kg,100-180kg三个区间,则:
其中epmax表示体重的最大误差;m表示人体体重测量范围;
将各所述区间内明确重量的荷载加载在足底压力感测阵列上测量的承载面的k处,服务器获取k处的第二压力值:
由于足底压力感测阵列受偏载误差和线性度误差的影响,使得yk与
即
|yk-yt|≤ε;
其中
基于先验知识与神经网络集成的足底压力感测阵列体重测量融合,就是以
所述步骤s50具体为:
服务器基于偏载误差补偿后的所述体重测量模型创建训练目标函数,获取若干个足底压力感测阵列测量的体重与实际体重的样本数据,利用神经网络将所述样本数据输入训练目标函数进行训练优化,得到理想体重测量模型。
下面对本发明的算法、模型做进一步说明:
almnn算法(增广拉格朗日乘子法以及神经网络优化法)的步骤:
步骤1、选取初值:给定神经网络参数初值ω(0),b(1)(0),v(0),b(2)(0)与乘子初值λ(0)≥0、惩罚参数初值σ(0)≥0、阈值0≤ε<<1、终止条件初值β(0)、神经网络学习率0<η≤1、神经网络训练次数train_num=0、神经网络训练次数上界train_max、神经网络训练误差阈值0≤err_mse≤1、更新因子0<γ≤1、μ>1、迭代总次数iterate_max,令s=t=1;
步骤2、以ω(t-1),b(1)(t-1),v(t-1),b(2)(t-1)为初始值,利用基于增广lagrange乘子法的神经网络训练算法的增广目标函数,其中终止条件是式(1)的均方误差值小于阈值err_mse或train_num≥train_max;
式中m为神经网络隐含层神经元的个数;
此时所求得的ω(t),b(1)(t),v(t),b(2)(t)为当λ=λ(t)、σ=σ(t)时的神经网络参数;
步骤3、检验终止条件:若β(t)≤ε或迭代次数s≥iterate_max,则停止迭代,输出即为神经网络的最优参数ω(t),b(1)(t),v(t),b(2)(t);否则,转步骤4;
步骤4、更新惩罚参数,若β(t)≥γβ(t-1),则σ(t+1)=μσ(t);否则σ(t+1)=σ(t);
步骤5、利用式(2)更新乘子λ(t);
步骤6、令t=t+1,转步骤2:
步骤3中的β(t)为算法终止参数。由式(3)可知,当满足约束条件时,
将式(5)代入式(6):
成员神经网络模型:
由图3可知,第i个成员神经网络以l次测量n路压力感测阵列信号x为输入,以称重结果
式中隐层神经元的个数m由实验确定,w为成员神经网络输入层-隐层的权矩阵,b(1)为隐层偏置向量,v为隐层-输出层的权向量,b(2)为输出层偏置值,
成员神经网络训练算法:
利用电子体重计先验知识(理想体重测量模型)及其导数构造成员网络训练约束条件,可以提高在较少训练样本情况下的网络泛化能力。设e为成员网络训练目标函数,采用批量学习方法(j个训练样本),则
式中,yj为第j个目标值,
因此:
式(9)中,系数μj体现了先验知识在目标函数中的权重,即:
用梯度法与批量训练法进行成员神经网络训练,利用平均梯度更新神经网络的参数,设学习率为η,则v、b(2)、w、b(1)的增量δvm、δb(2)、δwmi、
式中:
综合式(14)、(15)、(16),有:
因此,成员神经网络参数wj、bj(1)、vj、bj(2)的迭代式为:
综上所述,本发明的优点在于:
1、通过增广拉格朗日乘子法以及神经网络优化法对体重测量模型进行非线性误差补偿,通过明确重量的荷载加载在足底压力感测阵列上测量的第二压力值对体重测量模型进行偏载误差补偿,再利用神经网络以及大量的样本数据对体重测量模型进行训练优化得到理想体重测量模型,由于神经网络具有良好的逼近非线性函数的能力,能够有效解决足底压力感测阵列的非线性、交叉影响性等问题,使得理想体重测量模型的偏载误差和线性度误差得到很好的补偿,进而实现对体重进行实时测量,极大的提升了体重测量精度。
2、通过将体重划分为若干个区间,针对各区间的体重测量模型分别进行训练优化,进而极大的提升了理想体重测量模型的泛化能力。
虽然以上描述了本发明的具体实施方式,但是熟悉本技术领域的技术人员应当理解,我们所描述的具体的实施例只是说明性的,而不是用于对本发明的范围的限定,熟悉本领域的技术人员在依照本发明的精神所作的等效的修饰以及变化,都应当涵盖在本发明的权利要求所保护的范围内。