CN104395856B - 用于辨识示意动作的计算机实施方法及系统 - Google Patents

用于辨识示意动作的计算机实施方法及系统 Download PDF

Info

Publication number
CN104395856B
CN104395856B CN201380033288.6A CN201380033288A CN104395856B CN 104395856 B CN104395856 B CN 104395856B CN 201380033288 A CN201380033288 A CN 201380033288A CN 104395856 B CN104395856 B CN 104395856B
Authority
CN
China
Prior art keywords
cluster
image
dumb show
color
dumb
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
Application number
CN201380033288.6A
Other languages
English (en)
Other versions
CN104395856A (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.)
Qualcomm Inc
Original Assignee
Qualcomm Inc
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 Qualcomm Inc filed Critical Qualcomm Inc
Publication of CN104395856A publication Critical patent/CN104395856A/zh
Application granted granted Critical
Publication of CN104395856B publication Critical patent/CN104395856B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/002Specific input/output arrangements not covered by G06F3/01 - G06F3/16
    • G06F3/005Input arrangements through a video camera
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/017Gesture based interaction, e.g. based on a set of recognized hand gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T7/00Image analysis
    • G06T7/20Analysis of motion
    • G06T7/246Analysis of motion using feature-based methods, e.g. the tracking of corners or segments
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V10/00Arrangements for image or video recognition or understanding
    • G06V10/40Extraction of image or video features
    • G06V10/56Extraction of image or video features relating to colour
    • 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
    • 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
    • G06V40/28Recognition of hand or arm movements, e.g. recognition of deaf sign language
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/23Clustering techniques
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10016Video; Image sequence
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/10Image acquisition modality
    • G06T2207/10024Color image
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30196Human being; Person
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2207/00Indexing scheme for image analysis or image enhancement
    • G06T2207/30Subject of image; Context of image processing
    • G06T2207/30241Trajectory

Landscapes

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

Abstract

提出用于辨识示意动作的各种布置。可接收场景的多个彩色图像。可处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像。对所述多个彩色图像中的图像的所述处理可包括基于色彩将经处理的所述图像的像素分组成多个群集。可使用所述多个经处理彩色图像中的所述多个群集中的群集的移动来识别示意动作。

Description

用于辨识示意动作的计算机实施方法及系统
背景技术
示意动作可为由一或多个手(或其它类型的对象)进行的与待由电子装置执行的命令相关联的特定移动。对更自然且方便的人机接口(machine-human interface)的需求可被视为示意动作辨识背后的驱动力,因为越来越多的电子装置成为日常生活的一部分。举例来说,示意动作检测可可用于将输入提供到计算机化系统。然而,至少部分地归因于识别符合条件来在检测示意动作之前在一或多个图像中执行示意动作的对象(例如人手)的需要,示意动作检测可为处理器密集型的。
发明内容
在一些实施例中,提出一种辨识示意动作的计算机实施方法。所述方法可包含接收场景的多个彩色图像。所述方法可包含处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像。对所述多个彩色图像中的图像的所述处理可包含基于色彩将经处理的所述图像的像素分组成多个群集。对所述多个彩色图像中的图像的所述处理可包含使用所述多个经处理彩色图像中的所述多个群集中的群集的移动来识别示意动作。
此类方法的实施例可包含以下各者中的一或多者:处理所述多个彩色图像中的每一图像以形成所述多个经处理彩色图像可包含将一或多个跟踪点指派给所述多个群集中的每一群集。使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作可包含使用所述多个群集中的所述群集的跟踪点的移动来识别所述示意动作。每一跟踪点可表示所述图像内的对应色彩群集的位置。所述对应色彩群集的所述位置可包含基于所述对应色彩群集中的像素的坐标的平均值、所述对应色彩群集中的像素的坐标的中值或两者的值。所述多个经处理彩色图像中的每一图像的每一像素可分组于所述多个群集中。所述多个经处理彩色图像中的每一图像的每一像素可基于色彩而单独分组。使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作可包含:基于示意动作辨识准则评估所述多个群集中的每一群集的移动;以及分析所述多个群集中的每一群集的所述移动以基于评估所述移动而确定每一群集是否执行了示意动作。
另外或替代地,此类方法的实施例可包含以下各者中的一或多者:在分析所述多个群集中的每一群集的所述移动之前,所述方法可包含尚未执行识别对应于所述多个群集中的每一群集的一或多个类型的对象。所述示意动作辨识准则可包含以下各者中的至少一者:群集的移动轨迹、指示群集的移动的一连串代码向量、用一或多个HMM评估的多个历史向量,及一群集的移动速度与所述多个群集中的其它群集的移动速度的阈值及标准偏差的比较。处理所述多个彩色图像中的每一图像以形成所述多个经处理彩色图像进一步包含,对于所述多个彩色图像中的每一者,在对所述图像的所述像素进行分组之前,转换所述图像的一或多个色彩。转换所述图像的所述一或多个色彩可包含调整所述图像的所述一或多个色彩,使得所述图像的所述一或多个色彩符合Lab色彩空间。所述方法可包含基于所述移动来识别对象。所述对象可为手。使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作可包含检测所述群集的所述移动,包括产生多个历史向量。每一历史向量可对应于相应跟踪点。每一历史向量可经配置以识别相应跟踪点随时间推移的移动。使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作可包含:比较所述多个历史向量与多个预定义示意动作;以及识别最接近地匹配所述多个预定义示意动作中的预定义示意动作的历史向量。
在一些实施例中,提出一种用于辨识示意动作的系统。所述系统可包含一个或多个处理器。所述系统还可包含存储器,所述存储器与所述一个或多个处理器以通信方式耦合且可由所述一个或多个处理器读取,且其中存储有处理器可读指令。在由所述一个或多个处理器执行时,所述处理器可读指令可致使所述一个或多个处理器接收场景的多个彩色图像。所述处理器可读指令可致使所述一个或多个处理器处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像。对所述多个彩色图像中的图像的所述处理可包含基于色彩将经处理的所述图像的像素分组成多个群集。对所述多个彩色图像中的所述图像的所述处理可包含使用所述多个经处理彩色图像中的所述多个群集中的群集的移动来识别示意动作。
此类系统的实施例可包含以下各者中的一或多者:致使所述一个或多个处理器处理所述多个彩色图像中的每一图像以形成所述多个经处理彩色图像的所述处理器可读指令可进一步包含经配置以致使所述一个或多个处理器将一或多个跟踪点指派给所述多个群集中的每一群集的处理器可读指令。致使所述一个或多个处理器使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的所述处理器可读指令可包含经配置以致使所述一个或多个处理器使用所述多个群集中的所述群集的跟踪点的移动来识别所述示意动作的处理器可读指令。每一跟踪点可表示所述图像内的对应色彩群集的位置。所述对应色彩群集的所述位置可包含基于所述对应色彩群集中的像素的坐标的平均值、所述对应色彩群集中的像素的坐标的中值或两者的值。所述多个经处理彩色图像中的每一图像的每一像素可分组到所述多个群集中的至少一者中。所述多个经处理彩色图像中的每一图像的每一像素可基于色彩而单独分组。致使所述一个或多个处理器使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的所述处理器可读指令可包含经配置以致使所述一个或多个处理器基于示意动作辨识准则评估所述多个群集中的每一群集的移动以基于评估所述移动而确定每一群集是否执行了示意动作的处理器可读指令。
另外或替代地,此类系统的实施例可包含以下各者中的一或多者:在所述一个或多个处理器分析所述多个群集中的每一群集的所述移动之前,可能尚未识别对应于所述多个群集中的每一群集的一或多个类型的对象。所述示意动作辨识准则可包含以下各者中的至少一者:群集的所述移动的轨迹、指示群集的移动的一连串代码向量、用一或多个HMM评估的多个历史向量,及一群集的移动速度与所述多个群集中的其它群集的移动速度的阈值及标准偏差的比较。致使所述一个或多个处理器处理所述多个彩色图像中的每一图像以形成所述多个经处理彩色图像的所述处理器可读指令可进一步包含经配置以致使所述一个或多个处理器对于所述多个彩色图像中的每一者,在对所述图像的所述像素进行分组之前转换所述图像的一或多个色彩的处理器可读指令。致使所述一个或多个处理器转换所述图像的所述一或多个色彩的所述处理器可读指令可包含经配置以致使所述一个或多个处理器调整所述图像的所述一或多个色彩,使得所述图像的所述一或多个色彩符合Lab色彩空间的处理器可读指令。
另外或替代地,此类系统的实施例可包含以下各者中的一或多者:所述处理器可读指令可包含在执行时致使所述一个或多个处理器基于所述移动来识别对象的处理器可读指令。所述对象可为手。致使所述一个或多个处理器使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的所述处理器可读指令可进一步包含经配置以致使所述一个或多个处理器检测所述群集的所述移动的处理器可读指令,所述检测包括产生多个历史向量。每一历史向量可对应于相应跟踪点。每一历史向量可经配置以识别相应跟踪点随时间推移的移动。致使所述一个或多个处理器使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的所述处理器可读指令可包含经配置以致使所述一个或多个处理器进行以下操作的处理器可读指令:比较所述多个历史向量与多个预定义示意动作;以及识别最接近地匹配所述多个预定义示意动作中的预定义示意动作的历史向量。
在一些实施例中,提出一种用于辨识示意动作的设备。所述设备可包含用于接收场景的多个彩色图像的装置。所述设备可包含用于处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像的装置。所述用于处理所述多个彩色图像中的图像的装置可包含:用于基于色彩将经处理的所述图像的像素分组成多个群集的装置。所述设备可包含用于使用所述多个经处理彩色图像中的所述多个群集中的群集的移动来识别示意动作的装置。
此类设备的实施例可包含以下各者中的一或多者:所述设备可包含用于将一或多个跟踪点指派给所述多个群集中的每一群集的装置。所述用于使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的装置可包含用于使用所述多个群集中的所述群集的跟踪点的移动来识别所述示意动作的装置。每一跟踪点可表示所述图像内的对应色彩群集的位置。所述对应色彩群集的所述位置可包含基于所述对应色彩群集中的像素的坐标的平均值、所述对应色彩群集中的像素的坐标的中值或两者的值。所述用于将一或多个跟踪点指派给所述多个群集中的每一群集的装置可包含用于将两个或两个以上跟踪点指派给所述多个群集中的所述群集的装置,且所述用于识别的装置可包含用于针对所述两个或两个以上跟踪点中的每一跟踪点单独地确定所述跟踪点的移动是否对应于所述示意动作的装置。所述多个经处理彩色图像中的每一图像的每一像素可分组于所述多个群集中的至少一者中。所述多个经处理彩色图像中的每一图像的每一像素可基于色彩而单独分组。所述用于使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的装置可包含用于基于示意动作辨识准则评估所述多个群集中的每一群集的移动以确定每一群集是否执行了所述示意动作的装置。所述设备可包含用于在分析所述多个群集中的每一群集的所述移动之前尚未执行识别对应于所述多个群集中的每一群集的一或多个类型的对象的装置。所述示意动作辨识准则可包含以下各者中的至少一者:群集的移动轨迹、指示群集的移动的一连串代码向量、用一或多个HMM评估的多个历史向量,及一群集的移动速度与所述多个群集中的其它群集的移动速度的阈值及标准偏差的比较。
另外或替代地,此类设备的实施例可包含以下各者中的一或多者:所述用于处理所述多个彩色图像中的每一图像以形成所述多个经处理彩色图像的装置可进一步包含对于所述多个彩色图像中的每一者,用于在对所述图像的所述像素进行分组之前转换所述图像的一或多个色彩的装置。所述设备可包含用于调整所述图像的所述一或多个色彩,使得所述图像的所述一或多个色彩符合Lab色彩空间的装置。所述设备可包含用于基于所述移动来识别对象的装置。所述对象可为手。所述用于使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的装置可包含用于检测所述群集的所述移动的装置,所述检测包括产生多个历史向量。所述多个历史向量中的每一历史向量可对应于相应跟踪点。所述多个历史向量中的每一历史向量可经配置以识别所述相应跟踪点随时间推移的移动。所述用于使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的装置可包含用于比较所述多个历史向量与多个预定义示意动作的装置。所述用于使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的装置可包含用于识别所述多个历史向量中最接近地匹配所述多个预定义示意动作中的预定义示意动作的历史向量的装置。
在一些实施例中,可提出一种用于辨识示意动作的设备。所述设备可包含用于接收场景的多个彩色图像的装置。所述设备可包含用于处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像的装置。所述用于处理所述多个彩色图像中的图像的装置可包含:用于基于色彩将经处理的所述图像的像素分组成多个群集的装置;以及用于使用所述多个经处理彩色图像中的所述多个群集中的群集的移动来识别示意动作的装置。
此类设备的实施例可包含以下各者中的一或多者:所述用于处理所述多个彩色图像中的每一图像以形成所述多个经处理彩色图像的装置可包含用于将一或多个跟踪点指派给所述多个群集中的每一群集的装置。所述用于使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的装置可包含用于使用所述多个群集中的所述群集的跟踪点的移动来识别所述示意动作的装置。
在一些实施例中,提出一种驻留在非暂时性处理器可读媒体上用于辨识示意动作的计算机程序产品。所述计算机程序产品可包含经配置以致使处理器接收场景的多个彩色图像的处理器可读指令。所述处理器可读指令可进一步经配置以致使所述处理器处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像。对所述多个彩色图像中的图像的所述处理可包含基于色彩将经处理的所述图像的像素分组成多个群集。对所述多个彩色图像中的图像的所述处理可包含使用所述多个经处理彩色图像中的所述多个群集中的群集的移动来识别示意动作。
此类计算机程序产品的实施例可包含以下各者中的一或多者:根据权利要求36所述的用于辨识示意动作的计算机程序产品,其中致使所述处理器处理所述多个彩色图像中的每一图像以形成所述多个经处理彩色图像的所述处理器可读指令可进一步包含经配置以致使所述处理器将一或多个跟踪点指派给所述多个群集中的每一群集的处理器可读指令。致使所述处理器使用所述多个经处理彩色图像中的所述多个群集中的所述群集的所述移动来识别所述示意动作的所述处理器可读指令可包含经配置以致使所述处理器使用所述多个群集中的所述群集的跟踪点的移动来识别所述示意动作的处理器可读指令。每一跟踪点可表示所述图像内的对应色彩群集的位置。
在一些实施例中,提出一种辨识示意动作的计算机实施方法。所述方法可包含经由输入接口接收场景的多个彩色图像。所述方法可包含利用处理单元处理所述多个图像中的每一图像以形成多个经处理彩色图像。对每一图像的所述处理可包含:基于色彩将所述图像的像素分组成多个群集;以及自所述经处理彩色图像确定所述多个群集中的至少一者的运动是否包括示意动作。
此类方法的实施例可包含以下各者中的一或多者:所述方法可包含转换所述图像的一或多个色彩。所述方法可包含为所述多个群集中的每一者指派至少一个跟踪点。所述确定所述多个群集中的所述至少一者的所述运动是否包括所述示意动作可包含:基于一或多个示意动作辨识准则评估所述多个群集中的两者或两者以上的所述运动;以及基于所述评估确定所述两者中的每一者的所述运动是否包括示意动作。所述示意动作辨识准则可包含以下各者中的至少一者:群集的运动轨迹、指示群集的运动的一连串代码向量、用HMM评估的多个历史向量,及一群集的运动速度与其它群集的运动速度的阈值及标准偏差的比较。每一跟踪点可表示所述图像上的表示对应色彩群集的组合位置的位置。所述对应色彩群集的所述组合位置可包含基于所述对应色彩群集中的像素的坐标的平均值或中值中的任一者或两者的值。对于所述多个彩色图像中的每一者,转换所述图像的所述一或多个色彩可包含调整所述图像的所述一或多个色彩,使得所述图像的所述色彩符合Lab色彩空间。所述方法可包含基于所述运动来识别对象。
在一些实施例中,提出一种辨识由对象作出的示意动作的计算机实施方法。所述方法可包含经由输入接口接收所述对象的多个彩色图像。所述方法可包含利用处理单元处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像。对每一图像的所述处理可包含:转换所述图像的一或多个色彩;将所述图像的所述色彩分组成多个色彩群集;以及为所述多个色彩群集中的每一者指派至少一个跟踪点。所述方法可包含自所述经处理彩色图像基于所述跟踪点中的至少一者确定所述对象的运动。所述方法可包含基于所述所确定的运动来辨识示意动作。
此类方法的实施例可包含以下各者中的一或多者:每一跟踪点可表示所述图像上的表示对应色彩群集的组合位置的位置。所述对应色彩群集的所述组合位置可包含基于所述对应色彩群集中的像素的坐标的平均值或中值中的任一者或两者的值。对于所述多个彩色图像中的每一者,所述方法可包含转换所述图像的所述一或多个色彩,包括调整所述图像的所述一或多个色彩,使得所述图像的所述色彩符合Lab色彩空间。所述对象可为手。所述多个色彩群集可包含至少两个色彩群集。所述多个色彩群集中的每一者可被指派多个跟踪点。检测所述对象的所述运动可包含产生多个历史向量,其中:每一历史向量对应于相应跟踪点,且每一历史向量经配置以识别所述相应跟踪点随时间推移的移动。辨识所述示意动作可包含:比较所述多个历史向量中的每一者与已知示意动作;以及识别最接近地匹配已知示意动作的历史向量。辨识所述示意动作可包含基于历史向量的相应跟踪点的速度来调整所述历史向量的长度。辨识所述示意动作可包含分析所述多个历史向量中的每一者以对于每一历史向量的每一相应跟踪点确定:速度,及所述速度的标准偏差。基于所述所确定的运动来辨识所述示意动作可包含利用一或多个经过训练的机器学习算法。
在一些实施例中,提出一种具有嵌入其上的用于辨识由对象作出的示意动作的指令的非暂时性计算机可读媒体。所述指令可包含用于接收所述对象的多个彩色图像的计算机可执行代码。所述指令可包含用于处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像的计算机可执行代码。对每一图像的所述处理可包含:转换所述图像的一或多个色彩;将所述图像的所述色彩分组成多个色彩群集;以及为所述多个色彩群集中的每一者指派至少一个跟踪点。所述指令可包含用于进行以下操作的计算机可执行代码:自所述经处理彩色图像基于所述跟踪点中的至少一者确定所述对象的运动;以及基于所述所确定的运动来辨识示意动作。
在一些实施例中,提出一种用于辨识由对象作出的示意动作的系统。所述系统可包含用于接收所述对象的多个彩色图像的装置。所述系统可包含用于进行以下操作的计算装置:利用处理单元处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像,其中对每一图像的所述处理包含:转换所述图像的一或多个色彩;将所述图像的所述色彩分组成多个色彩群集;以及为所述多个色彩群集中的每一者指派至少一个跟踪点。所述系统可包含用于自所述经处理彩色图像基于所述跟踪点中的至少一者确定所述对象的运动的计算装置。所述系统可包含用于基于所述所确定的运动来辨识示意动作的计算装置。
在一些实施例中,可提出一种用于辨识由对象作出的示意动作的装置。所述装置可包含相机。所述装置可包含耦合到所述相机的一或多个处理器,所述一或多个处理器经配置以自所述相机接收所述对象的多个彩色图像。所述一或多个处理器可经配置以处理所述多个彩色图像中的每一图像以形成多个经处理彩色图像,其中对每一图像的所述处理包含:转换所述图像的一或多个色彩;将所述图像的所述色彩分组成多个色彩群集;以及为所述多个色彩群集中的每一者指派至少一个跟踪点。所述一或多个处理器可经配置以自所述经处理彩色图像基于所述跟踪点中的至少一者确定所述对象的运动。所述一或多个处理器可经配置以基于所述所确定的运动来辨识示意动作。所述一或多个处理器可进一步经配置以经由输出接口提供所述所辨识示意动作的指示。
在一些实施例中,提出一种方法。所述方法可包含获得多个图像。所述方法可包含将所述图像的特征分组成多个群组或群集。所述方法可包含跨越所述多个图像跟踪所述群组或群集中的一或多者。所述方法可包含基于所述跟踪确定是否已执行示意动作。可确定已执行示意动作,其中所述方法进一步包括基于已执行所述示意动作的所述判定来识别对象。
另外或替代地,此类方法可包含以下各者中的一或多者:识别可包含识别手。所述特征可包含色彩。所述方法可包含在对所述图像的所述特征进行分组之前将所述图像中的色彩转换成另一色彩空间。所述跟踪可包含跟踪所述群组或群集中的每一者的中值。
附图说明
参考以下各图,可实现对各种实施例的性质及优点的进一步理解。
图1A说明手的RGB图像的实施例。
图1B说明转换到Lab色彩空间的图1A的RGB图像的实施例。
图2说明根据色彩集群的图1A的RGB图像的实施例。
图3说明对于存在于图像中的每一色彩群集具有多个跟踪点的经集群图像的实施例。
图4说明在其上投影所记录示意动作以用于提取的坐标系的实施例。
图5说明在其上投影空间归一化示意动作以用于提取的坐标系的实施例。
图6说明五个跟踪点的曲线图的实施例,每一跟踪点指派给一不同色彩群集。
图7说明用于辨识示意动作的方法的实施例。
图8说明用于辨识示意动作的方法的另一实施例。
图9说明用于辨识示意动作的系统的实施例。
图10说明计算机系统的实施例。
具体实施方式
实施例是针对提供无监督式色彩分类及移动检测过程,在一些实施例中,可在不依赖于关于移动的对象的先前及/或经过训练的信息的情况下来执行所述过程。
传统的示意动作辨识系统通常涉及识别符合后续示意动作辨识条件的对象的一或多个初始对象识别过程。举例来说,在传统的布置中,在确定用户是否已执行示意动作之前,基于示意动作的辨识系统可定位用户的手。这些过程可消耗时间及/或处理资源。另外,此类过程在一些情形中可能不准确,例如当不知道或不能辨识手或手的皮肤色调时。
本文中详述的实施例提供对示意动作的检测而不需要识别对象(例如用户的手)来进行示意动作辨识。另外,关于可执行示意动作的任何类型对象的先前及/或训练信息可能是不必要的。另外,可能不需要深度信息存在于用于此类示意动作检测的图像中。由此,例如摄像机等彩色图像俘获装置可用于俘获适合于示意动作检测的图像。
本文中详述的实施例可利用依序图像信息(例如从一或多个(彩色)相机馈送的视频)来辨识一或多个示意动作。可基于所检测移动而随后或实质上同时识别例如用户的手等一或多个对象。因此,尽管传统的布置可首先识别对象,接着检测由对象执行的示意动作,但本文中详述的实施例可首先检测示意动作,接着识别执行所述示意动作的对象。
另外,可结合其它示意动作辨识技术利用本文中详述的实施例。举例来说,本文所述的技术可用于初始对象识别。举例来说,本文中详述的实施例可用以识别由用户的手执行的约定示意动作(engagement gesture)。一旦检测到约定示意动作,即可跟踪执行所述约定示意动作的对象以留意额外示意动作。此后可利用需要先前对象识别的其它示意动作辨识技术用于额外示意动作。举例来说,本文所述的实施例可用以识别通用运动,例如圆形约定运动,其中此后跟踪执行所述圆形约定示意动作的对象。
术语“示意动作”经定义以包含由一或多个手及/或其它对象所进行的意欲将消息或命令传达给装置或与装置约定或起始所述装置的一或多个操作的移动。本文中详述的实施例集中于辨识由用户的一或多个手执行的示意动作;然而,所揭示的技术可应用于检测由其它对象执行的示意动作。
在一些实施例中,由图像俘获装置俘获一系列图像。此类图像俘获装置可为摄像机,或更一般化地,相机。所俘获的图像可为彩色的。这些图像可从图像俘获装置传送到执行移动检测及/或示意动作辨识的装置。
根据一些实施例,经接收以用于移动检测及/或示意动作辨识的彩色图像可转换到L*a*b*色彩空间。L*a*b*(或简称“Lab”)色彩空间为涵盖所有可能的自然色彩及一组宽泛的假想色彩的非线性空间。在Lab空间中,“L”为亮度,且“a”及“b”为色彩分量。可通过使用图像在Lab空间中的a及b分量来区分手(皮肤)色彩与图像中的其它色彩。关于肤色的先前信息可能是不必要的;可以与存在于图像中的每一其它色彩相同的方式来处理肤色。
图1A说明含有手的图像100A的实施例。图像100A含有手110,连同其它对象,例如外套120、光130、隔断板140,及植物150。图像100A是使用彩色图像俘获装置俘获。在一些实施例中,图像100A可不含深度信息。举例来说,图像100A的像素可不含深度值。图像100A可呈RGB格式。
图1B说明转换到Lab色彩空间的图1A的RGB图像的图像100B的实施例。尽管本文中提供的实施例论述将RGB图像转换到Lab空间,但其它实施例可利用不同输入图像(其可不同于RGB)及/或将输入图像的一或多个色彩转换到不同于Lab的色彩空间。图像100B含有手110B,连同其它对象,例如外套120B(其对应于外套120)、光130B(其对应于光130)、隔断板140B(其对应于隔断板140),及植物150B(其对应于植物150)。
在转换成Lab色彩空间之后,移动检测及示意动作辨识可涉及对Lab图像的无监督式集群算法。“无监督”是指不存在基于集群算法所输出的解的正或负反馈,所述正或负反馈用以改进集群算法的未来应用。在一些实施例中,可在没有来自用户的任何先前输入及/或反馈的情况下执行集群算法。集群算法可通过使用图像像素的a及b分量来将所有像素集群于Lab图像中。类似的色彩分组成相异的色彩群集。Lab图像可分组成预定义数目个相异的色彩群集。如果示意动作是由手执行,那么将对应于手的Lab图像的每一像素分组成单一群集可为有用的。这是可能的,因为跨越典型的手的颜色变化可能是小的。如果利用适当数目的群集来处理Lab图像,则色彩集群可能能够将手的色彩分成个别群集。
例如k平均(k-means)等集群算法可用以基于a及b分量将图像集群成数个群集。根据一些实施例,L分量不用于色彩集群。然而,其它实施例在色彩集群期间利用L分量。根据实验结果,可大致利用三个到七个色彩群集以便允许将手的色彩集群在一起。结果可取决于存在于图像中的背景色彩。根据一些实施例,可自动地或基于其它环境中的用户输入来调整此参数,其可帮助确保人皮肤接收其自身的个别群集也就是说,一些实施例可利用更多群集(例如,10个、15个、20个、25个、30个,或更多),在此情况下,手的色彩可分组成一个以上群集。因此,当手移动时,多个群集可移动,且可检测为执行示意动作,如下文更详细描述的。
图2说明根据色彩集群的图1A的RGB图像的图像200的实施例。图像200已处理成图1B的Lab色彩空间,接着集群成五个群集。如先前所指出,尽管在大多数情况下向皮肤指派个别群集,但偶尔,背景中与皮肤具有几乎相同色彩的一些斑点可能包含在相同群集中。举例来说,对应于图1A和1B的手110及手110B的手110C通常在其自身的色彩群集中分离,仅有少量像素为与另一对象(例如外套120C(其对应于图1A的外套120及图1B的外套120B)的几个像素)相关联的群集的部分。取决于所提议的算法的应用,可舍弃或忽略这些斑点。举例来说,当结合桌子/工作台上的桌上型或膝上型计算机来利用本文中提供的技术时,可期望手将接近于计算机屏幕及与之接近的相机。因此,可基于其大小舍弃背景中与皮肤具有几乎相同色彩的斑点。
为帮助确定哪一群集包含手(或待跟踪的某一其它对象),可将跟踪点指派给每一群集,其中跟踪点表示图像内的色彩群集的一些或所有像素的组合位置。当确定组合位置时,可忽略分离的斑点,例如小于阈值大小(例如,像素的数目)的斑点。基于色彩群集中每一像素的x及y坐标,跟踪点可为例如每一色彩群集的图像内的“重心”、中值,或统计平均位置。因此,当群集在一系列图像上在特定方向上移动时,其重心在类似方向上移动。因此,对于图像200的手,如果手在稍后俘获的图像中已移动,则可预期含有手的群集的重心将与手在相同方向上移动。通过跟踪经集群图像的每一跟踪点的移动并比较跟踪点的所述移动与示意动作的所存储表示,示意动作辨识系统可辨识由用户经由手作出的示意动作输入。
在一些实施例中,单个跟踪点用于经集群图像的每一群集。根据其它实施例,多个跟踪点可用于每一群集。当其它对象(例如,用户的面部)与待跟踪对象(例如,用户的手)处于相同色彩群集时,多个跟踪点可为有用的。举例来说,可基于每一群集的成员像素的x(水平)及y(垂直)坐标来确定那一群集的两个物理位置。根据一些实施例,群集的两个(或两个以上)位置可经检测且可相应地利用多个跟踪点。举例来说,如果图像内的两个单独区域为相同色彩群集的部分,但所述两个区域各自大于阈值大小且彼此分开,则可向每一区域指派一跟踪点。如果相同色彩的两个对象(例如,面部及手)存在于所俘获图像中,但所述对象中仅一者(例如,手)执行示意动作,则此类布置可为有用的。如果相同色彩的两个对象(例如,左手及右手)存在于所俘获图像中且执行两个单独示意动作或一起解释时执行对应于单个示意动作的不同动作(例如,将两手拢在一起或分开以实现缩放命令),则此类配置也可为有用的。
为确定多个跟踪点,可对色彩群集的所有成员像素的x坐标进行排序。举例来说,在对于一色彩群集使用两个跟踪点的实施例中,色彩群集中的所有像素的x坐标可经排序以导出两个坐标来表示两个跟踪点的x坐标,类似于一组值的中值。可以相同方式确定两个y坐标。
根据一些实施例,通过沿着经排序坐标选择%p及1-p%来确定两个跟踪点。举例来说,在p=0.1的情况下,第一跟踪点可位于x轴上的位置,使得对应色彩群集中的10%的像素在第一跟踪点的左边。以类似方式,第二跟踪点可位于x轴上的位置,使得对应色彩群集中的90%的像素在第二跟踪点的左边。可以相同方式确定Y坐标。
图3说明对于存在于图像中的每一色彩群集具有多个跟踪点的经集群图像300的实施例。在经集群图像300中,两个跟踪点用于每一色彩群集。这些跟踪点是使用沿着X坐标的经排序坐标的p%及1-p%而选择。在此所说明实施例中,p=0.1。明确地说,图3中的五个群集子的一些具有由十字准线表示两个跟踪点:一个跟踪点位于沿着经集群x坐标的10%处,且另一跟踪点在沿着经集群x坐标的90%处。在图3中,具有最暗色彩的色彩群集含有的大部分像素对应于人皮肤。此色彩群集的两个跟踪点为跟踪点310及跟踪点320。如经集群图像300中所见,跟踪点310在色彩群集的面部部分附近,且跟踪点320在色彩群集的手部分附近。
尽管使用p及1-p来确定跟踪点的x坐标,但可经由某一其它方法确定y坐标,例如通过使用像素群组中的所有像素的中值或均值。在一些实施例中,p及1-p方法也可用于y坐标。在其它实施例中,y坐标可以是无关紧要的,例如当仅需检测水平拨动示意动作(或排他性地依赖于沿着x轴的移动的某一其它示意动作)时。
使用多个跟踪点可更可靠,且对于噪声及像素群组的有噪声边缘较不敏感。举例来说,从图像到图像,一些像素可能在为一个色彩群集的部分与为另一色彩群集的部分之间转变。为计算跟踪点的坐标,可使用中值、平均值,或其它技术。类似技术可用来提取用于垂直示意动作(例如向上拨动及向下拨动)的两个点。取决于所要功能性、预期对象移动及/或其它因素,可利用与y坐标不同的技术来确定每一跟踪点的x坐标,及/或可利用不同技术来确定不同色彩群集的跟踪点。
可利用例如隐式马尔可夫模型(HMM)及曲线图匹配等数个机器学习及统计算法来辨识对象(例如,手)移动。然而,例如当对于训练那些算法存在的特征不够突出时,可利用替代技术用于某些示意动作(例如向左拨动、向右、向上拨动,及向下拨动)。如本文中在下文所提供,可在任一情况下利用上文所描述的图像处理及跟踪点技术。
对于辨识例如拨动、圆形、三角形及字母表字母等对象移动轨迹,可使用可经过训练且用于辨识的统计算法。举例来说,隐式马尔可夫模型可用于此目的。
为了提取示意动作特征,可对于每一示意动作记录数个示意动作样本。这些示意动作可能是由不同人执行以包含空间及时间变化。举例来说,当执行相同示意动作时,不同的人可能以不同速度、不同大小执行所述示意动作。实例为圆形示意动作。第一个人可能花费2秒来执行所述示意动作,半径为八英寸。第二个人可能花费3秒来执行所述示意动作,半径为一英尺。因为所关注的是轨迹,因此可提取对象的空间及时间移动特征。根据一些实施例,可通过使用如图4中所示的X及Y坐标将所记录的示意动作投影到固定坐标平面上来提取这些特征。图4说明在其上投影所记录示意动作以用于提取的坐标系400的实施例。
在图4内,遵循执行多个示意动作的色彩群集的移动的多个跟踪点的轨迹说明于坐标系400上。在坐标系400中,呈现圆形示意动作及三角形示意动作。举例来说,三角形410表示跨越多个图像的色彩群集的跟踪点的移动;圆形420表示跨越多个图像的第二色彩群集的第二跟踪点的移动。三角形410可能已在时间上短于或长于三角形430且空间上小于三角形430的示意动作中执行。圆形440可能已在时间上短于或长于圆形420且空间上小于圆形420的示意动作中执行。
坐标系400的轨迹可在空间上归一化,接着投影到单个坐标系上。进行此操作的一种方式是重新按比例缩放且平移每一所记录轨迹,以使得表示所有所记录样本中的对象的位置的跟踪点的X及Y坐标的集合具有相等标准偏差,如图5中所示。图5说明在其上投影经空间归一化的示意动作以用于提取的坐标系500的实施例。举例来说,为归一化轨迹,可单独地计算X与Y坐标的最大到最小方差。X坐标中的每一者可除以所计算的X方差;每一Y坐标可除以所计算的Y方差。在归一化轨迹的大小之后,可通过减去或加上适当值而重新定位轨迹,使得其“重心”定位在例如坐标(1,1)处。有可能可以将此技术应用于训练阶段中的所有样本及辨识阶段中的轨迹;其仅可减小方差,且因此简化训练及分类过程。
可接着从所记录轨迹提取一组代码向量或字母表。根据一些实施例,可利用向量量化(VQ)技术执行此提取。通过将VQ应用于沿着所有轨迹取样的位置的x及y坐标,提取一组有限的代码向量。接着,对于示意动作的每一样本,提取沿着其轨迹的代码向量序列。对于每一示意动作,考虑左到右HMM,且使用那一示意动作的所有所记录样本对其进行训练。在美国专利申请案12/194,780(其出于所有目的以全文引用的方式并入本文中,如同在本文档中完整阐述)中解释的算法也可用以训练一组基于中值的准则来用于拒绝未定义于示意动作词典或库中的示意动作。
可跟踪及分析跟踪点以确定是否已执行一或多个所辨识示意动作。举例来说,对应于执行示意动作的对象(例如,手)的色彩群集的跟踪点将形成可辨识动作,而其它色彩群集(例如,对应于静止或正进行不可辨识移动的对象的色彩群集)的跟踪点不大可能形成所辨识动作。以此方式,可识别作出所辨识示意动作的对象,而无需首先识别执行所述示意动作的对象。举例来说,替代首先识别手且接着跟踪手以确定是否已执行示意动作,本文所述的某些实施例可用以首先确定是否已执行示意动作,且接着确定手是否存在于执行示意动作的区域中。此类实施例可减少处理及/或功率消耗,且可能能够更准确地识别例如手等对象。此后可初始化及/或跟踪例如所识别的手的特征等对象特征。
如上文所论述,可提取每一色彩群集的重心或每一色彩群集的左侧及右侧(及/或顶侧及底侧)的多个跟踪点(例如,两个、四个,等)。可针对这些点中的每一者建构向量以用于记录最后n个位置。这些向量在本文中称为历史向量(HV)。可利用经过训练的HMM及拒绝算法来分析每一HV以查看与示意动作相关联的已知(例如,经过训练的)模式(例如,拨动、圆形、三角形、波)是否存在于其中。对于最佳地匹配所述移动、通过拒绝算法且产生最高似然度的模式,可通过识别匹配模式/示意动作而产生示意动作检测信号。可包含的其它内容为示意动作被准确检测的似然度或概率、时戳、色彩群集的识别,及相关联跟踪点的指示。以此方式进行的提取可能使得不同于与待跟踪对象相关联的色彩群集的色彩群集的跟踪点的位置的随机改变不大可能通过拒绝算法且产生匹配词典中的模式中的一者的高似然度。
使用固定长度HV时可能产生的问题是,如果用户在执行示意动作的同时快速或缓慢地移动其手(或其它对象),则HV可能含有过少或过多的观察结果来匹配所存储的经过训练的模式。可通过考虑移动速度以调整HV长度来克服此问题。固定数目个最后观察结果中的跟踪点的平均或中值速度可确定HV的时间长度。所观察到的平均速度越高,HV的长度越短;所观察到的平均速度越低,HV的长度越长。可通过使用如在美国专利7,379,563(其特此出于所有目的以全文引用的方式并入本文中,如同在本文档中完整阐述)中所解释的运动卡尔曼滤波器来测量跟踪点的移动速度。
这些示意动作辨识技术可扩充而超出将单个色彩群集指派给由单个用户控制的手(或其它对象)的情境。一些实施例可利用这些技术来辨识由多个对象(例如,用户的双手)及/或多个用户(例如,两个或两个以上用户的手)作出的示意动作。此外,对于其中多个色彩群集的跟踪点执行类似动作(例如当用户的手的色彩被指派给多个色彩群集时)的实施例,可分析及/或组合这些移动,使得系统能够选择及/或计算可提供示意动作辨识的最佳结果的移动中的一或多者。在一个实施例中,当看起来是两个邻近群集执行示意动作时,仅当两个明显示意动作匹配时才可检测示意动作。在其它实施例中,可检测两者/所有明显示意动作。在又其它实施例中,可确定或接收每一明显示意动作的置信度,且基于相应置信度选择所检测到的示意动作。举例来说,可选择具有最高置信度的明显示意动作。当看起来是彼此隔开的若干群集各自执行示意动作时,可确定是否接受所有示意动作或所述示意动作的子组。举例来说,接受多个示意动作可允许两手示意动作输入及/或来自多个用户的输入。在一些实施例中,选择单个示意动作可增大装置检测示意动作的操作的准确度,及/或提供单个用户对装置的控制。在一些实施例中,可确定对应于看起来已执行示意动作的群集的对象,且可使用对象确定来选择要接受的示意动作。举例来说,在一些实施例中,可选择看起来由一只手执行而非由另一对象执行的示意动作。
因为例如拨动(例如,对象从左到右、从右到左、从上到下或从下到上的移动)等某些示意动作可能不需要足够突出特征的来训练例如HMM等统计算法,因此一些实施例可利用不同方法来检测这些示意动作且拒绝不相关的移动。
如上文所论述,可产生用于每一色彩群集的一或多个跟踪点的HV。可分析这些HV中的每一者以用于检测拨动示意动作。在拨动时,手可能快速地在某一方向上移动。通过分析手的速度,可确定在拨动移动期间,速度跨越所述移动的大部分是否保持一直高。
图6说明五个跟踪点的曲线图600的实施例,每一跟踪点指派给不同色彩群集。产生长度为20个帧的历史向量。历史向量610对于大约12个帧高于200,而其它HV具有低平均值及/或不一致的速度改变。表1显示在五个HV的此实验中的速度的平均速度及标准偏差:
表1:图6跟踪点
历史向量 平均速度 平均偏差
610 275.8 194.6
620 -4.2 218.9
630 1.05 31.4
640 -9.5 111.9
650 -6.3 56.2
因为手(或其它对象)可能在拨动期间快速移动,因此阈值可训练为拨动示意动作的最小所需速度。还计算HV中的每一者中的速度的标准偏差。高于经训练阈值且伴随着相对较小的标准偏差的平均(或中值)速度被视为拨动示意动作。还可经由记录拨动及非拨动训练移动的数目来训练标准偏差准则。为产生用于确保平均速度大且可能标准偏差小的单个准则,将平均速度乘以标准偏差的倒数。对于每一HV监视结果。与所执行的拨动示意动作相关联的HV与其它同时历史向量相比可具有最高速度乘标准偏差倒数、高速度(高于经训练阈值)及小标准偏差(小于用于标准偏差的经训练阈值)。如果HV中记录的移动通过所有这些步骤,则可将其辨识为拨动示意动作。参考表1,因为历史向量610具有HV的最高值(平均速度乘以标准偏差的倒数),因此如果平均速度(275.8)高于经训练阈值且标准偏差(194.6)低于经训练阈值,则可将其解释为拨动。
图7说明用于辨识示意动作的方法700的实施例。可使用先前详述的用于检测及识别移动及示意动作的布置来执行方法700。在一些实施例中,可在未经先前训练且不识别符合执行示意动作条件的对象(例如,手)的情况下来执行方法700。确切地说,在方法700中,任何色彩群集可执行示意动作。方法700的步骤可涉及使用计算机系统,例如图10的计算机系统1000。用于执行方法700的步骤的装置包含一或多个计算机系统。
在步骤710处,可接收场景的一系列彩色图像。在这些图像中可为执行示意动作的对象。这些图像可从例如相机等图像俘获装置接收。可俘获一系列彩色图像,例如15或30帧每秒。所述图像可为彩色的,但可不具有任何深度信息。举例来说,每一图像的每一像素可不与深度值相关联。在一些实施例中,所接收图像的每一像素可具有RGB值。可使用图9的图像俘获装置910俘获彩色图像,且由移动检测处理引擎920接收所述彩色图像。移动检测处理引擎920可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤720处,可处理所接收的所述系列彩色图像中的每一图像。处理每一图像可包含识别每一图像内的色彩群集的数目。图像内的每一像素可分类成色彩群集。可预定义色彩群集的不同色彩的数目,例如五。此时,可能尚未执行对所述系列图像中的任一者内存在的对象的识别。由此,与可能执行示意动作的对象相关联的图像的像素与背景对象的像素以相同方式处理。因此,可能执行示意动作的对象(例如图2的手110C)的像素分类成一色彩群集,就如同外套120C的像素分类成不同色彩群集。所述彩色图像可由移动检测处理引擎920,例如由图9的模块921到924中的一或多者及/或示意动作检测处理引擎930来处理。移动检测处理引擎920及/或示意动作检测处理引擎930可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤730处,基于一或多个色彩群集在所述系列图像中的图像之间的移动,识别示意动作。在一些实施例中,直到步骤730的任何点都不涉及所识别的所述系列图像内的对象。确切地说,可仅跟踪所述系列图像内的色彩群集的移动,而不顾及每一色彩群集中的对象。举例来说,在一些实施例中,尽管示意动作可能由手执行,且色彩群集可能完全或部分地专用于肤色,但没有点是在所述系列图像中的任一者中所识别的手。示意动作可由图9的示意动作检测处理引擎930来识别。示意动作检测处理引擎930可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
图8说明用于辨识示意动作的方法800的实施例。可使用先前详述的用于检测及识别移动及示意动作的布置来执行方法800。在一些实施例中,可在未经先前训练且不识别符合执行示意动作条件的对象(例如,手)的情况下来执行方法800。确切地说,在方法800中,任何色彩群集(而不管所述色彩群集内的对象)可执行示意动作。方法800的步骤可涉及使用计算机系统,例如图10的计算机系统1000。用于执行方法800的步骤的装置包含一或多个计算机系统及一或多个图像俘获装置。此类计算机系统可包含例如个人计算机、平板计算机及/或笔记本计算机、电视、媒体播放器、智能手机及其类似者。方法800可表示图7的方法700的更详细实施例。
在步骤810处,接收场景的一系列彩色图像。在所述场景内,可能存在一或多个对象,包含执行示意动作的对象。图像可从图像俘获装置接收,所述图像俘获装置例如一或多个摄像机、静态相机及/或能够提供多个彩色图像的其它传感器或装置。在其中使用摄像机的实施例中,可取决于所要功能性而跳过或以其它方式忽略视频的一些帧(即,图像)。跳过及/或忽略图像的确定可周期性地进行,且可取决于多种因素中的任一者,例如准确度要求、可辨识示意动作、预期移动及更多因素。在步骤810处接收的彩色图像可为RGB图像。在步骤810处接收的图像可来自不俘获深度信息的单色彩图像俘获装置。可使用图9的图像俘获装置910俘获彩色图像,且由移动检测处理引擎920接收所述彩色图像。移动检测处理引擎920可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤820处,处理所述系列彩色图像中的每一者。处理所述系列彩色图像可包含各种步骤,例如:转换图像的色彩;对经转换图像的色彩进行分组;以及将跟踪点指派给色彩群集。在一些实施例中,仅处理所述系列彩色图像中的一些,而可跳过或以其它方式忽略其它彩色图像。所述彩色图像可由移动检测处理引擎920,例如由图9的模块921到924中的一或多者及/或示意动作检测处理引擎930来处理。移动检测处理引擎920及/或示意动作检测处理引擎930可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤830处,在经处理图像中,可转换所述系列彩色图像中的每一者的一或多个色彩。在一些实施例中,RGB图像转换为Lab色彩空间。尽管一些实施例包含如先前所述的将RGB图像转换成Lab图像,但其它实施例可不使用此类处理。如果例如在步骤810处接收的彩色图像已经处于所要色彩空间(例如,Lab、RGB,等)中,则实施例可不转换每一图像的色彩。步骤830可由图9的移动检测处理引擎920,例如使用色彩转换引擎921来执行。移动检测处理引擎920可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤840处,将每一图像的色彩分组成多个色彩群集。如先前所指示,色彩群集的数目可取决于所要功能性而变化。作为一实例,实施例可包含2个、3个、4个、5个、10个、15个、20个或更多色彩群集。这些所论述数目内的任何数目的色彩群集也可为可能的。色彩群集的数目可取决于所利用的色彩空间(例如,RGB、Lab,等)、图像的色彩数目、照明等。色彩群集的数目可经预定义或可基于俘获图像的场景的特性而加以调整。色彩群集的像素可单独地基于色彩加以选择;亮度可不为一因素。在其它实施例中,可使用亮度来确定像素的色彩群集。另外,到相同色彩的其它像素的接近度可不为一因素。由此,单个色彩群集的像素可分散在图像中的多个位置。举例来说,参考图3,与面部及手相关联的像素为相同色彩群集的部分,但在经集群图像300中彼此分离。在步骤840处,每一经处理图像内的每一像素可指派给一色彩群集。由此,在一些实施例中,在步骤840处或在步骤840之前不跟踪图像内的特定对象。确切地说,在一些实施例中,所研究的经处理图像的唯一特性是色彩。另外,类似地处理每一色彩,而不对任何特定群集或亮度给予偏好。因此,与可能不执行示意动作的对象(例如,植物)相同地处理可能执行示意动作的对象(例如,用户的手)。步骤840可由图9的移动检测处理引擎920,例如使用集群引擎922来执行。移动检测处理引擎920可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤850处,可从进一步处理舍弃或以其它方式忽略各种像素。可从进一步处理舍弃不在预定义数目个其它像素(为相同色彩群集的部分)的领域(例如,5x5领域)中的像素。杂散像素的此类舍弃对于舍弃不大可能执行示意动作的小对象及/或忽略噪声可为有用的。彩色图像可由图9的移动检测处理引擎920,例如使用滤波引擎923来执行。移动检测处理引擎920可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤860处,可为所述多个色彩群集中的每一色彩群集指派一或多个跟踪点。举例来说,可使用如先前相对于图3详述的p及1-p方法将两个跟踪点指派给色彩群集。在其它实施例中,可利用并不包含跟踪点的技术来跟踪色彩群集的运动。在一些实施例中,可分组或集群图像的不同于色彩的一或多个特征。举例来说,可基于像素的明度对每一图像的像素进行集群。在一些实施例中,可对边缘或所检测的关键特征进行分组。所属领域的技术人员将了解,色彩可分组成多个群集,如上文所描述,且可替代地或另外对其它特征进行分组。因此,本文中对色彩群集的描述可替代地或另外指代对其它元素或特征的分组或集群。步骤860可由图9的移动检测处理引擎920,例如使用跟踪点指派引擎924来执行。移动检测处理引擎920可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤860处,可向每一经处理图像中的每一色彩群集指派一或多个跟踪点。由此,在一些实施例中,在步骤860处或在步骤860之前不跟踪图像内的特定对象。可类似地处理每一色彩群集,而不对任何特定群组给予偏好(不管色彩群集所表示的现实世界对象)因此,在一些实施例中,与可能不执行示意动作的色彩群集(例如,植物)相同地处理表示可能执行示意动作的对象(例如,用户的手)的色彩群集。步骤860可由图9的移动检测处理引擎920。移动检测处理引擎920可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤870处,从经处理彩色图像确定对象的移动。如先前所解释,可基于色彩群集的一或多个跟踪点的移动及/或一或多个色彩群集在经处理图像之间的移动来确定移动。可使用历史向量及/或其它移动跟踪机制来跟踪经处理彩色图像中的移动及/或从经处理彩色图像提取移动。在一些实施例中,直到步骤870的任何点都不涉及所识别的所述系列图像内的任何特定对象。由此,在一些实施例中,尽管可确定色彩群集的移动,但可不确定什么对象构成色彩群集中的任一者。步骤870可由图9的移动检测处理引擎920,例如使用跟踪点指派引擎924来执行。移动检测处理引擎920可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤880处,可基于步骤870的所确定移动来辨识示意动作。如本文所描述,可利用多种示意动作辨识技术中的任一者。举例来说,可将在步骤870处确定的移动数据(例如HV)与预定义示意动作的所存储表示进行比较。可取决于所检测到的运动而利用不同示意动作辨识技术。举例来说,可利用分析速度及/或速度的标准偏差以确定是否执行了拨动示意动作的技术。另一方面,可利用经过训练的统计算法(例如,HMM)来确定是否执行了更复杂的运动(例如,圆形运动)。一些实施例可同时执行多种技术以帮助确保准确地辨识示意动作。在所辨识示意动作之后,可将指示已执行示意动作的输出提供到某一其它装置、系统或软件(例如,另一正执行的应用程序)。还可包含其它信息,例如执行示意动作处的坐标及其在所述系列图像内的方向及/或示意动作辨识准确度的似然度。示意动作可由图9的示意动作检测处理引擎930来识别。示意动作检测处理引擎930可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。
在步骤890处,在一些实施例中,可开始跟踪执行在步骤880处辨识出的示意动作的对象。举例来说,在步骤880处辨识出的示意动作可充当约定示意动作。可接着跟踪执行所述约定示意动作的对象(例如,用户的手)。此类跟踪可为监视对象的额外示意动作及/或保持相机聚焦在执行示意动作的用户上。步骤890处跟踪的对象可识别为特定类型的对象(例如,手);或者,仅可知道所述对象为执行步骤880处的所辨识示意动作的色彩群集的部分。约定示意动作可为用信号通知执行所述示意动作的用户希望控制与系统的会话的示意动作。可跟踪执行约定示意动作的用户的未来示意动作(可能排除所俘获图像内的其它人员)。步骤890可由图9的移动检测处理引擎920及/或示意动作检测处理引擎930执行。移动检测处理引擎920及/或示意动作检测处理引擎930可包含例如图10的处理器1010等一或多个处理器及一或多个存储装置,例如图10的计算机系统1000的存储装置1025。在一些实施例中,可辨识有限数目个示意动作,直到检测到某一约定示意动作或多个约定示意动作中的一者。在此类实施例中,可忽略其它动作或示意动作输入,直到辨识出约定示意动作。在一些实施例中,约定示意动作的辨识致使某些跟踪功能被初始化及/或示意动作模型被加载,由此允许检测更大数目个示意动作。
应了解,图8中所说明的特定步骤提供辨识由对象作出的示意动作的方法的实例。替代实施例可包含对所展示实施例的更改。举例来说,替代实施例可包含用于转换图像色彩及/或跟踪移动的特定方法。其它实施例可包含基于所辨识出的示意动作识别对象。此外,可取决于特定应用而添加或移除额外特征。所属领域的技术人员应认识到许多其它变化、修改及替代方案。
图9说明用于辨识示意动作的系统900的实施例。系统900可用以执行先前详述的用于辨识示意动作的方法。系统900可包含:图像俘获装置910、移动检测处理引擎920、示意动作检测处理引擎930,及对象跟踪引擎940。
图像俘获装置910可俘获场景的一系列彩色图像。图像俘获装置910可包含一或多个摄像机及/或静态相机。相机中的每一者可俘获彩色图像。
移动检测处理引擎920可使用硬件、固件及/或由一或多个计算机化装置(包含计算机系统)执行的软件实施以从图像俘获装置910接收彩色图像并处理所述图像中的一些或全部。移动检测处理引擎920可进一步将图像的色彩转换到另一格式,例如Lab。移动检测处理引擎920可将色彩分组成数个色彩群集。移动检测处理引擎920可确定要忽略的图像的一或多个像素。移动检测处理引擎920还可将一或多个跟踪点指派给图像中的每一色彩群集。各种子模块可存在于移动检测处理引擎920内,其中的每一者可使用硬件、软件及/或固件来实施。
色彩转换引擎921可转换一系列彩色图像中的每一图像的一或多个色彩。在一些实施例中,RGB图像转换为Lab色彩空间。尽管一些实施例包含如先前所述的将RGB图像转换成Lab图像,但其它实施例可不使用此类处理。引擎921可使用硬件、软件及/或固件来实施。
集群引擎922可将图像的色彩分组成多个色彩群集。色彩群集的数目可取决于所要功能性而变化。作为一实例,实施例可包含2个、3个、4个、5个、10个、15个、20个或更多色彩群集。这些所论述数目内的任何数目的色彩群集也可为可能的。色彩群集的数目可取决于所利用的色彩空间(例如,RGB、Lab,等)、图像的色彩数目、照明等。色彩群集的数目可经预定义或可基于俘获图像的场景的特性而加以调整。色彩群集的像素可单独地基于色彩加以选择;亮度可不为一因素。在其它实施例中,可使用亮度来确定像素的色彩群集。另外,到相同色彩的其它像素的接近度可不为一因素。由此,单个色彩群集的像素可分散在图像中的多个位置。举例来说,参考图3,与面部及手相关联的像素为相同色彩群集的部分,但在经集群图像300中彼此分离。可类似地处理每一色彩,而不对任何特定群集或亮度给予偏好。因此,可与可能不执行示意动作的对象(例如,植物)相同地处理可能执行示意动作的对象(例如,用户的手)。引擎922可使用硬件、软件及/或固件来实施。
滤波引擎923可从进一步处理忽略各种像素。可从进一步处理舍弃不在预定义数目个其它像素(为相同色彩群集的部分)的领域(例如,5x5领域)中的像素。杂散像素的此类舍弃对于舍弃不大可能执行示意动作的小对象及/或忽略噪声可为有用的。引擎923可使用硬件、软件及/或固件来实施。
跟踪点指派引擎924可将一或多个跟踪点指派给多个色彩群集中的每一色彩群集。举例来说,可使用如先前相对于图3详述的p及1-p方法将两个跟踪点指派给色彩群集。在一些实施例中,可对图像的不同于色彩的一或多个特征进行分组或集群。引擎924可使用硬件、软件及/或固件来实施。
指示各种组件的以上描述可使用硬件、软件及/或固件来实施。在一些实施例中,此可涉及在功能上由一或多个图像信号处理器或某一其它形式的视频前端执行的组件。在一些实施例中,组件可在功能上由应用程序处理器执行。
示意动作检测处理引擎930可使用硬件、固件及/或由一或多个计算机化装置(包含计算机系统)执行的软件来实施以从移动检测处理引擎920接收色彩群集及/或跟踪点的位置。应理解,移动检测处理引擎920及示意动作检测处理引擎930可实施为相同硬件、固件及/或软件的部分。示意动作检测处理引擎930可从接收自移动检测处理引擎920的数据产生历史向量或可以其它方式确定色彩群集的移动。示意动作检测处理引擎930可比较历史向量或所确定的移动的其它表示与一或多个示意动作的所存储表示以辨识示意动作。示意动作检测处理引擎930可将已执行示意动作的输出(可能具有额外信息)提供到对象跟踪引擎940及/或外部应用程序950。
对象跟踪引擎940可跟踪执行由示意动作检测处理引擎930辨识出的示意动作的对象。对象跟踪引擎940可使用硬件、固件及/或由一或多个计算机化装置(包含计算机系统)执行的软件实施以从示意动作检测处理引擎930接收所辨识示意动作及执行所述示意动作的色彩群集的指示。应理解,对象跟踪引擎940、移动检测处理引擎920及/或示意动作检测处理引擎930可实施为相同硬件、固件及/或软件的部分。对象跟踪引擎940可将输出提供到外部应用程序950。
可使用与先前详述的引擎相同或不同的硬件及/或固件执行的外部应用程序950可使用来自示意动作检测处理引擎930及/或对象跟踪引擎940的输出作为命令或某一其它形式的输入。
应理解,系统900可扩充到额外组件或压缩成较少组件。
图10说明计算机系统1000的实施例,其可并入到示意动作辨识系统中及/或与示意动作辨识系统以通信方式耦合。计算机系统1000的一或多个组件可在不同装置之间共享,所述装置例如相机、智能手机、平板计算机、个人计算机或其它计算器件。在一些实施例中,软件及其它应用程序可在以通信方式彼此链接的单独装置上运行。在其它实施例中,示意动作辨识系统可使计算机系统1000的一些或全部集成于其中。
图10提供可执行由各种其它实施例提供的方法的计算机系统1000的一个实施例的示意性说明。应注意,图10仅打算提供各种组件的一般化说明,可在适当时利用所述组件中的任一者或全部。因此,图10宽泛地说明可如何以相对分离或相对更集成的方式实施个别系统元件。
展示计算机系统1000包括可经由总线1005电耦合(或可以其它方式在适当时进行通信)的硬件元件。所述硬件元件可包含处理单元,例如处理器1010,其可包含但不限于一或多个通用处理器、一或多个专用处理器(例如数字信号处理芯片、图形加速处理器,及/或其类似者),及/或其可用以执行本文所述的示意动作辨识及/或图像处理技术的至少一部分的其它处理装置。具体来说,计算机系统1000的处理器1010及/或其它组件可经配置以执行图7中所说明的方法700及/或图8中所说明的方法800的步骤。硬件元件还可包含一或多个输入装置1015,其可包含但不限于相机或其它图像俘获装置、触摸垫、键盘、麦克风及/或其类似者。还包含一或多个输出装置1020。这些输出装置可包含一或多个显示器及/或其它显示装置、扬声器及/或其它装置。
展示计算机系统1000包括可经由总线1005电耦合(或可以其它方式在适当时进行通信)的硬件元件。硬件元件可包含:一或多个处理器1010,包含但不限于一或多个通用处理器及/或一或多个专用处理器(例如,数字信号处理芯片、图形加速处理器,及/或其类似者);一或多个输入装置1015,其可包含但不限于相机、鼠标、键盘及/或其类似者;以及一或多个输出装置1020,其可包含但不限于显示装置、打印机及/或其类似者。可例如利用输入相机来提供用于处理的多个彩色图像,如图7中的方法700及/或图8中的方法800所示。
计算机系统1000可进一步包含以下各者(及/或与以下各者通信):一或多个非暂时性存储装置1025,其可包括但不限于本地及/或网络可存取存储装置,及/或可包含但不限于磁盘驱动器、驱动阵列、光学存储装置、例如随机存取存储器(“RAM”)及/或只读存储器(“ROM”)等固态存储装置,其可为可编程的、可快闪更新的及/或其类似者。此类存储装置可经配置以实施任何适当数据存储装置,包含但不限于各种文件系统、数据库结构及/或其类似者。
计算机系统1000还可包含通信子系统1030,其可包含但不限于调制解调器、网卡(无线或有线)、红外线通信装置、无线通信装置及/或芯片组(例如,BluetoothTM装置、802.11装置、WiFi装置、WiMax装置、蜂窝式通信设施等)及/或其它接收装置。通信子系统1030可准许与网络(例如下文描述的网络,仅举一个实例)、其它计算机系统及/或本文所述的任何其它装置(例如,相机)交换数据。可例如利用输出接口来向另一装置、计算机系统显示器等指示示意动作的辨识。在许多实施例中,计算机系统1000将进一步包括工作存储器1035,其可包含如上文所描述的RAM或ROM装置。
计算机系统1000还可包括展示为当前位于工作存储器1035内的软件元件,包含操作系统1040、装置驱动器、可执行库及/或例如一或多个应用程序1045等其它代码,其可包括通过各种实施例提供及/或可经设计以实施方法及/或配置系统、通过其它实施例提供的计算机程序,如本文中所描述。仅作为实例,关于上文所论述的方法所描述的一或多个程序可实施为可由计算机(及/或计算机内的处理器)执行的代码及/或指令;接着,在一方面中,此类代码及/或指令可用以配置及/或调适通用计算机(或其它装置)以根据所描述方法执行一或多个操作。
一组这些指令及/或代码可存储在例如上文所描述的非暂时性存储装置1025等非暂时性计算机可读存储媒体上。在一些情况下,存储媒体可并入到例如计算机系统1000等计算机系统内。在其它实施例中,存储媒体可与计算机系统(例如,可移除式媒体,例如压缩光盘)分开,及/或提供于安装包中,使得存储媒体可用以编程、配置及/或调适其上存储有指令/代码的通用计算机。这些指令可呈可由计算机系统1000执行的可执行代码形式,及/或可呈源及/或可安装代码的形式,其在由计算机系统1000编译及/或安装于计算机系统1000上后(例如,使用多种大体上可用编译程序、安装程序、压缩/解压缩公用程序等),接着呈可执行代码的形式。
所属领域的技术人员将显而易见可根据特定要求作出大量变化。举例来说,还可能使用定制硬件,及/或可能将特定元件实施于硬件、软件(包含便携式软件,例如小程序等)或两者中。另外,可使用到例如网络输入/输出装置等其它计算装置的连接。
如上文所提及,在一个方面中,一些实施例可使用计算机系统(例如,计算机系统1000)来执行根据本发明的各种实施例的方法。根据一组实施例,回应于处理器1010执行工作存储器1035中所含有的一或多个序列的一或多个指令(其可并入到操作系统1040及/或例如应用程序1045等其它代码中)而由计算机系统1000执行此类方法的一些或所有程序。此类指令可从例如非暂时性存储装置1025中的一或多者等另一计算机可读媒体读取到工作存储器1035中。仅作为实例,工作存储器1035中所含有的指令序列的执行可致使处理器1010执行本文中所描述的方法的一或多个程序。举例来说,计算机系统1000的处理器1010及/或其它组件可经配置以执行图7中所说明的方法700及/或图8中所说明的方法800的步骤。
如本文中所使用,术语“机器可读媒体”及“计算机可读媒体”是指参与提供致使机器以特定方式操作的数据的任何媒体。在使用计算机系统1000实施的实施例中,各种计算机可读媒体可涉及于将指令/代码提供到处理器1010以供执行及/或可用以存储及/或携载此类指令/代码。在许多实施中,计算机可读存储媒体为非暂时性、物理及/或有形的存储媒体。此类媒体可呈非易失性媒体或易失性媒体的形式。非易失性媒体包含例如光盘及/或磁盘,例如非暂时性存储装置1025。易失性媒体包含但不限于动态存储器,例如工作存储器1035。
常见形式的物理及/或有形计算机可读媒体包含例如软盘、柔性磁盘、硬盘、磁带,或任何其它磁性媒体、CD-ROM、任何其它光学媒体、打孔卡、纸带、具有孔图案的任何其它物理媒体、RAM、PROM、EPROM、快闪EPROM、任何其它存储器芯片或盒带,或计算机可从其读取指令及/或代码的任何其它媒体。
在将一或多个指令的一或多个序列携载到处理器1010以用于执行时可涉及各种形式的计算机可读媒体。仅作为实例,最初可将指令携载于远程计算机的磁盘及/或光盘上。远程计算机可将指令载入到其动态存储器中,并经由发射媒体将指令作为信号进行发送以由计算机系统1000接收及/或执行。
通信子系统1030(及/或其组件)大体上将接收信号,且总线1005可接着将信号(及/或由信号所携载的数据、指令等)携载到处理器1010从其检索并执行指令的工作存储器1035。由工作存储器1035接收的指令可任选地在由处理器1010执行之前或之后存储在非暂时性存储装置1025上。
上文所论述的方法、系统及装置为实例。在适当时,各种配置可省略、替代或添加各种程序或组件。举例来说,在替代配置中,所述方法可以不同于所描述的次序来执行,及/或可添加、省略及/或组合各种阶段。而且,可以各种其它配置组合关于某些配置所描述的特征。可以类似方式组合配置的不同方面及元件。而且,技术发展,且因此,元件中的许多为实例且并不限制本发明或权利要求的范围。
在描述中给出特定细节以提供对实例配置(包含实施方案)的透彻理解。然而,可在无这些特定细节的情况下实践配置。举例来说,已在无不必要细节的情况下展示熟知电路、过程、算法、结构及技术以便避免混淆配置。此描述仅提供实例配置,且并不限制权利要求的范围、适用性或配置。确切地说,配置的之前描述将向所属领域的技术人员提供用于实施所描述技术的致能性描述。在不脱离本发明的精神或范围的情况下可对元件的功能及布置作出各种改变。
已描述若干实例配置,可在不脱离本发明的精神的情况下使用各种修改、替代构造及等效物。举例来说,上文元件可为较大系统的组件,其中其它规则可优先于本发明的应用或以其它方式修改本发明的应用。并且,可在考虑以上元件之前、期间或之后进行数个步骤。因此,上文描述并不限定权利要求的范围。

Claims (31)

1.一种辨识示意动作的计算机实施方法,所述方法包括:
接收场景的多个彩色图像;
处理所述多个彩色图像中的图像,其中对所述多个彩色图像中的所述图像的所述处理包括:
将经处理的所述图像的个别图像的像素分组成多个群集,每一群集至少基于色彩的相似性进行分组,其中通过将像素的颜色与图像中其他像素的颜色进行比较来评估色彩的相似性,其中在没有预先将对象识别为能够以动作示意的对象的情况下执行所述像素分组;
对所述多个彩色图像中的所述多个群集的第一群集是否移动进行跟踪,所述第一群集对应于所述场景中的能够以动作示意的对象;
对所述多个彩色图像中的所述多个群集第二群集是否移动进行跟踪,所述第二群集不对应于所述场景中的能够以动作示意的对象;以及
基于对所述第一群集和所述第二群集的跟踪,确定所述第一群集正在执行示意动作,其中在没有预先将正在执行所述示意动作的对象识别为能够以动作示意的对象的情况下执行所述确定。
2.根据权利要求1所述的计算机实施方法,其中处理所述多个彩色图像中的所述图像进一步包括:
将一或多个跟踪点指派给所述多个群集。
3.根据权利要求2所述的计算机实施方法,其中对所述第一群集是否移动的所述跟踪包括:
对指派给所述第一群集的所述一或多个跟踪点的跟踪点是否移动进行跟踪。
4.根据权利要求2所述的计算机实施方法,其中:
所述一或多个跟踪点的每一跟踪点表示图像内的所述多个群集的对应群集的位置;且
所述对应群集的所述位置包括基于所述对应群集中的像素的坐标的平均值、所述对应群集中的像素的坐标的中值或两者的值。
5.根据权利要求2所述的计算机实施方法,其中将所述一或多个跟踪点指派给所述多个群集包括将两个或两个以上跟踪点指派给所述第一群集,且对所述第一群集正在执行所述示意动作的所述确定包括:
针对所述两个或两个以上跟踪点中的每一跟踪点单独地确定每一所述跟踪点的移动是否对应于所述示意动作。
6.根据权利要求1所述的计算机实施方法,其中所述多个彩色图像中的每一像素分组到所述多个群集中的至少一者中。
7.根据权利要求1所述的计算机实施方法,其中所述多个彩色图像中的每一像素是基于所述图像的像素的一或多个色彩而单独分组。
8.根据权利要求1所述的计算机实施方法,其中处理所述多个彩色图像中的所述图像进一步包括,对于所述多个彩色图像中的每一者:
在对所述像素进行分组之前,转换图像的一或多个色彩。
9.根据权利要求8所述的计算机实施方法,其中对于所述图像的所述一或多个色彩的转换包括:
调整所述图像的所述一或多个色彩,使得所述图像的所述一或多个色彩符合Lab色彩空间。
10.根据权利要求1所述的计算机实施方法,其进一步包含基于所述第一群集的所述移动来识别对象。
11.根据权利要求10所述的计算机实施方法,其中所述对象为手。
12.根据权利要求1所述的计算机实施方法,其中对所述第一群集是否移动进行跟踪进一步包括:
产生多个历史向量,其中:
所述多个历史向量中的每一历史向量对应于相应跟踪点,且
所述多个历史向量中的每一历史向量经配置以识别所述相应跟踪点随时间推移的移动。
13.根据权利要求12所述的计算机实施方法,其中对所述第一群集正在执行所述示意动作的所述确定进一步包括:
比较所述多个历史向量与多个预定义示意动作;以及
识别所述多个历史向量中最接近地匹配所述多个预定义示意动作中的预定义示意动作的历史向量。
14.一种用于辨识示意动作的系统,所述系统包括:
一个或多个处理器;以及
存储器,其与所述一个或多个处理器以通信方式耦合且可由所述一个或多个处理器读取,且其中存储有处理器可读指令,在由所述一个或多个处理器执行时,所述处理器可读指令致使所述一个或多个处理器进行以下操作:
接收场景的多个彩色图像;
处理所述多个彩色图像中的图像,其中对所述多个彩色图像中的所述图像的所述处理包括致使所述一个或多个处理器进行以下操作:
将经处理的所述图像的个别图像的像素分组成多个群集,每一群集至少基于色彩的相似性进行分组,其中通过将像素的颜色与图像中其他像素的颜色进行比较来评估色彩的相似性,其中在没有预先将对象识别为能够以动作示意的对象的情况下执行所述像素分组;
对所述多个彩色图像中的所述多个群集的第一群集是否移动进行跟踪,所述第一群集对应于所述场景中的能够以动作示意的对象;
对所述多个彩色图像中的所述多个群集第二群集是否移动进行跟踪,所述第二群集不对应于所述场景中的能够以动作示意的对象;以及
基于对所述第一群集和所述第二群集的跟踪,确定所述第一群集正在执行示意动作,其中在没有预先将正在执行所述示意动作的对象识别为能够以动作示意的对象的情况下执行所述确定。
15.根据权利要求14所述的用于辨识示意动作的系统,其中致使所述一个或多个处理器处理所述多个彩色图像中的图像的所述处理器可读指令进一步包括经配置以致使所述一个或多个处理器进行以下操作的处理器可读指令:
将一或多个跟踪点指派给所述多个群集。
16.根据权利要求15所述的用于辨识示意动作的系统,其中致使所述一个或多个处理器对所述第一群集是否移动进行跟踪的所述处理器可读指令包括经配置以致使所述一个或多个处理器进行以下操作的处理器可读指令:
对指派给所述第一群集的所述一或多个跟踪点的跟踪点是否移动进行跟踪。
17.根据权利要求15所述的用于辨识示意动作的系统,其中:
所述一或多个跟踪点的每一跟踪点表示图像内的所述多个群集的对应群集的位置;且
所述对应群集的所述位置包括基于所述对应群集中的像素的坐标的平均值、所述对应群集中的像素的坐标的中值或两者的值。
18.根据权利要求15所述的用于辨识示意动作的系统,其中致使所述一个或多个处理器将所述一或多个跟踪点指派给所述多个群集的所述处理器可读指令包括致使所述一个或多个处理器将两个或两个以上跟踪点指派给所述第一群集的处理器可读指令,且致使所述一个或多个处理器对所述第一群集正在执行所述示意动作的确定的所述处理器可读指令包括致使所述一个或多个处理器进行以下操作的处理器可读指令:
针对所述两个或两个以上跟踪点中的每一跟踪点单独地确定每一所述跟踪点的移动是否对应于所述示意动作。
19.根据权利要求14所述的用于辨识示意动作的系统,其中所述多个彩色图像中的每一像素分组到所述多个群集中的至少一者中。
20.根据权利要求14所述的用于辨识示意动作的系统,其中致使所述一个或多个处理器处理所述多个彩色图像中的所述图像的所述处理器可读指令进一步包括经配置以致使所述一个或多个处理器对于所述多个彩色图像中的每一者进行以下操作的处理器可读指令:
在对所述像素进行分组之前,转换图像的一或多个色彩。
21.根据权利要求20所述的用于辨识示意动作的系统,其中致使所述一个或多个处理器转换所述图像的所述一或多个色彩的所述处理器可读指令包括经配置以致使所述一个或多个处理器进行以下操作的处理器可读指令:
调整所述图像的所述一或多个色彩,使得所述图像的所述一或多个色彩符合Lab色彩空间。
22.根据权利要求14所述的用于辨识示意动作的系统,其中所述处理器可读指令进一步包括在执行时致使所述一个或多个处理器进行以下操作的处理器可读指令:
识别与所述第一群集对应的所述能够以动作示意的对象。
23.根据权利要求22所述的用于辨识示意动作的系统,其中所述能够以动作示意的对象为手。
24.根据权利要求14所述的用于辨识示意动作的系统,其中致使所述一个或多个处理器对所述第一群集是否移动进行跟踪的所述处理器可读指令进一步包括经配置以致使所述一个或多个处理器进行以下操作的处理器可读指令:
产生多个历史向量,其中:
所述多个历史向量中的每一历史向量对应于相应跟踪点,且
所述多个历史向量中的每一历史向量经配置以识别所述相应跟踪点随时间推移的移动。
25.根据权利要求24所述的用于辨识示意动作的系统,其中致使所述一个或多个处理器对所述第一群集正在执行所述示意动作进行确定的所述处理器可读指令进一步包括经配置以致使所述一个或多个处理器进行以下操作的处理器可读指令:
比较所述多个历史向量与多个预定义示意动作;以及
识别最接近地匹配所述多个预定义示意动作中的预定义示意动作的历史向量。
26.一种用于辨识示意动作的设备,所述设备包括:
用于接收场景的多个彩色图像的装置;
用于处理所述多个彩色图像中的图像的装置,其中所述用于处理所述多个彩色图像中的所述图像的装置包括:
用于将经处理的所述图像的个别图像的像素分组成多个群集的装置,每一群集至少基于色彩的相似性进行分组,其中通过将像素的颜色与图像中其他像素的颜色进行比较来评估色彩的相似性,其中在没有预先将对象识别为能够以动作示意的对象的情况下执行所述像素分组;
对所述多个彩色图像中的所述多个群集的第一群集是否移动进行跟踪,所述第一群集对应于所述场景中的能够以动作示意的对象;
用于对所述多个彩色图像中的所述多个群集第二群集是否移动进行跟踪的装置,所述第二群集不对应于所述场景中的能够以动作示意的对象;以及
用于基于对所述第一群集和所述第二群集的跟踪确定所述第一群集正在执行示意动作的装置,其中在没有预先将正在执行所述示意动作的对象识别为能够以动作示意的对象的情况下执行所述确定。
27.根据权利要求26所述的用于辨识示意动作的设备,其中所述用于处理所述多个彩色图像中的所述图像的装置进一步包括:
用于将一或多个跟踪点指派给所述多个群集的装置。
28.根据权利要求27所述的用于辨识示意动作的设备,其中用于对所述第一群集是否移动进行跟踪的所述装置包括:
用于对指派给所述第一群集的所述一或多个跟踪点的跟踪点是否移动进行跟踪的装置。
29.一种非暂时性处理器可读媒体,其包括处理器可读指令,所述处理器可读指令经配置以致使处理器进行以下操作:
接收场景的多个彩色图像;
处理所述多个彩色图像中的图像,其中对所述多个彩色图像中的所述图像的所述处理包括:
将经处理的所述图像的个别图像的像素分组成多个群集,其中通过将像素的颜色与图像中其他像素的颜色进行比较来评估色彩的相似性,其中在没有预先将对象识别为能够以动作示意的对象的情况下执行所述像素分组;
对所述多个彩色图像中的所述多个群集的第一群集是否移动进行跟踪,所述第一群集对应于所述场景中的能够以动作示意的对象;
对所述多个彩色图像中的所述多个群集第二群集是否移动进行跟踪,所述第二群集不对应于所述场景中的能够以动作示意的对象;以及
基于对所述第一群集和所述第二群集的跟踪,确定所述第一群集正在执行示意动作,其中在没有预先将正在执行所述示意动作的对象识别为能够以动作示意的对象的情况下执行所述确定。
30.根据权利要求29所述的非暂时性处理器可读媒体,其中致使所述处理器处理所述多个彩色图像中的所述图像的所述处理器可读指令进一步包括经配置以致使所述处理器进行以下操作的处理器可读指令:
将一或多个跟踪点指派给所述多个群集。
31.根据权利要求30所述的非暂时性处理器可读媒体,其中致使所述处理器对所述第一群集正在执行所述示意动作进行确定的所述处理器可读指令包括经配置以致使所述处理器进行以下操作的处理器可读指令:
使用指派给所述第一群集的所述一或多个跟踪点的跟踪点的移动来确定所述第一群集正在执行所述示意动作。
CN201380033288.6A 2012-07-09 2013-06-28 用于辨识示意动作的计算机实施方法及系统 Active CN104395856B (zh)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201261669403P 2012-07-09 2012-07-09
US61/669,403 2012-07-09
US13/796,599 2013-03-12
US13/796,599 US9697418B2 (en) 2012-07-09 2013-03-12 Unsupervised movement detection and gesture recognition
PCT/US2013/048446 WO2014011410A1 (en) 2012-07-09 2013-06-28 Computer - implemented method and system for recognizing gestures

Publications (2)

Publication Number Publication Date
CN104395856A CN104395856A (zh) 2015-03-04
CN104395856B true CN104395856B (zh) 2018-03-23

Family

ID=49878560

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201380033288.6A Active CN104395856B (zh) 2012-07-09 2013-06-28 用于辨识示意动作的计算机实施方法及系统

Country Status (5)

Country Link
US (1) US9697418B2 (zh)
EP (1) EP2870523B1 (zh)
CN (1) CN104395856B (zh)
IN (1) IN2014MN02419A (zh)
WO (1) WO2014011410A1 (zh)

Families Citing this family (32)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP5547139B2 (ja) * 2011-07-29 2014-07-09 株式会社東芝 認識装置、方法及びプログラム
US9501152B2 (en) 2013-01-15 2016-11-22 Leap Motion, Inc. Free-space user interface and control using virtual constructs
US8693731B2 (en) 2012-01-17 2014-04-08 Leap Motion, Inc. Enhanced contrast for object detection and characterization by optical imaging
US8638989B2 (en) 2012-01-17 2014-01-28 Leap Motion, Inc. Systems and methods for capturing motion in three-dimensional space
US11493998B2 (en) 2012-01-17 2022-11-08 Ultrahaptics IP Two Limited Systems and methods for machine control
US10691219B2 (en) 2012-01-17 2020-06-23 Ultrahaptics IP Two Limited Systems and methods for machine control
US9679215B2 (en) 2012-01-17 2017-06-13 Leap Motion, Inc. Systems and methods for machine control
US9459697B2 (en) 2013-01-15 2016-10-04 Leap Motion, Inc. Dynamic, free-space user interactions for machine control
US20140267611A1 (en) * 2013-03-14 2014-09-18 Microsoft Corporation Runtime engine for analyzing user motion in 3d images
US9702977B2 (en) 2013-03-15 2017-07-11 Leap Motion, Inc. Determining positional information of an object in space
US9916009B2 (en) 2013-04-26 2018-03-13 Leap Motion, Inc. Non-tactile interface systems and methods
EP2997520A4 (en) * 2013-05-17 2017-01-25 International Electronic Machines Corp. Operations monitoring in an area
US9829984B2 (en) * 2013-05-23 2017-11-28 Fastvdo Llc Motion-assisted visual language for human computer interfaces
TWI506461B (zh) * 2013-07-16 2015-11-01 Univ Nat Taiwan Science Tech 人體動作的辨識方法與裝置
US10281987B1 (en) 2013-08-09 2019-05-07 Leap Motion, Inc. Systems and methods of free-space gestural interaction
US10846942B1 (en) 2013-08-29 2020-11-24 Ultrahaptics IP Two Limited Predictive information for free space gesture control and communication
US9582737B2 (en) * 2013-09-13 2017-02-28 Qualcomm Incorporated Context-sensitive gesture classification
US9632572B2 (en) 2013-10-03 2017-04-25 Leap Motion, Inc. Enhanced field of view to augment three-dimensional (3D) sensory space for free-space gesture interpretation
US9996638B1 (en) 2013-10-31 2018-06-12 Leap Motion, Inc. Predictive information for free space gesture control and communication
KR20150110032A (ko) * 2014-03-24 2015-10-02 삼성전자주식회사 영상데이터 처리 전자장치 및 방법
US10845884B2 (en) * 2014-05-13 2020-11-24 Lenovo (Singapore) Pte. Ltd. Detecting inadvertent gesture controls
KR102167289B1 (ko) * 2014-06-03 2020-10-19 엘지전자 주식회사 영상 표시 기기 및 그의 동작 방법
CN204480228U (zh) 2014-08-08 2015-07-15 厉动公司 运动感测和成像设备
CN104199602B (zh) * 2014-08-26 2018-11-09 联想(北京)有限公司 一种信息处理方法及电子设备
CN106325485B (zh) * 2015-06-30 2019-09-10 芋头科技(杭州)有限公司 一种手势检测识别方法及系统
US10529135B2 (en) * 2016-07-27 2020-01-07 Google Llc Low-power mode feature identification at a head mounted display
US11030768B2 (en) * 2018-10-30 2021-06-08 Ncr Corporation Image processing for occluded item recognition
CN109815876B (zh) * 2019-01-17 2021-01-05 西安电子科技大学 基于地址事件流特征的手势识别方法
KR102664705B1 (ko) * 2019-02-19 2024-05-09 삼성전자주식회사 복수의 카메라들을 이용하여 이미지의 배율을 변경하기 위한 전자 장치 및 방법
CN110889387A (zh) * 2019-12-02 2020-03-17 浙江工业大学 一种基于多轨迹匹配的实时动态手势识别方法
US11128636B1 (en) 2020-05-13 2021-09-21 Science House LLC Systems, methods, and apparatus for enhanced headsets
CN115017462B (zh) * 2022-06-07 2024-05-03 东华大学 一种基于计算机视觉的用户射击行为判别方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101874404A (zh) * 2007-09-24 2010-10-27 格斯图尔泰克股份有限公司 用于语音和视频通信的增强接口
CN102324019A (zh) * 2011-08-12 2012-01-18 浙江大学 一种视频序列中自动提取手势候选区域的方法及系统

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2003217587A1 (en) 2002-02-15 2003-09-09 Canesta, Inc. Gesture recognition system using depth perceptive sensors
US7379563B2 (en) 2004-04-15 2008-05-27 Gesturetek, Inc. Tracking bimanual movements
US7808478B2 (en) 2005-08-22 2010-10-05 Samsung Electronics Co., Ltd. Autonomous handheld device having a drawing tool
US7587081B2 (en) * 2005-09-28 2009-09-08 Deere & Company Method for processing stereo vision data using image density
JP4384240B2 (ja) 2008-05-28 2009-12-16 株式会社東芝 画像処理装置、画像処理方法、画像処理プログラム
US8194921B2 (en) * 2008-06-27 2012-06-05 Nokia Corporation Method, appartaus and computer program product for providing gesture analysis
US9417700B2 (en) 2009-05-21 2016-08-16 Edge3 Technologies Gesture recognition systems and related methods
TWI398818B (zh) 2009-06-30 2013-06-11 Univ Nat Taiwan Science Tech 手勢辨識方法與系統
US8320622B2 (en) 2010-03-29 2012-11-27 Sharp Laboratories Of America, Inc. Color gradient object tracking
US9213890B2 (en) 2010-09-17 2015-12-15 Sony Corporation Gesture recognition system for TV control
JP5747695B2 (ja) 2011-07-07 2015-07-15 富士通株式会社 画像処理装置、画像処理方法及び画像処理プログラム
CN103116895A (zh) 2013-03-06 2013-05-22 清华大学 基于三维模型的手势跟踪计算方法和装置

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101874404A (zh) * 2007-09-24 2010-10-27 格斯图尔泰克股份有限公司 用于语音和视频通信的增强接口
CN102324019A (zh) * 2011-08-12 2012-01-18 浙江大学 一种视频序列中自动提取手势候选区域的方法及系统

Also Published As

Publication number Publication date
EP2870523A1 (en) 2015-05-13
IN2014MN02419A (zh) 2015-08-14
CN104395856A (zh) 2015-03-04
EP2870523B1 (en) 2019-01-09
WO2014011410A1 (en) 2014-01-16
US20140010441A1 (en) 2014-01-09
US9697418B2 (en) 2017-07-04

Similar Documents

Publication Publication Date Title
CN104395856B (zh) 用于辨识示意动作的计算机实施方法及系统
CN104573706B (zh) 一种物体图像识别方法及其系统
CN104350509B (zh) 快速姿势检测器
CN103765440B (zh) 使用背景信息的移动装置上的光学字符辨识
US11579904B2 (en) Learning data collection device, learning data collection system, and learning data collection method
Matusiak et al. Object recognition in a mobile phone application for visually impaired users
Mathe et al. Action from still image dataset and inverse optimal control to learn task specific visual scanpaths
WO2016106383A2 (en) First-person camera based visual context aware system
US9269009B1 (en) Using a front-facing camera to improve OCR with a rear-facing camera
WO2019033569A1 (zh) 眼球动作分析方法、装置及存储介质
CN105373785A (zh) 基于深度神经网络的手势识别检测方法与装置
CN109977765A (zh) 人脸图像识别方法、装置及计算机设备
CN102081918A (zh) 一种视频图像显示控制方法及视频图像显示器
KR102663375B1 (ko) 음성 및 영상 자동 포커싱 방법 및 장치
Chaudhry et al. Design of a mobile face recognition system for visually impaired persons
CN105518608A (zh) 上下文关联的手势分类
CN102184016B (zh) 基于视频序列识别的无接触式鼠标控制方法
CN107169427B (zh) 一种适用于心理学的面部识别方法及装置
WO2019033567A1 (zh) 眼球动作捕捉方法、装置及存储介质
CN106471440A (zh) 基于高效森林感测的眼睛跟踪
KR20210075188A (ko) 전시 대상 제어 방법, 장치, 전자 디바이스 및 기록 매체
CN111857334A (zh) 人体手势字母的识别方法、装置、计算机设备及存储介质
US11436439B2 (en) System and method for generating label candidates related to recognition target for selection and learning
KR102476619B1 (ko) 전자 장치 및 이의 제어 방법
KR20210048271A (ko) 복수 객체에 대한 자동 오디오 포커싱 방법 및 장치

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