CN104731307B - 一种体感动作识别方法及人机交互装置 - Google Patents
一种体感动作识别方法及人机交互装置 Download PDFInfo
- Publication number
- CN104731307B CN104731307B CN201310711263.9A CN201310711263A CN104731307B CN 104731307 B CN104731307 B CN 104731307B CN 201310711263 A CN201310711263 A CN 201310711263A CN 104731307 B CN104731307 B CN 104731307B
- Authority
- CN
- China
- Prior art keywords
- data section
- data
- movement
- sample
- section
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Landscapes
- Measurement Of The Respiration, Hearing Ability, Form, And Blood Characteristics Of Living Organisms (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明提供一种体感动作识别方法,包括:1)在执行体感动作的过程中,通过体感设备中的加速传感器采集表征该体感动作的有效数据段;2)计算所采集的有效数据段与标准数据段的DTW距离,根据所采集的有效数据段与标准数据段的DTW距离匹配样本库;3)计算所采集的有效数据段与步骤2)所匹配的样本库中每一个样本数据段的DTW距离,将其中DTW距离最小的样本数据段所表征的体感动作的标识作为所采集的有效数据段的识别结果。本发明还提供了相应的人机交互装置。本发明能够在保证识别准确度的前提下提高识别效率;可在识别动作时设备拿的方式不受限制的前提下确保较高的识别准确度。
Description
技术领域
本发明涉及体感模式识别技术领域,具体地说,本发明涉及一种体感动作识别方法及人机交互装置。
背景技术
说起人机交互的方式,我们首先想到的是基于键盘与鼠标的交互方式,但随着智能电视和大尺寸显示屏的出现,键盘与鼠标的不便性越发明显,而触屏交互、语音交互、基于动作(例如基于手势)的交互等新一代的交互方式则应运而生。
目前,基于动作的交互方式存在两大主流,一种是基于计算机视觉的交互模式,代表就是微软的Xbox的Kinect,它主要是基于摄像头来进行识别,用摄像头来捕捉人的动作。Kinect有两个问题,第一,就是存在遮挡的问题,如果是双人游戏,一个人把另一个人挡住的话,就会影响游戏的效果,第二,就是可视范围的问题,所谓的可视范围就是指摄像头的捕捉范围,如果使用者站在摄像头的捕捉范围之外,就无法进行交互。另一种是基于可穿戴传感器的人体动作识别,代表就是任天堂的Wii,它主要是基于X,Y,Z的加速度来感知人体的动作。而且可穿戴传感器完全没有摄像头的两个问题,所以备受学者们的青睐。然而,Wii的动作识别使用范围仅限于游戏,其算法并且也没有公开,因此难以转用到其它设备上。已公开的其它基于可穿戴传感器的动作识别算法中,普遍存在以下几个问题:一是训练一个动作模型时需要大量的数据,不易增加动作种类,二是对动作分割时容易受到噪点干扰,三是识别动作时设备拿的方式受限制,四是样本库中样本过多时,需要遍历所有样本,导致效率低。
另一方面,智能手机的普及率已经越来越高,每年中国新增手机量达到2到3亿,而且人们越来越依赖智能手机,除了打电话发短信,人们还渴望智能手机可以做很多其他的事情。与此同时,无线鼠标的使用也越来越广泛,而且无线鼠标的便捷性也深受人们喜爱,传统的无线鼠标只有平面点位标记鼠标的功能,然而生活正在不断的智能化,近年来出现了智能电视,智能手表,Google Glass等新的智能产品,如果将基于动作识别的技术与无线鼠标或其他操作设备相结合,让鼠标或者其他操作设备智能化,将使人们的生活更加便捷。
发明内容
因此,本发明的任务是克服现有技术的不足,提供一种高效的体感动作识别方法。
为实现上述发明目的,本发明提供了一种高效体感动作识别方法,包括下列步骤:
1)在执行体感动作的过程中,通过体感设备中的加速传感器采集表征该体感动作的有效数据段;
2)计算所采集的有效数据段与标准数据段的DTW距离,根据所采集的有效数据段与标准数据段的DTW距离匹配相应的样本库;所述标准数据段是计算各数据段DTW距离的参照物,所述数据段包括有效数据段和样本数据段,每个样本库对应于一个DTW距离区间,各所述样本数据段按照该样本数据段与标准数据段的DTW距离分别存储于相应的样本库中;
3)计算所采集的有效数据段与步骤2)所匹配的样本库中每一个样本数据段的DTW距离,将其中DTW距离最小的样本数据段所表征的体感动作的标识作为所采集的有效数据段的识别结果。体感动作的标识可以是体感动作的名称或编号,也可以是体感动作所表征的动作意义。
其中,所述步骤1)包括下列子步骤:
11)启动体感设备中的加速传感器,在执行体感动作时采集三轴加速度数据,同步地将每次采集的数据进行线性拟合,所述拟合数据用于表征所述动作的瞬时动量;
12)对拟合数据流进行分割,确定动作起始点和动作终止点,取出两点之间的数据段;
13)将数据长度在预先设定的最小动作长度和最大动作长度之间的数据段作为所述有效数据段。
其中,所述步骤12)中,确定所述动作起始点的方法包括:当拟合后的数据开始大于设定阈值时,初步确定该点为动作起始点。
其中,所述步骤12)中,确定所述动作终止点的方法包括:
121)当拟合数据开始小于第一阈值时,开始设定该点为静止点,然后取下一个拟合数据;
122)比较当前拟合数据和第一阈值,若当前拟合数据仍然小于第一阈值,则静止点的个数加1,然后比较当前静止点的数量与第二阈值,如果当前静止点的数量大于或者等于第二阈值,判断该静止点与静止时长的差值所对应的点为动作终止点,同时停止收集数据,否则继续取下一个拟合数据,重新执行步骤122)。
其中,所述步骤12)还包括:判断动作起始点之后:启动陀螺仪传感器和重力传感器,开始收集陀螺仪的三轴角速度和重力传感器的重力加速度;利用获得的三轴角速度,重力加速度和加速传感器所采集的加速度,计算不包括重力加速度的线性加速度。
其中,所述步骤2)还包括:基于所述有效数据段,先计算所述有效数据段与样本库中标准动作的动态时间规整距离D,然后根据D/L得到的整数值k,将整数值k作为索引,将所述数据段指引到相应的样本库k;
所述步骤3)还包括:计算所述有效数据段与样本库k中存储的原型动作的样本数据段动态时间规整距离,将使得所述有效数据段与样本库中存储的原型动作的样本数据段的动态时间规整距离最小的原型动作判定为所述有效数据段的识别结果。
其中,所述步骤3)中,每一个原型动作对应于一个样本数据段和一个动作阈值,在计算动态时间规整距离的过程中,每次得到一个中间距离,就和所述动作阈值比较,若大于该阈值,则停止计算,并判断当前有效数据段与当前的原型动作不是同一动作。
其中,所述线性加速度的三个数值linaccel_x,linaccel_y,linaccel_z,以及所述陀螺仪的三轴角速度的三个数值gyro_x,gyro_y,gyro_z,构成一个整体数据,所述有效数据段、标准数据段和样本数据段的时间序列上的每个点都表示一个六维的超平面的点,所述步骤2)、3)中的DTW距离均为将两个六维超平面映射于二维平面中的两条曲线段之间的DTW距离。
本发明还提供了一种建立样本库的方法,对于每个样本数据段执行下列步骤:
a)计算当前样本数据段与标准数据段的DTW距离,根据样本数据段与标准数据段的DTW距离匹配相应的样本库;
b)将当前样本数据段及其所表征的体感动作的标识存入步骤a)所匹配的样本库中。
其中,所述样本数据段的获取方法包括下列步骤:
a1)启动体感设备中的加速传感器,在执行样本体感动作时采集三轴加速度数据,同步地将每次采集的数据进行线性拟合,所述拟合数据用于表征所述动作的瞬时动量;
a2)对拟合数据流进行分割,确定动作起始点和动作终止点,取出两点之间的数据段;
a3)将数据长度在预设的最小动作长度和最大动作长度之间的数据段作为所述样本数据段。
其中,所述步骤a2)中,确定所述动作起始点的方法包括:依时序检测拟合数据流,当其中某个拟合数据开始大于预设的阈值时,确定该拟合数据为动作起始点,
确定所述动作终止点的方法包括:
a21)依时序检测拟合数据流,当其中某个拟合数据开始小于预设的第一阈值时,开始设定该拟合数据为静止点,然后取下一个拟合数据;
a22)比较当前拟合数据和第一阈值,若当前拟合数据仍然小于第一阈值,则静止点的个数加1,然后比较当前静止点的数量与第二阈值,如果当前静止点的数量大于或者等于第二阈值,判断该静止点与当前静止点的数量的差值所对应的点为动作终止点,同时停止收集数据,否则继续取下一个拟合数据,重新执行步骤a22)。
其中,所述步骤a2)还包括:确定动作起始点后,启动陀螺仪传感器和重力传感器,从所述动作起始点开始收集陀螺仪的三轴角速度和重力传感器的重力加速度;利用获得的三轴角速度,重力加速度和加速传感器所采集的加速度,计算不包括重力加速度的线性加速度。
其中,所述步骤b)还包括:计算所述样本数据段与标准数据段的动态时间规整距离D,然后根据D/L得到的整数值k,将整数值k作为索引,将所述数据段指引到相应的样本库k;
其中,每一个样本数据段对应于一个原型动作和一个动作阈值。其中,所述建立样本库的方法还包括:
c)对于当前执行的意义未知的体感动作,基于前述高效体感动作识别方法识别出的该体感动作的标识,然后将当前所采集的有效数据段作为样本数据段,将样本数据段和体感动作的标识存入所述步骤2)中匹配的样本库中。
本发明还提供了一种人机交互装置,包括:
数据采集模块,用于在执行体感动作的过程中,通过体感设备中的加速传感器采集表征该体感动作的有效数据段;
样本库匹配模块,用于计算所采集的有效数据段与标准数据段的DTW距离,根据所采集的有效数据段与标准数据段的DTW距离匹配样本库;
动作识别模块,用于计算所采集的有效数据段与样本库匹配模块所匹配的样本库中每一个样本数据段的DTW距离,将其中DTW距离最小的样本数据段所表征的体感动作作为所采集的有效数据段的识别结果。
进一步地,本发明还提供了一种改进的人机交互装置,包括:
动作“学习”单元,将新的动作加入到样本库中;采集数据单元,采集传感器数据;
分割单元,对采集的数据进行分割,获取有效数据段;
数据处理单元,对有效数据段进行进一步的处理;
蓝牙连接单元,使用蓝牙实现手持设备和其他设备,包括电脑,电视的连接;
识别单元,对有效动作段进行识别,判断是什么动作,从而控制电脑或者其他设备做相应的操作。
所述人机交互装置可以是智能手机,利用智能手机上内嵌加速传感器,重力传感器还有陀螺仪传感器,来实现前述高效动作识别方法;所述人机交互装置还可以是一种无线体感鼠标或其它体感操作设备,在无线鼠标或其它体感操作设备加装识别装置,或与体感手柄相结合,让无线鼠标或其它体感操作设备具有动作识别的能力,从而实现一种全新的无线体感鼠标或体感操作器。
其中,无线体感鼠标或其它体感操作设备的特点包括:
首先,无线体感鼠标或体感操作器与电脑的连接方式就是“蓝牙”;
其次,无线体感鼠标或体感操作器内植入加速传感器、陀螺仪传感器、重力传感器和其它动作识别传感器,实现体感动作识别功能。
与现有技术相比,本发明具有下列技术效果:
1、本发明能够在保证识别准确度的前提下提高识别效率。
2、本发明可在识别动作时设备拿的方式不受限制的前提下确保较高的识别准确度。
3、本发明可更好地排除动作识别中的噪点干扰。
4、本发明易于增加动作类型,可扩展性强。
5、本发明易于移植到多种手持或穿戴式设备,应用范围广泛,有利于与各种类型的智能化设备(例如智能电视,智能手表,Google Glass等)相结合,进而显著提高用户体验。
附图说明
以下,结合附图来详细说明本发明的实施例,其中:
图1是本发明实施例的一种高效动作识别方法的示意图;
图2是本发明实施例的一种建立样本库时选取样本的方法的流程图;
图3是本发明实施例的一种给样本库建立索引的流程图;
图4是本发明实施例的一种高扩展性的人机交互装置的流程图;
图5是本发明实施例的计算线性加速的示例图。
具体实施方式
为了使本领域的技术人员更好地理解本发明的技术方案,下面结合附图和具体实施例对本发明作进一步的详细说明。
图1是本发明一个实施例的一种高效体感动作识别方法的流程图。如图1所示,该高效体感动作识别方法,包括下列步骤:
步骤1,启动体感设备中的加速传感器,采集动作的三轴加速度数据,同步地将每次采集的数据进行线性拟合,所述的拟合数据用于表征所述动作的能量;拟合数据signal的计算公式是:
其中accel_x、
accel_y、accel_z分别是x、y、z轴上的加速度,Gravity是重力加速度,由于加速度传感器中
获取的三轴加速度不是单纯的线性加速度,所以在曲线拟合时,需要在后面减去重力。同时
这个公式等同于手的瞬时的动量,由于在非常短的瞬间,加速度的值等同于速度的差值,而
动量的公式P=m*v,本实施例中假设人手的质量m是一样的,那么动量P∝v,所以可以等
同的将加速度的拟合比作手的动量。
步骤2,利用改进的阈值分割法对拟合数据进行分析,来确定动作起始点和动作终止点,然后提取所述的动作起始点和动作终止点之间的数据段。
具体而言,首先确定动作起始点,设定阈值的大小为Threshold1,然后每次比较signal和Threshold1之间的大小,因为数据是以“流”的形式源源不断的产生,如果signal<Threshold1,则忽略这个拟合数据,直到signal>=Threshold1,初步判定该点为动作起始点。
同时启动“陀螺仪传感器”和“重力传感器”,同步地收集加速度传感器,
陀螺仪传感器和重力传感器三者的读数。收集这些数据有两个目的,一方面,收集陀螺仪的三轴角速度;另一方面,利用获得的旋转加速度,重力加速度,
还有方向加速度,计算线性加速度,也就是不包括重力的加速度,本实施例用X轴
举例说明,而Y轴和Z轴的计算方式和X轴相同。X轴的计算过程如下:如图5所示,计算得到的θ0是最初的角度,Gx是X轴方向的重力加速度,
Gt是总的重力加速度,然后根据θ0和旋转加速度,可以计算得到某一时刻X轴和垂直方向的
夹角θx,最后计算得到X轴的线性加速度linaccel_x=accel_x-Gt*cos(π/2+θx),再按照类似
的方法计算Y轴和Z轴的线性加速度,即可计算出三轴线性加速度。
然后确定动作终止点,当拟合数据开始小于第一阈值Threshold1时,开始设定该点为“静止点”,继续比较新的拟合数据和第一阈值Threshold1之间的大小,若仍然小于第一阈值,则“静止点”的个数加1,当静止点的数量大于或者等于第二阈值Threshold2时,判断该“静止点”与“静止时长”的差值所对应的点为动作终止点,同时停止收集数据。优选地,第一阈值Threshold1取值为1.47,第二阈值取值为180ms,经试验表明,取得了比较好的分割效果。
上述步骤能够精确地确定动作的起始点和终止点,从而排除噪点数据(尤其是动作前后的静止状态噪点数据,以及动作分裂产生的噪声点)的干扰,进而提高识别的精确度。
步骤3,对提取的数据段进行意义化处理,对于数据长度在本发明所设定最小动作长度和最大动作长度之间的数据段,本实施例中定义其为有意义的数据段,保存有意义的数据段,丢掉无意义的数据段,然后将有意义的数据段保存到样本库中。具体的做法就是,计算提取的数据段的长度,然后跟本发明定义的最小动作和最大动作的长度比较,若长度在最小长度和最大长度之间,判断该动作数据段是有意义的。优选地,最小动作长度取值22,最大动作程度取值120。
步骤4,对有效数据段进行识别。具体的步骤包括:
步骤41,对有效的数据段进行标准化处理,标准化的方法可以按照如下方式进行:查找数据的最大值max与最小值min,将(数据-最小值min)/(最大值max-最小值min)作为标准化之后的数据,从而将标准化之后的数据的值归整到0~1之间。
步骤42,直接使用标准化的数据段进行识别过程(本实施例的识别过程不需要对数据提取特征向量,而是直接使用标准化的数据段进行识别过程)。计算输入的数据段与标准数据段的动态时间规整距离L,然后根据D/L得到的整数值k,L是指小样本库之间的距离,将k作为索引将有效数据段分配到所属样本库n,然后再分别的与样本库n中的样本动作计算动态时间规整距离,比如说计算的距离是11,则11/5约等于2,那么就应该分配该数据段到样本库2中比对。所述标准数据段对应于一个标准体感动作,它是计算各数据段DTW距离的参照物,其作用类似于坐标原点。计算各数据段相对于标准数据段的DTW距离,就可以衡量各数据段接近程度以及区分差别较大的数据段,进而将各数据段划分到相应的子样本库。本实施例中,标准标准体感动作是手持体感设备以适中的速度画圆所采集的样本数据。
本实施例中,基于标准样本划分样本库并建立索引机制,这样能够在不降低识别精度的前提下,大幅减少样本匹配的时间,从提高识别效率。
步骤43,分别计算输入的数据段和样本库n中的样本的动态时间规整距离,选取距离最小的样本库n中的样本,判定为输入的数据段的动作类型。
由于动态时间规整的时间复杂度达到O(n2),而且要计算与所有样本库n中的动态时间规整距离,为了进一步加快计算的速度,本实施例中对动态时间规整进行了改进:对于样本库中的每一个动作设定一个动作阈值,表示如下:[动作,动作阈值],动态时间规整计算是一个累加的过程,计算到某一点时的公式是:
D(i,j)=Dist(Ti,Sj)+min{D(i-1,j),D(i-1,j-1),D(i,j-1)}
其中,D是指动态规整距离,Dist是指Ti,Sj之间的欧式距离,T是有效数据段,S是指样本库中的某一动作,可想而知,如果当计算到某一点时的距离大于该动作所对应的动作阈值时,就没有继续计算下去的必要了,这样可以在保证识别准确的前提下使得样本匹配的效率进一步提高。在一个优选实施例中,对于单方向性动作阈值设为7,对于多方向而且单笔画动作阈值设为14,对于多笔画动作阈值设定为20。
进一步地,在一个优选实施例中,计算DTW距离时,使用的是六维数据,包括线性加速度的三个数值linaccel_x,linaccel_y,linaccel_z,还有陀螺仪的三轴角速度的三个数值gyro_x,gyro_y,gyro_z,将这六个数值看成一个整体,此时的时间序列上的每个点都表示一个六维的数据,它表示一个六维的超平面,然后计算DTW距离时,DTW距离是指两个六维超平面之间的距离,为了方便理解,可以把六维的超平面上的点映射到二维曲线上,此时曲线上每一个点都是由六个值组成,然后再计算DTW距离。下面是计算时间序列S[1:n]和T[1:m]具体的过程,包括下列步骤:
1)
令K1=[linaccel_x,linaccel_y,linaccel_z]
其中,k1[t]表示集合K1中的第t个元素,例如:k1[0]表示linaccel_x,S[i].k1表示S[i]所对应的线性加速度数据集合K1;T[j].k1表示T[j]所对应的线性加速度数据集合K1;
令K2=[gyro_x,gyro_y,gyro_z]
其中,k2[t]表示集合K2中的第t个元素,例如:k2[0]表示gyro_x,S[i].k2表示S[i]所对应的三轴加速度数据集合K2;T[j].k2表示T[j]所对应的线性加速度数据集合K2;
其中,D2代表S[i]与T[j]之间的距离;
2)令
d1=S[1:i-1]和T[1:j]之间的DTW距离。
d2=S[1:i]和T[1:j-1]之间的DTW距离。
d3=S[1:i-1]和T[1:j-1]之间的DTW距离。
D3=min(d1,d2,d3)
3)计算S[1:i]与T[1:j]的DTW距离D=D2+D3。
这样就能够计算出了对应于时间序列的(1,1)点到点(i,j)的最优距离。
4)判断比较D和预设的threshold的大小,若D大于threshold,则停止计算,否则,则按上述步骤1)至3)继续计算S[1:i+1]与T[1:j]的DTW距离,以及S[1:i]与T[1:j+1]的DTW距离,进而按上述步骤1)至3)计算出S[1:i+1]与T[1:j+1]的DTW距离。不断循环执行步骤4)即可计算出时间序列S[1:n]和T[1:m]的DTW距离。
为使本领域技术人员更好地实施本发明,简要叙述现有技术中的DTW算法的基本原理。假设需要两个时间序列T=(t1,t2,...tn)和S=(s1,s2,....sm)之间的DTW距离,首先寻找一条路径P=p1,...,Ps,pk,ps=(is,js),is是S上的点,js是T上面的点,这条路径叫做T和S上的点的映射路径,当它使得时间序列T和时间序列S的距离最小时,该路径被称为最优路径。对于最优路径上的点,有如下几点限定条件:1.要保持单调性:is-1≤is,js-1≤js;2.要保持连续性:is-is-1≤1,js-js-1≤1;3.要有边界定义:p1=(1,1),pk=(n,m)。根据最优路径来计算这两个时间序列的最短距离,首先我们先从点(1,1)到点(i,j)的最优距离算起,点(1,1)到点(i,j)的最优距离等于(1,1)到点(i-1,j)、点(i,j-1)、点(i-1,j-1)的最优距离的最小值加上(i,j)的距离。
图2示出了本发明一个实施例的建立样本库时选取样本的方法的流程图。如图2所示,该建立样本库时选取样本的方法,包括下列步骤:
步骤1,启动加速传感器,采集动作的三轴加速度数据,同步的将每次采集的数据进行线性拟合,所述的拟合数据用于表征所述动作的能量;拟合数据signal的计算公式是:
其中accel_x、accel_
y、accel_z分别是x、y、z轴上的加速度,Gravity是重力加速度。
步骤2,利用改进的阈值分割法对拟合数据进行分析,来确定动作起始点和动作终止点,然后提取所述的动作起始点和动作终止点之间的数据段。
步骤3,对提取的数据段进行意义化处理,对于数据长度在预先设定的最小动作长度和最大动作长度之间的数据段,定义其为有意义的数据段,保存有意义的数据段,丢掉无意义的数据段。在保存有效数据段到样本库时,对有效数据段进行标准化处理,同时保存对应的动作阈值,这样就可以把动作以[有效数据段,动作阈值]的形式保存到样本库中。
图3示出了一种给前一实施例的样本库建立索引的方法的流程图。如图3所示,给样本库建立索引的方法包括:
步骤1,选取某一样本动作为标准动作。优选地,选取“画圆”动作为标准动作,经实验证明,可以达到很好的分类效果。
步骤2,计算将要保存的样本中的动作与标准动作的动态时间规整距离Dist。
步骤3,把样本库每隔距离L,分成一部分,将原本的样本库分成0~L、L~2L、2L~3L这样的以距离L为单位的隔间,分别命名为样本库1、样本库2、样本库3等等,然后判断动态时间规整距离Dist在哪个范围内,若距离在0~L的存在样本库1,若距离L~2*L的存在样本库2,同理递推,距离在L*(N-1)~L*N的存在样本库N。这样就把原本的样本库分解成许多小的样本库,这样在识别的过程中,就不用遍历整个大的样本库,只要遍历小的样本库就可以了,本实施例在初始时只设定3个小的样本库,距离区间分别是0~L,L~2L,2L~3L,当出现大于3L的Dist时,样本库自动创建3L~4L的分区,优选地,分割距离L选取5个距离长度,经试验表明,取得了较好的效果。
另外,上述实施例相比传统方案还具有以下优势。传统方案中,往往直接使用加速传感器的数据进行样本匹配,这可能导致在体感设备姿态变化时识别精度下降。也就是说,传统方案中,做体感动作时,体感设备姿态要与样本动作一致,才能保证识别精度。然而在做体感动作时,人们往往难以保持体感设备的姿态稳定,这就会导致识别精度的下降,或者导致体感操作的自由度不佳,使用起来十分不便。而本实施例中,提出使用加速传感器和重力传感器的数据进行矢量计算,排除重力干扰,进而获得更加准确的线性加速度,再利用线性加速度和三轴角速度,基于DTW算法进行识别。这种方案可以在保证识别精度的前提下,让使用者在做体感动作时不需要考虑设备处于何种姿态,使得体感操作变得更加自由,极大地提高用户体验。
图4是本发明一个实施例的具有很强扩展性的人机交互装置的结构示意图。如图4所示,该人机交互装置,包括:动作学习模块,将新的动作加入到样本库;动作识别模块,实现对动作的识别;连接交互模块,实现手持设备与其他外部设备的连接和控制,本实施例使用蓝牙技术实现手持设备和其他设备,包括电脑,电视的连接。然后动作学习模块和动作识别模块还包括子单元,其中共享的单元包括:采集数据单元,用于采集三种传感器的数据,包括加速传感器,陀螺仪传感器和重力传感器;分割单元,对采集的数据进行分割,获取有效的数据段;数据处理单元,对有效数据段进行处理。在动作学习模块中特有的单元包括:保存单元,计算有效数据段和标准动作的动态时间规整距离,然后根据该距离把有效数据段保存到包含该距离的区间样本库中,若该区间的样本库不存在,则创建新样本库,保存该动作,以[动作,动作阈值]的形式保存。在动作识别模块中还包括:识别单元,对有效动作段进行识别,判断该有效动作段代表的是什么动作。
在一个优选实施例中,分割单元包括:1.动作起始点确定单元,当拟合数据开始小于第一阈值Threshold1时,开始设定该点为“静止点”;2.收集数据单元,启动“陀螺仪传感器”和“重力传感器”,同步的收集加速度传感器,陀螺仪传感器和重力传感器三者的读数;3.数据预处理单元,利用获得的旋转加速度(三轴角速度),重力加速度,还有方向加速度,计算线性加速度,也就是不包括重力的加速度;4.动作终止点确定单元,当拟合数据开始小于第一阈值Threshold1时,开始设定该点为“静止点”,继续比较新的拟合数据和第一阈值Threshold1之间的大小,若仍然小于第一阈值,则“静止点”的个数加1,当静止点的数量大于或者等于第二阈值时Threshold2,判断该“静止点”与“静止时长”的差值所对应的点为动作终止点;5.提取单元,提取动作起始点和动作终止点之间的数据段,包括预处理后的线性加速度,旋转加速度(三轴角速度),和重力加速度。
在一个优选实施例中,识别单元包括:1.预计算单元,基于处理后的有效数据段,计算该数据段与标准样本之间的动态时间规整距离;2.指派单元,根据计算的距离,判断该数据段可能属于哪个区间样本库;3.总计算单元,计算该数据段和该区间样本库中储存的样本动作的动态时间规整距离;4.判定单元,将计算得到动态时间规整距离最小的数据段判定为该数据段的识别结果,由于本发明对计算动态时间规整距离的方法进行了改进,依据本发明的方法,会出现一种可能,就是所有计算的动态时间规整距离大于对应的阈值,输出的距离结果为空,那么判定该数据段为垃圾动作。
本发明可以实施在智能手机上,因为现在的大多数智能手机内嵌加速传感器,重力传感器还有陀螺仪传感器。本发明也可以实施在无线鼠标或其他操作设备上,也就是说将传统的无线鼠标和识别装置,如体感手柄相结合,让无线鼠标和操作器拥有动作识别的能力,实现一种全新的无线体感鼠标或操作器。其中,无线鼠标或操作器与电脑的连接方式可以是“蓝牙”;无线鼠标或操作器植入三种传感器。这三种传感器占用的空间很小,不会影响鼠标或操作器的大小和性能。另外,本发明的输入是单纯的动作,无需额外的命令,对原有无线鼠标或操作器改动很小,甚至可以不需要额外添加按键。
综上所述,本发明的有益效果包括:
1.在建立样本动作库时,通过对收集的动作数据做了分割的处理,通过改进的“阈值分割法”,对数据流进行分割,确定动作起始点和动作终止点,提取有效数据段,不同于传统的纯粹对数据进行收集的方法,去除人在收集样本时开始与结束前后的反应延迟,使得样本数据更加精确,传统的动作识别建立样本库的方法中,都是单纯的收集样本数据,没有对样本数据进行分割,导致保存的样本的数据=采集者按动开始按钮到做动作时的数据+动作数据+结束动作瞬间到按动结束按钮时的数据,而本发明保存的样本的数据=动作数据。
2.对样本库建立索引,传统的识别方法和装置,是遍历的方式,将输入动作和所有样本动作一一计算,本方法通过建立简单的索引,减少了计算量,加快了计算速度。
3.本发明提出一种“改进的阈值分割法”,传统的识别方法就是简单的判断当数据大于阈值时,动作开始,数据小于阈值时,动作结束,然而有些动作的数据段,会有一部分或者几部分的值小于阈值,但是这些值却不是动作终止点,我们设置一个累加器,对这种“伪终止点”进行累加,同时设定一个阈值,如180ms,若累加的时间小于这个阈值,就判断这个动作没有停止,这样就能避免传统的方法中过早判断动作停止的问题。
4.进一步地,本发明的阈值分割方法在“意义化”的过程中,可以去除那些因噪声点而引起的无效分割,有效过滤了数据采集时的噪声,提高了动作识别结果的准确率。
5.通过加速传感器,陀螺仪传感器,还有重力传感器三者,计算得到三轴线性加速度,去除了传统的方法中加速度数据中受到重力加速度的影响。传统的识别方法中,识别手势动作时,手持设备的角度和方向会对识别造成影响,因为角度变了,重力加速度对X,Y,Z轴的影响就变了,对于同一个动作,三轴加速度的值就是不同的,为了避免这种问题,本发明在识别的过程中,剔除了加速度中重力对它的影响。
6.由于DTW算法不存在冷启动的问题,在样本库中的原型动作较少时使用DTW算法取得获得较好的识别效果。
7.对DTW算法进行了改进,在计算距离的过程中就加以判断,而不是等到距离计算结束,让它能更快的判断出一个输入数据段是哪一个动作,加快了识别的速度,增强了实时性。
8.本发明在识别的过程中没有对数据进行量化处理,也没有提取特征值,这么做可以简化识别过程,因为本发明是针对嵌入式开发,如智能手机,计算资源非常有限,为了实现高效,本发明与传统的识别过程不同,省略了量化和提取特征值的过程。
9.过去对手势动作识别的研究中,都是对智能手机本身进行开发,可扩展性非常受局限,本发明设计了一种全新的交互模式,利用智能手机,通过蓝牙,实现手机与手机,手机与电脑之间的交互,具有更广阔的发展空间。
10.在无线体感鼠标或体感操作器内植入加速传感器、陀螺仪传感器、重力传感器,扩展了无线鼠标或操作器的功能。
最后应说明的是,以上实施例仅用以描述本发明的技术方案而不是对本技术方法进行限制,本发明在应用上可以延伸为其它的修改、变化、应用和实施例,并且因此认为所有这样的修改、变化、应用、实施例都在本发明的精神和教导范围内。
Claims (10)
1.一种体感动作识别方法,包括下列步骤:
1)通过体感设备中的加速传感器采集表征该体感动作的有效数据段;
2)计算所采集的有效数据段与标准数据段的DTW距离,根据所采集的有效数据段与标准数据段的DTW距离匹配相应的样本库;所述标准数据段是计算各数据段DTW距离的参照物,所述数据段包括有效数据段和样本数据段,每个样本库对应于一个DTW距离区间,各所述样本数据段按照该样本数据段与标准数据段的DTW距离分别存储于相应的样本库中;
3)计算所采集的有效数据段与步骤2)所匹配的样本库中每一个样本数据段的DTW距离,将其中DTW距离最小的样本数据段所表征的体感动作的标识作为所采集的有效数据段的识别结果。
2.根据权利要求1所述的体感动作识别方法,其特征在于,所述步骤1)包括下列子步骤:
11)启动体感设备中的加速传感器,在执行体感动作时采集三轴加速度数据,同步地将每次采集的数据进行线性拟合,所述拟合数据用于表征所述动作的瞬时动量;
12)对拟合数据流进行分割,确定动作起始点和动作终止点,取出两点之间的数据段;
13)将数据长度在预设的最小动作长度和最大动作长度之间的数据段作为所述有效数据段。
3.根据权利要求2所述的体感动作识别方法,其特征在于,所述步骤12)中,确定所述动作起始点的方法包括:依时序检测拟合数据流,当其中某个拟合数据开始大于预设的阈值时,确定该拟合数据为动作起始点,
确定所述动作终止点的方法包括:
121)依时序检测拟合数据流,当其中某个拟合数据开始小于预设的第一阈值时,开始设定该拟合数据为静止点,然后取下一个拟合数据;
122)比较当前拟合数据和第一阈值,若当前拟合数据仍然小于第一阈值,则静止点的个数加1,然后比较当前静止点的数量与第二阈值,如果当前静止点的数量大于或者等于第二阈值,判断该静止点与当前静止点的数量的差值所对应的点为动作终止点,同时停止收集数据,否则继续取下一个拟合数据,重新执行步骤122)。
4.根据权利要求3所述的体感动作识别方法,其特征在于,所述步骤12)还包括:确定动作起始点后,启动陀螺仪传感器和重力传感器,从所述动作起始点开始收集陀螺仪的三轴角速度和重力传感器的重力加速度;利用获得的三轴角速度,重力加速度和加速传感器所采集的加速度,计算不包括重力加速度的线性加速度。
5.根据权利要求4所述的体感动作识别方法,其特征在于,所述步骤2)还包括:基于所述有效数据段,先计算所述有效数据段与标准数据段的动态时间规整距离D,然后根据D/L得到的整数值k,将整数值k作为索引,将所述有效数据段指引到相应的样本库k;
所述步骤3)还包括:计算所述有效数据段与样本库k中存储的原型动作的样本数据段动态时间规整距离,将使得所述有效数据段与样本库中存储的原型动作的样本数据段的动态时间规整距离最小的原型动作判定为所述有效数据段的识别结果。
6.根据权利要求5所述的体感动作识别方法,其特征在于,所述步骤3)中,每一个原型动作对应于一个样本数据段和一个动作阈值,在计算动态时间规整距离的过程中,每次得到一个中间距离,就和所述动作阈值比较,若大于该阈值,则停止计算,并判断当前有效数据段与当前的原型动作不是同一动作。
7.根据权利要求4所述的体感动作识别方法,其特征在于,所述线性加速度的三个数值linaccel_x,linaccel_y,linaccel_z,以及所述陀螺仪的三轴角速度的三个数值gyro_x,gyro_y,gyro_z构成一个整体数据,所述有效数据段、标准数据段和样本数据段的时间序列上的每个点都表示一个六维的超平面的数据点,所述步骤2)、3)中的DTW距离均为将两个六维超平面映射于二维平面中的两条曲线段之间的DTW距离。
8.一种根据权利要求1至7中任意一项所述的体感动作识别方法,其特征在于,所述步骤2)中,建立样本库的方法包括对于每个样本数据段执行下列步骤:
a)计算当前样本数据段与标准数据段的DTW距离,根据样本数据段与标准数据段的DTW距离匹配相应的样本库;
b)将当前样本数据段及其所表征的体感动作的标识以及相应的动作阈值存入步骤a)所匹配的样本库中。
9.根据权利要求8所述的体感动作识别方法,其特征在于,所述样本数据段的获取方法包括下列步骤:
a1)启动体感设备中的加速传感器,在执行样本体感动作时采集三轴加速度数据,同步地将每次采集的数据进行线性拟合,所述拟合数据用于表征所述动作的瞬时动量;
a2)对拟合数据流进行分割,确定动作起始点和动作终止点,取出两点之间的数据段;
a3)将数据长度在预设的最小动作长度和最大动作长度之间的数据段作为所述样本数据段。
10.一种人机交互装置,包括:
数据采集模块,用于在执行体感动作的过程中,通过体感设备中的加速传感器采集表征该体感动作的有效数据段;
样本库匹配模块,用于计算所采集的有效数据段与标准数据段的DTW距离,根据所采集的有效数据段与标准数据段的DTW距离匹配样本库,其中,所述标准数据段是计算各数据段DTW距离的参照物,所述数据段包括有效数据段和样本数据段,每个样本库对应于一个DTW距离区间,各所述样本数据段按照该样本数据段与标准数据段的DTW距离分别存储于相应的样本库中;
动作识别模块,用于计算所采集的有效数据段与样本库匹配模块所匹配的样本库中每一个样本数据段的DTW距离,将其中DTW距离最小的样本数据段所表征的体感动作作为所采集的有效数据段的识别结果。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310711263.9A CN104731307B (zh) | 2013-12-20 | 2013-12-20 | 一种体感动作识别方法及人机交互装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310711263.9A CN104731307B (zh) | 2013-12-20 | 2013-12-20 | 一种体感动作识别方法及人机交互装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104731307A CN104731307A (zh) | 2015-06-24 |
CN104731307B true CN104731307B (zh) | 2019-05-10 |
Family
ID=53455282
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310711263.9A Active CN104731307B (zh) | 2013-12-20 | 2013-12-20 | 一种体感动作识别方法及人机交互装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN104731307B (zh) |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105617638B (zh) * | 2015-12-25 | 2019-04-05 | 深圳市酷浪云计算有限公司 | 羽毛球挥拍动作识别方法和装置 |
CN105549746B (zh) * | 2016-01-28 | 2018-10-30 | 广州成潮智能科技有限公司 | 一种基于加速度传感芯片的动作识别方法 |
CN105824420B (zh) * | 2016-03-21 | 2018-09-14 | 李骁 | 一种基于加速度传感器的手势识别方法 |
CN106210269B (zh) * | 2016-06-22 | 2020-01-17 | 南京航空航天大学 | 一种基于智能手机的人体动作识别系统及方法 |
CN106372673A (zh) * | 2016-09-06 | 2017-02-01 | 深圳市民展科技开发有限公司 | 一种装置动作识别方法 |
CN107016686A (zh) * | 2017-04-05 | 2017-08-04 | 江苏德长医疗科技有限公司 | 三维步态与运动分析系统 |
CN108664119B (zh) * | 2017-10-31 | 2020-11-03 | 中国农业大学 | 一种配置体感动作与虚拟操作间映射关系的方法及装置 |
CN109003301B (zh) * | 2018-07-06 | 2022-03-15 | 东南大学 | 一种基于OpenPose和Kinect的人体姿态估计方法及康复训练系统 |
CN112075940A (zh) * | 2020-09-21 | 2020-12-15 | 哈尔滨工业大学 | 一种基于双向长短时记忆神经网络的震颤检测系统 |
CN112034036B (zh) * | 2020-10-16 | 2023-11-17 | 中国铁道科学研究院集团有限公司 | 钢轨漏磁信号滤波方法及装置 |
CN112527118B (zh) * | 2020-12-16 | 2022-11-25 | 郑州轻工业大学 | 一种基于动态时间规整的头部姿态识别方法 |
CN112631427A (zh) * | 2020-12-21 | 2021-04-09 | 深圳市爱都科技有限公司 | 一种处理通信信息的方法、装置、智能穿戴设备及存储介质 |
CN114267087B (zh) * | 2022-02-28 | 2022-05-17 | 成都考拉悠然科技有限公司 | 一种基于小样本机器学习模型的动作注册方法及其系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345627A (zh) * | 2013-07-23 | 2013-10-09 | 清华大学 | 动作识别方法和装置 |
CN104038799A (zh) * | 2014-05-21 | 2014-09-10 | 南京大学 | 一种面向立体电视的手势操控方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2950713A1 (fr) * | 2009-09-29 | 2011-04-01 | Movea Sa | Systeme et procede de reconnaissance de gestes |
-
2013
- 2013-12-20 CN CN201310711263.9A patent/CN104731307B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103345627A (zh) * | 2013-07-23 | 2013-10-09 | 清华大学 | 动作识别方法和装置 |
CN104038799A (zh) * | 2014-05-21 | 2014-09-10 | 南京大学 | 一种面向立体电视的手势操控方法 |
Also Published As
Publication number | Publication date |
---|---|
CN104731307A (zh) | 2015-06-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104731307B (zh) | 一种体感动作识别方法及人机交互装置 | |
WO2021082749A1 (zh) | 一种基于人工智能的动作识别方法和相关装置 | |
JP6064280B2 (ja) | ジェスチャを認識するためのシステムおよび方法 | |
CN102662473B (zh) | 基于眼部动作识别来实现人机信息交互的装置及方法 | |
CN104850773B (zh) | 用于智能移动终端的用户身份认证方法 | |
US9619024B2 (en) | Virtual input device and virtual input method | |
CN103353935A (zh) | 一种用于智能家居系统的3d动态手势识别方法 | |
CN106502390B (zh) | 一种基于动态3d手写数字识别的虚拟人交互系统及方法 | |
CN106648068A (zh) | 一种双手三维动态手势识别方法 | |
Linqin et al. | Dynamic hand gesture recognition using RGB-D data for natural human-computer interaction | |
CN103105924A (zh) | 人机交互方法和装置 | |
CN108108015A (zh) | 一种基于手机陀螺仪和动态时间规整的动作手势识别方法 | |
Luo et al. | Wearable air-writing recognition system employing dynamic time warping | |
Francis et al. | Significance of hand gesture recognition systems in vehicular automation-a survey | |
Vivek Veeriah et al. | Robust hand gesture recognition algorithm for simple mouse control | |
CN105867595A (zh) | 联合语音信息与手势信息的人机交互方式以及实施装置 | |
CN107346207B (zh) | 一种基于隐马尔科夫模型的动态手势切分识别方法 | |
Li et al. | Hand gesture tracking and recognition based human-computer interaction system and its applications | |
Iyer et al. | Generalized hand gesture recognition for wearable devices in IoT: Application and implementation challenges | |
CN110929766B (zh) | 一种基于高斯混合聚类算法的自适应行人手机姿态识别方法 | |
WO2012049645A1 (en) | Method and apparatus for determining motion with normalized representations of movement | |
WO2018068484A1 (zh) | 三维手势解锁方法、获取手势图像的方法和终端设备 | |
CN107563337A (zh) | 人脸识别的方法及相关产品 | |
CN109359543B (zh) | 一种基于骨骼化的人像检索方法及装置 | |
CN117011929A (zh) | 一种头部姿态估计方法、装置、设备以及存储介质 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |