正在加载图片...
第5期 池小文,等:基于智能手机的健身跑数据采集及演化建模 ·705· 异算子采用常规的单点变异算子。选择策略采用 roll roll 带精英保留的轮盘赌方法。具体的算法流程定义 》 如下所示。 azimuth azimuth azimuth 算法健身跑演化建模算法GA pitchx pitch 输入种群大小n,交叉概率p.(0<p.<1),变 (a)绕z轴旋转 (b)绕x轴旋转 (©)绕轴旋转 异概率pm(0<pm<I),心率实测值,速度u(t); 图4惯性坐标系到手机坐标系的转换步骤 输出式(1)中的参数a1a2、a3、a4和a5。 Fig.4 Transformations from inertia coordinate system 1)演化代数t0: to smartphone coordinate system 2)产生初始种群P(t): cos(o(t)) sin((t))0 3)根据估计的速度值u(t)和式(1),采用四阶 M(p(t))= -sin(o(t))cos(o(t)) 0 龙格-库塔法求解心率增量的估计值,定义心率增 0 0 量估计值与实测值的残差平方和作为适应度函数, (3 计算P(t)中每个个体的适应度值: 「1 0 4)从种群P(t)中选择最优个体并赋给X变量: M(9(t))= 0 cos(0(t)) sin(a(t))) 5)若不满足停机条件,执行下列6)~11)循环: 0 -sin(0(t))cos(0(t)) 6)基于P(t)和交叉概率P.,通过整体算术交叉 (4) 算子生成中间种群Pc(t); cos(y(t)) 0 -sin(y(t)) 7)基于Pc(t)和变异pm,通过变异算子生成中 M(y(t))= 0 1 0 间种群P(t); Lsin(y(t)) 0 cos(y(t)) 8)计算P(t)中每个个体的适应度值: (5) 9)按基于精英保留的轮盘赌选择策略从种群 8(t) P(t)和P(t)中选出n个个体生成下一代种 8(t) =M(p(t))·M((t))·M(y(t))(6) 群P(t+1): g.(t) 10)从种群P(t+1)中找出最优个体并赋给X 智能手机内置的方向传感器通过融合手机内 变量; 置的加速度传感器、地磁传感器可以输出方向信号 11)t-t+1: p(t)、(t)和y(t)。结合方向角信号可将惯性坐标 12)满足停机条件,循环结束; 系下的重力加速度g旋转变换至手机坐标系下,进 13)将得到的最优个体X作为最优参数输出。 而获取g在x、y和z轴上各个分量信号g(t)、 8,(t)8.(t)。坐标变换如(6)式。最后,将三轴加 4实验 速度传感器输出的信号滤除变换后的重力分量,便 为了验证本文健身跑速度数据采集和演化建 可获得人体加速度信号。 模算法的有效性,下面首先介绍实验数据集,然后 3基于智能手机的健身跑演化建模 定义验证的问题和度量指标,再阐述所使用的统计 方法,最后展示实验结果。 算法 4.1实验数据集 根据健身跑运动过程中采集的数据速度和心 我们基于Android智能手机和外置的心率带已 率数据,本文设计了一种遗传算法(genetic 开发了一套健身跑指导系统(简称i酷跑)。1酷跑 algorithm,GA)对式(1)中的5个参数进行演化优 的数据采集模块可在运动者健身跑中,每隔1min 化,进而构建出健身跑运动模型。 将从智能手机采集到的三轴加速度数据、方向传感 GA算法中个体编码采用实数编码,其长度为 器数据,以及从心率带收集的心率数据实时存储到 5。按照式(1)和采集的速度数据,可采用四阶龙 云服务器中。并在云端运行本文GA算法,为了便 格-库塔法[2求解出心率增量x,(t)的估计值。并 于实验对比,LM算法也被部署在云端进行运行。 定义心率增量估计值与实测值的残方差,适应度函 为了开展本文的验证工作,我们招募了10名大 数是GA算法里的专业术语,一般定义适应度值越 学生志愿者进行健身跑,以构建实验数据集。这些 小,个体越优。交叉算子采用整体算术杂交法。变 学生的具体情况如表1所示。在表1中,为了保护图 4 惯性坐标系到手机坐标系的转换步骤 Fig.4 Transformations from inertia coordinate system to smartphone coordinate system M(φ(t)) = cos(φ(t)) sin(φ(t)) 0 - sin(φ(t)) cos(φ(t)) 0 0 0 1 é ë ê ê ê ù û ú ú ú (3) M(θ(t)) = 1 0 0 0 cos(θ(t)) sin(θ(t)) 0 - sin(θ(t)) cos(θ(t)) é ë ê ê ê ù û ú ú ú (4) M(γ(t)) = cos(γ(t)) 0 - sin(γ(t)) 0 1 0 sin(γ(t)) 0 cos(γ(t)) é ë ê ê ê ù û ú ú ú (5) gx(t) gy(t) gz(t) é ë ê ê ê ê ù û ú ú ú ú = M(φ(t))·M(θ(t))·M(γ(t))(6) 智能手机内置的方向传感器通过融合手机内 置的加速度传感器、地磁传感器可以输出方向信号 φ(t)、θ(t)和 γ(t)。 结合方向角信号可将惯性坐标 系下的重力加速度 g 旋转变换至手机坐标系下,进 而获取 g 在 x、 y 和 z 轴上各个分量信号 gx ( t)、 gy(t)、gz(t)。 坐标变换如(6) 式。 最后,将三轴加 速度传感器输出的信号滤除变换后的重力分量,便 可获得人体加速度信号。 3 基于智能手机的健身跑演化建模 算法 根据健身跑运动过程中采集的数据速度和心 率数 据, 本 文 设 计 了 一 种 遗 传 算 法 ( genetic algorithm, GA)对式(1) 中的 5 个参数进行演化优 化,进而构建出健身跑运动模型。 GA 算法中个体编码采用实数编码,其长度为 5。 按照式(1) 和采集的速度数据,可采用四阶龙 格-库塔法[27]求解出心率增量 x1(t)的估计值。 并 定义心率增量估计值与实测值的残方差,适应度函 数是 GA 算法里的专业术语,一般定义适应度值越 小,个体越优。 交叉算子采用整体算术杂交法。 变 异算子采用常规的单点变异算子。 选择策略采用 带精英保留的轮盘赌方法。 具体的算法流程定义 如下所示。 算法 健身跑演化建模算法 GA 输入 种群大小 n,交叉概率 pc( 0 <pc< 1 ),变 异概率 pm(0 <pm < 1),心率实测值,速度 u(t); 输出 式(1)中的参数 a1 、a2 、a3 、a4 和 a5 。 1)演化代数 t←0; 2)产生初始种群 P(t); 3)根据估计的速度值 u(t)和式(1),采用四阶 龙格-库塔法求解心率增量的估计值,定义心率增 量估计值与实测值的残差平方和作为适应度函数, 计算 P(t)中每个个体的适应度值; 4)从种群 P(t)中选择最优个体并赋给 X - 变量; 5)若不满足停机条件,执行下列 6) ~11)循环; 6)基于 P(t)和交叉概率 pc,通过整体算术交叉 算子生成中间种群 PC(t); 7)基于 PC(t)和变异 pm ,通过变异算子生成中 间种群 PM(t) ; 8)计算 PM(t)中每个个体的适应度值; 9)按基于精英保留的轮盘赌选择策略从种群 PM( t) 和 P ( t) 中 选 出 n 个 个 体 生 成 下 一 代 种 群P(t+1); 10)从种群 P( t+1) 中找出最优个体并赋给 X - 变量; 11)t←t+1; 12)满足停机条件,循环结束; 13)将得到的最优个体 X - 作为最优参数输出。 4 实验 为了验证本文健身跑速度数据采集和演化建 模算法的有效性,下面首先介绍实验数据集,然后 定义验证的问题和度量指标,再阐述所使用的统计 方法,最后展示实验结果。 4.1 实验数据集 我们基于 Android 智能手机和外置的心率带已 开发了一套健身跑指导系统(简称 i 酷跑)。 i 酷跑 的数据采集模块可在运动者健身跑中,每隔 1 min 将从智能手机采集到的三轴加速度数据、方向传感 器数据,以及从心率带收集的心率数据实时存储到 云服务器中。 并在云端运行本文 GA 算法,为了便 于实验对比,LM 算法也被部署在云端进行运行。 为了开展本文的验证工作,我们招募了 10 名大 学生志愿者进行健身跑,以构建实验数据集。 这些 学生的具体情况如表 1 所示。 在表 1 中,为了保护 第 5 期 池小文,等:基于智能手机的健身跑数据采集及演化建模 ·705·
<<向上翻页向下翻页>>
©2008-现在 cucdc.com 高等教育资讯网 版权所有