首页 / 动作识别方法和动作识别装置

动作识别方法和动作识别装置失效专利 发明

技术领域

[0001] 本发明涉及动作识别方法和动作识别装置,具体地,快速决定与用户动作对应的比较对象信息,从而准确有效识别用户动作的方法及其装置。

相关背景技术

[0002] 如今,不需通过文本等输入方式而是通过用户语音或动作等给计算机输入命令的UNI装置逐渐得以开发和普及。
[0003] 但目前普及的NUI装置是仅限于通过跟踪用户动作的关节位置来识别用户的动作,因此为解析通过NUI装置输入的用户语音或用户动向而进一步努力。
[0004] 其中提出的一项技术就是动态时间规整算法(Dynamic Time-Warping)。就是说,为了解任一动作表示的命令,需要一种验证为该命令预定义的动作和用户采取的当前动作是否一致的技术即动态时间规整算法。
[0005] 根据动态时间规整算法,两个序列定义为M和N时,通常要执行O(MN)程度的运算。另外,假设J为全部关节的数量时,要执行O(MNJ)程度的运算,假设需与当前用户采取的动作比较的已定义动作数量为K时,要执行O(MNJK)程度的运算,而这些计算复杂度就需要大量的计算机资源和时间。
[0006] 根据动态时间规整算法,为了将输入的用户动作与预定义的动作进行比较需进行缩放,而且每个用户的身体尺寸不一样或者动作细腻程度会不同,因此有时用户的动作会完全被识别为其它动作。
[0007] 有关现有技术文献韩国专利公开公报第10-2012-0000807号(公开日期:2012年1月4日)描述了一种控制装置,其特征在于,包括识别多个动作的动作识别部,以及所述动作识别部根据识别的动作控制所述数字设备,所述控制部在所述动作识别部识别所述多个动作中的第一动作时,中止对由所述动作识别部识别的动作对应的所述数字设备的控制,所述多个动作中的第二动作被识别时,执行对所述动作识别部识别的动作对应的所述数字设备的控制。就是说,现有技术文献说明了识别动作后根据识别的动作决定控制的内容,但并未叙述可以有效识别所述动作的方法,因此在此方面的问题仍然得不到解决。
[0008] 于是需要一种可以解决上述问题的技术。
[0009] 上述背景技术是发明人为得到本发明而所拥有或者本发明的研究过程中掌握的技术信息,并不一定是本发明申请前已向普通公众公开的公知技术。

具体实施方式

[0026] 为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述。但本发明可以以各种不同形态实现,并不限于在此说明的实施例。而且为明确说明本发明,与说明无关的部分予以省略,对于说明书中相似的部分在图中使用了相似的符号。
[0027] 说明书中描述某一个部件“连接于”其它部分时,不仅包括“直接连接”,还会包括其中间通过其它元件“用电连接”的情况。描述某一部分包括某个组件时,在没有特别叙述的前提下,不是排除其它组件,而是包括其它组件。
[0028] 下面结合附图详述本发明。
[0029] 根据图1,本发明一个实施例的系统10包括NUI装置100和动作识别装置200。
[0030] 本发明中NUI装置100是指可以利用图片传感器、深度检测传感器、动作识别传感器和语音识别传感器中的至少一个识别用户动作或语音的可用于软件或应用程序命令的所有装置。NUI装置100可以用如装配触摸屏的平板电脑、智能手机、彩色相机(RGB camera)或深度摄像头(depth camera)、Kinect等来实现。本发明的NUI装置100是用深度相机实现时,可以拍摄用户的动作,传输拍摄的图像帧,或者从拍摄的图像帧提取由所述用户关节的多个三维位置组成的姿势信息后传输提取的姿势信息。
[0031] 就是说,NUI装置100是拍摄用户身体的全部或一部分,进而辨别用户的身体部位,或者跟踪关节的三维位置或所述关节的动态等而获得包括由用户关节的多个三维位置组成的姿势信息组成的姿势信息的帧。NUI装置100可以将如上所述获得的姿势信息或者帧通过有线/无线通信装置传输给动作识别装置200。
[0032] 另一方面,动作识别装置200分析从NUI装置100接收的姿势信息(或者从接收的图像帧提取姿势信息后分析所述提取的姿势信息)而获得用户的动作信息,将所述动作信息与已设定的比较对象信息比较而准确识别现实世界中用户的实际动作,并进一步决定与用户动作对应的命令。
[0033] “动作信息”是指将用户姿势按时间顺序罗列时的序列信息,“比较对象信息”是指对用户动作意义(或命令)的定义信息,会已存储在动作识别装置200中。
[0034] 如上所述的动作识别装置200可以执行NUI装置100执行的功能的一部分。例如,NUI装置100包含于动作识别装置200,或者动作识别装置中包含NUI装置100而使动作识别装置200至少执行NUI装置100功能的一部分。下面为了说明上的便利,将NUI装置100执行功能的至少一部分由动作识别装置200执行为例进行说明,动作识别装置200的具体结构结合图2在后面内容中进行叙述。
[0035] 本发明一个实施例的系统10还可以包含命令处理装置300。
[0036] 如果现实世界的用户动作的意义被动作识别装置200决定,存在与所述意义对应的命令,则所述命令会通过有/无线通信设备传输于命令处理装置300而处理符合所述命令的进程。
[0037] 例如,命令处理装置300为显示电子设备画面上游标的装置,作为比较对象信息的特定关节的动作通过所述游标的动态被定义时,如果用户活动所述特定关节,则NUI装置100将所述动态作为姿势信息获得,动作识别装置200执行基于所述姿势信息获得的动作信息和比较对象信息之间的动态时间规整算法,决定与用户动作对应的命令,由命令处理装置300将与所述命令对应的进程即画面上的游标在画面上移动。
[0038] 如上所述的命令处理装置300是为了说明上的便利,在图1中与动作识别装置200分别图示,但可能包含于动作识别装置200或者包含动作识别装置200。
[0039] 下面结合附图2详述本发明一个实施例的动作识别装置200的结构。
[0040] 如图2所示,动作识别装置200包括信息接收部210、动作信息获得部220和动作决定部230。
[0041] 信息接收部210可以接收由NUI装置100拍摄的图像帧,或者接收从图像帧提取的姿势信息。
[0042] 关于此,用户对NUI装置100执行现实世界的一系列动作时,为了说明上的便利,将所述一系列动作定义为用户的“实际动作”。NUI装置100每秒都拍用户的实际动作,获得包括构成实际动作的姿势信息的图像帧后传输给动作识别装置200,或者从图像帧提取姿势信息后将所述姿势信息传输给动作识别装置200。
[0043] 随后信息接收部210接收图像帧或姿势信息,信息接收部210接收图像帧以后,从所述图像帧提取姿势信息。上述的姿势信息可以由用户关节的多个三维位置组成,具体定义如下。
[0044] <数学公式1>
[0045]
[0046] 以上数式中,i表示关节编号,J表示多个关节的集合,t表示姿势被记录的帧,Pit表示该关节的三维位置,Vit表示该关节的线速度。用户的动作被输入于一系列序列,因此Vit可以以离散微分 形态计算,此时h表示两个帧之间的时间。
[0047] 另外动作信息获得部220会获得用户的动作信息。
[0048] 就是说,动作信息获得部220是将所述用户的实际动作对应的一系列姿势信息分别转换为二进制向量,将所述转换的二进制向量设定为所述用户的动作信息。
[0049] 所述动作信息获得部220可以包括条件设定部221和向量转换部222。
[0050] 条件设定部221是生成以用户实际动作对应的一系列姿势信息分别作为参数的条件式。
[0051] 为此,条件设定部221可以设定一个以上的元条件函数,决定组成元条件函数的多个要素中至少一个而生成条件式。就是说,元条件函数可以以一个以上的变数和常数组成,条件设定部221是决定所述常数中至少一个常数而生成条件式。
[0052] 关于此,条件设定部221是对于既定关节的位置,以基于两个以上关节生成的平面为准判断的函数即平面条件函数作为元条件函数设定,平面条件函数是可用以下数学公式2或数学公式3表达。
[0053] <数学公式2>
[0054]
[0055] <数学公式3>
[0056] Cp2(i,j,k,l,o)=n2·(pi-pl)-o|n2|
[0057] 此时i表示作为条件对象的关节编号,j、k、L表示作为条件基准的关节编号,O表示分辨平面前后的偏置值。平面是根据提供三个关节的方法定义,或者以两个关节组成的向量作为法线向量且经过其它一个关节位置的方法定义。因此上述的n1可根据(pj-pl)×(kk-pl)得出,n2是根据(pk-pj)得出。
[0058] 根据数学公式2和数学公式3,可以生成可了解左手或右手是否在右肩膀、左肩膀和叫做骨盆的躯干平面前面、左手以从右肩膀走向左肩膀的向量为法线向量且经过左肩膀的平面为准时是否在身体内侧或者在外侧的条件式。
[0059] 条件设定部221是可以将如下数学公式4的函数即可生成判断四个关节形成的角度是否在特定范围的条件式的角度条件函数作为元条件函数设定。
[0060] <数学公式4>
[0061] Ca(i,j,k,l,s,t)=(α-s)(t-α)
[0062] 此时指定的关节i、j连接的向量以及k、L连接的向量组成的角度即a在S和t之间时,数学公式4会生成正值,否则生成负值。就是说,a为angle(pj-pi,pl-pk),根据所述a是否在既定范围,决定正值或负值。就是说,利用角度条件函数可以调查胳膊肘的角度伸展或弯曲,以及由两边肩膀到手连着的向量之间角度,进而生成两胳膊伸展与否或者并排等多种条件式。
[0063] 条件设定部221可以将如数学公式5的接近条件函数设定为元条件函数,接近条件函数可以生成判断两个关节之间距离是否在特定范围的条件式。就是说,条件设定部221可以生成输入与作为条件对象的两个关节一起成为条件基准的两个关节和倍率常数值的条件式,接近条件函数是可以以如下数学公式5表达。
[0064] <数学公式5>
[0065] Cn(i,j,k,l,s)=|pj-pi|2-s2|pl-pk|2
[0066] 此时,根据数学公式5,指定的i和j之间的距离小于基准关节距离乘以S的值时生成负值,大于时可以组成生成正值的条件式。进而利用所述的接近条件函数可以生成两手是否接近、右手是否抓住头等各种条件式。
[0067] 条件设定部221可以设定可生成有关速度条件的条件式的元条件函数。就是说,条件设定部221可以将如下数学公式6的速度方向条件函数和如数学公式7的速度大小条件函数分别作为元条件函数设定。
[0068] 数学公式6是表示可生成判断将任一关节速度和指定的两个基准关节连接的向量形成的角度是否在指定范围的条件式的速度方向条件函数的数学公式。
[0069] <数学公式6>
[0070] Cd(i,j,k,s,t)=(β-s)(t-β)
[0071] 此时,β是angle(vi,pk-pj)。
[0072] 根据数学公式6的速度方向条件函数,条件设定部221可以生成右手是否上下或左右活动或者脚是否垂直或方向活动等各种条件式。
[0073] 数学公式7是任一关节速度大小与连接指定的两个基准关节的向量大小比较时生成可了解大于程度的条件式的速度大小条件函数。
[0074] <数学公式7>
[0075] Cm(i,j,k,s,t)=|vi|2-s2|pk-pj|2
[0076] 数学公式6的函数是不管速度大小均运行,因此存在产生错误的可能性,但与数学公式7的速度大小条件函数一起使用时,可以设定条件式仅对基准值以上速度具有意义。
[0077] 如上所述,利用元条件函数时条件设定部221可以生成各种条件式。
[0078] 向量转换部222是根据通过条件设定部221生成的条件式,将用户的动作转换为二进制向量而获得动作信息。
[0079] 就是说,向量转换部222将所述用户的动作信息对应的姿势集合里包含的姿势信息分别作为所述条件式的参数输入,获得与各姿势信息对应的二进制值,生成由所述一系列姿势信息组成的动作的二进制向量,将所述二进制向量作为动作信息获得。
[0080] 另外,动作决定部230是比较动作信息和比较对象信息而决定与用户实际动作匹配的比较对象信息。
[0081] 动作决定部230可以包含用于存储所述比较对象信息的存储部(无图示),或者可以与位于外部的存储装置(无图示)如数据库等通信。
[0082] 就是说,比较对象信息存在一个以上,在所述各比较对象信息和动作信息之间执行动态时间规整算法(dynamic time warping),从而决定所述一个以上比较对象信息中最接近用户实际动作的比较对象信息。
[0083] 如果存在与所述决定的比较对象信息对应的命令,动作决定部230可以检测到与用户实际动作对应的命令已被输入。
[0084] 图4中图示的实施例的动作识别方法包括图2和图3中图示的动作识别装置200中按时序处理的多个步骤。因此即使是在下面省略的内容,但以上关于图2和图3中分别图示的动作识别装置200叙述的内容仍适用于图4中图示的实施例的动作识别方法。
[0085] 首先,动作识别装置200可以接收用户的实际动作S4000。此时动作识别装置200通过NUI装置100接收与用户实际动作对应的一系列图像帧,接收图像帧以后动作识别装置200会从所述图像帧分别提取姿势信息,进而动作识别装置200会接收用户的动作。NUI装置
100执行如上所述的姿势信息提取进程后,动作识别装置200接收所述姿势信息而接收用户的动作。
[0086] 动作识别装置200还会基于以用户关节的多个三维位置组成的姿势信息将用户动作转换为二进制向量,从而获得动作信息S4001。
[0087] 为此动作识别装置200可以利用元条件函数生成用来生成与用户动作对应的二进制向量的各种条件式。
[0088] 例如,动作识别装置200可以根据数学公式2生成可决定“左手是否在身体前面”或者“右手是否在身体前面”的条件式。
[0089] 又例如,动作识别装置200可以根据数学公式3生成决定“左手是否在身体外面”、“右手是否在身体外面”、“左手是否在身体内侧”、“右手是否在身体内侧”、“左手是否比躯干高”、“右手是否比躯干高”、“左手是否比头高”或者“右手是否比头高”的条件式。
[0090] 又例如,动作识别装置200可以根据数学公式4生成决定“左胳膊肘形成的角是否在(0°,60°)之间”、“左胳膊肘形成的角是否在(60°,120°)之间”、“左胳膊肘形成的角是否在(120°,180°)之间”、“右胳膊肘形成的角是否在(0°,60°)之间”、“右胳膊肘形成的角是否在(60°,120°)之间”、“右胳膊肘形成的角是否在(120°,180°)之间”、“左膝盖形成的角是否在(0°,60°)之间”、“左膝盖形成的角是否在(60°,120°)之间”、“左膝盖形成的角是否在(120°,180°)之间”、“右膝盖形成的角是否在(0°,60°)之间”、“右膝盖形成的角是否在(60°,120°)之间”、“右膝盖形成的角是否在(120°,180°)之间”、“两胳膊形成的角是否在(0°,60°)之间”、“两胳膊形成的角是否在(60°,120°)之间”或者“胳膊形成的角是否在(120°,180°)之间”的条件式。
[0091] 又例如,动作识别装置200可以根据数学公式5生成决定“两手是否相互接近”、“左手是否接近头部”或者“右手是否接近头部”的条件式。
[0092] 又例如,动作识别装置200可以根据数学公式6生成决定“左手的速度方向是否垂直方向”、“右手的速度方向是否垂直方向”、“左手的速度方向是否水平方向”或者“右手速度方向是否水平方向”的条件式。
[0093] 又例如,动作识别装置200可以根据数学公式7生成决定“左手速度是否达到仅一秒即可经过肩膀的水平”或者“右手的速度是否达到仅一秒即可经过肩膀的水平”的条件式。
[0094] 如上所述生成的各种条件式里可以代入根据用户动作的姿势信息,进而生成与用户的动作对应的二进制向量。例如,动作识别装置200可以设定三十个以上的条件式后生成与用户动作对应的三十维以上的二进制向量。
[0095] 如上所述生成的二进制向量是可以作为动作信息设定,动作识别装置200可以执行所述的动作信息和比较对象信息之间的动态时间规整算法(S4002)。执行动态时间规整算法时,转换为二进制向量的动作信息和比较对象信息之差是可以利用两个二进制向量之间的逻辑运算来计算。
[0096] 根据动态时间规整算法决定的动作对应的命令如果存在,则动作识别装置200可以使命令处理装置300处理所述命令。
[0097] 根据图4说明的实施例的动作识别方法也可以以通过计算机运行的程序模块等包括可通过计算机运行的指令的记录介质形态实现。计算机可读介质可以适用计算机可访问的任一可用介质,包括易失性和非易失性介质、分离型和非分离型介质。计算机可读取介质可以将计算机存储介质和通信介质全部包含。计算机存储介质包括通过用于存储计算机可读取的指令、数据结构、程序模块或其它数据等信息的任一方法或者技术实现的易失性或非易失性、分离型和非分离型介质。通信介质包括典型的计算机可读指令、数据结构、程序模块或者载波等被调制的数据信号的其它数据或者其它传送机制,并包括任意的信息传递介质。
[0098] 本发明一个实施例的动作识别方法可以通过包括可用计算机运行的指令的计算机程序(或者计算机程序产品)实现。计算机程序包括通过处理器处理的可编程的机械指令,可以以高级编程语言(High-level Programming Language)、面向对象程序设计语言(Object-oriented Programming Language)、汇编语言或者机器语言等实现。计算机程序可以记录于计算机可读记录介质(例如,存储器、硬盘、磁/光学介质或者SSD(Solid-State Drive)等)。
[0099] 本发明一个实施例的动作识别方法是上述的计算机程序通过计算装置运行而实现。计算装置可以包括处理器、存储器、存储装置、连接于存储器和高速扩展端口的高速接口、连接于低速总线和存储装置的低速接口至少一部分。所述多个成分分别利用各种总线相互连接,可以安装在通用主板或者用其它适当方式装配。
[0100] 处理器是可在计算装置内处理指令,所述指令是如连接于高速接口的显示器为了显示给外部输入、输出装置上提供GUI(Graphic User Interface)的图形信息而在存储器或存储装置上存储的指令。其它实施例是,多个处理器及(或者)多个总线可以适当地与多个存储器和存储器形态一起被利用。处理器是可以用包括独立的多个模拟及(或者)数字处理器的多个芯片组成的芯片集实现。
[0101] 存储器是在计算装置内存储信息。作为一例,存储器可以以易失性存储器装置或者其集合组成。又例如,存储器可以以非易失性存储装置或者其集合组成。存储器可以是计算机可读取的其它形态介质,如磁或光盘等。
[0102] 存储装置可以给计算装置提供大容量存储空间。存储装置可以是计算机可读介质或者包括所述介质的配置,例如,可以包括SAN(Storage Area Network)内的多个装置或者其它配置,可以是磁盘驱动器、硬盘装置、光盘装置或者磁带装置、闪存以及与其类似的其它半导体存储器装置或者装置阵列。
[0103] 以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所述的技术方案进行修改;而这些修改,并不使相应技术方案的本质脱离本发明各实施例所述技术方案的范围。例如,以单一型说明的各个组件可以分散实施,同样以分散型说明的多个组件也可以以结合形态实施。
[0104] 本发明的保护范围应根据下述的权利要求范围进行解释,而且权利要求范围的意义及范围以及在其同等范围内的所有修改或变形都属于本发明的权利要求范围。

当前第1页 第1页 第2页 第3页
相关技术
方法动作相关技术
识别方法相关技术
权志勇发明人的其他相关专利技术