掌桥专利:专业的专利平台
掌桥专利
首页

一种基于姿态传感器的手势控制方法、装置以及系统

文献发布时间:2023-06-19 18:37:28


一种基于姿态传感器的手势控制方法、装置以及系统

技术领域

本发明涉及计算机技术领域,特别是涉及一种基于姿态传感器的手势控制方法、装置以及系统。

背景技术

手势控制是指使手部作出特定动作,采集装置采集手部动作后,根据预设的手势与指令的对应关系,得到相应的指令输出,控制器控制执行部件执行相应的指令实现对象的操控。

手势控制给出了一种极简的操控方式,便于操控,从手势输出这一过程看,用户无需配备任何特征设备即可以实现手势的输出,相比于通过按键、触控屏的指令输出方式,进一步解放了用户双手,是智能控制发展的方向。

手势控制不同于按键或者触控屏的准确唯一的输入,需要解决的一个主要问题是系统如何准确地识别手势,现有技术在这方面的研究较少,此是需要解解决的问题。

发明内容

基于此,有必要针对上述的问题,提供一种基于姿态传感器的手势控制方法、装置以及系统。

本发明实施例是这样实现的,一种基于姿态传感器的手势控制方法,所述基于姿态传感器的手势控制方法包括:

获取姿态传感器的检测数据;

根据姿态传感器的检测数据获取三轴的运动信息;

由三轴的运动信息解算姿态角;

根据解算出的姿态角进行坐标系变换;

对坐标系变换后的数据进行三维轨迹重采样;

将三维轨迹重采样得到的三维轨迹进行三维旋转;

将三维旋转后的三维轨迹进行缩放和平移;

将上一步骤得到的三维轨迹进行模板匹配,由评估函数得到匹配的置信度;

若置信度达到设定值则输出相应模板对应的控制指令。

在其中一个实施例中,本发明提供了一种基于姿态传感器的手势控制装置,所述基于姿态传感器的手势控制装置包括:

检测数据获取模块,用于获取姿态传感器的检测数据;

运动信息获取模块,用于根据姿态传感器的检测数据获取三轴的运动信息;

姿态角解算模块,用于由三轴的运动信息解算姿态角;

坐标变换模块,用于根据解算出的姿态角进行坐标系变换;

重采样模块,用于对坐标系变换后的数据进行三维轨迹重采样;

三维旋转模块,用于将三维轨迹重采样得到的三维轨迹进行三维旋转;

调整模块,用于将三维旋转后的三维轨迹进行缩放和平移;

匹配模块,用于将上一步骤得到的三维轨迹进行模板匹配,由评估函数得到匹配的置信度;

输出模块,用于若置信度达到设定值则输出相应模板对应的控制指令。

在其中一个实施例中,本发明提供了一种基于姿态传感器的手势控制系统,所述基于姿态传感器的手势控制系统包括:

姿态传感器,用于采集用户的手势姿态;以及

处理器,所述处理器与所述姿态传感器连接,用于执行如本发明所述的基于姿态传感器的手势控制方法。

本发明提供的基于姿态传感器的手势控制方法,使用姿态传感器获取检测数据,由检测数据获取三轴运动信息,并进一步解算姿态角,根据解算得到的姿态角进行坐标系变换,而后进行三维轨迹的重采样,之后进行旋转、缩放以及平移处理,最后通过匹配模块,由评估函数评价置度并输入相应的控制指令。本发明提供的方法对数据的处理过程简单,通过多种手段提高手势识别的准确率,最后由评估函数保证输出的准确性。

附图说明

图1为一个实施例中基于姿态传感器的手势控制方法的流程图;

图2为一个实施例中轨迹解算的示意图;

图3为一个实施例中基于姿态传感器的手势控制系统的结构框图;

图4为一个实施例中处理器的内部结构框图。

具体实施方式

为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。

可以理解,本发明所使用的术语“第一”、“第二”等可在本文中用于描述各种元件,但除非特别说明,这些元件不受这些术语限制。这些术语仅用于将第一个元件与另一个元件区分。举例来说,在不脱离本发明的范围的情况下,可以将第一xx脚本称为第二xx脚本,且类似地,可将第二xx脚本称为第一xx脚本。

如图1所示,在一个实施例中,提出了一种基于姿态传感器的手势控制方法,具体可以包括以下步骤:

步骤S100,获取姿态传感器的检测数据;

步骤S200,根据姿态传感器的检测数据获取三轴的运动信息;

步骤S300,由三轴的运动信息解算姿态角;

步骤S400,根据解算出的姿态角进行坐标系变换;

步骤S500,对坐标系变换后的数据进行三维轨迹重采样;

步骤S600,将三维轨迹重采样得到的三维轨迹进行三维旋转;

步骤S700,将三维旋转后的三维轨迹进行缩放和平移;

步骤S800,将上一步骤得到的三维轨迹进行模板匹配,由评估函数得到匹配的置信度;

步骤S900,若置信度达到设定值则输出相应模板对应的控制指令。

在本实施例中,姿态传感器属于现有硬件设备,本发明对于姿态传感器本身的结构以及原理等不作具体限定。

在本实施例中,三轴的运动信息包括X轴方向、Y轴方向以及Z轴方向的位移、速度以及加速度等中的一种或者多种。姿态角即欧拉角,有于表征运动对象的姿态朝向等信息,属于现有技术描述运动物体的常用参数。

在本实施例中,通过坐标变换可以将物体的坐标系转换到世界坐标系。

在本实施例中,用户输入的轨迹往往是不均匀的,通常起点以及终点位置轨迹点更为密集,通过重采样可以使轨迹点更为均匀,提高轨迹识别的准确率。

在本实施例中,对于有序的轨迹进行对比时需要在绝对坐标上靠近,通过三维旋转可以使需要对比的轨迹在绝对坐标上更为靠近。

在本实施例中,通过缩放以及平移可以减小轨迹绘制过程中的变形,从而减小被测轨迹与模板轨迹之间位置上的偏差。

在本实施例中,这里的模板是指标准轨迹,通过前述处理得到的任一轨迹通过与模板进行对比可以计算出置信度,当置信度满足要求时,输出相应模板对应的控制指令。

本发明提供的基于姿态传感器的手势控制方法,使用姿态传感器获取检测数据,由检测数据获取三轴运动信息,并进一步解算姿态角,根据解算得到的姿态角进行坐标系变换,而后进行三维轨迹的重采样,之后进行旋转、缩放以及平移处理,最后通过匹配模块,由评估函数评价置度并输入相应的控制指令。本发明提供的方法对数据的处理过程简单,通过多种手段提高手势识别的准确率,最后由评估函数保证输出的准确性。

作为本发明的一个可选实施例,所述根据姿态传感器的检测数据获取三轴的运动信息,包括:

获取姿态传感器的三轴加速度;

由姿态传感器的三轴加速度根据以下三式计算当前时刻轨迹点的坐标:

其中:x

在本实施例中,对三轴加速度进行解算可以得到位移。如图2所示,因为

Δt=t

当n>1时,

由上可得:

可见,由前一时刻计算的速度v(t-1)、位移s(t-1)、加速度a(t-1)和现在当前时刻的加速度a(t)就可以得到当前时刻的速度v(t)和位移s(t)。

作为本发明的一个可选实施例,所述由三轴的运动信息解算姿态角,包括:

由卡尔曼滤波融合三轴的运动信息得到姿态角。

在本实施例中,由卡尔曼滤波融合三轴的运动信息容易得到姿态角,具体休的计算方法可以参考有关现有技术,本发明实施例对此不再赘述。

在本实施例中,通过卡尔曼滤波后,选取合适的长度帧进行加权滑动均值滤波,权衡好均值滤波的滞后性和响应度,可以进一步的优化出平滑的结果。

作为本发明的一个可选实施例,所述根据解算出的姿态角进行坐标系变换,包括:

通过角度计算旋转矩阵:

X轴旋转矩阵为:

Y轴旋转矩阵为:

Z轴旋转矩阵为:

根据旋转矩阵将加速度进行坐标变换;

其中,x、y、z是旋转前的坐标,x’、y’、z’是旋转后的坐标,β是姿态角。

在本实施例中,检测到的加速度值是以物体坐标系为基础,运动过程中,物体坐标系随着物体的方向变化而变化,所以要将物体坐标系变换为世界坐标系。通过前述实施例计算出欧拉角,可以通过角度计算旋转矩阵,将对应的加速度进行坐标转换。

作为本发明的一个可选实施例,所述对坐标系变换后的数据进行三维轨迹重采样,包括:

计算所有原始点之间的空间欧式距离之和;

将计算得到的空间欧式距离之和平均分为n-1份得到平均距离,n为重采样的点的数量;

根据划分得到的平均距离在原始轨迹上确定等距离的n个重采样的点。

在本实施例中,获取的用户的原始轨迹是不均匀的,一般来说越靠近开始、结尾和转弯的地方轨迹点越密集,反之则越松散。针对这种情况,需要等距重采样来进行手势的归一化处理,现有研究表明,重采样的点n大约在32到256个即可以做到较好的识别。

作为本发明的一个可选实施例,所述将三维轨迹重采样得到的三维轨迹进行三维旋转,包括:

计算所有原始点构成的点云数据的质心;

连接点云数据的质心与第一原始点得到一条线段,分别确定该线段与X轴、Y轴以及Z轴的夹角;

根据X轴旋转矩阵以及线段与X轴的夹角进行第一旋转;

根据Y轴旋转矩阵以及线段与Y轴的夹角进行第二旋转;

根据Z轴旋转矩阵以及线段与Z轴的夹角进行第三旋转。

在本实施例中,质心的计算属于现有技术,可以为每个点赋予一个单位质量,由于等式关系,赋予的单位质量会在等式左右两边消去,最终得到质心的坐标。在本实施例中,第一原始点是指点云数据中采集到的第一个点。在本实施例中,第一旋转、第二旋转或者第三旋转即将夹角带入之前对应的旋转矩阵中,计算出旋转后的结果。

作为本发明的一个可选实施例,所述将三维旋转后的三维轨迹进行缩放和平移,包括:

选定一个边长为size的正方体,将三维旋转后的三维轨迹进行缩放以使三维轨迹完全落入所述正方体内;

在所述三维轨迹上选定一个参考点,平移所述三维轨迹使所述参考点与坐标原点重合。

在本实施例中,size的大小可以由用户自行设定,也可以参考经验值设定。这里的参考点可以使用质心。

作为本发明的一个可选实施例,所述评估函数具体为:

其中,空间欧式距离

C是目标手势的点集,T是模板手势的点集,C[k]

在本实施例中,目标手势的点集C和模板手势Ti经上式运算,目标手势的点集C和模板手势Ti之间相互比对欧氏距离d

本发明实施例还提供了一种基于姿态传感器的手势控制装置,所述基于姿态传感器的手势控制装置包括:

检测数据获取模块,用于获取姿态传感器的检测数据;

运动信息获取模块,用于根据姿态传感器的检测数据获取三轴的运动信息;

姿态角解算模块,用于由三轴的运动信息解算姿态角;

坐标变换模块,用于根据解算出的姿态角进行坐标系变换;

重采样模块,用于对坐标系变换后的数据进行三维轨迹重采样;

三维旋转模块,用于将三维轨迹重采样得到的三维轨迹进行三维旋转;

调整模块,用于将三维旋转后的三维轨迹进行缩放和平移;

匹配模块,用于将上一步骤得到的三维轨迹进行模板匹配,由评估函数得到匹配的置信度;

输出模块,用于若置信度达到设定值则输出相应模板对应的控制指令。

在本实施例中,上述各个模块为本发明方法部分对应步骤的模块化,对于各个模块的具体解释说明,请参考本发明方法部分的内容,本实施例在此不再赘述。

如图3所示,本发明实施例还提供了一种基于姿态传感器的手势控制系统,所述基于姿态传感器的手势控制系统包括:

姿态传感器,用于采集用户的手势姿态;以及

处理器,所述处理器与所述姿态传感器连接,用于执行如权利要求1-8任意一项所述的基于姿态传感器的手势控制方法。

在本实施例中,上述基于姿态传感器的手势控制系统可以应用于多种场景下,例如无人机手势控制、车辆手势控制、机器人手势控制等,对于具体的应用场景本发明不作具体限定。

本发明提供的基于姿态传感器的手势控制系统,使用姿态传感器获取检测数据,由检测数据获取三轴运动信息,并进一步解算姿态角,根据解算得到的姿态角进行坐标系变换,而后进行三维轨迹的重采样,之后进行旋转、缩放以及平移处理,最后通过匹配模块,由评估函数评价置度并输入相应的控制指令。本发明提供的方法对数据的处理过程简单,通过多种手段提高手势识别的准确率,最后由评估函数保证输出的准确性。

图4示出了一个实施例中处理器的内部结构图。如图4所示,该处理器包括通过系统总线连接的存储器、网络接口、输入装置和显示屏。其中,存储器包括非易失性存储介质和内存储器。该处理器的非易失性存储介质存储有操作系统,还可存储有计算机程序,该计算机程序被处理器执行时,可使得处理器实现本发明实施例提供的基于姿态传感器的手势控制方法。该内存储器中也可储存有计算机程序,该计算机程序被处理器执行时,可使得处理器执行本发明实施例提供的基于姿态传感器的手势控制方法。处理器的显示屏可以是液晶显示屏或者电子墨水显示屏,处理器的输入装置可以是显示屏上覆盖的触摸层,也可以是处理器外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。

本领域技术人员可以理解,图4中示出的结构,仅仅是与本发明方案相关的部分结构的框图,并不构成对本发明方案所应用于其上的处理器的限定,具体的处理器可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。

在一个实施例中,本发明实施例提供的基于姿态传感器的手势控制装置可以实现为一种计算机程序的形式,计算机程序可在如图4所示的处理器上运行。处理器的存储器中可存储组成该基于姿态传感器的手势控制装置的各个程序模块,比如,基于姿态传感器的手势控制装置中的检测数据获取模块、运动信息获取模块、姿态角解算模块、坐标变换模块、重采样模块、三维旋转模块、调整模块、匹配模块以及输出模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本发明各个实施例的基于姿态传感器的手势控制方法中的步骤。

例如,图4所示的处理器可以通过基于姿态传感器的手势控制装置中的检测数据获取模块执行步骤S100;处理器可通过运动信息获取模块执行步骤S200;处理器可通过姿态角解算模块执行步骤S300;处理器可通过坐标变换模块执行步骤S400;处理器可通过重采样模块执行步骤S500;处理器可通过三维旋转模块执行步骤S600;处理器可通过调整模块执行步骤S700;处理器可通过匹配模块执行步骤S800;处理器可通过输出模块执行步骤S900。

在一个实施例中,提出了一种处理器,所述处理器包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:

获取姿态传感器的检测数据;

根据姿态传感器的检测数据获取三轴的运动信息;

由三轴的运动信息解算姿态角;

根据解算出的姿态角进行坐标系变换;

对坐标系变换后的数据进行三维轨迹重采样;

将三维轨迹重采样得到的三维轨迹进行三维旋转;

将三维旋转后的三维轨迹进行缩放和平移;

将上一步骤得到的三维轨迹进行模板匹配,由评估函数得到匹配的置信度;

若置信度达到设定值则输出相应模板对应的控制指令。

在一个实施例中,提供一种计算机可读存储介质,计算机可读存储介质上存储有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:

获取姿态传感器的检测数据;

根据姿态传感器的检测数据获取三轴的运动信息;

由三轴的运动信息解算姿态角;

根据解算出的姿态角进行坐标系变换;

对坐标系变换后的数据进行三维轨迹重采样;

将三维轨迹重采样得到的三维轨迹进行三维旋转;

将三维旋转后的三维轨迹进行缩放和平移;

将上一步骤得到的三维轨迹进行模板匹配,由评估函数得到匹配的置信度;

若置信度达到设定值则输出相应模板对应的控制指令。

应该理解的是,虽然本发明各实施例的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,各实施例中的至少一部分步骤可以包括多个子步骤或者多个阶段,这些子步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些子步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤的子步骤或者阶段的至少一部分轮流或者交替地执行。

本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本发明所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本发明的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变形和改进,这些都属于本发明的保护范围。因此,本发明专利的保护范围应以所附权利要求为准。

技术分类

06120115633088