CN110753931A - 基于面部特征点的点头动作识别的系统和方法 - Google Patents

基于面部特征点的点头动作识别的系统和方法 Download PDF

Info

Publication number
CN110753931A
CN110753931A CN201880038528.4A CN201880038528A CN110753931A CN 110753931 A CN110753931 A CN 110753931A CN 201880038528 A CN201880038528 A CN 201880038528A CN 110753931 A CN110753931 A CN 110753931A
Authority
CN
China
Prior art keywords
image frames
image frame
motion parameter
feature point
determining
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.)
Withdrawn
Application number
CN201880038528.4A
Other languages
English (en)
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 Didi Infinity Technology and Development Co Ltd
Original Assignee
Beijing Didi Infinity Technology 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 Didi Infinity Technology and Development Co Ltd filed Critical Beijing Didi Infinity Technology and Development Co Ltd
Publication of CN110753931A publication Critical patent/CN110753931A/zh
Withdrawn legal-status Critical Current

Links

Images

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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/174Facial expression recognition
    • G06V40/176Dynamic expression
    • 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/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/16Human faces, e.g. facial parts, sketches or expressions
    • G06V40/168Feature extraction; Face representation
    • G06V40/171Local features and components; Facial parts ; Occluding parts, e.g. glasses; Geometrical relationships

Landscapes

  • Engineering & Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Oral & Maxillofacial Surgery (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Image Analysis (AREA)

Abstract

本申请涉及用于从连续图像自动识别面部动作的存在的系统和方法。该系统和方法可以获取包含面部对象的至少两个连续候选图像帧,至少两个候选图像帧中的每一个可以包括与面部对象相关联的至少两个特征点;对于至少两个连续候选图像帧中的每一个,系统和方法可以基于至少两个特征点确定一个或以上第一距离和一个或以上第二距离;对于至少两个连续候选图像帧中的每一个,系统和方法可以基于一个或以上第一距离和一个或以上第二距离来确定动作参数;响应于动作参数满足一个或以上预设条件,系统和方法可以识别点头动作的存在。

Description

基于面部特征点的点头动作识别的系统和方法
技术领域
本申请一般涉及用于动作识别的系统和方法,尤其涉及用于从连续图像帧自动识别点头动作存在的系统和方法。
背景技术
基于人类动作识别(例如,点头动作识别)的活体检测在许多场景中变得越来越重要(例如,系统登录、身份认证、人机交互)。以“系统登录”为例,当用户打算通过人脸识别登录系统时,为了验证“用户”是具有生命体的人而不是欺骗性对象(例如图片),系统可能需要识别用户的动作(例如,点头动作)以进行这种验证。现有技术通过使用需要过多计算能力的复杂算法来实现该目标,从而导致计算系统的沉重负担。因此,期望提供用于快速且有效地自动识别用户的动作的存在的系统和方法,优选地对计算容量的需求较少。
发明内容
本申请的一个方面涉及一种用于从连续图像自动识别面部动作的存在的系统。该系统可以包括至少一个存储介质,该存储介质包括指令组和与该至少一个存储介质通信的至少一个处理器。当执行一组指令时,可指示至少一个处理器使系统执行以下操作的一个或以上。该至少一个处理器可以获取包含面部对象的至少两个连续候选图像帧。至少两个候选图像帧中的每一个都可以包括与面部对象的上部相关联的一个或以上第一特征点、与面部对象的中部相关联的第二特征点,以及与面部对象的下部相关联的一个或以上第三特征点。对于至少两个连续候选图像帧中的每一个,所述至少一个处理器可以基于一个或以上第一特征点和第二特征点中的一个确定一个或以上第一距离,以及基于一个或以上第三特征点和第二特征点中的一个确定一个或以上第二距离。对于所述至少两个连续候选图像帧中的每一个,所述至少一个处理器可以基于一个或以上第一距离和一个或以上第二距离来确定动作参数。响应于动作参数满足一个或以上预设条件,至少一个处理器可以识别点头动作的存在。
本申请的另一方面涉及一种在计算设备上实现的方法,该计算设备具有至少一个处理器,至少一个存储介质和连接到网络的通信平台。所述方法可以包括一个或以上下述操作。该至少一个处理器可以获取包含面部对象的至少两个连续候选图像帧。至少两个候选图像帧中的每一个都可以包括与面部对象的上部相关联的一个或以上第一特征点、与面部对象的中部相关联的第二特征点,以及与面部对象的下部相关联的一个或以上第三特征点。对于至少两个连续候选图像帧中的每一个,所述至少一个处理器可基于一个或以上第一特征点和第二特征点中的一个确定一个或以上第一距离,以及基于一个或以上第三特征点和第二特征点中的一个确定一个或以上第二距离。在所述至少两个连续候选图像帧中的每一个中,所述至少一个处理器可以基于一个或以上第一距离和一个或以上第二距离来确定动作参数。响应于动作参数满足一个或以上预设条件,至少一个处理器可以识别点头动作的存在。
本申请的另一方面涉及一种非暂时性计算机可读介质。所述非暂时性计算机可读介质可以包括可执行指令。当可执行指令由至少一个处理器执行时,可执行指令可以指示至少一个处理器执行方法,所述方法可以包括一个或以上下述操作。该至少一个处理器可以获取包含面部对象的至少两个连续候选图像帧。至少两个候选图像帧中的每一个都可以包括与面部对象的上部相关联的一个或以上第一特征点、与面部对象的中部相关联的第二特征点,以及与面部对象的下部相关联的一个或以上第三特征点。对于至少两个连续候选图像帧中的每一个,所述至少一个处理器可以基于一个或以上第一特征点和第二特征点中的一个确定一个或以上第一距离,以及基于一个或以上第三特征点和第二特征点中的一个确定一个或以上第二距离。对于所述至少两个连续候选图像帧中的每一个,至少一个处理器可以基于一个或以上第一距离和一个或以上第二距离来确定动作参数。响应于动作参数满足一个或以上预设条件,至少一个处理器可以识别点头动作的存在。
在某些实施例中,一个或以上第一特征点可以是与面部对象的左眉或右眉中的至少一个相关联的点,第二特征点可以是面部对象的鼻尖上的一个点,并且一个或以上第三特征点可以是面部对象的下巴上的点。
在某些实施例中,一个或以上第一距离可包括一个或以上第一左侧距离和一个或以上第一右侧距离。可以基于与左眉相关联的相应第一特征点和第二特征点来确定每个第一左侧距离。可以基于与右眉相关联的相应第一特征点和第二特征点来确定每个第一右侧距离。
在一些实施例中,至少一个处理器可以确定一个或以上第一左侧距离与一个或以上第二距离的一个或以上第一比率,每个一个或以上第一比率对应于一个第一左侧距离和一个第二距离。至少一个处理器可以确定一个或以上第一比率的第一平均比率。至少一个处理器可以确定一个或以上第一右侧距离与一个或以上第二距离的一个或以上第二比率,每个一个或以上第二比率对应于一个第一右侧距离和一个第二距离。至少一个处理器可以确定一个或以上第二比率的第二平均比率。至少一个处理器可以基于第一平均比率和第二平均比率来确定动作参数。
在一些实施例中,至少一个处理器可以确定一个或以上第一距离与一个或以上第二距离的一个或以上距离比率,其中每个一个或以上距离比率对应于一个第一距离和一个第二距离。至少一个处理器可以确定一个或以上距离比率的综合距离比率作为动作参数。
在一些实施例中,所述至少一个处理器可以获得包括在面部对象的左眼中心的第一初始特征点、面部对象右眼中心的第二初始特征点、面部对象的鼻尖上的第三初始特征点、面部对象唇缘左侧的第四初始特征点,以及面部对象唇缘右侧的第五初始特征点的初始图像帧。所述至少一个处理器可以确定所述第三初始特征点是否在基于所述第一初始特征点、所述第二初始特征点、所述第四初始特征点和所述第五初始特征点确定的四边形内。响应于第三初始特征点在基于第一初始特征点、第二初始特征点、第四初始特征点、和第五初始特征点确定的四边形内,所述至少一个处理器可以将初始图像帧确定为候选图像帧。
在一些实施例中,至少一个处理器可以从至少两个连续候选图像帧识别至少两个连续目标图像帧。至少两个连续目标图像帧可以包括起始图像帧和结束图像帧。至少一个处理器可以从与至少两个连续目标图像帧对应的至少两个动作参数识别最大动作参数。该至少一个处理器可以识别与至少两个连续目标图像帧对应的至少两个动作参数相关联的最小动作参数。至少一个处理器可以基于最大动作参数和最小动作参数来确定非对称参数。所述至少一个处理器可以确定从起始图像帧到与最大动作参数对应的目标图像帧的目标图像帧的第一数量。所述至少一个处理器可以从与最大动作参数对应的目标图像帧到结束图像帧确定目标图像帧的第二数量。至少一个处理器可以通过将第二特征点拟合在至少两个连续目标图像帧中来确定估计线。响应于非对称参数大于非对称阈值、第一数量大于第一数量阈值、第二数量大于第二数量阈值、估计线与垂直线之间的角度小于角度阈值,所述至少一个处理器可以识别点头动作的存在。
在一些实施例中,对于候选图像帧,至少一个处理器可以沿着至少两个连续候选图像帧的序列,在候选图像帧之前选择至少两个先前图像帧和候选图像帧之后的至少两个后续图像帧。该至少一个处理器可以基于对应于至少两个先前图像帧的至少两个第一动作参数来确定第一平均动作参数。所述至少一个处理器可以基于与所述至少两个后续图像帧相对应的至少两个第二动作参数来确定第二平均动作参数。响应于第一平均动作参数小于第二平均动作参数,并且至少两个第二动作参数中的每一个大于或者等于与候选图像帧对应的动作参数,该至少一个处理器可以将候选图像帧识别为起始图像帧。
在一些实施例中,对于起始图像帧之后的候选图像帧,至少一个处理器可以沿着至少两个连续候选图像帧的序列,在候选图像帧之前选择至少两个先前图像帧和候选图像帧之后选择至少两个后续图像帧。所述至少一个处理器可以基于与所述至少两个先前图像帧相对应的至少两个第三动作参数来确定第三平均动作参数。所述至少一个处理器可以基于与所述至少两个后续图像帧相对应的至少两个第四动作参数来确定第四平均动作参数。响应于第三平均动作参数大于第四平均动作参数,至少两个第三动作参数中的每一个大于或等于对应于候选图像帧的动作参数,对应于候选图像帧邻近的后续图像帧的动作参数小于或等于对应于候选图像帧的动作参数,并且与第一平均动作参数和第四平均动作参数相关联的比率小于比率阈值,至少一个处理器可以将候选图像帧识别为结束图像帧。
在一些实施例中,非对称阈值可以在2-3范围内。
在一些实施例中,第一数量阈值可以在4-6范围内,第二数量阈值可以在4-6范围内,或者角度阈值可以在10°-15°范围内。
在一些实施例中,至少一个处理器可以在识别点头动作存在后,向终端设备提供认证,该终端设备与对应于面部对象的用户相关联。
在一些实施例中,该系统可以进一步包括摄像机,该摄像机可以被配置用于提供视频数据,从该视频数据可以获得至少两个连续候选图像帧。
在一些实施例中,至少一个处理器可以从由摄像机提供的视频数据获取至少两个连续候选图像帧。
本申请的一部分附加特性可以在下面的描述中进行说明。通过对以下描述和相应附图的研究或者对实施例的生产或操作的了解,本申请的一部分附加特性对于本领域技术人员是明显的。本申请的特征可以通过对以下描述的具体实施例的各种方面的方法、手段和组合的实践或使用得以实现和达到。
附图说明
本申请将通过示例性实施例进行进一步描述。这些示例性实施例将通过附图进行详细描述。这些实施例是非限制性的示例性实施例,在这些实施例中,各图中相同的编号表示相似的结构,其中:
图1是根据本申请的一些实施例所示的示例性动作识别系统的示意图;
图2是根据本申请的一些实施例所示的计算设备的示例性硬件和/或软件组件的示意图;
图3是根据本申请的一些实施例所示的移动设备的示例性硬件组件和/或软件组件的示意图;
图4是根据本申请的一些实施例所示的示例性处理引擎的框图;
图5是根据本申请的一些实施例所示的用于识别点头动作的存在的示例性过程的流程图;
图6-A和6-B是根据本申请的一些实施例所示的示例性特征点的示意图;
图7-A是根据本申请的一些实施例所示确定动作参数的示例性过程的流程图;
图7-B是根据本申请的一些实施例所示确定动作参数的示例性过程的流程图;
图8-A是根据本申请的一些实施例所示确定候选图像帧的示例性过程的流程图;
图8-B是根据本申请的一些实施例所示的示例性初始特征点的示意图;
图9是根据本申请的一些实施例所示的用于识别点头动作的存在的示例性过程的流程图;
图10是根据本申请的一些实施例所示确定起始图像帧的示例性过程的流程图;
图11是根据本申请的一些实施例所示确定结束图像帧的示例性过程的流程图;以及
图12是根据本申请的一些实施例所示的指示在点头动作期间动作参数的变化过程的示例性曲线的示意图。
具体实施方式
以下描述是为了使本领域的普通技术人员能够实施和利用本申请并且该描述是在特定的应用场景及其要求的环境下提供的。对于本领域的普通技术人员来讲,显然可以对所披露的实施例作出各种改变,并且在不偏离本申请的原则和范围的情况下,本申请中所定义的普遍原则可以适用于其他实施例和应用场景。因此,本申请并不限于所描述的实施例,而应该被给予与权利要求一致的最广泛的范围。
本申请中所使用的术语仅用于描述特定的示例性实施例,并不限制本申请的范围。如本申请使用的单数形式“一”、“一个”及“该”可以同样包括复数形式,除非上下文明确提示例外情形。还应当理解,如在本申请说明书中,术语“包括”、“包含”仅提示存在所述特征、整体、步骤、操作、组件和/或部件,但并不排除存在或添加一个或以上其他特征、整体、步骤、操作、组件、部件和/或其组合的情况。
根据以下对附图的描述,本申请的这些和其他的特征、特点以及相关结构元件的功能和操作方法,以及部件组合和制造经济性,可以变得更加显而易见,这些附图都构成本申请说明书的一部分。然而,应当理解的是,附图仅仅是为了说明和描述的目的,并不旨在限制本申请的范围。应当理解的是,附图并不是按比例绘制的。
本申请中使用了流程图用来说明根据本申请的一些实施例的系统所执行的操作。应当理解的是,流程图中的操作可以不按顺序执行。相反,可以按照倒序或同时处理各种步骤。同时,也可以将一个或以上其他操作添加到这些流程图中。也可以从流程图中删除一个或以上操作。
此外,虽然本申请中的系统和方法主要是关于点头动作识别而描述的,但是还应该理解,这仅是一个示例性实施例。本申请的系统和方法可以应用于任何其他类型的动作识别。例如,本申请的系统和方法可以应用于其他动作识别,包括眼球运动、摇动动作、眨眼动作、抬头动作、张嘴动作等,或其任何组合。动作识别系统可以应用于许多应用场景,例如系统登录、身份认证、人机交互(HCl)等。本申请的系统和方法的应用可以包括但不限于网页、浏览器的插件、客户终端、定制系统、内部分析系统、人工智能机器人等,或其任何组合。
本申请中的术语“主题”、“人”或“用户”可互换使用,指的是要识别其行为的活体。此外,本申请中的术语“图像帧”、“图像”、“候选图像帧”和“目标图像帧”用于表示视频数据中的帧或由相机设备捕获的图像。本申请中的术语“相机”、“相机设备”和“捕获设备”可以互换使用,以指代可以捕获视频数据或图像数据的设备。
本申请的一个方面涉及用于识别点头动作的存在的系统和方法。在点头动作期间,面部对象的上部(例如,人的面部)与面部部分的中部之间的距离动态地改变;面部对象的中部与面部对象的下部之间的距离也会动态变化。因此,在点头动作期间,与两个距离相关联的动作参数(例如,两个距离的比率)改变。系统和方法可以基于动作参数的变化来识别点头动作的存在。
例如,系统和方法可以获得与面部对象相关联的至少两个连续候选图像帧。至少两个连续候选图像帧中的每一个可包括与上部相关联的一个或以上第一特征点、与中部相关联的第二特征点,以及与下部相关联的一个或以上第三特征点。对于至少两个连续候选图像帧中的每一个,系统和方法可以基于一个或以上第一特征点和第二特征点确定一个或以上第一距离,并且基于一个或以上第三特征点和第二特征点确定一个或以上第二距离。此外,系统和方法可以基于一个或以上第一距离以及一个或以上第二距离来确定动作参数。因此,系统和方法可以基于对应于至少两个连续候选图像帧的动作参数来识别点头动作的存在。
图1是根据本申请的一些实施例所示的示例性动作识别系统的示意图。例如,动作识别系统100可以是基于面部对象(例如,人的面部160)的信息的用于活体识别的在线动作识别平台。
在一些实施例中,动作识别系统100可以用于各种应用场景,例如人机交互(HCl)、系统登录、身份认证等,或其任何组合。在HCI的应用场景中,动作识别系统100可以执行指令以执行用户响应于在动作的识别中定义的操作。例如,在提取用户的面部信息并识别用户的动作(例如,点头动作)之后,动作识别系统100可以执行指令以执行定义的操作例如转动电子书的页面、在视频聊天期间添加动画效果、控制机器人执行操作(例如,拖地)、请求服务(例如,出租车服务)等。在系统登录的应用场景中(例如,银行系统、支付系统、在线考试系统、安全和保护系统等),在提取用户的面部信息并识别用户的动作(例如,点头动作)之后,动作识别系统100可以确定登录许可并允许与用户相关联的用户帐户登录系统。在身份认证的应用场景中,在提取用户的面部信息并识别用户的动作(例如,点头动作)之后,动作识别系统100可以确定用户的身份并提供访问帐户的许可(例如,终端设备、支付帐户或会员帐户)或进入受限制地点的许可(例如,公司、图书馆、医院或公寓)。
在一些实施例中,动作识别系统100可以是在线平台,包括服务器110、网络120、摄影设备130、用户终端140和存储器150。
服务器110可以是单个服务器或服务器组。所述服务器组可以是集中式的,也可以是分布式的(例如,服务器110可以是分布式的系统)。在一些实施例中,服务器110可以是本地的,也可以是远程的。例如,服务器110可以经由网络120访问存储在摄影设备130、用户终端140和/或存储器150中的信息和/或数据。又例如,服务器110可以直接连接到摄影设备130、用户终端140和/或存储器150以访问存储信息和/或数据。在一些实施例中,服务器110可以在云平台上实施。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。在一些实施例中,服务器110可以在本申请中的图2描述的包含了一个或以上组件的计算设备200上执行。
在一些实施例中,服务器110可以包括处理引擎112。处理引擎112可以处理与动作识别有关的信息和/或数据,以执行本申请中描述的一个或以上的功能。例如,处理引擎112可以基于包含面部对象的至少两个连续候选图像帧来识别点头动作的存在。在一些实施例中,所述处理引擎112可包括一个或以上处理引擎(例如,单芯片处理引擎或多芯片处理引擎)。仅作为示例,处理引擎112可以包括一个或以上硬件处理器,例如中央处理单元(CPU)、特定应用集成电路(ASIC)、特定应用指令集处理器(ASIP)、图像处理单元(GPU)、物理运算处理单元(PPU)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、可编程逻辑设备(PLD)、控制器、微控制器单元、精简指令集计算机(RISC)、微处理器等或其任意组合。
在一些实施例中,服务器110可以是不必要的,并且服务器110的全部或部分功能可以由动作识别系统100的其他组件(例如,摄影设备130、用户终端140)实现。例如,处理引擎112可以集成在摄影设备130或用户终端140中,并且处理引擎112的功能(例如,基于与面部对象相关联的图像帧识别面部对象的动作的存在)可以由摄影设备130或用户终端140实现。
网络120可以促进信息和/或数据的交换。在一些实施例中,动作识别系统100的一个或以上组件(例如,服务器110、摄影设备130、用户终端140、存储器150)可以经由网络120与动作识别系统100的其他组件交换信息和/或数据。例如,服务器110可以经由网络120从摄影设备130获得信息和/或数据(例如,图像帧)。在一些实施例中,网络120可以是有线网络或无线网络等或其任意组合。仅作为示例,网络130可以包括电缆网络、有线网络、光纤网络、电信网络、内部网络、互联网、局域网络(LAN)、广域网络(WAN)、无线局域网络(WLAN)、城域网(MAN)、公共交换电话网络(PSTN)、蓝牙网络、紫蜂网络、近场通信(NFC)网络等或其任意组合。在一些实施例中,网络120可以包括一个或以上网络接入点。例如,网络120可以包括有线或无线网络接入点,例如基站和/或互联网交换点120-1、120-2、......,动作识别系统100的一个或以上组件可以通过它们连接到网络120以交换数据和/或信息。
摄影设备130可以捕获包含面部对象的图像数据或视频数据。例如,摄影设备130可以捕获包括包含面部对象的至少两个图像帧的视频。在一些实施例中,摄影设备130可以包括黑白相机、彩色相机、红外相机、3D相机、X射线相机等。在一些实施例中,摄影设备130可以包括单目相机、双目相机、多相机等。在一些实施例中,摄影设备130可以是包括或连接到相机的智能设备。智能设备可以包括智能家居设备(例如,智能照明设备、智能电视)、智能机器人(例如,扫地机器人、拖地机器人、聊天机器人、工业机器人等)。在一些实施例中,摄影设备130可以是监视相机。监视相机可以包括无线彩色相机、低光相机、防破坏相机、子弹相机、针孔相机、隐藏间谍相机、固定盒相机等,或其任何组合。在一些实施例中,摄影设备130可以是IP相机,其可以经由网络120将捕获的图像数据或视频数据发送到动作识别系统100的任何组件(例如,服务器110、用户终端140、存储器150)。
在一些实施例中,摄影设备130可以基于捕获的图像帧独立地识别面部对象的动作的存在。在一些实施例中,摄影设备130可以将捕获的图像帧发送到服务器110或用户终端140以进一步处理。在一些实施例中,摄影设备130可以将捕获的图像帧发送到存储器150以进行存储。在一些实施例中,摄影设备130可以集成在用户终端140中。例如,摄影设备130可以是用户终端140的一部分,诸如移动电话的相机、计算机的相机等。
在一些实施例中,用户终端140可以包括移动设备、平板计算机、膝上型计算机等,或其任何组合。在一些实施例中,移动设备可以包括可穿戴设备、智能移动设备、虚拟现实设备、增强现实设备等,或其任何组合。在一些实施例中,可穿戴设备可包括智能手环、智能鞋袜、智能眼镜、智能头盔、智能手表、智能服装、智能背包、智能配件等,或其任何组合。在一些实施例中,智能移动设备可以包括移动电话、个人数字助理(PDA)、游戏设备、导航设备、销售点(POS)设备等,或其任何组合。在一些实施例中,虚拟现实设备和/或增强型虚拟现实设备可以包括虚拟现实头盔、虚拟现实眼镜、虚拟现实眼罩、增强现实头盔、增强现实眼镜、增强现实眼罩等,或其任意组合。例如,虚拟现实设备和/或增强现实设备可以包括Google GlassTM、RiftConTM、FragmentsTM、Gear VRTM等。
在一些实施例中,用户终端140可以直接或经由网络120与动作识别系统100的其他组件(例如,服务器110、摄影设备130、用户终端140、存储器150)交换信息和/或数据。例如,用户终端140可以从摄影设备130或存储器150获得图像帧,以基于图像帧识别面部对象的动作的存在。又例如,用户终端140可以从服务器110接收消息(例如,认证)。
存储器150可以储存数据和/或指令。在一些实施例中,存储器150可以存储从摄影设备130和/或用户终端140获得的数据。在一些实施例中,存储器150可以储存服务器110用来执行或使用来完成本申请中描述的示例性方法的数据和/或指令。在一些实施例中,存储器150可包括大容量存储器、可移动存储器、易失性读写存储器、只读存储器(ROM)等或其任意组合。示例性大容量存储器可包括磁盘、光盘、固态驱动器等。示例性可移动存储器可包括闪存驱动器、软盘、光盘、存储卡、zip磁盘、磁带等。示例性易失性读写存储器可以包括随机存取存储器(RAM)。示例性RAM可包括动态随机存取存储器(DRAM)、双倍数据速率同步动态随机存取存储器(DDR SDRAM)、静态随机存取存储器(SRAM)、晶闸管随机存取存储器(T-RAM)和零电容随机存取存储器(Z-RAM)等。示例性只读存储器可以包括掩模型只读存储器(MROM)、可编程只读存储器(PROM)、可擦除可编程只读存储器(EPROM)、电可擦除可编程只读存储器(EEPROM)、光盘只读存储器(CD-ROM)和数字多功能磁盘只读存储器等。在一些实施例中,所述存储器150可在云平台上实现。仅作为示例,该云平台可以包括私有云、公共云、混合云、社区云、分布云、内部云、多层云等或其任意组合。
在一些实施例中,存储器150可以连接到网络120以与动作识别系统100的一个或以上组件(例如,服务器110、摄影设备130、用户终端140等)通信。动作识别系统100的一个或以上组件可以经由网络120访问存储在存储器150中的数据或指令。在一些实施例中,存储器150可以直接连接到动作识别系统100的一个或以上组件(例如,服务器110、摄影设备130、用户终端140等)或与之通信。在一些实施例中,存储器150可以是服务器110的一部分。
在一些实施例中,动作识别系统100的一个或以上组件(例如,服务器110、摄影设备130、用户终端140)可以具有访问存储器150的许可。例如,用户终端140可以从存储器150访问信息/数据(例如,包含面部对象的图像帧)。
该描述旨在说明,而不是限制本申请的范围。许多替代、修改和变化对于本领域普通技术人员来说是显而易见的。本文描述的示例性实施例的特征、结构、方法和其他特征可以以各种方式组合以获得另外的和/或替代的示例性实施例。例如,存储器150可以是包括云计算平台的数据存储器,例如公共云、私有云、社区和混合云等。但是,那些变化与修改不会脱离本申请的范围。
图2是根据本申请的一些实施例所示的计算设备200的示例性硬件和/或软件组件的示意图。在一些实施例中,服务器110、摄影设备130和/或用户终端140可以在计算设备200上实现。例如,所述处理引擎112可以在所述计算设备200上实施并执行本申请所披露的所述处理引擎112的功能。
计算设备200可用于实现如本文所述的动作识别系统100的任何组件。例如,处理引擎112可以在计算设备200上通过其硬件、软件程序、固件或其组合实现。虽然只是显示了一台这样的电脑,但为方便起见,与这里描述的动作识别有关的计算机功能可以在多个类似平台上以分布式方式实现,以分配处理负荷。
例如,计算设备200可以包括与网络相连接通信端口250,以实现数据通信。计算设备200还可以包括处理器220,以一个或以上处理器(例如,逻辑电路)的形式执行程序指令。例如,处理器220可以包括接口电路和其中的处理电路。接口电路可以被配置为从总线210接收电信号,其中电信号编码用于处理电路的结构化数据和/或指令。处理电路可以进行逻辑计算,然后将结论、结果和/或指令编码确定为电信号。然后,接口电路可以经由总线210从处理电路发出电信号。
计算设备200还可以包括不同形式的程序存储和数据存储,例如磁盘270、只读存储器(ROM)230或随机存取存储器(RAM)240,用于存储由计算设备处理和/或传输的各种数据文件。示例性的计算机平台也包括存储在ROM 230、RAM 240和/或其他形式的非暂时性存储介质中的能够被处理器220执行的程序指令。本申请的方法和/或流程可以以程序指令的方式实现。计算设备200还包括输入/输出组件260,支持计算机和其他组件之间的输入/输出。计算设备200也可以通过网络通信接收编程和数据。
为了方便说明,图2中仅描述了一个处理器。也可以包括至少两个处理器,因此本申请中描述的由一个处理器执行的操作和/或方法步骤也可以由多个处理器共同地或单独执行。例如,如果在本申请中,计算设备200的CPU和/或处理器执行步骤A和步骤B,应当理解的是,步骤A和步骤B可以由计算设备200的两个不同的CPU和/或处理器共同地或独立地执行(例如,第一处理器执行步骤A,第二处理器执行步骤B,或者第一和第二处理器共同地执行步骤A和步骤B)。
图3是根据本申请的一些实施例示出移动设备300的示例性硬件和/或软件组件的示意图,其上可以实现摄影设备130、用户终端140或摄影设备130或用户终端140的一部分。如图3所示,移动设备300可以包括通信平台310、显示器320、图像处理单元(GPU)330、中央处理单元(CPU)340、输入/输出(I/O)350、内存360、移动操作系统(OS)370和存储器390。在一些实施例中,任何其他合适的组件,包括但不限于系统总线或控制器(未示出),也可包括在移动设备300内。
在一些实施例中,操作系统370(例如,iOSTM、AndroidTM、Windows PhoneTM等)和一个或以上应用程序380可从存储器390下载至内存360以及由CPU 340执行。应用程序380可以包括浏览器或任何其他合适的移动应用程序,用于从动作识别系统100接收和呈现与动作识别或其他信息有关的信息。用户与信息流的交互可以通过I/O 350实现,并通过网络120提供给处理引擎112和/或动作识别系统100的其他组件。
为了实施本申请描述的各种模块、单元及其功能,计算机硬件平台可用作本文中描述之一个或以上元素的硬件平台。具有用户接口组件的计算机可用于实施个人计算机(PC)或任何其他类型的工作站或终端设备。如果适当编程,计算机也可以充当系统。
图4是根据本申请的一些实施例所示的示例性处理引擎的框图。处理引擎112可包括获取模块410、距离确定模块420、动作参数确定模块430和识别模块440。
获取模块410可以是配置用于获取包含面部对象的至少两个连续候选图像帧。面部对象可以指受试者(例如,人、动物)的面部。获取模块410可以从本申请中其他地方披露的摄影设备130、用户终端140或存储设备(例如,存储器150)获取至少两个连续候选图像帧。
如这里所使用的,“图像帧”可以指代视频中的帧,并且“连续”可以指代图像帧根据视频中的顺序(例如,时间顺序)来对准。例如,摄影设备130可以按时间顺序捕获视频。该视频包括分别对应于至少两个捕获时间点的至少两个图像帧。因此,图像帧基于捕获时间点按时间顺序对齐。
在一些实施例中,至少两个候选图像帧中的每一个可以包括与面部对象相关联的至少两个特征点。在某些实施例中,至少两个特征点可以包括与面部对象的上部相关联的一个或以上第一特征点、与面部对象的中部相关联的第二特征点,以及与面部对象的下部相关联的一个或以上第三特征点。如这里所使用的,上部可以指面部对象的鼻子上方的上部区域,中部可以指中间区域,包括面部对象的鼻子,并且下部可以指面部对象的鼻子下面的下部区域。
距离确定模块420可以被配置为基于每个至少两个连续候选图像帧中的一个或以上第一特征点和第二特征点中的一个确定一个或以上第一距离,以及基于一个或以上第三特征点和第二特征点中的一个确定一个或以上第二距离。如这里所使用的,在某些实施例中,第一距离可以指示面部对象的上部与面部对象的中部之间的距离。在某些实施例中,第二距离可以表示面部对象的中部与面部对象的下部之间的距离。
动作参数确定模块430可以被配置用于基于至少两个连续候选图像帧中的每一个中的一个或以上第一距离以及一个或以上第二距离来确定动作参数。如这里所使用的,动作参数是指与上部和中部之间的距离与中部和下部之间的距离的比率相关联的参数。
识别模块440可以被配置用于响应动作参数满足预设条件识别点头动作的存在。众所周知,在点头动作期间,面部对象可以沿着向下方向从开始位置移动到中间位置,然后沿着向上方向从中间位置移动到结束位置。因此,在点头动作期间,面部对象的上部和面部对象的中部之间的距离,与面部对象的中部和面部对象的下部之间的距离,在至少两个连续候选图像帧中动态变化。因此,动作参数在点头动作期间动态地改变。
处理引擎112中的模块可以经由有线连接或无线连接彼此连接或通信。有线连接可以包括金属线缆、光缆、混合电缆等或其任意组合。无线连接可以包括局域网络(LAN)、广域网络(WAN)、蓝牙、紫蜂网络、近场通信(NFC)等或其任意组合。两个或以上模块可以被组合为单个模块,且所述模块中的任一个可以被分成两个或以上单元。例如,距离确定模块420和动作参数确定模块430可以组合为单个模块,其可以确定一个或以上第一距离以及一个或以上第二距离,并基于第一距离和第二距离确定动作参数。又例如,处理引擎112可以包括存储模块(未示出),其可以用于存储由上述模块生成的数据。
图5是根据本申请的一些实施例所示的用于识别点头动作的存在的示例性过程的流程图。在一些实施例中,过程500可以通过存储在只读存储器230或随机存取存储器240中的指令组(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行指令组,并且当执行指令时,处理器220和/或模块可以被配置用于执行处理500。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程500可以通过未描述的一个或多个以上附加操作和/或没有一个或以上本文所讨论的操作来完成。另外,如图5所示和下面描述的过程操作的顺序不是限制性的。
在510中,处理引擎112(例如,获取模块410)(例如,处理器220的接口电路)可以获得包含面部对象的至少两个连续候选图像帧。面部对象可以指受试者(例如,人、动物)的面部。处理引擎112可以从本申请中其他地方披露的摄影设备130、用户终端140或存储设备(例如,存储器150)获取至少两个连续候选图像帧。
如这里所使用的,“图像帧”可以指代视频中的帧,并且“连续”可以指代图像帧根据视频中的顺序(例如,时间顺序)来对准。例如,摄影设备130可以按时间顺序捕获视频。该视频包括分别对应于至少两个捕获时间点的至少两个图像帧。因此,图像帧基于捕获时间点按时间顺序对齐。
在一些实施例中,至少两个连续候选图像帧可以表示为如下所示的有序集:
F=[F1,F2,Fi,...,Fm], (1)
其中F指有序集,Fi指的是第i个候选图像帧,m指的是至少两个候选图像帧的数量。在有序集中,至少两个连续候选图像帧基于至少两个候选图像帧的捕获时间点按时间顺序排序。例如,候选图像帧F1对应于第一捕获时间点,候选图像帧F2对应于第二捕获时间点,其中第二捕获时间点晚于第一捕获时间点,并且第一捕获时间点和第二捕获时间点之间的时间间隔可以是摄影设备130的默认参数,或者可以由动作识别系统100设置。例如,摄影设备130可以每秒捕获24个图像帧;在一些实施例中,相邻候选图像帧之间的间隔可以是1/24秒,这意味着所有捕获的图像帧都被用作候选图像帧;在一些其他实施例中,相邻候选图像帧之间的间隔可以是1/12秒,这意味着某些(一半)捕获图像帧被用作候选图像帧,但是其他的被跳过。
在一些实施例中,至少两个候选图像帧中的每一个可以包括与面部对象相关联的至少两个特征点。如本文所用,“特征点”可指代位于面部的点;在某些实施例中,特征点是面部上的一个点,并且可以被可察觉地识别,例如,眼睛末端的一个点、眉毛上的一个点、鼻子上的一个点等。在一些实施例中,处理引擎112可以基于面部识别过程确定至少两个特征点。面部识别过程可以包括基于几何特征的过程、局部面部分析过程、主成分分析过程、基于深度学习的过程等,或其任何组合。
在某些实施例中,至少两个特征点可以包括与面部对象的上部相关联的一个或以上第一特征点、与面部对象的中部相关联的第二特征点,以及与面部对象的下部相关联的一个或以上第三特征点。如这里所使用的,上部可以指面部对象的鼻子上方的上部区域,中部可以指中间区域,包括面部对象的鼻子,并且下部可以指面部对象的鼻子下面的下部区域。
在一些实施例中,一个或以上第一特征点可包括与面部对象的左上部相关联的一个或以上第一左点和与面部对象的右上部相关联的一个或以上第一右点。例如,如图6-A所示,一个或以上第一左点可包括左眉上的任何点(例如,点al1、...、点ali、...、和点
Figure BDA0002311138290000161
)。一个或以上第一右点可包括右眉上的任何点(例如,点ar1、...、点ari、...、和点
Figure BDA0002311138290000162
)。在一些实施例中,一个或以上第一特征点可以包括位于面部对象的上部的任何点。例如,如图6-B所示,一个或以上第一特征点可以包括位于基于左眉的最高点和右眉的最高点确定的线610上或上方的任何点(例如,点ai),或者位于基于左眉的右端点和右眉的左端点确定的线620上的任何点(例如,点a′i)。
在一些实施例中,第二特征点可以是面部对象的鼻子上或周围的点(例如,鼻子的尖端点)。在一些实施例中,一个或以上第三特征点可包括位于面部对象下部的任何点。例如,如图6-A所示,一个或以上第三特征点可以包括面部对象的下巴上的任何点(例如,点c1、...、点ci、...、和点
Figure BDA0002311138290000171
)。
在520中,对于每个至少两个连续候选图像帧,处理引擎112(例如,距离确定模块420)(例如,处理器220的处理电路)可以确定一个或以上第一距离,每个第一距离基于一个或以上第一特征点和第二特征点中的一个确定,以及一个或以上第二距离,每个第二距离可以基于一个或以上第三特征点和第二特征点中的一个确定。如这里所使用的,在某些实施例中,第一距离可以指示面部对象的上部与面部对象的中部之间的距离。在某些实施例中,第二距离可以表示面部对象的中部与面部对象的下部之间的距离。
以特定的第一距离或特定的第二距离为例,处理引擎112可以根据下面的公式(2)确定第一距离或第二距离:
Figure BDA0002311138290000172
其中,D指的是第一距离或第二距离,(xi,yi)是指与面部对象的上部相关联的第一特征点的坐标或与面部对象的下部相关联的第三特征点的坐标,(x0,y0)是指与面部对象的中部相关联的第二特征点的坐标。为了便于说明,本申请以直角坐标系为例,应当注意,特征点的坐标可以在任何坐标系(例如,极坐标系)中表示,并且坐标系的原点可以是图像帧中的任何点。
在530中,处理引擎112(例如,动作参数确定模块430)(例如,处理器220的处理电路)可以基于每个至少两个连续候选图像帧中的一个或以上第一距离以及一个或以上第二距离来确定动作参数。如这里所使用的,动作参数是指与上部和中部之间的距离与中部和下部之间的距离的比率相关联的参数。动作参数的更多描述可以在本申请的其他地方找到(例如,图7-A、图7-B及其描述)。
在540中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以响应动作参数满足预设条件识别点头动作的存在。众所周知,在点头动作期间,面部对象可以沿着向下方向从开始位置移动到中间位置,然后沿着向上方向从中间位置移动到结束位置。因此,在点头动作期间,面部对象的上部与面部对象的中部之间的距离,面部对象的中部之间与面部对象的下部之间的距离在至少两个连续候选图像帧中动态变化。因此,动作参数在点头动作期间动态地改变。
假设开始位置和结束位置都对应于面部对象面向摄影设备130的右侧或基本上右侧的时间点;在理想条件下,对应于起始位置的动作参数和对应于结束位置的动作参数是固定值并且大致彼此相等。在点头动作期间,中间位置可以是停止位置,其中面部对象停止向下移动(或开始向上移动),这对应于动作参数最大的时间点。因此,处理引擎112可以识别包括起始图像帧的至少两个连续目标图像帧,该起始图像帧对应于或基本上对应于起始位置,结束图像帧,其对应于或基本上对应于结束位置,以及中间图像帧,其对应于或基本上对应于中间位置,并且基于起始图像帧、结束图像帧和中间图像帧的动作参数来识别点头动作的存在。关于点头动作的识别的更多描述可以在本申请的其他地方找到(例如,图9-11及其描述)。
应当注意,这里使用的“基本上对应于”指的是捕获图像帧的捕获时间点与对应于该位置的时间点之间的时间间隔小于普通人本领域可识别的时间阈值。众所周知,摄影设备130根据帧速率(可以是默认参数)捕获图像帧,也就是说,两个相邻图像帧的捕获时间点不连续(即,在两个捕获时间点之间存在时间间隔)。因此,以“起始位置”为例,起始图像帧可能不严格对应于起始位置的时间点,但是起始图像帧的捕获时间点可以是非常接近开始位置的时间点的时间点。在理想条件下,我们可以认为两个时间点是相同的,因为候选图像帧之间的间隔通常很短。
在一些实施例中,处理引擎112还可以在识别存在点头动作后,向终端设备(例如,用户终端140)提供认证,该终端设备与对应于面部对象的用户相关联。在收到认证后,用户可以拥有终端设备的访问权限。
应该注意的是,上述仅出于说明性目的而提供,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。例如,可以在过程500中的其他地方添加一个或以上其他可选操作(例如,存储操作)。在存储操作中,处理引擎112可以存储与本申请中其他地方披露的存储设备(例如,存储器150)中的动作识别相关联的信息(例如,至少两个连续候选图像帧、所述一个或以上第一距离、所述一个或以上第二距离、动作参数)。
图6-A和6-B是根据本申请的一些实施例所示的示例性特征点的示意图。如结合510所述,至少两个候选图像帧中的每一个可以包括与面部对象的上部相关联的一个或以上第一特征点、与面部对象的中部相关联的第二特征点,以及与面部对象的下部相关联的一个或以上第三特征点。在一些实施例中,面部对象的上部是指面部对象上包括眉毛及其上方的区域。在一些实施例中,面部对象的下部是指面部对象上包括嘴唇及其下方的区域。在一些实施例中,面部对象的中部指的是眉毛和嘴唇之间的区域。
如图6-A所示,一个或以上第一特征点可以包括与面部对象的左上部相关联的第一左边点(例如,在左眉上点al1、...、点ali、...、和点
Figure BDA0002311138290000191
)和与面部对象的右上部相关联的第一右边点(例如,在右眉上点ar1、...、点ari、...、和点
Figure BDA0002311138290000192
)。第二特征点可以是面部对象的鼻子的尖端点(例如,点b)。一个或以上第三特征点可以包括面部对象的下巴上的点(例如,点c1、...、点ci、...、和点
Figure BDA0002311138290000193
)。上述n1、n2和n3的值可以彼此相同或者可以彼此不同。
如图6-B所示,一个或以上第一特征点可以包括位于基于左眉的最高点和右眉的最高点确定的线610上或上方的任何点(例如,点ai),或者基于左眉的右端点和右眉的左端点确定的位于线620上或上方的任何点(例如,点a′i)。
应当注意图6-A和图6-B中所示的特征点的示例是出于说明目的而提供的,并非旨在限制本申请的范围。在一些实施例中,第一特征点可以是位于面部对象的上部的任何点,例如,眼睛的端点,位于基于眼睛的两个端点确定的线上的点等。第二特征点可以是位于面部对象的鼻子上或周围的任何点(例如,鼻根点)。第三特征点可以是位于面部对象下部的任何点,例如,唇部的端点、位于基于唇部的两个端点确定的线上的点等。
图7-A是根据本申请的一些实施例所示的用于确定动作参数的示例性过程的流程图。在一些实施例中,过程710可以通过存储在只读存储器230或随机存取存储器240中的指令组(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行指令组,并且当执行指令时,处理器220和/或模块可以被配置以执行处理710。
以下所示过程的操作仅出于说明的目的。在一些实施例中,过程710可以通过未描述的一个或多个以上附加操作和/或没有一个或以上本文所讨论的操作来完成。另外,如图7所示和下面描述的过程操作的顺序不是限制性的。在一些实施例中,可以基于过程710来执行操作530。
在711中,处理引擎112(例如,动作参数确定模块430)(例如,处理器220的处理电路)可以确定一个或以上第一左侧距离与一个或以上第二距离的一个或以上第一比率。一个或以上第一比率中的每一个可以对应于一个第一左侧距离和一个第二距离。如结合510所述,一个或以上第一特征点可以包括与面部对象的左上部相关联的一个或以上第一左点和与面部对象的右上部相关联的一个或以上第一右点。因此,基于相应的第一左点和第二特征点可以确定一个或以上第一左侧距离中。以特定的第一比率为例,处理引擎112可以根据下面的公式(3)确定第一比率:
Rli=Dli/Ci (3)
其中,Rli指第i个第一比率,Dli指的是第i个第一左侧距离,和Ci指的是第i个第二距离。
在712中,处理引擎112(例如,动作参数确定模块430)(例如,处理器220的处理电路)可以确定一个或以上第一比率的第一平均比率。例如,处理引擎112可以根据下面的公式(4)确定第一平均比率:
Figure BDA0002311138290000201
其中,
Figure BDA0002311138290000202
指的是第一平均比率,Rli指的是第i个第一比率,和s1指的是一个或以上第一比率的数量。
在713中,处理引擎112(例如,动作参数确定模块430)(例如,处理器220的处理电路)可以确定一个或以上第一右侧距离与一个或以上第二距离的一个或以上第二比率。一个或以上第二比率中的每一个可以对应于一个第一右侧距离和一个第二距离。如结合510和711所述,基于相应的第一右点和第二特征点确定每个一个或以上第一右侧距离。
同样以特定的第二比例为例,处理引擎112可以根据下面的公式(5)确定第二比率:
Rri=Dri/Ci (5)
其中,Rri指第i个第二比率,Dri指的是指第i个第一右侧距离,和Ci指的是第i个第二距离。
在714中,处理引擎112(例如,动作参数确定模块430)(例如,处理器220的处理电路)可以确定一个或以上第二比率的第二平均比率。例如,处理引擎112可以根据下面的公式(6)确定第二平均比率:
Figure BDA0002311138290000211
其中,
Figure BDA0002311138290000212
是指第二平均比率,Rri是指第i个第二比率,和s2是指一个或以上第二比率的数量,其中s2可以与s1相同或不同。
在715中,处理引擎112(例如,动作参数确定模块430)(例如,处理器220的处理电路)可以基于第一平均比率和第二平均比率来确定动作参数。例如,处理引擎112可以根据下面的公式(7)确定动作参数:
其中A表示动作参数,
Figure BDA0002311138290000214
以及
Figure BDA0002311138290000215
分别表示第一平均比率和第二平均比率。应该注意,上面的公式(7)是出于说明的目的,处理引擎112可以基于第一平均比率和第二平均比率的加权平均值,第一平均比率和第二平均比率中的较大者等来确定动作参数。
图7-B是根据本申请的一些实施例所示的用于确定动作参数的示例性过程的流程图。在一些实施例中,过程720可以通过存储在只读存储器230或随机存取存储器240中的指令组(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行指令组,并且当执行指令时,处理器220和/或模块可以被配置以执行处理720。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程720可以通过未描述的一个或多个以上附加操作和/或没有一个或以上本文所讨论的操作来完成。另外,如图7-B所示和下面描述的过程操作的顺序不是限制性的。在一些实施例中,可以基于过程720来执行操作530。
在721中,处理引擎112(例如,动作参数确定模块430)(例如,处理器220的处理电路)可以确定一个或以上第一距离与一个或以上第二距离的一个或以上距离比率。一个或以上距离比率中的每一个可以对应于一个第一距离和一个第二距离。
以特定的距离比率为例,处理引擎112可以根据下面的公式(8)确定距离比率:
Ri=Di/Ci (8)
其中,Ri指的是第i个距离比率,Di指的是第i个第一右侧距离,和Ci指的是第i个第二距离。
在722中,处理引擎112(例如,动作参数确定模块430)(例如,处理器220的处理电路)可以确定一个或以上距离比率的综合距离比率作为动作参数。例如,处理引擎112可以根据下面的公式(9)确定综合距离比率(即动作参数):
A=(R1+R2+…+Ri+…+Rq)/q (9)
其中A表示动作参数,Ri表示第i个距离比率,q表示一个或以上距离比率的数量。应该注意,上面的公式(9)是出于说明的目的,处理引擎112可以基于一个或以上距离比率的加权平均值,一个或以上距离比率中的较大者等来确定动作参数。
应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。
图8-A是根据本申请的一些实施例所示的用于确定候选图像帧的示例性过程的流程图。在一些实施例中,过程800可以通过存储在只读存储器230或随机存取存储器240中的指令组(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行指令组,并且当执行指令时,处理器220和/或模块可以被配置以执行处理800。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程800可以通过未描述的一个或以上附加操作和/或没有一个或以上本文所讨论的操作来完成。另外,如图8-A所示和下面描述的过程操作的顺序不是限制性的。在一些实施例中,可以基于过程800来执行操作510。
在810中,处理引擎112(例如,获取模块410)(例如,处理器220的接口电路)可以获得初始图像帧。处理引擎112可以从本申请中其他地方披露的摄影设备130、用户终端140或存储设备(例如,存储器150)获得初始图像帧。
在一些实施例中,初始图像帧可以包括在面部对象的左眼中心的第一初始特征点、面部对象右眼中心的第二初始特征点、面部对象的鼻尖上的第三初始特征点、面部对象的唇缘左侧的第四初始特征点、面部对象的唇缘右端的第五初始特征点。
在820中,处理引擎112(例如,获取模块410)(例如,处理器220的处理电路)可以基于第一初始特征点、第二初始特征点、第四初始特征点和第五初始特征点确定四边形。此外,处理引擎112可以确定第三初始特征点是否在四边形内。
在830中,处理引擎112(例如,获取模块410)(例如,处理器220的处理电路)可以响应于第三初始特征点在四边形内将初始图像帧确定为候选图像帧。如图8-B所示,假设第三初始特征点在四边形内,它可以表示初始图像帧包含面部对象;假设第三初始特征点不在四边形内,则可能表示在捕获初始图像帧期间可能存在问题,导致初始帧不能用于进一步处理。另外,假设初始图像帧仅包括第一初始特征点、第二初始特征点、第三初始特征点、第四初始特征点和第五初始特征点中的一些,可以指示初始图像帧仅包含面部对象的一部分(例如,上部),在这种情况下,初始图像帧也不能用于进一步处理。
图8-B是示出根据本申请的一些实施例的示例性初始特征点的示意图。如图所示,点841指的是左眼中心的第一初始特征点,点842指的是右眼中心的第二初始特征点,点843是指鼻尖上的第三初始特征点,点844指的是嘴唇左端的第四初始特征点,并且点845指的是嘴唇右端的第五初始特征点。可以看出,点843在基于点841、842、844和845确定的四边形840内。
图9是根据本申请的一些实施例所示的用于识别点头动作的存在的示例性过程的流程图。在一些实施例中,过程900可以通过存储在只读存储器230或随机存取存储器240中的指令组(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行指令组,并且当执行指令时,处理器220和/或模块可以被配置以执行处理900。
以下所示过程的操作仅出于说明的目的。在一些实施例中,过程900可以通过未描述的一个或以上附加操作和/或没有一个或以上本文所讨论的操作来完成。另外,如图9所示和下面描述的过程操作的顺序不是限制性的。在一些实施例中,可以基于过程900来执行操作540。
在910中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以从至少两个连续候选图像帧识别至少两个连续目标图像帧。如结合540所述,至少两个连续目标图像帧包括起始图像帧,其对应于或基本上对应于起始位置(即,面部对象开始沿向下方向移动的位置)、结束图像帧,其对应于或基本上对应于结束位置(即,面部对象停止沿向上方向移动的位置)、中间图像帧,其对应于或基本上对应于中间位置(即面部对象停止向下移动(或开始向上移动)的位置)。
在920中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以从对应于至少两个连续目标图像帧的至少两个动作参数识别最大动作参数。如上所述,最大动作参数对应于中间图像帧。
在930中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以识别与至少两个连续目标图像帧对应的至少两个动作参数相关联的最小动作参数。如上所述,在理想条件下,最小动作参数对应于起始图像帧或结束图像帧。
在一些实施例中,处理引擎112可以基于对应于起始图像帧的动作参数(也被称为“起始动作参数”)和对应于结束图像帧的动作参数(也被称为“结束动作参数”)确定最小动作参数。例如,处理引擎112可以将起始动作参数和结束动作参数的平均动作参数确定为最小动作参数。在一些实施例中,如图12所示,在对应于起始图像帧的捕获时间点之前的时间段内,面部对象可以保持面向摄影设备130的右侧或基本上右侧,在动作参数保持几乎不变的情况下(例如,从点1201到点1202),并且在对应于结束图像帧的捕获时间点之后的时间段内,面部对象可以面向摄影设备130的右侧或基本上右侧,其中动作参数也几乎保持不变(例如,从点1208到点1212),因此,处理引擎112可以分别确定对应于两个时间段的两个平均动作参数(即,分别在图10和图11中描述的第一平均动作参数和第四平均动作参数),并进一步确定两个平均动作参数的平均值作为最小动作参数。
在940中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以基于最大动作参数和最小动作参数来确定非对称参数。非对称参数可以指示对应于至少两个连续目标图像帧的动作参数的幅度。在某些实施例中,处理引擎112可以根据下面的公式(10)确定非对称参数:
Figure BDA0002311138290000251
其中Asy指的是非对称参数,Amax指的是最大动作参数,而Amin指的是最小动作参数。
在950中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以确定从起始图像帧到对应于最大动作参数的目标图像帧(即,中间图像帧)的目标图像帧的第一数量。
在960中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以确定从对应于最大动作参数到结束图像帧的目标图像帧(即,中间图像帧)的目标图像帧的第二数量。
在970中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以通过拟合至少两个连续目标图像帧中的第二特征点(例如,鼻子上的尖端点)来确定估计线。在一些实施例中,处理引擎112可以基于拟合过程确定估计线。例如,拟合过程可以包括最小二乘估计过程、最大似然估计过程、贝叶斯线性回归过程等,或其任何组合。
在980中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以基于最大动作参数、最小动作参数、非对称参数、第一数量、第二数量以及估计线和垂直线之间的角度来识别点头动作的存在。响应于非对称参数大于非对称阈值,第一数量大于第一数量阈值,第二数量大于第二数量阈值,并且估计线与垂直线之间的角度小于角度阈值,处理引擎112可以识别点头动作的存在。
在一些实施例中,非对称阈值可以是动作识别系统100的默认设置,或者可以在不同情况下可调节。例如,非对称阈值可以是2到3范围内的任何值。
在某些实施例中,第一数量阈值和第二数量阈值可以是动作识别系统100的默认设置。例如,第一数量阈值或第二数量阈值可以是2到10范围内的任何值(例如,4)。在一些实施例中,第一数量阈值和第二数量阈值可以根据摄影设备130的帧速率或相邻图像帧之间的间隔来调整。帧速率可以指每单位时间(例如,每秒)由摄影设备130捕获的多个图像帧。在一些实施例中,摄影设备130的较大帧速率可以对应于较大的第一数量阈值或较大的第二数量阈值。在一些实施例中,第一数量阈值和第二数量阈值可以相同或不同。
在某些实施例中,基于第二特征点拟合的估计线可以是直线。估计线和垂直线之间的角度可以是两条直线之间的角度。在某些实施例中,估计线可以是曲线。估计线和垂直线之间的角度可以是曲线上的点的切线与水平线之间的角度。角度阈值可以是动作识别系统100的默认设置,或者可以在特定情况下是可调节的。例如,角度阈值可以是5°至20°范围内的任何值(例如,10°)。众所周知,在点头动作期间,面部对象可能不会严格地沿垂直线移动,即,第二特征点(例如,鼻子的尖端点)可能并不总是严格地在垂直线上。因此,处理引擎112定义角度阈值,假设估计线与垂直线之间的角度小于角度阈值,则认为点动作的识别是正确的。
应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。
图10是根据本申请的一些实施例所示的用于确定起始图像帧的示例性过程的流程图。在一些实施例中,过程1000可以通过存储在只读存储器230或随机存取存储器240中的指令组(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行指令组,并且当执行指令时,处理器220和/或模块可以被配置以执行处理1000。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程1000可以通过未描述的一个或多个以上附加操作和/或没有一个或以上本文所讨论的操作来完成。另外,如图10所示和下面描述的过程操作的顺序不是限制性的。在一些实施例中,可以基于过程1000来执行操作910。
在1010中,对于候选图像帧,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以沿着至少两个连续候选图像帧的序列,在候选图像帧之前选择至少两个先前图像帧和候选图像帧之后的至少两个后续图像帧。如结合510所描述的,至少两个连续候选图像帧基于捕获时间点按时间顺序对齐。因此,这里的“顺序”是指时间顺序。此外,这里的“先前图像帧”是指沿着顺序紧接在候选图像帧之前的连续图像帧,并且“后续图像帧”是指紧接在候选图像帧之后的连续图像帧。
以第i个候选图像帧Fi为例,在第i个候选图像帧之前的至少两个先前图像帧可以表示为下面的有序集:
P1=[Fi-x,...,Fi-2,Fi-1](i>1,x<i) (11)
其中P1指的是包括至少两个先前图像帧的有序集合,而x指的是至少两个先前图像帧的数量。
另外以第i个候选图像帧Fi为例,在第i个候选图像帧之后的至少两个后续图像帧可以表示为下面的有序集:
N1=[Fi+1,Fi+2,...,Fi+y](i>1,y<m-1) (12)
其中N1指的是包括至少两个后续图像帧的有序集合,y指的是至少两个后续图像帧的数量,m指的是至少两个候选图像帧的数量。
在1020中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以基于对应于至少两个先前图像帧的至少两个第一动作参数来确定第一平均动作参数。例如,处理引擎112可以根据下面的公式(13)确定第一平均动作参数:
其中,
Figure BDA0002311138290000272
指的是第一平均动作参数,并且Ai-x指的是对应于(i-x)个候选图像帧的第一动作参数。
在1030中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以基于对应于至少两个后续图像帧的至少两个第二动作参数确定第二平均动作参数。例如,处理引擎112可以根据下面的公式(14)确定第二平均动作:
Figure BDA0002311138290000273
其中,
Figure BDA0002311138290000274
指的是第二平均动作参数,而Ai+y指的是对应于第(i+y)个候选图像帧的第二动作参数。
在1040中,响应于第一平均动作参数小于第二平均动作参数,并且每个至少两个第二动作参数大于或等于对应于候选图像帧的动作参数,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以将候选图像帧识别为起始图像帧。
如结合540所述,起始图像帧(例如,图12中所示的点1202)对应于或基本上对应于面部对象面向摄影设备130的右侧或基本上右侧的起始位置。在对应于起始图像帧的捕获时间点之前的时间段内,面部对象可以保持面向摄影设备130的右侧或基本上右侧,在此期间,动作参数保持几乎不变(例如,从图12中所示的点1201到点1202)。顺序地,面部对象从开始位置沿着向下方向移动,在此期间动作参数逐渐增加(例如,从图12中所示的点1202到点1204)。因此,对于起始图像帧,至少两个先前图像帧的第一平均动作参数小于至少两个后续图像帧的第二平均动作参数,并且对应于后续图像帧的每个至少两个第二动作参数中的每一个大于起始图像帧的动作参数。
应当理解的是,以上描述仅出于说明的目的,并不旨在限制本申请的范围。对于本领域的普通技术人员来说,可以根据本申请的描述,做出各种各样的变化和修改。然而,这些变化和修改不会背离本申请的范围。
图11是根据本申请的一些实施例所示确定结束图像帧的示例性过程的流程图。在一些实施例中,过程1100可以通过存储在只读存储器230或随机存取存储器240中的指令组(例如,应用程序)来实现。处理器220和/或图4中的模块可以执行指令组,并且当执行指令时,处理器220和/或模块可以被配置以执行处理1100。以下所示过程的操作仅出于说明的目的。在一些实施例中,过程1100可以通过未描述的一个或以上附加操作和/或没有一个或以上本文所讨论的操作来完成。另外,如图11所示和下面描述的过程操作的顺序不是限制性的。在一些实施例中,可以基于过程1100来执行操作910。
在1110中,对于起始图像帧之后的候选图像帧,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以沿着至少两个连续候选图像帧的序列,在候选图像帧之前选择至少两个先前图像帧和候选图像帧之后选择至少两个后续图像帧。如结合1010所述,“先前图像帧”是指紧接在顺序图像帧之前的连续图像帧,并且“后续图像帧”是指紧接在候选图像帧之后的连续图像帧。
以在起始图像帧(假设起始图像帧为Fi)之后的第j个候选图像帧Fj为例,在第j个候选图像帧之前的至少两个先前图像帧可以表示为下面的有序集:
P2=[Fj-e,...,Fj-2,Fj-1]((j-e)>i) (15)
其中P2指的是包括至少两个先前图像帧的有序集合,而e指的是至少两个先前图像帧的数量。
也以第j个候选图像帧Fj为例,第j个候选图像帧之后的至少两个后续图像帧可以表示为下面的有序集:
N2=[Fj+1,Fj+2,...,Fj+f]((j+f)≤m) (16)
其中N2指的是包括至少两个后续图像帧的有序集合,f指的是至少两个后续图像帧的数量。
在1120中,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以基于对应于至少两个先前图像帧的至少两个第三动作参数来确定第三平均动作参数。例如,处理引擎112可以根据下面的公式(17)确定第三平均动作参数:
Figure BDA0002311138290000291
其中,
Figure BDA0002311138290000292
指的是第三平均动作参数,而Aj-e指的是对应于第(j-e)个候选图像帧的第三动作参数。
在1130,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以基于对应于至少两个后续图像帧的至少两个第四动作参数来确定第四平均动作参数。例如,处理引擎112可以根据下面的公式(18)确定第四平均动作参数:
Figure BDA0002311138290000293
其中,指的是第四平均动作参数,而Aj+f指的是与第(j+f)个候选图像帧相对应的第四动作参数。
在1140,响应于第三平均动作参数大于第四平均动作参数,至少两个第三动作参数中的每一个大于或等于对应于候选图像帧的动作参数,对应于候选图像帧的邻近后续图像帧的动作参数小于或等于对应于候选图像帧的动作参数,并且与第一平均动作参数和第四平均动作参数相关联的比率小于比率阈值,处理引擎112(例如,识别模块440)(例如,处理器220的处理电路)可以将候选图像帧识别为结束图像帧。
如这里所使用的,与第一平均动作参数和第四平均动作参数相关联的比率可以表示为下面的公式(19):
Figure BDA0002311138290000301
其中T指的是与第一平均动作参数和第四平均动作参数相关联的比率,
Figure BDA0002311138290000302
指的是第一平均动作参数,和指的是第四平均动作参数。
在一些实施例中,比率阈值可以是动作识别系统100的默认设置,或者可以在不同情况下是可调节的。例如,比率阈值可以是1.05至1.2范围内的任何值。
如结合540所述,结束图像帧(例如,图12中所示的点1208)对应于或基本上对应于面部对象向后移动并且面向摄影设备130的右侧或基本上右侧的终点位置。在对应于结束图像帧的捕获时间点之前的时间段内,面部对象沿着向上方向移动,在此期间动作参数逐渐减小(例如,从图12中所示的点1206到点1208);在对应于结束图像帧的捕获时间点之后的一段时间内,面部对象可以保持面向摄影设备130的右侧或基本上右侧,其中动画参数几乎保持不变(例如,从图12中所示的点1208到点1212)。因此,对于结束图像帧,至少两个先前图像帧的第三平均动作参数大于至少两个后续图像帧的第四平均动作参数,至少两个第三动作参数中的每一个大于或等于对应于结束图像帧的动作参数,对应于与结束图像帧邻近的后续图像帧(例如,图12中所示的点1209)的动作参数小于或等于对应于结束图像帧的动作参数。
图12是根据本申请的一些实施例所示的指示动作参数的变化过程的示例性曲线的示意图。如图12所示,横轴表示“图像帧”,纵轴表示“动作参数”。
如本申请中其他地方所述,处理引擎112可识别与面部对象相关联的至少两个连续目标图像帧,并基于至少两个连续目标图像帧识别点头动作的存在。在一些实施例中,至少两个连续目标图像帧包括起始图像帧Fi,结束图像帧Fj和具有最大动作参数的中间图像帧Fmid。如图12所示,点1202对应于起始图像帧,点1208对应于结束图像帧,点1205对应于中间图像帧。
在点头动作期间,如本申请中其他地方所述,面部对象沿着向下方向从开始位置移动到中间位置,并且沿着向上方向从中间位置移动到结束位置。起始图像帧可以对应于或基本上对应于面部对象面向摄影设备130的右侧或基本上右侧的时间点的开始位置。如这里所使用的,“基本上对应于”指的是面部对象面向的方向与垂直指向摄影设备130的方向之间的角度小于普通人本领域可识别的阈值。在一些实施例中,起始图像帧的动作参数是固定值,其可以是动作识别系统100的默认设置,或者可以在不同情况下可调节。
当面部对象从开始位置沿向下方向移动时,在图像帧中,面部对象上部与面部对象中部之间的距离逐渐增大,面部对象中部与面部对象下部之间的距离逐渐减小,因此,与两个距离的比率相关联的动作参数逐渐增加,例如,如从点1202到点1205的曲线的部分所示。
此外,面部对象移动到面部对象停止向下移动(或开始向上移动)的中间位置(例如,点1205),动作参数达到最大值。
随着面部对象从中间位置向上移动,面部对象上部与面部对象中部之间的距离逐渐减小,面部对象中部与面部对象下部之间的距离在图像帧中逐渐增大。因此,与两个距离的比率相关联的动作参数逐渐减小,例如,如从点1205到点1208的曲线的部分所示。
最后,面部对象移动到与起始位置相同或基本相同的结束位置。如本文所用,“基本相同”是指面部对象在端部位置处所朝向的方向与面部对象在起始位置处面向的方向之间的角度小于普通人本领域可识别的角度阈值。
上文已对基本概念做了描述,显然,对于阅读此申请后的本领域的普通技术人员来说,上述发明披露仅作为示例,并不构成对本申请的限制。虽然此处并未明确说明,但本领域的普通技术人员可能会对本申请进行各种修改、改进和修正。该类修改、改进和修正在本申请中被建议,所以该类修改、改进、修正仍属于本申请示范实施例的精神和范围。
同时,本申请使用了特定词语来描述本申请的实施例。例如“一个实施例”、“一实施例”、和/或“一些实施例”意指与本申请至少一个实施例相关联的某一特征、结构或特性。因此,应当强调并注意的是,本说明书中在不同位置两次或以上提及的“一实施例”或“一个实施例”或“一替代性实施例”并不一定是指同一实施例。此外,本申请的一个或以上实施例中的某些特征、结构或特点可以进行适当的组合。
此外,本领域的普通技术人员可以理解,本申请的各方面可以通过若干具有可专利性的种类或情况进行说明和描述,包括任何新的和有用的过程、机器、产品或物质的组合,或对其任何新的和有用的改进。相应地,本申请的各个方面可以完全由硬件执行、可以完全由软件(包括韧体、常驻软件、微代码等)执行、也可以由硬件和软件组合执行。以上硬件或软件均可被称为“单元”、“模块”或“系统”。此外,本申请的各方面可以采取体现在一个或以上计算机可读介质中的计算机程序产品的形式,其中计算机可读程序代码包含在其中。
计算机可读信号介质可能包含一个内含有计算机程序代码的传播数据信号,例如在基带上或作为载波的一部分。此类传播信号可以有多种形式,包括电磁形式、光形式等或任何合适的组合。计算机可读信号介质可以是除计算机可读存储介质之外的任何计算机可读介质,该介质可以通过连接至一个指令执行系统、装置或设备以实现通信、传播或传输供使用的程序。位于计算机可读信号介质上的程序代码可以通过任何合适的介质进行传播,包括无线电、电缆、光纤电缆、RF等,或任何上述介质的组合。
本申请各部分操作所需的计算机程序编码可以用任意一种或以上程序语言编写,包括面向主体编程语言如Java、Scala、Smalltalk、Eiffel、JADE、Emerald、C++、C#、VB.NET、Python等,常规程序化编程语言如C语言、Visual Basic、Fortran 2003、Perl、COBOL 2002、PHP、ABAP,动态编程语言如Python、Ruby和Groovy,或其他编程语言等。该程序代码可以完全在用户计算机上运行、或作为独立的软件包在用户计算机上运行、或部分在用户计算机上运行部分在远程计算机运行、或完全在远程计算机或服务器上运行。在后种情况下,远程计算机可以通过任何网络形式与用户计算机连接,比如局域网(LAN)或广域网(WAN),或连接至外部计算机(例如通过因特网服务提供者),或在云计算环境中,或作为服务使用如软件即服务(SaaS)。
此外,除非权利要求中明确说明,本申请所述处理元素和序列的顺序、数字字母的使用、或其他名称的使用,并非用于限定本申请流程和方法的顺序。尽管上述披露中通过各种示例讨论了一些目前认为有用的发明实施例,但应当理解的是,该类细节仅起到说明的目的,附加的权利要求并不仅限于披露的实施例,相反,权利要求旨在覆盖所有符合本申请实施例实质和范围的修正和等价组合。例如,虽然以上所描述的系统组件可以通过硬件设备实现,但是也可以只通过软件的解决方案得以实现,如在现有的服务器或移动设备上安装所描述的系统。
同理,应当注意的是,为了简化本申请披露的表述,从而帮助对一个或以上发明实施例的理解,前文对本申请实施例的描述中,有时会将多种特征归并至一个实施例、附图或对其的描述中。然而,本申请的该方法不应被解释为反映所声称的待扫描对象物质需要比每个权利要求中明确记载的更多特征的意图。实际上,实施例的特征要少于上述披露的单个实施例的全部特征。

Claims (36)

1.一种从连续图像自动识别面部动作存在的系统,其特征在于,包括:
包含指令组的至少一个存储介质;以及
与所述至少一个存储介质通信的至少一个处理器,其中当执行所述指令组时,所述至少一个处理器用于使所述系统:
获取包含面部对象的至少两个连续候选图像帧,至少两个候选图像帧中的每一个包括与所述面部对象的上部相关联的一个或以上第一特征点、与所述面部对象的中部相关联的第二特征点、与所述面部对象的下部相关联的一个或以上第三特征点;
对于所述至少两个连续候选图像帧中的每一个,基于所述一个或以上第一特征点和所述第二特征点中的一个确定一个或以上第一距离,以及基于所述一个或以上第三特征点和所述第二特征点中的一个确定一个或以上第二距离;
对于所述至少两个连续候选图像帧中的每一个,基于所述一个或以上第一距离和所述一个或以上第二距离确定动作参数;以及
响应于所述动作参数满足一个或以上预设条件,识别点头动作的存在。
2.根据权利要求1所述的系统,其特征在于,
所述一个或以上第一特征点是与所述面部对象的左眉或右眉中的至少一个相关联的点,
所述第二特征点是所述面部对象的鼻尖上的一个点,以及
所述一个或以上第三特征点是所述面部对象的下巴上的点。
3.根据权利要求2所述的系统,其特征在于,所述一个或以上第一距离包括一个或以上第一左侧距离和一个或以上第一右侧距离,其中每个第一左侧距离基于与所述左眉相关联的相应第一特征点和所述第二特征点确定,并且每个第一右侧距离基于与所述右眉相关联的相应第一特征点和所述第二特征点确定,以及
对于所述至少两个连续候选图像帧的每一个,基于所述一个或以上第一距离和所述一个或以上第二距离确定动作参数,所述至少一个处理器用于使所述系统进一步:
确定所述一个或以上第一左侧距离与所述一个或以上第二距离的一个或以上第一比率,每个所述一个或以上第一比率对应于一个第一左侧距离和一个第二距离;
确定所述一个或以上第一比率的第一平均比率;
确定所述一个或以上第一右侧距离与所述一个或以上第二距离的一个或以上第二比率,每个所述一个或以上第二比率对应于一个第一右侧距离和一个第二距离;
确定所述一个或以上第二比率的第二平均比率;以及
基于所述第一平均比率和所述第二平均比率确定所述动作参数。
4.根据权利要求1-3任一项所述的系统,其特征在于,对于所述至少两个连续候选图像帧中的每一个,基于所述一个或以上第一距离和所述一个或以上第二距离确定动作参数,所述至少一个处理器用于使所述系统进一步:
确定所述一个或以上第一距离与所述一个或以上第二距离的一个或以上距离比率,每个所述一个或以上距离比率对应于一个第一距离和一个第二距离;以及
确定所述一个或以上距离比率的综合距离比率为所述动作参数。
5.根据权利要求1-4任一项所述的系统,其特征在于,获取包含面部对象的至少两个连续候选图像帧,所述至少一个处理器用于使所述系统进一步:
获取包含所述面部对象的左眼中心的第一初始特征点、所述面部对象右眼中心的第二初始特征点、所述面部对象的鼻尖上的第三初始特征点、所述面部对象唇缘左侧的第四初始特征点、以及所述面部对象唇缘右侧的第五初始特征点的初始图像帧;
确定所述第三初始特征点是否在基于所述第一初始特征点、所述第二初始特征点、所述第四初始特征点、及所述第五初始特征点确定的四边形内;以及
响应于所述第三初始特征点在基于所述第一初始特征点、所述第二初始特征点、所述第四初始特征点、所述第五初始特征点确定的四边形内,确定所述初始图像帧为候选图像帧。
6.根据权利要求1-5任一项所述的系统,其特征在于,响应于所述动作参数满足一个或以上预设条件,识别点头动作的存在,所述至少一个处理器用于使所述系统进一步:
从所述至少两个连续候选图像帧中识别至少两个连续目标图像帧,所述至少两个连续目标图像帧包括起始图像帧和结束图像帧;
从对应于所述至少两个连续目标图像帧的至少两个动作参数中识别最大动作参数;
识别与所述至少两个连续目标图像帧相对应的所述至少两个动作参数相关联的最小动作参数;
基于所述最大动作参数和所述最小动作参数确定非对称参数;
确定从所述起始图像帧到对应于所述最大动作参数的目标图像帧的目标图像帧的第一数量;
确定从对应于所述最大动作参数的目标图像帧到所述结束图像帧的目标图像帧的第二数量;
通过拟合所述至少两个连续目标图像帧中的所述第二特征点来确定估计线;以及
响应于所述非对称参数大于非对称阈值、所述第一数量大于第一数量阈值、所述第二数量大于第二数量阈值、并且所述估计线与垂直线之间的角度小于角度阈值,识别点头动作的存在。
7.根据权利要求6所述的系统,其特征在于,识别所述至少两个连续目标图像帧的所述起始图像帧,所述至少一个处理器用于使所述系统进一步:
对于候选图像帧,沿着所述至少两个连续候选图像帧的序列,选择所述候选图像帧之前的至少两个先前图像帧以及选择所述候选图像帧之后的的至少两个后续图像帧;以及
基于与所述至少两个先前图像帧对应的至少两个第一动作参数确定第一平均动作参数;
基于与所述至少两个后续图像帧对应的至少两个第二动作参数确定第二平均动作参数;以及
响应于所述第一平均动作参数小于所述第二平均动作参数,所述至少两个第二动作参数中的每一个都大于或等于对应于候选图像帧的动作参数,将所述候选图像帧识别为起始图像帧。
8.根据权利要求7所述的系统,其特征在于,识别所述至少两个连续目标图像帧的所述结束图像帧,所述至少一个处理器用于使所述系统进一步:
对于所述起始图像帧之后的候选图像帧,沿着所述至少两个连续候选图像帧的序列,选择所述候选图像帧之前的至少两个先前图像帧以及选择所述候选图像帧之后的至少两个后续图像帧;
基于与所述至少两个先前图像帧对应的至少两个第三动作参数,确定第三平均动作参数;
基于与所述至少两个后续图像帧对应的至少两个第四动作参数,确定第四平均动作参数;以及
响应于所述第三平均动作参数大于所述第四平均动作参数、所述至少两个第三动作参数中的每一个都大于或等于对应于候选图像帧的动作参数、对应于候选图像帧的后续图像帧的动作参数小于或等于对应于所述候选图像帧的动作参数、并且与所述第一平均动作参数和所述第四平均动作参数相关联的比率小于比率阈值,将所述候选图像帧识别为结束图像帧。
9.根据权利要求6所述的系统,其特征在于,所述非对称阈值在2-3范围内。
10.根据权利要求6所述的系统,其特征在于,所述第一数量阈值在4-6范围内,所述第二数量阈值在4-6范围内,或所述角度阈值在10°-15°范围内。
11.根据权利要求1-10任一项所述的系统,其特征在于,所述至少一个处理器用于使所述系统进一步:
响应于所述识别点头动作的存在的结果,向与所述面部对象对应的用户相关联的终端设备提供认证。
12.根据权利要求1-11任一项所述的系统,其特征在于,还包括摄像机,其被配置用于提供视频数据,所述至少两个连续候选图像帧从所述视频数据获得。
13.一种在计算设备上实现的方法,所述计算设备包括至少一个处理器、至少一个存储介质和连接到网络的通信平台,所述方法包括:
获取包含面部对象的至少两个连续候选图像帧,至少两个候选图像帧中的每一个包括与所述面部对象的上部相关联的一个或以上第一特征点、与所述面部对象的中部相关联的第二特征点、与所述面部对象的下部相关联的一个或以上第三特征点;
对于所述至少两个连续候选图像帧中的每一个,基于所述一个或以上第一特征点和所述第二特征点中的一个确定一个或以上第一距离,以及基于所述一个或以上第三特征点和所述第二特征点中的一个确定一个或以上第二距离;
对于所述至少两个连续候选图像帧中的每一个,基于所述一个或以上第一距离和所述一个或以上第二距离确定动作参数;以及
响应于所述动作参数满足一个或以上预设条件,识别点头动作的存在。
14.根据权利要求13所述的方法,其特征在于,
所述一个或以上第一特征点是与所述面部对象的左眉或右眉中的至少一个相关联的点,
所述第二特征点是所述面部对象的鼻尖上的一个点,以及
所述一个或以上第三特征点是所述面部对象的下巴上的点。
15.根据权利要求14所述的方法,其特征在于,所述一个或以上第一距离包括一个或以上第一左侧距离和一个或以上第一右侧距离,其中每个第一左侧距离基于与所述左眉相关联的相应第一特征点和所述第二特征点确定,并且每个第一右侧距离基于与所述右眉相关联的相应第一特征点和所述第二特征点确定,以及
对于所述至少两个连续候选图像帧的每一个,基于所述一个或以上第一距离和所述一个或以上第二距离确定动作参数包括:
确定所述一个或以上第一左侧距离与所述一个或以上第二距离的一个或以上第一比率,每个所述一个或以上第一比率对应于一个第一左侧距离和一个第二距离;
确定所述一个或以上第一比率的第一平均比率;
确定所述一个或以上第一右侧距离与所述一个或以上第二距离的一个或以上第二比率,每个所述一个或以上第二比率对应于一个第一右侧距离和一个第二距离;
确定所述一个或以上第二比率的第二平均比率;以及
基于所述第一平均比率和所述第二平均比率确定所述动作参数。
16.根据权利要求13-15任一项所述的方法,其特征在于,对于所述至少两个连续候选图像帧中的每一个,基于所述一个或以上第一距离和所述一个或以上第二距离确定动作参数包括:
确定所述一个或以上第一距离与所述一个或以上第二距离的一个或以上距离比率,每个所述一个或以上距离比率对应于一个第一距离和一个第二距离;以及
确定所述一个或以上距离比率的综合距离比率为所述动作参数。
17.根据权利要求13-16任一项所述的方法,其特征在于,所述获取包含面部对象的至少两个连续候选图像帧包括:
获取包括所述面部对象的左眼中心的第一初始特征点、所述面部对象右眼中心的第二初始特征点、所述面部对象的鼻尖上的第三初始特征点、所述面部对象唇缘左侧的第四初始特征点、以及所述面部对象唇缘右侧的第五初始特征点的初始图像帧;
确定所述第三初始特征点是否在基于所述第一初始特征点、所述第二初始特征点、所述第四初始特征点、及所述第五初始特征点确定的四边形内;以及
响应于所述第三初始特征点在基于所述第一初始特征点、所述第二初始特征点、所述第四初始特征点、所述第五初始特征点确定的四边形内,确定所述初始图像帧为候选图像帧。
18.根据权利要求13-17任一项所述的方法,其特征在于,响应于所述动作参数满足一个或以上预设条件,识别点头动作的存在包括:
从所述至少两个连续候选图像帧中识别至少两个连续目标图像帧,所述至少两个连续目标图像帧包括起始图像帧和结束图像帧;
从对应于所述至少两个连续目标图像帧的至少两个动作参数中识别最大动作参数;
识别与所述至少两个连续目标图像帧相对应的所述至少两个动作参数相关联的最小动作参数;
基于所述最大动作参数和所述最小动作参数确定非对称参数;
确定从所述起始图像帧到与所述最大动作参数对应的目标图像帧的目标图像帧的第一数量;
确定从与所述最大动作参数对应的目标图像帧到所述结束图像帧的目标图像帧的第二数量;
通过拟合所述至少两个连续目标图像帧中的所述第二特征点来确定估计线;以及
响应于所述非对称参数大于非对称阈值、所述第一数量大于第一数量阈值、所述第二数量大于第二数量阈值、并且所述估计线与垂直线之间的角度小于角度阈值,识别点头动作的存在。
19.根据权利要求18所述的方法,其特征在于,所述识别所述至少两个连续目标图像帧的所述起始图像帧包括:
对于候选图像帧,沿着所述至少两个连续候选图像帧的序列,选择所述候选图像帧之前的至少两个先前图像帧以及选择所述候选图像帧之后的至少两个后续图像帧;以及
基于与所述至少两个先前图像帧对应的至少两个第一动作参数确定第一平均动作参数;
基于与所述至少两个后续图像帧对应的至少两个第二动作参数确定第二平均动作参数;以及
响应于所述第一平均动作参数小于所述第二平均动作参数,所述至少两个第二动作参数中的每一个都大于或等于对应于候选图像帧的动作参数,将所述候选图像帧识别为起始图像帧。
20.根据权利要求19所述的方法,其特征在于,识别所述至少两个连续目标图像帧的所述结束图像帧包括:
对于所述起始图像帧之后的候选图像帧,沿着所述至少两个连续候选图像帧的序列,选择所述候选图像帧之前的至少两个先前图像帧以及选择所述候选图像帧之后的至少两个后续图像帧;
基于与所述至少两个先前图像帧对应的至少两个第三动作参数,确定第三平均动作参数;
基于与所述至少两个后续图像帧对应的至少两个第四动作参数,确定第四平均动作参数;以及
响应于所述第三平均动作参数大于所述第四平均动作参数、所述至少两个第三动作参数中的每一个都大于或等于对应于候选图像帧的动作参数、对应于候选图像帧的后续图像帧的动作参数小于或等于对应于所述候选图像帧的动作参数、并且与所述第一平均动作参数和所述第四平均动作参数相关联的比率小于比率阈值,将所述候选图像帧识别为结束图像帧。
21.根据权利要求18所述的方法,其特征在于,所述非对称阈值在2-3范围内。
22.根据权利要求18所述的方法,其特征在于,所述第一数量阈值在4-6范围内,所述第二数量阈值在4-6范围内,或所述角度阈值在10°-15°范围内。
23.根据权利要求13-22任一项所述的方法,其特征在于,所述方法还包括:
响应于所述识别点头动作的存在的结果,向与所述面部对象对应的用户相关联的终端设备提供认证。
24.根据权利要求13-23中任一项所述的方法,其特征在于,所述方法还包括:
从摄像机提供的视频数据中获取所述至少两个连续候选图像帧。
25.一种非暂时性计算机可读介质,包括可执行指令,当由至少一个处理器执行时,指示所述至少一个处理器执行方法,所述方法包括:
获取包含面部对象的至少两个连续候选图像帧,至少两个候选图像帧中的每一个包括与所述面部对象的上部相关联的一个或以上第一特征点、与所述面部对象的中部相关联的第二特征点、与所述面部对象的下部相关联的一个或以上第三特征点;
对于所述至少两个连续候选图像帧中的每一个,基于所述一个或以上第一特征点和所述第二特征点中的一个确定一个或以上第一距离,以及基于所述一个或以上第三特征点和所述第二特征点中的一个确定一个或以上第二距离;
对于所述至少两个连续候选图像帧中的每一个,基于所述一个或以上第一距离和所述一个或以上第二距离确定动作参数;以及
响应于所述动作参数满足一个或以上预设条件,识别点头动作的存在。
26.根据权利要求25所述的非暂时性计算机可读介质,其特征在于,
所述一个或以上第一特征点是与所述面部对象的左眉或右眉中的至少一个相关联的点,
所述第二特征点是所述面部对象的鼻尖上的一个点,以及
所述一个或以上第三特征点是所述面部对象的下巴上的点。
27.根据权利要求26所述的非暂时性计算机可读介质,其特征在于,所述一个或以上第一距离包括一个或以上第一左侧距离和一个或以上第一右侧距离,其中每个第一左侧距离基于与所述左眉相关联的相应第一特征点和所述第二特征点确定,并且每个第一右侧距离基于与所述右眉相关联的相应第一特征点和所述第二特征点确定,以及
对于所述至少两个连续候选图像帧的每一个,基于所述一个或以上第一距离和所述一个或以上第二距离来确定所述动作参数包括:
确定所述一个或以上第一左侧距离与所述一个或以上第二距离的一个或以上第一比率,每个所述一个或以上第一比率对应于一个第一左侧距离和一个第二距离;
确定所述一个或以上第一比率的第一平均比率;
确定所述一个或以上第一右侧距离与所述一个或以上第二距离的一个或以上第二比率,每个所述一个或以上第二比率对应于一个第一右侧距离和一个第二距离;
确定所述一个或以上第二比率的第二平均比率;以及
基于所述第一平均比率和所述第二平均比率确定动作参数。
28.根据权利要求25-27中任一项所述的非暂时性计算机可读介质,其特征在于,对于所述至少两个连续候选图像帧中的每一个基于所述一个或以上第一距离和所述一个或以上第二距离确定动作参数包括:
确定所述一个或以上第一距离与所述一个或以上第二距离的一个或以上距离比率,每个所述一个或以上距离比率对应于一个第一距离和一个第二距离;以及
确定所述一个或以上距离比率的综合距离比率为所述动作参数。
29.根据权利要求25-28中任一项所述的非暂时性计算机可读介质,其特征在于,所述获取包含所述面部对象的至少两个连续候选图像帧包括:
获取包括所述面部对象的左眼中心的第一初始特征点、所述面部对象右眼中心的第二初始特征点、所述面部对象的鼻尖上的第三初始特征点、所述面部对象唇缘左侧的第四初始特征点、以及所述面部对象唇缘右侧的第五初始特征点的初始图像帧;
确定所述第三初始特征点是否在基于所述第一初始特征点、所述第二初始特征点、所述第四初始特征点、及所述第五初始特征点确定的四边形内;以及
响应于所述第三初始特征点在基于所述第一初始特征点、所述第二初始特征点、所述第四初始特征点、所述第五初始特征点确定的四边形内,确定所述初始图像帧为候选图像帧。
30.根据权利要求25-29中任一项所述的非暂时性计算机可读介质,其特征在于,响应于所述动作参数满足一个或以上预设条件,识别点头动作的存在,包括:
从所述至少两个连续候选图像帧中识别至少两个连续目标图像帧,所述至少两个连续目标图像帧包括起始图像帧和结束图像帧;
从对应于所述至少两个连续目标图像帧的至少两个动作参数中识别最大动作参数;
识别与所述至少两个连续目标图像帧相对应的至少两个动作参数相关联的最小动作参数;
基于所述最大动作参数和所述最小动作参数确定非对称参数;
确定从所述起始图像帧到与所述最大动作参数对应的目标图像帧的目标图像帧的第一数量;
确定从与所述最大动作参数对应的目标图像帧到所述结束图像帧的目标图像帧的第二数量;
通过拟合所述至少两个连续目标图像帧中的所述第二特征点来确定估计线;以及
响应于所述非对称参数大于非对称阈值、所述第一数量大于第一数量阈值、所述第二数量大于第二数量阈值、并且所述估计线与垂直线之间的角度小于角度阈值,识别点头动作的存在。
31.根据权利要求30所述的非暂时性计算机可读介质,其特征在于,识别所述至少两个连续目标图像帧的所述起始图像帧包括:
对于候选图像帧,沿着所述至少两个连续候选图像帧的序列,选择所述候选图像帧之前的至少两个先前图像帧以及选择所述候选图像帧之后的至少两个后续图像帧;以及
基于与所述至少两个先前图像帧对应的至少两个第一动作参数确定第一平均动作参数;
基于与所述至少两个后续图像帧对应的至少两个第二动作参数确定第二平均动作参数;以及
响应于所述第一平均动作参数小于所述第二平均动作参数,所述至少两个第二动作参数中的每一个都大于或等于对应于候选图像帧的动作参数,将所述候选图像帧识别为起始图像帧。
32.根据权利要求31所述的非暂时性计算机可读介质,其特征在于,识别所述至少两个连续目标图像帧的所述结束图像帧包括:
对于所述起始图像帧之后的候选图像帧,沿着所述至少两个连续候选图像帧的序列,选择所述候选图像帧之前的至少两个先前图像帧以及选择所述候选图像帧之后的至少两个后续图像帧;
基于与所述至少两个先前图像帧对应的至少两个第三动作参数,确定第三平均动作参数;
基于与所述至少两个后续图像帧对应的至少两个第四动作参数,确定第四平均动作参数;以及
响应于所述第三平均动作参数大于所述第四平均动作参数、所述至少两个第三动作参数中的每一个都大于或等于对应于所述候选图像帧的动作参数、对应于候选图像帧的后续图像帧的动作参数小于或等于对应于所述候选图像帧的动作参数、并且与所述第一平均动作参数和所述第四平均动作参数相关联的比率小于比率阈值,将所述候选图像帧识别为结束图像帧。
33.根据权利要求30所述的非暂时性计算机可读介质,其特征在于,所述非对称阈值在2-3范围内。
34.根据权利要求30所述的非暂时性计算机可读介质,其特征在于,所述第一数量阈值在4-6范围内,所述第二数量阈值在4-6范围内,或所述角度阈值在10°-15°范围内。
35.根据权利要求25-34中任一项所述的非暂时性计算机可读介质,其特征在于,所述方法还包括:
响应于所述识别点头动作的存在的结果,向与所述面部对象对应的用户相关联的终端设备提供认证。
36.根据权利要求25-35中任一项所述的非暂时性计算机可读介质,其特征在于,所述方法还包括:
从摄像机提供的视频数据中获取所述至少两个连续候选图像帧。
CN201880038528.4A 2018-04-25 2018-04-25 基于面部特征点的点头动作识别的系统和方法 Withdrawn CN110753931A (zh)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2018/084426 WO2019205016A1 (en) 2018-04-25 2018-04-25 Systems and methods for nod action recognition based on facial feature points

Publications (1)

Publication Number Publication Date
CN110753931A true CN110753931A (zh) 2020-02-04

Family

ID=68293406

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201880038528.4A Withdrawn CN110753931A (zh) 2018-04-25 2018-04-25 基于面部特征点的点头动作识别的系统和方法

Country Status (2)

Country Link
CN (1) CN110753931A (zh)
WO (1) WO2019205016A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111444763B (zh) * 2020-02-24 2023-07-18 珠海格力电器股份有限公司 一种安防控制方法、装置、存储介质及空调

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102062310B1 (ko) * 2013-01-04 2020-02-11 삼성전자주식회사 전자 장치에서 헤드 트래킹 기술을 이용하여 제어 서비스를 제공하기 위한 장치 및 방법
CN104123545B (zh) * 2014-07-24 2017-06-16 江苏大学 一种实时表情特征提取及表情识别方法
CN105975935B (zh) * 2016-05-04 2019-06-25 腾讯科技(深圳)有限公司 一种人脸图像处理方法和装置

Also Published As

Publication number Publication date
WO2019205016A1 (en) 2019-10-31

Similar Documents

Publication Publication Date Title
US11551482B2 (en) Facial recognition-based authentication
CN108090463B (zh) 对象控制方法、装置、存储介质和计算机设备
Lawanont et al. Neck posture monitoring system based on image detection and smartphone sensors using the prolonged usage classification concept
JP6822482B2 (ja) 視線推定装置、視線推定方法及びプログラム記録媒体
US9384384B1 (en) Adjusting faces displayed in images
WO2016165614A1 (zh) 一种即时视频中的表情识别方法和电子设备
CN105960801A (zh) 增强视频会议
JP2018081402A (ja) 画像処理装置、画像処理方法、及びプログラム
CN110799986B (zh) 一种基于面部特征点的眨眼动作识别的系统和方法
US10929984B2 (en) Systems and methods for shaking action recognition based on facial feature points
CN110753931A (zh) 基于面部特征点的点头动作识别的系统和方法
KR20200097201A (ko) 딥 러닝 기반 3d 데이터 생성 방법 및 장치
US9786030B1 (en) Providing focal length adjustments
CN111033508B (zh) 一种识别身体运动的系统和方法
CN106028140B (zh) 一种终端用户身份登录方法和系统
WO2022172430A1 (ja) 判定方法、判定プログラム、及び情報処理装置
WO2024016786A1 (zh) 掌部图像的识别方法、装置、设备、存储介质及程序产品
KR102218095B1 (ko) 인물 및 평면 인식을 이용한 증강 현실 구현 방법 및 위 방법을 위한 명령어들이 저장된 컴퓨터 판독 가능한 저장 매체
JPWO2019244663A1 (ja) 顔認証システム、端末装置、顔認証方法、及びプログラム
CN117765621A (zh) 活体检测方法、装置及存储介质
JP2022186478A (ja) 画像処理装置および遠隔会話システム
CN115499612A (zh) 一种视频通讯的方法及装置
CN111488778A (zh) 图像处理方法及装置、计算机系统和可读存储介质
JP2011227710A (ja) データ処理装置、データ処理システム、及びプログラム

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
WW01 Invention patent application withdrawn after publication
WW01 Invention patent application withdrawn after publication

Application publication date: 20200204