CN106951871A - 操作体的运动轨迹识别方法、装置和电子设备 - Google Patents

操作体的运动轨迹识别方法、装置和电子设备 Download PDF

Info

Publication number
CN106951871A
CN106951871A CN201710182394.0A CN201710182394A CN106951871A CN 106951871 A CN106951871 A CN 106951871A CN 201710182394 A CN201710182394 A CN 201710182394A CN 106951871 A CN106951871 A CN 106951871A
Authority
CN
China
Prior art keywords
image frame
current
object run
run body
operating body
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.)
Granted
Application number
CN201710182394.0A
Other languages
English (en)
Other versions
CN106951871B (zh
Inventor
刘鸣
刘一鸣
高浩渊
李飞
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Horizon Robotics Technology Research and Development Co Ltd
Original Assignee
Beijing Horizon Robotics Technology Research and Development Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Horizon Robotics Technology Research and Development Co Ltd filed Critical Beijing Horizon Robotics Technology Research and Development Co Ltd
Priority to CN201710182394.0A priority Critical patent/CN106951871B/zh
Publication of CN106951871A publication Critical patent/CN106951871A/zh
Application granted granted Critical
Publication of CN106951871B publication Critical patent/CN106951871B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/20Movements or behaviour, e.g. gesture recognition

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • General Health & Medical Sciences (AREA)
  • Psychiatry (AREA)
  • Social Psychology (AREA)
  • Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Image Analysis (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

公开了一种操作体的运动轨迹识别方法、装置和电子设备。该方法包括:在当前图像帧中检测目标操作体,该目标操作体是正被跟踪的第一状态的操作体;响应于在该当前图像帧中检测到该目标操作体,确定该目标操作体在该当前图像帧中的当前位置;根据该当前位置和该目标操作体在历史图像帧中的历史位置来确定该目标操作体在该当前图像帧中的当前真实运动方向;根据预定义的多个有效运动方向和该当前真实运动方向来确定该目标操作体在该当前图像帧中的当前有效运动方向;以及根据历史运动轨迹和该当前有效运动方向来识别该目标操作体的当前运动轨迹。因此,可以实现更加高效且准确的操作体运动轨迹识别。

Description

操作体的运动轨迹识别方法、装置和电子设备
技术领域
本申请涉及图像处理领域,且更具体地,涉及一种操作体的运动轨迹识别方法、装置、电子设备、计算机程序产品和计算机可读存储介质。
背景技术
基于操作体运动轨迹识别(例如,手势识别)的体感控制技术,已经成为目前一种重要的人机交互手段。其通过成像器件采集操作体的动作画面,通过模式识别算法,对图像中操作体的特征进行检测和定位,并识别出操作体的运动轨迹,将这种识别信息转化为操作信号,反馈给智能电视等电子设备,以触发其执行相应的操作命令,如电视节目的切换、音量的调节、简单的游戏互动等。
目前,操作体的运动轨迹识别方法大都使用操作体在一系列图像帧中所形成的运动轨迹与轨迹库中的标准运动轨迹进行直接比较的方法来实现。然而,其存在动作标准化程度高用户不易操作、动作信息含量少不利于控制等缺点。
因此,需要一种新型的操作体的运动轨迹识别方法、装置和电子设备来解决上述技术问题。
发明内容
为了解决上述技术问题,提出了本申请。本申请的实施例提供了一种操作体的运动轨迹识别方法、装置、电子设备、计算机程序产品和计算机可读存储介质,其可以实现更加高效且准确的操作体运动轨迹识别。
根据本申请的一个方面,提供了一种操作体的运动轨迹识别方法,包括:在当前图像帧中检测目标操作体,所述目标操作体是正被跟踪的第一状态的操作体;响应于在所述当前图像帧中检测到所述目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置;根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向;根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向;以及根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。
根据本申请的另一方面,提供了一种操作体的运动轨迹识别装置,包括:操作体跟踪单元,用于在当前图像帧中检测目标操作体,所述目标操作体是正被跟踪的第一状态的操作体;位置确定单元,用于响应于在所述当前图像帧中检测到所述目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置;真实方向确定单元,用于根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向;有效方向确定单元,用于根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向;以及轨迹确定单元,用于根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。
根据本申请的另一方面,提供了一种电子设备,包括:处理器;存储器;以及存储在所述存储器中的计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行上述的操作体的运动轨迹识别方法。
根据本申请的另一方面,提供了一种计算机程序产品,包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行上述的操作体的运动轨迹识别方法。
根据本申请的另一方面,提供了一种计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行上述的操作体的运动轨迹识别方法。
与现有技术相比,采用根据本申请实施例的操作体的运动轨迹识别方法、装置、电子设备、计算机程序产品和计算机可读存储介质,可以在当前图像帧中检测目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置,根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向,根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向,并且根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。因此,可以实现更加高效且准确的操作体运动轨迹识别。
附图说明
通过结合附图对本申请实施例进行更详细的描述,本申请的上述以及其他目的、特征和优势将变得更加明显。附图用来提供对本申请实施例的进一步理解,并且构成说明书的一部分,与本申请实施例一起用于解释本申请,并不构成对本申请的限制。在附图中,相同的参考标号通常代表相同部件或步骤。
图1图示了根据本申请实施例的操作体的运动轨迹识别操作的应用场景的示意图。
图2图示了根据本申请第一实施例的操作体的运动轨迹识别方法的流程图。
图3图示了根据本申请实施例的当前位置确定步骤的流程图。
图4图示了根据本申请实施例具体示例的第一状态操作体的示意图。
图5图示了根据本申请实施例第一示例的当前真实运动方向确定步骤的示意图。
图6图示了根据本申请实施例第一示例的确定当前真实运动方向的示意图。
图7图示了根据本申请实施例第二示例的当前真实运动方向确定步骤的示意图。
图8图示了根据本申请实施例第二示例的确定当前真实运动方向的示意图。
图9图示了根据本申请实施例的有效运动方向确定步骤的示意图。
图10图示了根据本申请实施例的确定当前有效运动方向的示意图。
图11图示了根据本申请第二实施例的操作体的运动轨迹识别方法的流程图。
图12图示了根据本申请实施例的转圈手势的示意图。
图13图示了根据本申请实施例的摆手手势的示意图。
图14图示了根据本申请实施例的操作体的运动轨迹识别装置的框图。
图15图示了根据本申请实施例的电子设备的框图。
具体实施方式
下面,将参考附图详细地描述根据本申请的示例实施例。显然,所描述的实施例仅仅是本申请的一部分实施例,而不是本申请的全部实施例,应理解,本申请不受这里描述的示例实施例的限制。
申请概述
如上所述,目前市面上的操作体运动轨迹识别算法的准确率不高、误触率不低,主要原因在于对于用户来说实现操作体的标准运动轨迹要求过高,并且操作体如果移动过快,现有算法难以准确跟踪。
针对该技术问题,本申请的基本构思是提出一种操作体的运动轨迹识别方法、装置、电子设备、计算机程序产品和计算机可读存储介质,其可以在图像中检测操作体并确定该操作体的位置,根据该位置来确定该操作体的当前真实运动方向,并且先将操作体的真实运动方向归一化到标准运动方向上,再根据标准运动方向来形成该操作体的运动轨迹。因此,可以实现更加高效且准确的操作体运动轨迹识别。
在介绍了本申请的基本原理之后,下面将参考附图来具体介绍本申请的各种非限制性实施例。
示例性系统
图1图示了根据本申请实施例的操作体的运动轨迹识别操作的应用场景的示意图。
如图1所示,用于操作体的运动轨迹识别操作的应用场景包括操作体的运动轨迹识别设备100和操作体200。
该操作体200可以是可在用户控制下在空间中产生移动的任何类型的物体,其具有一定的特征信息,例如,颜色、纹理、形状、布局等,因而能够在图像中通过特定算法被识别出来。例如,该操作体200可以是用户的手部、头部、脚部、躯干等各个身体部位。替换地,该操作体200也可以是用户控制的其他物品,例如交通指挥棒、游戏手柄、黑暗中的照明灯、甚至无人机等。
该操作体的运动轨迹识别设备100可以用于对操作体进行检测和跟踪、位置确定、轨迹识别等操作。例如,该操作体的运动轨迹识别设备100可以包括摄像头110、和操作体的运动轨迹识别模块120。
例如,该摄像头110可以用于捕捉监控场景的图像数据,其可以包括一个或多个摄像头。例如,摄像头110所采集到的图像数据可以是连续图像帧序列(即,视频流)或离散图像帧序列(即,在预定采样时间点采样到的图像数据组)等。例如,该摄像头110可以是如单目相机、双目相机、多目相机等,另外,其可以用于捕捉灰度图,也可以捕捉带有颜色信息的彩色图。当然,本领域中已知的以及将来可能出现的任何其他类型的相机都可以应用于本申请,本申请对其捕捉图像的方式没有特别限制,只要能够获得输入图像的灰度或颜色信息即可。为了减小后续操作中的计算量,在一个实施例中,可以在进行分析和处理之前,将彩色图进行灰度化处理。当然,为了保留更大的信息量,在另一实施例中,也可以直接对彩色图进行分析和处理。
该操作体的运动轨迹识别模块120可以用于在当前图像帧中检测目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置,根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向,根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向,并且根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。
需要注意的是,上述应用场景仅是为了便于理解本申请的精神和原理而示出,本申请的实施例不限于此。相反,本申请的实施例可以应用于可能适用的任何场景。例如,该操作体200可以是一个或多个,类似地,该操作体的运动轨迹识别设备100也可以为一个或多个。
示例性方法
下面结合图1的应用场景来描述根据本申请各个实施例的操作体的运动轨迹识别方法。
图2图示了根据本申请第一实施例的操作体的运动轨迹识别方法的流程图。
如图2所示,根据本申请第一实施例的操作体的运动轨迹识别方法可以包括:
在步骤S110中,在当前图像帧中检测目标操作体,所述目标操作体是正被跟踪的第一状态的操作体。
例如,可以通过成像器件(例如,摄像头模组)不断获取监控场景的图像数据,以生成图像序列,该图像序列为按照时间顺序所生成的一系列的图像帧。
可以在各帧图像中不断地检测第一状态的操作体,并且在该第一状态的操作体满足一定条件时,将其确定为正被跟踪的目标操作体。
例如,所述操作体可以是用户的手部,所述第一状态可以是用户的手掌朝向成像器件。
在此情况下,可以通过各种可能的手掌检测算法来检测和识别用户的手掌。例如,该手掌检测算法可以是基于手掌纹理、形状、颜色等各种特性的检测算法,也可以是基于诸如神经网络的深度学习所训练得到的检测算法。
一旦在某一图像帧中锁定了要跟踪的目标操作体,可以在随后的每个图像帧中不断地跟踪该目标操作体,以用于连续地确定它的位置及相应形成的运动轨迹。换言之,可以从成像器件获取其当前获取的关于监控场景的图像数据作为当前图像帧,并且在当前图像帧中不断检测目标操作体。
例如,在目标操作体为手掌的情况下,可以对从摄像头模组中获取图像帧进行检测,以识别正在进行手势控制的手掌部分。
在步骤S120中,响应于在所述当前图像帧中检测到所述目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置。
一旦在当前图像帧中检测到所述目标操作体,可以根据确定该目标操作体的当前位置。例如,该当前位置可以取决于来自检测算法的识别位置和来自历史位置的预测位置中的至少一个进行确定,并且优选地,为了获得更加准确的位置信息,该当前位置可以取决于两者同时来确定。
图3图示了根据本申请实施例的当前位置确定步骤的流程图。
如图3所示,该步骤S120可以包括:
在子步骤S121中,获取所述目标操作体在所述当前图像帧中的识别位置;
在子步骤S122中,根据所述目标操作体在所述当前图像帧之前的第一组历史图像帧中的历史位置来预测所述目标操作体在所述当前图像帧中的估计位置;以及
在子步骤S123中,根据所述目标操作体在所述当前图像帧之前的第二组历史图像帧中的真实运动方向和历史位置中的至少一个、以及所述识别位置和所述估计位置来确定所述当前位置。
例如,可以通过卡尔曼滤波器来实现上述的子步骤S121到S123,下面结合具体示例将进行详细描述。
在用户在进行手势控制的过程中,我们需要不断获取并记录目标操作体(例如,手掌)运动的图像帧和其中最终确定的操作体位置。例如,该操作体位置可以是操作体的中心点、质心、操作体上容易识别的特征点等等。
图4图示了根据本申请实施例具体示例的第一状态操作体的示意图。
如图4所示,第一状态的操作体可以是摄像头模组捕捉到的用户手掌。我们在进行手掌跟踪的过程中,同时进行手掌识别框的水平轴e1和竖直轴e2的比例的判断。通过分析可以发现,在用户正常操作手势的时候,手掌常常五指张开。因此,在用户正常操作手势的时候,e1≈e2。也就是说,在手掌张开的情况下,能够框住手掌的最小的框近似于圆。在此情况下,例如可以将手掌识别框的圆心作为该手掌部分的掌心位置。当然,本申请不限于此。例如,还可以采用诸如矩形等其他形状的识别框。也可以将识别框的其他位置(例如,顶点、角点)等作为手掌部分的识别位置。
下面,将以手掌识别框的圆心作为该手掌的掌心位置来说明卡尔曼滤波器的算法。
假设从第一个图像帧开始,最终确定的手掌的掌心位置为a1,第2个图像帧中,最终确定的手掌的掌心位置为a2,以此类推,则在当前第n个图像帧(n为正整数)中,最终确定的手掌的掌心位置将为an。为了保证每一帧记录的手掌位置的准确率,在进行手掌特征识别确定手掌位置的同时,对手掌位置的确定进行卡尔曼滤波器处理,即对实际通过图像帧处理特征点识别所得到的手掌在当前图像帧(例如,第n帧)中的识别位置(假设为bn)和卡尔曼滤波器根据历史轨迹预测的手掌在当前图像帧中的估计位置(假设为cn点)都保持怀疑。这时我们要通过对bn和cn的比较来选择一个置信度更高的位置作为当前手掌的真实位置。选择的依据为比较bn和cn,选择更符合前几帧运动趋势的一个位置。例如,卡尔曼滤波器算法可以通过第n-1、n-2等图像帧中手掌的真实运动方向(真实运动方向的确定将在后续的步骤S130中进行详细描述)和掌心位置(an-1、an-2等)来比较来判断bn和cn的可靠性,并将更加接近于an-1、an-2的真实运动方向和掌心位置的位置点作为手掌在第n帧的真实位置an
具体地,假设前一帧(第n-1帧)的手掌位置为an-1,那么取运动方向和掌心位置更加接近an-1的位置为当前手掌的真实位置。这里,可以定义一个接近度i的概念,i=xj+yk。x和y为定义的权重值,j为当前帧手掌位置和前一帧手掌位置的中心点之间的距离,k为当前帧手掌运动方向和前一帧手掌运动方向的顺时针夹角。假设当前帧的手掌位置分别为bn和cn,通过算出i值进行比较,接近度越高的位置置信度更高。例如,其中的x和y的值可由人工标注学习得来。由此,最终得到的an可能等于bn、cn、或bn和cn的加权计算结果。
通过上述步骤,可以对于进行手势控制的有效手掌进行持续跟踪,并记录其位置信息。即,在手掌跟踪的过程中,得到了每一帧图像的手掌的当前位置。
在步骤S130中,根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向。
一旦确定了目标操作体在当前图像帧中的当前位置,可以根据该当前位置和历史位置来确定相应的当前真实运动方向。
在第一示例中,简单地,可以将目标操作体在当前图像帧和相邻的历史图像帧中的连线方向作为当前真实运动方向。
图5图示了根据本申请实施例第一示例的当前真实运动方向确定步骤的示意图。
如图5所示,该步骤S130可以包括:
在子步骤S131中,获取所述目标操作体在所述当前图像帧之前的一个历史图像帧中的前一历史位置;以及
在子步骤S132中,将所述当前图像帧中从所述前一历史位置到所述当前位置的连线方向确定为所述当前真实运动方向。
根据上述方法可以知道,例如要计算用户手掌在当前帧中的真实运动方向,除了要知道手掌在当前帧中的位置信息之外,还需要获取手掌运动前一帧的历史位置信息。
图6图示了根据本申请实施例第一示例的确定当前真实运动方向的示意图。
如图6所示,共示出了4个图像帧,第n帧到第n-3帧,每个帧中所确定的手掌位置分别为an到an-3。那么,当前第n帧中的真实运动方向dn为从an-1向an做连线的连线方向,以此类推,历史第n-1帧中的真实运动方向dn-1为从an-2向an-1做连线的连线方向,历史第n-2帧中的真实运动方向dn-2为从an-3向an-2做连线的连线方向。也就是说,对有效手掌的真实运动方向进行判断时,根据连续两帧的手掌位置的移动,即前后两帧手掌位置中心的连线方向作为后面一帧的手掌真实运动方向。
在第二示例中,可以假设目标操作体的运动轨迹均为圆形,并且基于该假设,可以将目标操作体在当前图像帧中的圆形轨迹的切线方向作为当前真实运动方向。
图7图示了根据本申请实施例第二示例的当前真实运动方向确定步骤的示意图。
如图7所示,在第二示例中,该步骤S130可以包括:
在子步骤S133中,获取所述目标操作体在所述当前图像帧之前的一个历史图像帧中的前一历史位置和在所述前一历史图像帧再之前的一个历史图像帧中的前二历史位置;
在子步骤S134中,在所述当前图像帧中以所述当前位置、前一历史位置、和前二历史位置三个位置点确定一个圆形;以及
在子步骤S135中,将所述圆形在所述当前位置上的切线方向确定为所述当前真实运动方向,所述切线方向与从所述前一历史位置到所述当前位置的连线方向之间的夹角为锐角。
根据上述方法可以知道,根据上述方法可以知道,例如要计算用户手掌在当前帧中的真实运动方向,除了要知道手掌在当前帧中的位置信息之外,还需要获取手掌运动前两帧的历史位置信息。
图8图示了根据本申请实施例第二示例的确定当前真实运动方向的示意图。
如图8所示,要计算当前第n帧中的真实运动方向dn,需要获取前两个历史图像帧,第n-1帧和第n-2帧,在上述每个帧中所确定的手掌位置分别为an到an-2。要计算当前第n帧中的真实运动方向dn,首先做an和an-1、an-1和an-2圆心的连线,分别标记为l1、l2。因为假设用户手掌的整个移动轨迹为圆圈R,所以an到an-2的圆心必在大圆R的圆周上。再做线段l1、l2的中垂线p1、p2,则p1、p2必相交于一点,即圆R的圆心O点。找到圆心O之后,做圆心O和an、an-1、an-2的半径连线r1、r2、r3。最后,过an、an-1、an-2的圆心做半径连线r1、r2、r3的垂线,即为大圆R的切线。当前第n帧中的真实运动方向dn即与该an处的切线重合。
至此,根据每一个图像帧中的手掌位置信息,处理之后获得每一帧手掌的真实运动方向信息。
在步骤S140中,根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向。
一旦计算出目标操作体在当前图像帧中的当前真实运动方向,就可以根据预定义的多个有效运动方向,将操作体的真实运动方向归一化到标准运动方向上
图9图示了根据本申请实施例的有效运动方向确定步骤的示意图。
如图9所示,该步骤S140可以包括:
在子步骤S141中,根据所述预定义的多个有效运动方向对所述当前真实运动方向进行方向拟合,以将所述真实运动方向投影到与之最为接近的有效运动方向上;以及
在子步骤S142中,将所述最为接近的有效运动方向确定为当前运动方向。
例如,首先需要定义手掌的有效运动方向。例如,可以取决于运动轨迹的精细度来定义多个有效运动方向。运动轨迹区分得越精细,有效运动方向的个数越多,而运动轨迹区分得越粗略,有效运动方向的个数越少。
为了描述方便,假设定义有效的运动方向为上下左右四个基本方向(当然,如有需要也可以定义为2、3、8个、16个等更多或更少的方向)。也就代表,在动态手势识别的时候,目前只关心用户操作的手势是否有出现过上下左右四个基本方向、及其出现的顺序如何。
接下来,当前图像帧的手掌真实运动方向拟合到我们定义的有效运动方向上。
图10图示了根据本申请实施例的确定当前有效运动方向的示意图。
如图10所示,以当前第n帧中的手掌位置an为例,在之前的步骤中已经得到其对应的手掌真实运动方向为dn,但dn并不是预定义的有效运动方向。于是需要对它进行拟合。首先,将dn进行有效方向的分解,即得到水平方向e1中向左的方向de1和垂直方向中向上的方向de2,其长度分别为w1和w2,比较两个线段的长度,明显w1>w2。由此,得到结论,当前第n帧中的手掌的有效运动方向sn为de1,即水平向左。例如,类似地,还可以得出图8中第n-1和n-2帧中手掌的有效运动方向sn-1和sn-2分别为竖直向上和水平向右。
这样,将上述手掌运动的真实方向信息拟合到事先定义的有效运动方向上,通过真实运动方向在预定义的运动方向上进行分解,并且归一化到预定义的运动方向上,就可以得出连续图像帧中所有的手掌的有效运动方向。比如,我们预先定义上下左右四个方向,那么手掌的真实运动方向就进行归一化处理到这四个方向上。
在步骤S150中,根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。
一旦确定了目标操作体在当前图像帧中的当前有效运动方向,就可以根据历史运动轨迹,来生成最新的当前运动轨迹。
例如,该步骤S150可以包括:将所述当前有效运动方向添加到所述历史运动轨迹的最后,以生成所述当前运动轨迹,所述历史运动轨迹由未作出操作响应的历史有效运动方向按照相应图像帧的时间顺序所形成。
例如,当未作出操作响应的历史帧为第n-1和n-2帧,并且其中手掌的有效运动方向sn-1和sn-2分别为竖直向上和水平向右时,可以将当前第n帧中的手掌的有效运动方向sn水平向左,按照时间顺序添加到其后,形成右上左的当前运动轨迹,以用于后续操作。
这里,为了减小识别的复杂度,可以在生成当前运动轨迹的过程中,首先对于重复的有效运动方向进行去重处理。
为此,可以首先判断所述当前有效运动方向与所述历史运动轨迹中未作出操作响应的前一历史有效运动方向是否相同,并且响应于所述当前有效运动方向与所述未作出操作响应的前一历史有效运动方向不同,将所述当前有效运动方向添加到所述历史运动轨迹的最后,以生成所述当前运动轨迹。
例如,在将有效运动方向sn添加到当前运动轨迹之前,可以首先判断当前有效运动方向sn与前一有效运动方向sn-1是否相同,只有在不相同的时候,才对其添加以重新生成运动轨迹。如果两者相同,则忽略当前帧的有效运动方向。
由此可见,采用根据本申请第一实施例的操作体的运动轨迹识别方法,可以在当前图像帧中检测目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置,根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向,根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向,并且根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。因此,可以实现更加高效且准确的操作体运动轨迹识别。
图11图示了根据本申请第二实施例的操作体的运动轨迹识别方法的流程图。
与第一实施例相比,在第二实施例中,可以进一步包括一些可选的步骤,以实现目标操作体的锁定、异常时加入黑名单、真实运动方向的平滑化处理、预定运动轨迹触发操作执行、和跟踪操作的退出等各操作中的一个或多个。
如图11所示,根据本申请第二实施例的操作体的运动轨迹识别方法可以包括:
在步骤S210中,确定要跟踪的目标操作体。
可以依次接收成像器件所获取的图像帧序列中的每个图像帧,在所述每个图像帧中检测潜在的第一状态的操作体,响应于在某一图像帧中检测到所述潜在的第一状态的操作体,将所述潜在的第一状态的操作体作为预跟踪操作体开始预跟踪,并且响应于在所述某一图像帧之后的第一预定数目的连续图像帧中都跟踪到所述预跟踪操作体,并且所述预跟踪操作体在所述第一预定数目的连续图像帧中的位置均位于同一区域内,将所述预跟踪操作体确定为所述目标操作体。
例如,可以对在摄像头模组所捕获的各个图像帧中出现的手掌进行跟踪。整个跟踪的步骤分为预跟踪和跟踪两个部分,当发现某一图像帧中出现手掌特征时,则对该图像帧及以下的每一帧图像进行手掌预跟踪,此时,认为虽然图像帧的视野中有手掌出现,但是并非为正在进行手势控制的手掌。只有当连续2帧或者多帧图像帧中,处于预跟踪状态的手掌中心的位置基本保持不变,则判断该手掌处于稳定状态,然后该手掌才会进入跟踪状态,即认为该手掌为正在进行手势控制的手掌。
这样,对从摄像头模组中获取图像帧进行预处理,去除误识别的手掌,保留正在进行手势控制的手掌,减小出现差错的概率。
在步骤S220中,在当前图像帧中检测目标操作体,所述目标操作体是正被跟踪的第一状态的操作体。
在步骤S230中,响应于在所述当前图像帧中检测到所述目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置。
在步骤S240中,响应于所述跟踪操作体满足预定条件,停止所述目标操作体的跟踪操作,并将它添加到跟踪黑名单中。
在确定了目标操作体的当前位置之后,可以获取所述目标操作体在所述当前图像帧之前的第二预定数目的连续历史图像帧中的多个历史位置,并且响应于所述当前位置和所述多个历史位置均位于同一区域内,停止所述目标操作体的跟踪操作,并将它添加到跟踪黑名单中。
例如,当处于跟踪状态的手掌掌心位置基本保持不变,且时间长于20秒(s)(在30帧每秒fps的帧速率时,20秒相当于600个图像帧)时,则将该手掌添加到黑名单,即认为该手掌为误识别的结果,其可能是照片或画像中的人手,而并非要进行手势控制的手掌。
在步骤S250中,根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向。
在步骤S260中,对所述当前真实运动方向进行平滑化处理。
在确定了目标操作体的当前真实运动方向之后,可以将所述当前真实运动方向加入到待处理方向集合,并且响应于在所述待处理方向集合中存在第三预定数目的连续图像帧的多个真实运动方向,对所述多个真实运动方向进行平滑化处理。
该对所述多个真实运动方向进行平滑化处理可以包括:计算所述多个真实运动方向中每两个相邻图像帧中的真实运动方向之间的角度差值,并且响应于在所述多个真实运动方向中存在错误的真实运动方向,所述错误的真实运动方向是其与相邻的两个真实运动方向之间的两个角度差值中的至少一个大于角度阈值的真实运动方向,从所述多个真实运动方向之中去除所述错误的真实运动方向。
例如,在步骤S250中得到的每一个图像帧中手掌的真实运动方向可能存在与其他的图像帧差异非常大的情况,其可能是由于误识别导致个别图像帧的手掌真实运动方向出现较大错误的情况。为此,我们希望对错误样本进行去除。
假设连续的图像帧中手掌的位置分别为a1、a2到an,根据步骤S250计算出对应时刻手掌的真实运动方向分别为d1、d2到dn。因为所取的均为连续的图像帧,所以必然有连续帧之间手掌的真实运动方向的夹角小于一角度阈值。其中,具体的夹角应该小于多少度的阈值由提前所规定的手势决定。
例如,为了减小计算量,我们可以选择5个真实运动方向为一组,即d1、d2到d5。其中,d1和d2、d2和d3、d3和d4、d4和d5每两个相邻图像帧中手掌的真实运动方向的夹角小于该角度阈值,例如45度。将与前后图像帧的任意一个的夹角大于45度(例如,具体的角度阈值可以在实践中逐步迭代确定)的图像帧进行剔除。类似地,在接下来接收到下一个当前帧的真实运动方向d6时,可以选择d2到d6,再次计算每两个相邻图像帧中手掌的真实运动方向的夹角,去除夹角大于45度的图像帧进行剔除。以此类推,即得到手掌真实运动方向过渡平滑的连续的图像帧。
这样,通过对每一帧手掌的真实运动方向信息进行平滑处理,去除个别图像帧中手掌运动方向信息差异非常大的个例,得到连续的一系列图像帧的平滑的真实运动方向信息。
在步骤S270中,根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向。
在步骤S280中,根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。
第二实施例中的步骤S220、S230、S250、S270和S280与第一实施例中的步骤S110到S150基本相同,在此省略其重复描述。
除此之外,如图11所示,根据本申请第二实施例的操作体的运动轨迹识别方法还可以包括:
在步骤S290中,执行与所述当前运动轨迹相关联的操作。
为了将该运动轨迹识别方法应用于体感控制技术,成为人机交互的手段,在识别出所述目标操作体的当前运动轨迹之后,可以进一步比较所述当前运动轨迹与多个预定义运动轨迹,并且响应于所述当前运动轨迹与多个预定义运动轨迹中的一个预定义运动轨迹相同,执行与所述一个预定义运动轨迹相关联的操作。
例如,可以将步骤S280中得到的手掌手势与预定义的手势指令进行对应,以得到用户操作的手势指令内容。
图12图示了根据本申请实施例的转圈手势的示意图,而图13图示了根据本申请实施例的摆手手势的示意图。
例如,假设我们定义手掌正对镜头,顺时针转圈的手势,即用户手掌正对镜头顺时针在手掌所在平面转圈,每转一圈机器响应一个手势指令,包括但不限于空调温度增加一度。也就是说,我们定义当图像序列中手掌有效的运动方向出现上左下右上或其顺序移位类似的五个方向(由于用户面对摄像头模组,所以用户在真实世界中顺时针转手对应于图像序列中的逆时针转手)时,我们识别为空调温度增加一度。那么当用户进行手掌转圈的操作时,每转一圈就出现一次类似上左下右上的有效运动方向,空调温度即增加一度,如图12中的手掌位置1、2、3、4、5所示。
同样,我们可以定义其他的手掌有效运动方向的变化来控制其他的指令。但计算方法不变。例如,在不清楚用户将做出什么手势的情况下,即使用户做出非画圆的手势,在计算当前帧手掌运动方向时,也可以选取当前帧和当前帧的前两帧进行画圆计算,得出手掌真实运动方向之后在进行平滑处理。因为左右摇手的时候,进行画圆计算时,圆心总是在手掌下方,所以手掌真实运动方向总是在解决水平的位置。当然,也可以使用其他方向来计算真实运动方向。
假设我们定义手掌手势出现左右左时,增加一档空调的风速。那么当用户自然摇手的时候,我们得到用户摇手时连续图像帧中手掌的位置为1、2、3、4、5、6、7、8,如图13所示。通过上述步骤,可以得到用户手掌的有效运动方向如图13中的实线箭头所示(真实运动方向如虚线箭头所示),那么当用户摇手过程中,手掌从1移动到8时,我们可以识别出手掌有效运动方向有三个变化,此时增加一档空调的风速。
这样,可以根据手掌运动的运动轨迹确定了用户操作了哪一种预定义手势,以触发完成对应的操作。并且,可以看出,即使用户执行的手势不是非常标准(例如,图13中的摆手并非处于同一水平面上),也可以准确地识别出用户希望执行的操作意图,并触发设备执行相应的功能。
显然,预定义的用户手势指令不限于空调场景。根据本申请实施例的方法同样可以用于控制电视、洗衣机、音响、汽车、无人机等各种电子设备执行任何对应的功能操作。
除此之外,如图11所示,根据本申请第二实施例的操作体的运动轨迹识别方法还可以包括:
在步骤S300中,响应于在所述当前图像帧中没有检测到所述目标操作体,停止所述目标操作体的跟踪操作。
由于操作体的跟踪需要消耗大量功率,所以希望在没有跟踪到目标操作体时,可以退出手掌跟踪状态。
为此,在第一示例中,可以响应于在所述当前图像帧中没有检测到所述目标操作体,并且在所述当前图像帧之前的第四预定数目的连续历史图像帧中也一直没有检测到所述目标操作体,停止所述跟踪操作。
例如,如果在手掌的特征消失,算法并没有发现在接下来的图像帧中有手掌存在,此时认为手掌已经放下或者移出视野,退出手掌跟踪状态。也就是说,如果长时间(例如,20s,即600帧)出现手掌消失的情况,则立刻从跟踪状态切换到待机状态,以节省功耗。
替换地或附加地,在第二示例中,响应于在所述当前图像帧之前的一个历史图像帧中的前一历史位置检测到所述目标操作体,在所述当前图像帧中没有检测到所述目标操作体、但是检测到第二状态的操作体,并且所述第二状态的操作体在所述当前图像帧中位于所述前一历史位置的一邻域内,停止所述跟踪操作。其中,所述第二状态是用户的手背朝向成像器件。
例如,为了加快退出手掌跟踪状态的响应,我们在进行手掌跟踪的过程中同时进行手背特征的检测。如在第n帧发现了手背的特征,手背的位置为an,在第n-1帧还是手掌的特征,手掌的位置为an-1;如果发现an和an-1在同一个较小的区域内,且在第n帧和n+1帧都未发现手掌,只发现手背,则认为用户已经把手放下,由手掌正对镜头变为手背正对镜头。此时立刻从跟踪状态切换到待机状态,以节省功耗。
替换地或附加地,在第三示例中,响应于在所述当前图像帧中没有检测到所述目标操作体,在所述当前图像帧中和所述当前图像帧之前的历史图像帧中检测到所述目标操作体从第一状态变化到第三状态的趋势中的至少一部分,停止所述跟踪操作。其中,所述第三状态是用户的指尖朝向成像器件。
例如,同样为了加快退出手掌跟踪状态的响应,我们在进行手掌跟踪的过程中同时进行手掌识别框的竖直轴e1和水平轴e2的比例的判断。在用户正常操作手势的时候,e1≈e2,因为如上所述,在用户手掌张开的情况下,能够框住手掌的最小的框近似于圆。然而,当手掌由正对镜头逐渐变为水平的时候,手掌圆形识别框的水平轴e2基本保持不变,竖直轴e1逐渐变小,直到趋近于0。于是,我们增加判断条件,当e1=m×e2时(e2系数m小于1,其具体的值可以在实践中逐步迭代确定,例如m=1/3),我们认为手掌已经比较靠近水平,此时用户正在进行放下手掌的操作,因而立刻从跟踪状态切换到待机状态,以节省功耗。
这样,在进行手掌跟踪或者判定手势指令的过程中,如果出现手掌长时间消失、或者手掌变为手背特征、或者手掌变为水平时,认为手掌正在放下或者已经放下、消失,此时退出手掌跟踪状态。需要说明的是,为了获得最优的功耗控制,在整个手掌跟踪和识别判断的过程中,可以时刻在进行退出手掌跟踪的检测。
由此可见,采用根据本申请第二实施例的操作体的运动轨迹识别方法,可以实进一步现目标操作体的锁定、异常时加入黑名单、真实运动方向的平滑化处理、预定运动轨迹触发操作执行、和跟踪操作的退出等各操作中的一个或多个。因此,进一步提高了轨迹识别结果的准确性,保证了系统功耗的有效降低。
示例性装置
下面,参考图14来描述根据本申请实施例的操作体的运动轨迹识别装置。
图14图示了根据本申请实施例的操作体的运动轨迹识别装置的框图。
如图14所示,根据本申请实施例的所述操作体的运动轨迹识别装置300可以包括:操作体跟踪单元310,用于在当前图像帧中检测目标操作体,所述目标操作体是正被跟踪的第一状态的操作体;位置确定单元320,用于响应于在所述当前图像帧中检测到所述目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置;真实方向确定单元330,用于根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向;有效方向确定单元340,用于根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向;以及轨迹确定单元350,用于根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。
在一个示例中,根据本申请实施例的所述操作体的运动轨迹识别装置300还可以包括:目标确定单元,用于确定要跟踪的目标操作体。
在一个示例中,所述目标确定单元可以依次接收成像器件所获取的图像帧序列中的每个图像帧,在所述每个图像帧中检测潜在的第一状态的操作体,响应于在某一图像帧中检测到所述潜在的第一状态的操作体,将所述潜在的第一状态的操作体作为预跟踪操作体开始预跟踪,并且响应于在所述某一图像帧之后的第一预定数目的连续图像帧中都跟踪到所述预跟踪操作体,并且所述预跟踪操作体在所述第一预定数目的连续图像帧中的位置均位于同一区域内,将所述预跟踪操作体确定为所述目标操作体。
在一个示例中,位置确定单元320可以获取所述目标操作体在所述当前图像帧中的识别位置,根据所述目标操作体在所述当前图像帧之前的第一组历史图像帧中的历史位置来预测所述目标操作体在所述当前图像帧中的估计位置,并且根据所述目标操作体在所述当前图像帧之前的第二组历史图像帧中的真实运动方向和历史位置中的至少一个、以及所述识别位置和所述估计位置来确定所述当前位置。
在一个示例中,根据本申请实施例的所述操作体的运动轨迹识别装置300还可以包括:黑名单添加单元,用于响应于所述跟踪操作体满足预定条件,停止所述目标操作体的跟踪操作,并将它添加到跟踪黑名单中。
在一个示例中,所述黑名单添加单元可以获取所述目标操作体在所述当前图像帧之前的第二预定数目的连续历史图像帧中的多个历史位置,并且响应于所述当前位置和所述多个历史位置均位于同一区域内,停止所述目标操作体的跟踪操作,并将它添加到跟踪黑名单中。
在一个示例中,所述真实方向确定单元330可以获取所述目标操作体在所述当前图像帧之前的一个历史图像帧中的前一历史位置,并且将所述当前图像帧中从所述前一历史位置到所述当前位置的连线方向确定为所述当前真实运动方向。
在一个示例中,所述真实方向确定单元330可以获取所述目标操作体在所述当前图像帧之前的一个历史图像帧中的前一历史位置和在所述前一历史图像帧再之前的一个历史图像帧中的前二历史位置,在所述当前图像帧中以所述当前位置、前一历史位置、和前二历史位置三个位置点确定一个圆形,并且将所述圆形在所述当前位置上的切线方向确定为所述当前真实运动方向,所述切线方向与从所述前一历史位置到所述当前位置的连线方向之间的夹角为锐角。
在一个示例中,根据本申请实施例的所述操作体的运动轨迹识别装置300还可以包括:平滑化处理单元,用于对所述当前真实运动方向进行平滑化处理。
在一个示例中,所述平滑化处理单元可以将所述当前真实运动方向加入到待处理方向集合,并且响应于在所述待处理方向集合中存在第三预定数目的连续图像帧的多个真实运动方向,对所述多个真实运动方向进行平滑化处理。
在一个示例中,所述平滑化处理单元可以计算所述多个真实运动方向中每两个相邻图像帧中的真实运动方向之间的角度差值,并且响应于在所述多个真实运动方向中存在错误的真实运动方向,所述错误的真实运动方向是其与相邻的两个真实运动方向之间的两个角度差值中的至少一个大于角度阈值的真实运动方向,从所述多个真实运动方向之中去除所述错误的真实运动方向。
在一个示例中,所述有效方向确定单元340可以根据所述预定义的多个有效运动方向对所述当前真实运动方向进行方向拟合,以将所述真实运动方向投影到与之最为接近的有效运动方向上,并且将所述最为接近的有效运动方向确定为当前运动方向。
在一个示例中,所述轨迹确定单元350可以将所述当前有效运动方向添加到所述历史运动轨迹的最后,以生成所述当前运动轨迹,所述历史运动轨迹由未作出操作响应的历史有效运动方向按照相应图像帧的时间顺序所形成。
在一个示例中,所述轨迹确定单元350可以判断所述当前有效运动方向与所述历史运动轨迹中未作出操作响应的前一历史有效运动方向是否相同,并且响应于所述当前有效运动方向与所述未作出操作响应的前一历史有效运动方向不同,将所述当前有效运动方向添加到所述历史运动轨迹的最后,以生成所述当前运动轨迹。
在一个示例中,根据本申请实施例的所述操作体的运动轨迹识别装置300还可以包括:操作执行单元,用于执行与所述当前运动轨迹相关联的操作。
在一个示例中,所述操作执行单元可以比较所述当前运动轨迹与多个预定义运动轨迹,并且响应于所述当前运动轨迹与多个预定义运动轨迹中的一个预定义运动轨迹相同,执行与所述一个预定义运动轨迹相关联的操作。
在一个示例中,根据本申请实施例的所述操作体的运动轨迹识别装置300还可以包括:跟踪停止单元,用于响应于在所述当前图像帧中没有检测到所述目标操作体,停止所述目标操作体的跟踪操作。
在一个示例中,所述跟踪停止单元可以响应于在所述当前图像帧中没有检测到所述目标操作体,并且在所述当前图像帧之前的第四预定数目的连续历史图像帧中也一直没有检测到所述目标操作体,停止所述跟踪操作。
在一个示例中,所述跟踪停止单元可以响应于在所述当前图像帧之前的一个历史图像帧中的前一历史位置检测到所述目标操作体,在所述当前图像帧中没有检测到所述目标操作体、但是检测到第二状态的操作体,并且所述第二状态的操作体在所述当前图像帧中位于所述前一历史位置的一邻域内,停止所述跟踪操作。
在一个示例中,所述操作体可以是用户的手部,所述第一状态可以是用户的手掌朝向成像器件,所述第二状态可以是用户的手背朝向成像器件。
在一个示例中,所述跟踪停止单元可以响应于在所述当前图像帧中没有检测到所述目标操作体,在所述当前图像帧中和所述当前图像帧之前的历史图像帧中检测到所述目标操作体从第一状态变化到第三状态的趋势中的至少一部分,停止所述跟踪操作。
在一个示例中,所述操作体可以是用户的手部,所述第一状态可以是用户的手掌朝向成像器件,所述第三状态可以是用户的指尖朝向成像器件。
上述操作体的运动轨迹识别装置300中的各个单元和模块的具体功能和操作已经在上面参考图1到图13描述的操作体的运动轨迹识别方法中详细介绍,并因此,将省略其重复描述。
如上所述,根据本申请实施例的操作体的运动轨迹识别装置300可以应用于如图1所示的操作体的运动轨迹识别设备100中,以用于对操作体进行检测和跟踪、位置确定、轨迹识别等操作。
在一个示例中,根据本申请实施例的操作体的运动轨迹识别装置300可以作为一个软件模块和/或硬件模块而集成到图1中的该操作体的运动轨迹识别设备100中。例如,该操作体的运动轨迹识别装置300可以被实现为设备100中的操作体的运动轨迹识别模块120。例如,该操作体的运动轨迹识别装置300可以是该操作体的运动轨迹识别设备100的操作系统中的一个软件模块,或者可以是针对于该操作体的运动轨迹识别设备100所开发的一个应用程序;当然,该操作体的运动轨迹识别装置300同样可以是该操作体的运动轨迹识别设备100的众多硬件模块之一。
替换地,在另一示例中,该操作体的运动轨迹识别装置300与该操作体的运动轨迹识别设备100也可以是分立的设备,并且该操作体的运动轨迹识别装置300可以通过有线和/或无线网络连接到该操作体的运动轨迹识别设备100,并且按照约定的数据格式来传输交互信息。
示例性电子设备
下面,参考图15来描述根据本申请实施例的电子设备。该电子设备可以是计算机或服务器或其他设备。例如,在一个示例中,根据本申请实施例的操作体的电子设备可以对应于图1中的操作体的运动轨迹识别设备100。
图15图示了根据本申请实施例的电子设备的框图。
如图15所示,电子设备10包括一个或多个处理器11和存储器12。
处理器11可以是中央处理单元(CPU)或者具有数据处理能力和/或指令执行能力的其他形式的处理单元,并且可以控制电子设备10中的其他组件以执行期望的功能。
存储器12可以包括一个或多个计算机程序产品,所述计算机程序产品可以包括各种形式的计算机可读存储介质,例如易失性存储器和/或非易失性存储器。所述易失性存储器例如可以包括随机存取存储器(RAM)和/或高速缓冲存储器(cache)等。所述非易失性存储器例如可以包括只读存储器(ROM)、硬盘、闪存等。在所述计算机可读存储介质上可以存储一个或多个计算机程序指令,处理器11可以运行所述程序指令,以实现上文所述的本申请的各个实施例的操作体的运动轨迹识别方法以及/或者其他期望的功能。在所述计算机可读存储介质中还可以存储诸如操作体位置、真实运动方向、有效运动方向、运动轨迹、待执行的操作等各种内容。
在一个示例中,电子设备10还可以包括:输入装置13和输出装置14,这些组件通过总线系统和/或其他形式的连接机构(未示出)互连。
例如,该输入装置13可以是上述的摄像头110,用于捕捉监控场景的分路原始图像。此外,该输入设备13还可以包括例如键盘、鼠标、以及通信网络及其所连接的远程输入设备等等。
该输出装置14可以向外部(例如,用户或机器学习模型)输出各种信息,包括操作体位置、真实运动方向、有效运动方向、运动轨迹、执行的操作结果等。该输出设备14可以包括例如显示器、扬声器、打印机、以及通信网络及其所连接的远程输出设备等等。
当然,为了简化,图15中仅示出了该电子设备10中与本申请有关的组件中的一些,省略了诸如总线、输入/输出接口等等的组件。除此之外,根据具体应用情况,电子设备10还可以包括任何其他适当的组件。
示例性计算机程序产品和计算机可读存储介质
除了上述方法和设备以外,本申请的实施例还可以是计算机程序产品,其包括计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的操作体的运动轨迹识别方法中的步骤。
所述计算机程序产品可以以一种或多种程序设计语言的任意组合来编写用于执行本申请实施例操作的程序代码,所述程序设计语言包括面向对象的程序设计语言,诸如Java、C++等,还包括常规的过程式程序设计语言,诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。
此外,本申请的实施例还可以是计算机可读存储介质,其上存储有计算机程序指令,所述计算机程序指令在被处理器运行时使得所述处理器执行本说明书上述“示例性方法”部分中描述的根据本申请各种实施例的操作体的运动轨迹识别方法中的步骤。
所述计算机可读存储介质可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以包括但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
以上结合具体实施例描述了本申请的基本原理,但是,需要指出的是,在本申请中提及的优点、优势、效果等仅是示例而非限制,不能认为这些优点、优势、效果等是本申请的各个实施例必须具备的。另外,上述公开的具体细节仅是为了示例的作用和便于理解的作用,而非限制,上述细节并不限制本申请为必须采用上述具体的细节来实现。
本申请中涉及的器件、装置、设备、系统的方框图仅作为例示性的例子并且不意图要求或暗示必须按照方框图示出的方式进行连接、布置、配置。如本领域技术人员将认识到的,可以按任意方式连接、布置、配置这些器件、装置、设备、系统。诸如“包括”、“包含”、“具有”等等的词语是开放性词汇,指“包括但不限于”,且可与其互换使用。这里所使用的词汇“或”和“和”指词汇“和/或”,且可与其互换使用,除非上下文明确指示不是如此。这里所使用的词汇“诸如”指词组“诸如但不限于”,且可与其互换使用。
还需要指出的是,在本申请的装置、设备和方法中,各部件或各步骤是可以分解和/或重新组合的。这些分解和/或重新组合应视为本申请的等效方案。
提供所公开的方面的以上描述以使本领域的任何技术人员能够做出或者使用本申请。对这些方面的各种修改对于本领域技术人员而言是非常显而易见的,并且在此定义的一般原理可以应用于其他方面而不脱离本申请的范围。因此,本申请不意图被限制到在此示出的方面,而是按照与在此公开的原理和新颖的特征一致的最宽范围。
为了例示和描述的目的已经给出了以上描述。此外,此描述不意图将本申请的实施例限制到在此公开的形式。尽管以上已经讨论了多个示例方面和实施例,但是本领域技术人员将认识到其某些变型、修改、改变、添加和子组合。

Claims (20)

1.一种操作体的运动轨迹识别方法,包括:
在当前图像帧中检测目标操作体,所述目标操作体是正被跟踪的第一状态的操作体;
响应于在所述当前图像帧中检测到所述目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置;
根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向;
根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向;以及
根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。
2.如权利要求1所述的方法,还包括:
依次接收成像器件所获取的图像帧序列中的每个图像帧;
在所述每个图像帧中检测潜在的第一状态的操作体;
响应于在某一图像帧中检测到所述潜在的第一状态的操作体,将所述潜在的第一状态的操作体作为预跟踪操作体开始预跟踪;以及
响应于在所述某一图像帧之后的第一预定数目的连续图像帧中都跟踪到所述预跟踪操作体,并且所述预跟踪操作体在所述第一预定数目的连续图像帧中的位置均位于同一区域内,将所述预跟踪操作体确定为所述目标操作体。
3.如权利要求1所述的方法,其中,确定所述目标操作体在所述当前图像帧中的当前位置包括:
获取所述目标操作体在所述当前图像帧中的识别位置;
根据所述目标操作体在所述当前图像帧之前的第一组历史图像帧中的历史位置来预测所述目标操作体在所述当前图像帧中的估计位置;以及
根据所述目标操作体在所述当前图像帧之前的第二组历史图像帧中的真实运动方向和历史位置中的至少一个、以及所述识别位置和所述估计位置来确定所述当前位置。
4.如权利要求1所述的方法,在根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向之前,还包括:
获取所述目标操作体在所述当前图像帧之前的第二预定数目的连续历史图像帧中的多个历史位置;以及
响应于所述当前位置和所述多个历史位置均位于同一区域内,停止所述目标操作体的跟踪操作,并将它添加到跟踪黑名单中。
5.如权利要求1所述的方法,其中,根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向包括:
获取所述目标操作体在所述当前图像帧之前的一个历史图像帧中的前一历史位置;以及
将所述当前图像帧中从所述前一历史位置到所述当前位置的连线方向确定为所述当前真实运动方向。
6.如权利要求1所述的方法,其中,根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向包括:
获取所述目标操作体在所述当前图像帧之前的一个历史图像帧中的前一历史位置和在所述前一历史图像帧再之前的一个历史图像帧中的前二历史位置;
在所述当前图像帧中以所述当前位置、前一历史位置、和前二历史位置三个位置点确定一个圆形;以及
将所述圆形在所述当前位置上的切线方向确定为所述当前真实运动方向,所述切线方向与从所述前一历史位置到所述当前位置的连线方向之间的夹角为锐角。
7.如权利要求1所述的方法,在根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向之前,还包括:
将所述当前真实运动方向加入到待处理方向集合;以及
响应于在所述待处理方向集合中存在第三预定数目的连续图像帧的多个真实运动方向,对所述多个真实运动方向进行平滑化处理。
8.如权利要求7所述的方法,其中,对所述多个真实运动方向进行平滑化处理包括:
计算所述多个真实运动方向中每两个相邻图像帧中的真实运动方向之间的角度差值;以及
响应于在所述多个真实运动方向中存在错误的真实运动方向,所述错误的真实运动方向是其与相邻的两个真实运动方向之间的两个角度差值中的至少一个大于角度阈值的真实运动方向,从所述多个真实运动方向之中去除所述错误的真实运动方向。
9.如权利要求1所述的方法,其中,根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向包括:
根据所述预定义的多个有效运动方向对所述当前真实运动方向进行方向拟合,以将所述真实运动方向投影到与之最为接近的有效运动方向上;以及
将所述最为接近的有效运动方向确定为当前运动方向。
10.如权利要求1所述的方法,其中,根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹包括:
将所述当前有效运动方向添加到所述历史运动轨迹的最后,以生成所述当前运动轨迹,所述历史运动轨迹由未作出操作响应的历史有效运动方向按照相应图像帧的时间顺序所形成。
11.如权利要求10所述的方法,将所述当前有效运动方向添加到所述历史运动轨迹的最后,以生成所述当前运动轨迹包括:
判断所述当前有效运动方向与所述历史运动轨迹中未作出操作响应的前一历史有效运动方向是否相同;以及
响应于所述当前有效运动方向与所述未作出操作响应的前一历史有效运动方向不同,将所述当前有效运动方向添加到所述历史运动轨迹的最后,以生成所述当前运动轨迹。
12.如权利要求1所述的方法,还包括:
比较所述当前运动轨迹与多个预定义运动轨迹;以及
响应于所述当前运动轨迹与多个预定义运动轨迹中的一个预定义运动轨迹相同,执行与所述一个预定义运动轨迹相关联的操作。
13.如权利要求1所述的方法,还包括:
响应于在所述当前图像帧中没有检测到所述目标操作体,停止所述目标操作体的跟踪操作。
14.如权利要求13所述的方法,其中,响应于在所述当前图像帧中没有检测到所述目标操作体,停止所述目标操作体的跟踪操作包括:
响应于在所述当前图像帧中没有检测到所述目标操作体,并且在所述当前图像帧之前的第四预定数目的连续历史图像帧中也一直没有检测到所述目标操作体,停止所述跟踪操作。
15.如权利要求13所述的方法,其中,响应于在所述当前图像帧中没有检测到所述目标操作体,停止所述目标操作体的跟踪操作包括:
响应于在所述当前图像帧之前的一个历史图像帧中的前一历史位置检测到所述目标操作体,在所述当前图像帧中没有检测到所述目标操作体、但是检测到第二状态的操作体,并且所述第二状态的操作体在所述当前图像帧中位于所述前一历史位置的一邻域内,停止所述跟踪操作。
16.如权利要求15所述的方法,其中,所述操作体是用户的手部,所述第一状态是用户的手掌朝向成像器件,所述第二状态是用户的手背朝向成像器件。
17.如权利要求13所述的方法,其中,响应于在所述当前图像帧中没有检测到所述目标操作体,停止所述目标操作体的跟踪操作包括:
响应于在所述当前图像帧中没有检测到所述目标操作体,在所述当前图像帧中和所述当前图像帧之前的历史图像帧中检测到所述目标操作体从第一状态变化到第三状态的趋势中的至少一部分,停止所述跟踪操作。
18.如权利要求17所述的方法,其中,所述操作体是用户的手部,所述第一状态是用户的手掌朝向成像器件,所述第三状态是用户的指尖朝向成像器件。
19.一种操作体的运动轨迹识别装置,包括:
操作体跟踪单元,用于在当前图像帧中检测目标操作体,所述目标操作体是正被跟踪的第一状态的操作体;
位置确定单元,用于响应于在所述当前图像帧中检测到所述目标操作体,确定所述目标操作体在所述当前图像帧中的当前位置;
真实方向确定单元,用于根据所述当前位置和所述目标操作体在历史图像帧中的历史位置来确定所述目标操作体在所述当前图像帧中的当前真实运动方向;
有效方向确定单元,用于根据预定义的多个有效运动方向和所述当前真实运动方向来确定所述目标操作体在所述当前图像帧中的当前有效运动方向;以及
轨迹确定单元,用于根据历史运动轨迹和所述当前有效运动方向来识别所述目标操作体的当前运动轨迹。
20.一种电子设备,包括:
处理器;
存储器;以及
存储在所述存储器中的计算机程序指令,所述计算机程序指令在被所述处理器运行时使得所述处理器执行如权利要求1-18中任一项所述的方法。
CN201710182394.0A 2017-03-24 2017-03-24 操作体的运动轨迹识别方法、装置和电子设备 Active CN106951871B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710182394.0A CN106951871B (zh) 2017-03-24 2017-03-24 操作体的运动轨迹识别方法、装置和电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710182394.0A CN106951871B (zh) 2017-03-24 2017-03-24 操作体的运动轨迹识别方法、装置和电子设备

Publications (2)

Publication Number Publication Date
CN106951871A true CN106951871A (zh) 2017-07-14
CN106951871B CN106951871B (zh) 2020-07-28

Family

ID=59473203

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710182394.0A Active CN106951871B (zh) 2017-03-24 2017-03-24 操作体的运动轨迹识别方法、装置和电子设备

Country Status (1)

Country Link
CN (1) CN106951871B (zh)

Cited By (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506133A (zh) * 2017-08-24 2017-12-22 歌尔股份有限公司 投影触控系统的操作轨迹响应方法及系统
CN107944337A (zh) * 2017-10-13 2018-04-20 西安天和防务技术股份有限公司 一种低空目标智能跟踪方法及系统、存储介质及电子终端
CN108168042A (zh) * 2017-11-17 2018-06-15 珠海格力电器股份有限公司 空调及其控制方法、装置和系统
CN108875667A (zh) * 2018-06-27 2018-11-23 北京字节跳动网络技术有限公司 目标识别方法、装置、终端设备和存储介质
CN109086725A (zh) * 2018-08-10 2018-12-25 北京华捷艾米科技有限公司 手部跟踪方法及机器可读存储介质
CN109344793A (zh) * 2018-10-19 2019-02-15 北京百度网讯科技有限公司 用于识别空中手写的方法、装置、设备以及计算机可读存储介质
CN109492571A (zh) * 2018-11-02 2019-03-19 北京地平线机器人技术研发有限公司 识别人体年龄的方法、装置及电子设备
CN110070565A (zh) * 2019-03-12 2019-07-30 杭州电子科技大学 一种基于图像叠加的船舶轨迹预测方法
CN110170167A (zh) * 2019-05-28 2019-08-27 上海米哈游网络科技股份有限公司 一种画面显示方法、装置、设备及介质
CN110645630A (zh) * 2019-10-10 2020-01-03 吉林工程技术师范学院 一种供暖的方法及装置
CN111079525A (zh) * 2019-11-05 2020-04-28 阿里巴巴集团控股有限公司 图像处理方法、设备、系统及存储介质
CN111292350A (zh) * 2018-12-10 2020-06-16 北京京东尚科信息技术有限公司 目标朝向的优化算法、系统、电子设备及存储介质
CN111681199A (zh) * 2019-02-25 2020-09-18 北京地平线机器人技术研发有限公司 检测图像有效性的方法及装置
CN112543899A (zh) * 2019-12-26 2021-03-23 深圳市大疆创新科技有限公司 可移动载体的控制方法、控制装置、计算机可读存储介质
CN112634320A (zh) * 2019-09-24 2021-04-09 成都通甲优博科技有限责任公司 一种交叉路口识别物体运动方向的方法及系统
CN113496167A (zh) * 2020-04-02 2021-10-12 北京京东乾石科技有限公司 确定目标运动轨迹的方法和装置
CN113702905A (zh) * 2021-08-27 2021-11-26 Oppo广东移动通信有限公司 位置信息的确定方法、装置、控制设备及存储介质
WO2021248815A1 (zh) * 2020-06-13 2021-12-16 德派(嘉兴)医疗器械有限公司 一种高精度的儿童坐姿检测与矫正方法及装置
CN115065850A (zh) * 2022-07-05 2022-09-16 中国电信股份有限公司 体感操控方法及装置、存储介质、电子设备

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231755A (zh) * 2007-01-25 2008-07-30 上海遥薇实业有限公司 运动目标跟踪及数量统计方法
US20100027845A1 (en) * 2008-07-31 2010-02-04 Samsung Electronics Co., Ltd. System and method for motion detection based on object trajectory
CN102339125A (zh) * 2010-07-23 2012-02-01 夏普株式会社 信息设备及其控制方法和系统
CN102789568A (zh) * 2012-07-13 2012-11-21 浙江捷尚视觉科技有限公司 一种基于深度信息的手势识别方法
CN103376890A (zh) * 2012-04-16 2013-10-30 富士通株式会社 基于视觉的手势遥控系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101231755A (zh) * 2007-01-25 2008-07-30 上海遥薇实业有限公司 运动目标跟踪及数量统计方法
US20100027845A1 (en) * 2008-07-31 2010-02-04 Samsung Electronics Co., Ltd. System and method for motion detection based on object trajectory
CN102339125A (zh) * 2010-07-23 2012-02-01 夏普株式会社 信息设备及其控制方法和系统
CN103376890A (zh) * 2012-04-16 2013-10-30 富士通株式会社 基于视觉的手势遥控系统
CN102789568A (zh) * 2012-07-13 2012-11-21 浙江捷尚视觉科技有限公司 一种基于深度信息的手势识别方法

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107506133A (zh) * 2017-08-24 2017-12-22 歌尔股份有限公司 投影触控系统的操作轨迹响应方法及系统
CN107506133B (zh) * 2017-08-24 2020-09-18 歌尔股份有限公司 投影触控系统的操作轨迹响应方法及系统
CN107944337A (zh) * 2017-10-13 2018-04-20 西安天和防务技术股份有限公司 一种低空目标智能跟踪方法及系统、存储介质及电子终端
CN108168042A (zh) * 2017-11-17 2018-06-15 珠海格力电器股份有限公司 空调及其控制方法、装置和系统
CN108875667A (zh) * 2018-06-27 2018-11-23 北京字节跳动网络技术有限公司 目标识别方法、装置、终端设备和存储介质
CN108875667B (zh) * 2018-06-27 2021-03-02 北京字节跳动网络技术有限公司 目标识别方法、装置、终端设备和存储介质
CN109086725A (zh) * 2018-08-10 2018-12-25 北京华捷艾米科技有限公司 手部跟踪方法及机器可读存储介质
US11423700B2 (en) 2018-10-19 2022-08-23 Beijing Baidu Netcom Science And Technology Co., Ltd. Method, apparatus, device and computer readable storage medium for recognizing aerial handwriting
CN109344793A (zh) * 2018-10-19 2019-02-15 北京百度网讯科技有限公司 用于识别空中手写的方法、装置、设备以及计算机可读存储介质
CN109344793B (zh) * 2018-10-19 2021-03-16 北京百度网讯科技有限公司 用于识别空中手写的方法、装置、设备以及计算机可读存储介质
CN109492571A (zh) * 2018-11-02 2019-03-19 北京地平线机器人技术研发有限公司 识别人体年龄的方法、装置及电子设备
CN111292350A (zh) * 2018-12-10 2020-06-16 北京京东尚科信息技术有限公司 目标朝向的优化算法、系统、电子设备及存储介质
CN111292350B (zh) * 2018-12-10 2024-03-01 北京京东乾石科技有限公司 目标朝向的优化算法、系统、电子设备及存储介质
CN111681199B (zh) * 2019-02-25 2023-11-03 北京地平线机器人技术研发有限公司 检测图像有效性的方法及装置
CN111681199A (zh) * 2019-02-25 2020-09-18 北京地平线机器人技术研发有限公司 检测图像有效性的方法及装置
CN110070565A (zh) * 2019-03-12 2019-07-30 杭州电子科技大学 一种基于图像叠加的船舶轨迹预测方法
CN110170167B (zh) * 2019-05-28 2023-02-28 上海米哈游网络科技股份有限公司 一种画面显示方法、装置、设备及介质
CN110170167A (zh) * 2019-05-28 2019-08-27 上海米哈游网络科技股份有限公司 一种画面显示方法、装置、设备及介质
CN112634320A (zh) * 2019-09-24 2021-04-09 成都通甲优博科技有限责任公司 一种交叉路口识别物体运动方向的方法及系统
CN110645630A (zh) * 2019-10-10 2020-01-03 吉林工程技术师范学院 一种供暖的方法及装置
CN111079525B (zh) * 2019-11-05 2023-05-30 阿里巴巴集团控股有限公司 图像处理方法、设备、系统及存储介质
CN111079525A (zh) * 2019-11-05 2020-04-28 阿里巴巴集团控股有限公司 图像处理方法、设备、系统及存储介质
CN112543899A (zh) * 2019-12-26 2021-03-23 深圳市大疆创新科技有限公司 可移动载体的控制方法、控制装置、计算机可读存储介质
WO2021128184A1 (zh) * 2019-12-26 2021-07-01 深圳市大疆创新科技有限公司 可移动载体的控制方法、控制装置、计算机可读存储介质
CN113496167A (zh) * 2020-04-02 2021-10-12 北京京东乾石科技有限公司 确定目标运动轨迹的方法和装置
WO2021248815A1 (zh) * 2020-06-13 2021-12-16 德派(嘉兴)医疗器械有限公司 一种高精度的儿童坐姿检测与矫正方法及装置
CN113702905A (zh) * 2021-08-27 2021-11-26 Oppo广东移动通信有限公司 位置信息的确定方法、装置、控制设备及存储介质
CN115065850A (zh) * 2022-07-05 2022-09-16 中国电信股份有限公司 体感操控方法及装置、存储介质、电子设备
CN115065850B (zh) * 2022-07-05 2024-01-12 中国电信股份有限公司 体感操控方法及装置、存储介质、电子设备

Also Published As

Publication number Publication date
CN106951871B (zh) 2020-07-28

Similar Documents

Publication Publication Date Title
CN106951871A (zh) 操作体的运动轨迹识别方法、装置和电子设备
CN109657533B (zh) 行人重识别方法及相关产品
CN109840504B (zh) 物品取放行为识别方法、装置、存储介质及设备
CN111857356B (zh) 识别交互手势的方法、装置、设备和存储介质
CN103926999B (zh) 手掌开合手势识别方法和装置、人机交互方法和设备
CN106682602B (zh) 一种驾驶员行为识别方法及终端
CN108197589B (zh) 动态人体姿态的语义理解方法、装置、设备和存储介质
Masood et al. Measuring and reducing observational latency when recognizing actions
US20200042687A1 (en) Method and device for authenticating user using user's behavior pattern
CN112734808B (zh) 一种车辆行驶环境下易受伤害道路使用者的轨迹预测方法
US20140071042A1 (en) Computer vision based control of a device using machine learning
CN102073414B (zh) 基于机器视觉的多点触摸跟踪方法
MacLean et al. Fast hand gesture recognition for real-time teleconferencing applications
CN109543641A (zh) 一种实时视频的多目标去重方法、终端设备及存储介质
CN111095164A (zh) 用于依据姿态来检测用户输入的方法和设备
CN113033523B (zh) 跌倒判断模型的构建方法及系统、跌倒判断方法及系统
CN112527113A (zh) 手势识别及手势识别网络的训练方法和装置、介质和设备
CN110059646A (zh) 训练动作规划模型的方法及目标搜索方法
CN113537445A (zh) 一种轨迹预测方法、装置、设备和存储介质
CN109598285A (zh) 一种模型的处理方法、装置及设备
CN111241961A (zh) 人脸检测方法、装置及电子设备
WO2014106862A2 (en) A method and system enabling control of different digital devices using gesture or motion control
Kirkland et al. Perception understanding action: adding understanding to the perception action cycle with spiking segmentation
CN115291786A (zh) 一种基于机器学习的误触判断方法、装置和存储介质
Wang et al. Online gesture recognition algorithm applied to HUD based smart driving system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant