发明内容
本发明的主要目的在于提出一种手写轨迹生成方法和装置,旨在生成的手写轨迹不够准确的技术问题。
为实现上述目的,本发明提供的一种手写轨迹生成方法,所述手写轨迹生成方法包括步骤:
按照预设的采样周期进行特征数据的采集,所述特征数据包括加速度、角速度以及磁通量;
基于各个所述采样点对应的特征数据确定各个所述采样点中的有效采样点;
基于各个所述有效采样点对应的所述角速度、磁通量、所述加速度中的重力加速度以及预设的标准矩阵计算各个所述有效采样点的旋转矩阵;
根据所述旋转矩阵以及各个采样点的所述加速度计算各个所述有效采样点的当前加速度;
基于各个所述有效采样点的当前加速度以及所述采样周期进行积分计算,以生成手写轨迹。
优选地,所述基于各个所述有效采样点对应的所述角速度、磁通量、所述加速度中的重力加速度以及预设的标准矩阵计算各个所述有效采样点的旋转矩阵的步骤包括:
根据各个所述有效采样点的角速度计算各个采样点对应的转换参数;
根据所述标准矩阵以及各个采样点的所述重力加速度计算各个所述有效采样点的当前重力加速度;
分别基于各个所述采样点的所述当前重力加速度、所述磁通量以及所述转换参数生成各个所述有效采样点的旋转矩阵。
优选地,所述根据各个采样点的角速度计算各个所述有效采样点对应的转换参数的步骤包括:
对各个所述有效采样点在各个所述采样周期内按照预设时间间隔取预设数量的子采样点;
基于所述时间间隔计算各个子采样点对应的角速度;
将所述采样周期内相邻所述有效采样点作为当前周期内的所述子采样点,并计算相邻所述子采样点之间的角速度差值;
基于各个所述有效采样点的所述角速度差值计算各个所述有效采样点对应的转换参数。
优选地,所述基于各个所述采样点对应的特征数据确定各个所述采样点中的有效采样点的步骤包括:
步骤A、基于各个采样点采集到的所述特征数据获取各个采样点对应的特征向量;
步骤B、将当前采样区间分为多个采样子区间,并基于各个采样点的特征向量以及预设的静态特征向量确定手写轨迹起点以及手写轨迹终点所在的采样子区间;
步骤C、将所述采样子区间内作为当前采样区间,并继续执行步骤B,直至当前采样点区间中采样点数量为1;
步骤D、将所述手写轨迹起点以及所述手写轨迹终点对应的采样子区间内的采样点分别作为手写轨迹的手写轨迹起点和手写轨迹终点;
步骤E、将所述手写轨迹起点以及手写轨迹终点之间的采样点作为有效采样点。
优选地,所述基于各个所述采样点对应的特征数据确定各个所述采样点中的有效采样点的步骤包括:
对采集到的所述特征数据进行滤波处理,以更新各个采样点的所述特征数据;
基于各个所述采样点更新后的特征数据确定各个所述采样点中的有效采样点。
此外,为实现上述目的,本发明还提出一种手写轨迹生成装置,所述手写轨迹生成装置包括:
采集模块,用于按照预设的采样周期进行特征数据的采集,所述特征数据包括加速度、角速度以及磁通量;
确定模块,用于基于各个所述采样点对应的特征数据确定各个所述采样点中的有效采样点;
计算模块,用于基于各个所述有效采样点对应的所述角速度、磁通量、所述加速度中的重力加速度以及预设的标准矩阵计算各个所述有效采样点的旋转矩阵,以及根据所述旋转矩阵以及各个采样点的所述加速度计算各个所述有效采样点的当前加速度;
生成模块,用于基于各个所述有效采样点的当前加速度以及所述采样周期进行积分计算,以生成手写轨迹。
优选地,所述计算模块包括:
计算单元,用于根据各个所述有效采样点的角速度计算各个采样点对应的转换参数,以及根据所述标准矩阵以及各个采样点的所述重力加速度计算各个所述有效采样点的当前重力加速度;
生成单元,用于分别基于各个所述采样点的所述当前重力加速度、所述磁通量以及所述转换参数生成各个所述有效采样点的旋转矩阵。
优选地,所述计算单元包括:
处理子单元,用于对各个所述有效采样点在各个所述采样周期内按照预设时间间隔取预设数量的子采样点;
计算子单元,用于基于所述时间间隔计算各个子采样点对应的角速度,以及将所述采样周期内相邻所述有效采样点作为当前周期内的所述子采样点,并计算相邻所述子采样点之间的角速度差值,以及基于各个所述有效采样点的所述角速度差值计算各个所述有效采样点对应的转换参数。
优选地,所述确定模块包括:
获取单元,用于基于各个采样点采集到的所述特征数据获取各个采样点对应的特征向量;
第一确定单元,用于将当前采样区间分为多个采样子区间,并基于各个采样点的特征向量以及预设的静态特征向量确定手写轨迹起点以及手写轨迹终点所在的采样子区间;
处理单元,用于将所述采样子区间内作为当前采样区间;
所述第一确定单元,还用于在所述处理单元将所述采样子区间内作为当前采样区间后,继续将当前采样区间分为多个采样子区间,并基于各个采样点的特征向量以及预设的静态特征向量确定手写轨迹起点以及手写轨迹终点所在的采样子区间,直至当前采样点区间中采样点数量为1;
所述处理单元,还用于将所述手写轨迹起点以及所述手写轨迹终点对应的采样子区间内的采样点分别作为手写轨迹的手写轨迹起点和手写轨迹终点,以及将所述手写轨迹起点以及手写轨迹终点之间的采样点作为有效采样点。
优选地,所述确定模块包括:
滤波单元,用于对采集到的所述特征数据进行滤波处理,以更新各个采样点的所述特征数据;
第二确定单元,用于基于各个所述采样点更新后的特征数据确定各个所述采样点中的有效采样点。
本发明提出的手写轨迹生成方法和装置,按照预设的采样周期进行特征数据的采集,所述特征数据包括加速度、角速度以及磁通量,基于各个所述采样点对应的特征数据确定各个所述采样点中的有效采样点;基于各个所述有效采样点对应的所述角速度、磁通量、所述加速度中的重力加速度以及预设的标准矩阵计算各个所述有效采样点的旋转矩阵;根据所述旋转矩阵以及各个采样点的所述加速度计算各个所述有效采样点的当前加速度;基于各个所述有效采样点的当前加速度以及所述采样周期进行积分计算,以生成手写轨迹,通过对惯性传感器检测得到的加速度的校正以生成当前加速度,使得基于当前加速度生成的手写轨迹更加准确。
具体实施方式
应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明提供一种手写轨迹生成方法。
参照图1,图1为手写轨迹生成方法较佳实施例的功能模块示意图。
本实施例提出一种手写轨迹生成方法,所述手写轨迹生成方法包括:
步骤S10,按照预设的采样周期进行特征数据的采集,所述特征数据包括加速度、角速度以及磁通量;
在本实施例中,可通过惯性传感器检测加速度、角速度以及磁通量数据,该加速度可分解为各个方向的加速度,如重力加速度。
步骤S20,基于各个所述采样点对应的特征数据确定各个所述采样点中的有效采样点;
在本实施例中,确定有效采样点的具体过程如下:
步骤A、基于各个采样点采集到的所述特征数据获取各个采样点对应的特征向量;
在本实施例中所述特征向量优选包括平均加速度特征、平均角速度特征、平均加速度方差特征以及能量特征,该能量特征各个采样点的特征数据进行傅里叶变换后得到的波形中频率小于10HZ的幅值。
步骤B、将当前采样区间分为多个采样子区间,并基于各个采样点的特征向量以及预设的静态特征向量确定手写轨迹起点以及手写轨迹终点所在的采样子区间;
预设的静态特征向量可由惯性传感器预设时间间隔内采集到的静态采样点(静态采样点为惯性采集装置所在的手写装置处于静态时进行数据采集的采样点)的采样数据得到,该静态特征向量包括:
平均加速度特征:
平均角速度特征:
加速度方差特征:
频率小于10HZ的能量特征:E=ΣEi,其中Ei为经过傅里叶变换后频率低于10HZ的幅值大小;其中,N为静态采样点的总数,i为各个静态采样点的编号。
步骤C、将所述采样子区间内作为当前采样区间,并继续执行步骤B,直至当前采样点区间中采样点数量为1;
步骤D、将所述手写轨迹起点以及所述手写轨迹终点对应的采样子区间内的采样点分别作为手写轨迹的手写轨迹起点和手写轨迹终点;
例如,当前的总采样点数量为i,将采样点按照数量进行等分,例如每个采样子区间内的采样点数量为N,则确定各个所述采样子区间的特征向量,将各个采样子区间的特征向量与静态特征向量进行比对,以确定起点以及终端所在的采样子区间。例如,当前采样点对应的起始位置所在的采样子区间为[1,N],则将采样子区间[1,N]座位当前采样区间,并拆分为[1,N/2]以及[N/2,N]两个采样子区间,基于上述方法再确定手写轨迹起点所在的采样子区间,在手写轨迹起点所在的采样子区间为[1,N/2]时,可在对[1,N/2]进行拆分得到采样子区间[1,N/4]以及[N/4,N/2],依次类推,直到得到的采样区间内的采样点数量为1,例如最终采样子区间为N/16,则将采样点N/16作手写轨迹起点,手写轨迹终点的确定过程同理,在此不再赘述。在本实施例中,在进行采样子区间拆分时,可不仅仅拆分为两个采样子区间,也可拆分为多个。
步骤E、将所述手写轨迹起点以及手写轨迹终点之间的采样点作为有效采样点。
该有效采样点对应的轨迹即为最终需要得到的手写轨迹。
上述确定手写轨迹起始点以及手写轨迹终点的方式,较于传统的阀值法识别起止点,提高了起止点以及终点识别的稳定性和准确率。
本领域技术人员可以理解的是,为提高采集到的特征数据的准确性,所述步骤S20包括:
对采集到的所述特征数据进行滤波处理,以更新各个采样点的所述特征数据;
基于各个所述采样点更新后的特征数据确定各个所述采样点中的有效采样点。
该滤波处理方法优选为卡尔曼滤波方法。
步骤S30,基于各个所述有效采样点对应的所述角速度、磁通量、所述加速度中的重力加速度以及预设的标准矩阵计算各个所述有效采样点的旋转矩阵;
参照图2,所述步骤S30具体包括步骤:
步骤S31,根据各个所述有效采样点的角速度计算各个采样点对应的转换参数;
步骤S31包括:
对各个所述有效采样点在各个所述采样周期内按照预设时间间隔取预设数量的子采样点;
基于所述时间间隔计算各个子采样点对应的角速度;
将所述采样周期内相邻所述有效采样点作为当前周期内的所述子采样点,并计算相邻所述子采样点之间的角速度差值;
基于各个所述有效采样点的所述角速度差值计算各个所述有效采样点对应的转换参数。
在本实施例中,每两个采样点之间取的子采样点为3个,所取的两个子采样点的角速度计算公式为:w(tk+τ)=a+2bτ+3cτ2+4dτ3,其中τ为子采样点之间的时间间隔,或者子采样点与其相邻的采样点之间的时间间隔,w为角速度。
在相邻两个采样点对应的角速度分别为w1和w2,三个采样子节点为w3、w4以及w5,其中w3与w1相邻,w5与w2相邻,W4位于W3和w5之间。则将w1、w3、w4、w5以及w2,依次两个计算夹角得到△θ1=w1-w3,△θ2=w3–w4,△θ3=w4-w5,△θ4=w5-w2,基于角度差基于等效旋转矢量,距离公式如下: 转换参数为姿态四元数。
基于该等效旋转矢量可计算转换参数具体计算公式为:
步骤S32,根据所述标准矩阵以及各个采样点的所述重力加速度计算各个所述有效采样点的当前重力加速度;
步骤S33,分别基于各个所述采样点的所述当前重力加速度、所述磁通量以及所述转换参数生成各个所述有效采样点的旋转矩阵。
标准矩阵为惯性感应器所在的终端处于静止状态时采集到的磁通量以及重力加速度计算得到的,磁通量向量为重力加速度向量为同时且则标准矩阵为:
则该标准矩阵对应的姿态四元数为:
由转换参数中的姿态四元数可生成转换矩阵O,采用转换矩阵O与重力加速度向量进行乘运算得到当前重力加速度,即基于当前重力加速度以及磁通量的乘运算得到补偿姿态四元数Q’,最终可基于补偿姿态四元数Q’、转换参数进行线性相加得到旋转矩阵对应的姿态四元数Q,具体公式为:
步骤S40,根据所述旋转矩阵以及各个采样点的所述加速度计算各个所述有效采样点的当前加速度;
基于姿态四元数Q转换得到旋转矩阵P,基于旋转矩阵P以及角速度向量,计算采样点的当前加速度的公式为:
步骤S50,基于各个所述有效采样点的当前加速度以及所述采样周期进行积分计算,以生成手写轨迹。
在本实施例中对当前加速度以及采样周期进行积分时为二次积分,该积分过程为现有技术,在此不再赘述。
本实施例提出的手写轨迹生成方法,按照预设的采样周期进行特征数据的采集,所述特征数据包括加速度、角速度以及磁通量,基于各个所述采样点对应的特征数据确定各个所述采样点中的有效采样点;基于各个所述有效采样点对应的所述角速度、磁通量、所述加速度中的重力加速度以及预设的标准矩阵计算各个所述有效采样点的旋转矩阵;根据所述旋转矩阵以及各个采样点的所述加速度计算各个所述有效采样点的当前加速度;基于各个所述有效采样点的当前加速度以及所述采样周期进行积分计算,以生成手写轨迹,通过对惯性传感器检测得到的加速度的校正以生成当前加速度,使得基于当前加速度生成的手写轨迹更加准确。
本发明进一步提供一种手写轨迹生成装置。
参照图3,图3为本发明手写轨迹生成装置较佳实施例的功能模块示意图。
需要强调的是,对本领域的技术人员来说,图3所示功能模块图仅仅是一个较佳实施例的示例图,本领域的技术人员围绕图3所示的手写轨迹生成装置的功能模块,可轻易进行新的功能模块的补充;各功能模块的名称是自定义名称,仅用于辅助理解该手写轨迹生成装置的各个程序功能块,不用于限定本发明的技术方案,本发明技术方案的核心是,各自定义名称的功能模块所要达成的功能。
本实施例提出一种手写轨迹生成装置,所述手写轨迹生成装置包括:
采集模块10,用于按照预设的采样周期进行特征数据的采集,所述特征数据包括加速度、角速度以及磁通量;
在本实施例中,可通过惯性传感器检测加速度、角速度以及磁通量数据,该加速度可分解为各个方向的加速度,如重力加速度。
确定模块20,用于基于各个所述采样点对应的特征数据确定各个所述采样点中的有效采样点;
参照图4,所述确定模块20包括:
获取单元21,用于基于各个采样点采集到的所述特征数据获取各个采样点对应的特征向量;
在本实施例中所述特征向量优选包括平均加速度特征、平均角速度特征、平均加速度方差特征以及能量特征,该能量特征各个采样点的特征数据进行傅里叶变换后得到的波形中频率小于10HZ的幅值。
第一确定单元22,用于将当前采样区间分为多个采样子区间,并基于各个采样点的特征向量以及预设的静态特征向量确定手写轨迹起点以及手写轨迹终点所在的采样子区间;
预设的静态特征向量可由惯性传感器预设时间间隔内采集到的静态采样点(静态采样点为惯性采集装置所在的手写装置处于静态时进行数据采集的采样点)的采样数据得到,该静态特征向量包括:
平均加速度特征:
平均角速度特征:
加速度方差特征:
频率小于10HZ的能量特征:E=ΣEi,其中Ei为经过傅里叶变换后频率低于10HZ的幅值大小;其中,N为静态采样点的总数,i为各个静态采样点的编号。
处理单元23,用于将所述采样子区间内作为当前采样区间;
所述第一确定单元22,还用于在所述处理单元将所述采样子区间内作为当前采样区间后,继续将当前采样区间分为多个采样子区间,并基于各个采样点的特征向量以及预设的静态特征向量确定手写轨迹起点以及手写轨迹终点所在的采样子区间,直至当前采样点区间中采样点数量为1;
所述处理单元23,还用于将所述手写轨迹起点以及所述手写轨迹终点对应的采样子区间内的采样点分别作为手写轨迹的手写轨迹起点和手写轨迹终点,以及将所述手写轨迹起点以及手写轨迹终点之间的采样点作为有效采样点。
例如,当前的总采样点数量为i,将采样点按照数量进行等分,例如每个采样子区间内的采样点数量为N,则确定各个所述采样子区间的特征向量,将各个采样子区间的特征向量与静态特征向量进行比对,以确定起点以及终端所在的采样子区间。例如,当前采样点对应的起始位置所在的采样子区间为[1,N],则将采样子区间[1,N]座位当前采样区间,并拆分为[1,N/2]以及[N/2,N]两个采样子区间,基于上述方法再确定手写轨迹起点所在的采样子区间,在手写轨迹起点所在的采样子区间为[1,N/2]时,可在对[1,N/2]进行拆分得到采样子区间[1,N/4]以及[N/4,N/2],依次类推,直到得到的采样区间内的采样点数量为1,例如最终采样子区间为N/16,则将采样点N/16作手写轨迹起点,手写轨迹终点的确定过程同理,在此不再赘述。在本实施例中,在进行采样子区间拆分时,可不仅仅拆分为两个采样子区间,也可拆分为多个。
该有效采样点对应的轨迹即为最终需要得到的手写轨迹。
上述确定手写轨迹起始点以及手写轨迹终点的方式,较于传统的阀值法识别起止点,提高了起止点以及终点识别的稳定性和准确率。
本领域技术人员可以理解的是,为提高采集到的特征数据的准确性,所述确定模块20包括:
滤波单元,用于对采集到的所述特征数据进行滤波处理,以更新各个采样点的所述特征数据;
第二确定单元,用于基于各个所述采样点更新后的特征数据确定各个所述采样点中的有效采样点。
该滤波处理方法优选为卡尔曼滤波方法。
计算模块30,用于基于各个所述有效采样点对应的所述角速度、磁通量、所述加速度中的重力加速度以及预设的标准矩阵计算各个所述有效采样点的旋转矩阵,以及根据所述旋转矩阵以及各个采样点的所述加速度计算各个所述有效采样点的当前加速度;
参照图5,所述计算模块30包括:
计算单元31,用于根据各个所述有效采样点的角速度计算各个采样点对应的转换参数,以及根据所述标准矩阵以及各个采样点的所述重力加速度计算各个所述有效采样点的当前重力加速度;
所述计算单元31包括:
处理子单元,用于对各个所述有效采样点在各个所述采样周期内按照预设时间间隔取预设数量的子采样点;
计算子单元,用于基于所述时间间隔计算各个子采样点对应的角速度,以及将所述采样周期内相邻所述有效采样点作为当前周期内的所述子采样点,并计算相邻所述子采样点之间的角速度差值,以及基于各个所述有效采样点的所述角速度差值计算各个所述有效采样点对应的转换参数。
在本实施例中,每两个采样点之间取的子采样点为3个,所取的两个子采样点的角速度计算公式为:w(tk+τ)=a+2bτ+3cτ2+4dτ3,其中τ为子采样点之间的时间间隔,或者子采样点与其相邻的采样点之间的时间间隔,w为角速度。
在相邻两个采样点对应的角速度分别为w1和w2,三个采样子节点为w3、w4以及w5,其中w3与w1相邻,w5与w2相邻,W4位于W3和w5之间。则将w1、w3、w4、w5以及w2,依次两个计算夹角得到△θ1=w1-w3,△θ2=w3–w4,△θ3=w4-w5,△θ4=w5-w2,基于角度差基于等效旋转矢量,距离公式如下: 转换参数为姿态四元数。
基于该等效旋转矢量可计算转换参数具体计算公式为:
生成单元32,用于分别基于各个所述采样点的所述当前重力加速度、所述磁通量以及所述转换参数生成各个所述有效采样点的旋转矩阵。
标准矩阵为惯性感应器所在的终端处于静止状态时采集到的磁通量以及重力加速度计算得到的,磁通量向量为重力加速度向量为同时且则标准矩阵为:
则该标准矩阵对应的姿态四元数为:
由转换参数中的姿态四元数可生成转换矩阵O,采用转换矩阵O与重力加速度向量进行乘运算得到当前重力加速度,即基于当前重力加速度以及磁通量的乘运算得到补偿姿态四元数Q’,最终可基于补偿姿态四元数Q’、转换参数Q进行线性相加得到旋转矩阵对应的姿态四元数Q,具体公式为:
基于姿态四元数Q转换得到旋转矩阵P,基于旋转矩阵P以及角速度向量,计算采样点的当前加速度的公式为:
生成模块40,用于基于各个所述有效采样点的当前加速度以及所述采样周期进行积分计算,以生成手写轨迹。
在本实施例中对当前加速度以及采样周期进行积分时为二次积分,该积分过程为现有技术,在此不再赘述。
本实施例提出的手写轨迹生成装置,按照预设的采样周期进行特征数据的采集,所述特征数据包括加速度、角速度以及磁通量,基于各个所述采样点对应的特征数据确定各个所述采样点中的有效采样点;基于各个所述有效采样点对应的所述角速度、磁通量、所述加速度中的重力加速度以及预设的标准矩阵计算各个所述有效采样点的旋转矩阵;根据所述旋转矩阵以及各个采样点的所述加速度计算各个所述有效采样点的当前加速度;基于各个所述有效采样点的当前加速度以及所述采样周期进行积分计算,以生成手写轨迹,通过对惯性传感器检测得到的加速度的校正以生成当前加速度,使得基于当前加速度生成的手写轨迹更加准确。
需要说明的是,在本文中,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者装置不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者装置所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括该要素的过程、方法、物品或者装置中还存在另外的相同要素。
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到上述实施例方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可以是手机,计算机,服务器,空调器,或者网络设备等)执行本发明各个实施例所述的方法。
以上仅为本发明的优选实施例,并非因此限制本发明的专利范围,凡是利用本发明说明书及附图内容所作的等效结构或等效流程变换,或直接或间接运用在其他相关的技术领域,均同理包括在本发明的专利保护范围内。