CN111309149B - 一种手势识别方法及手势识别装置 - Google Patents

一种手势识别方法及手势识别装置 Download PDF

Info

Publication number
CN111309149B
CN111309149B CN202010108054.5A CN202010108054A CN111309149B CN 111309149 B CN111309149 B CN 111309149B CN 202010108054 A CN202010108054 A CN 202010108054A CN 111309149 B CN111309149 B CN 111309149B
Authority
CN
China
Prior art keywords
image
hand
palm
point
fingertips
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.)
Expired - Fee Related
Application number
CN202010108054.5A
Other languages
English (en)
Other versions
CN111309149A (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.)
Hebei University of Science and Technology
Original Assignee
Hebei University of Science and Technology
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 Hebei University of Science and Technology filed Critical Hebei University of Science and Technology
Priority to CN202010108054.5A priority Critical patent/CN111309149B/zh
Publication of CN111309149A publication Critical patent/CN111309149A/zh
Application granted granted Critical
Publication of CN111309149B publication Critical patent/CN111309149B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/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/60Analysis of geometric attributes
    • G06T7/62Analysis of geometric attributes of area, perimeter, diameter or volume
    • 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/107Static hand or arm

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Geometry (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Multimedia (AREA)
  • Image Analysis (AREA)

Abstract

本申请公开了一种手势识别方法及手势识别装置,涉及人机交互技术领域。上述手势识别方法包括:获取手部图像,手部图像包括手指子区域和手掌子区域;确定手部图像中的手掌中心、指尖个数以及各指尖之间的夹角;以手掌中心为圆心,基于初始半径和二分法确定目标同心圆;将手掌中心指向目标同心圆与手指子区域的交点的方向确定为手势主方向;基于手势主方向、指尖个数以及指尖之间的夹角进行手势识别并输出手势识别的结果。本申请提供的技术方案可提高手势识别效率。

Description

一种手势识别方法及手势识别装置
技术领域
本申请涉及人机交互技术领域,特别是涉及一种手势识别方法及手势识别 装置。
背景技术
随着科学技术的发展,人机交互技术越来越受到重视。其中,手势识别作 为一种简单方便的人机交互方式被越来越多地采用。
现有技术中,手势识别的方法多种多样,大体可以分为模板匹配、概率计 算等。对于手势识别,通常需要判断手势主方向,现有技术需要计算手部图像 中手部每一个点与手掌中心的距离,从而找到距离手掌中心最远的点,确定手 势主方向。现有技术的缺陷在于,判断手势主方向的方法复杂且计算量大,极 大的降低了手势识别的效率。
发明内容
本申请提供一种手势识别方法及手势识别装置,可通过同心圆测距算法获 得距离手掌中心最远的点,降低计算方法的复杂度和计算量,实现提高计算效 率,从而提高确定手势主方向的效率,提高手势识别效率的技术效果
为了实现上述技术效果,本申请第一方面提供一种手势识别方法,包括:
获取手部图像,其中,上述手部图像包括手指子区域和手掌子区域;
确定上述手部图像中的手掌中心、指尖个数以及各指尖之间的夹角,其中, 上述手掌中心为上述手掌子区域的中心点;
以上述手掌中心为圆心,基于初始半径和二分法确定目标同心圆;其中, 上述初始半径为上述目标区域的最小外接正方形的边长与预设的第一控制阈值 的乘积,上述目标同心圆覆盖上述目标区域内的所有像素点且与上述手指子区 域只有一个交点;上述目标区域为上述手指子区域和上述手掌子区域的并集区 域;
将上述手掌中心指向上述目标同心圆与上述手指子区域的交点的方向确定 为手势主方向;
基于组合特征进行手势识别并输出上述手势识别的结果,其中,上述组合 特征包括上述手势主方向、上述指尖个数以及上述各指尖之间的夹角。
可选的,上述获取手部图像包括:
获取包括手部区域和背景区域的红外图像;
将上述红外图像转换为灰度图像;
基于大津算法和上述灰度图像中各个像素点的灰度值,计算二值化阈值;
基于上述二值化阈值对上述灰度图像进行二值化处理,获得上述手部图像。
可选的,上述确定上述手部图像中的手掌中心、指尖个数以及各指尖之间 的夹角包括:
获取上述手部图像中的手部边缘轮廓;
基于上述手部边缘轮廓获得手掌子区域的边缘轮廓;
基于上述手掌子区域的边缘轮廓上各像素点确定上述手掌中心;
基于上述手部边缘轮廓上各像素点以及上述手掌中心确定上述指尖个数以 及上述各指尖之间的夹角。
可选的,上述基于上述手部边缘轮廓获得手掌子区域的边缘轮廓包括:
依次连接上述手部边缘轮廓上所有目标边缘点,获得上述手掌子区域的边 缘轮廓;
其中,上述目标边缘点为目标边缘圆的圆心,上述目标边缘圆的半径为上 述目标区域的最小外接正方形的边长和预设的第三控制阈值的乘积,且,上述 目标边缘圆与上述手指子区域的交集大于预设的第二控制阈值与上述目标边缘 圆面积的乘积。
可选的,上述基于上述手部边缘轮廓上的各像素点以及上述手掌中心确定 上述指尖个数以及上述各指尖之间的夹角包括:
获取上述手部图像中上述目标区域的最小外接正方形;
将上述目标区域的最小外接正方形中的图像缩放至预设尺寸,获得标准化 图像,其中,上述标准化图像为尺寸标准化后的手部图像;
基于上述标准化图像中的手部边缘轮廓和手掌中心获得上述指尖个数和上 述各指尖之间的夹角。
可选的,在获得上述标准化图像之后,上述手势识别方法还包括:
从上述标准化图像中的手部边缘轮廓上选取一点作为第一起始点a1,基于 上述第一起始点a1,顺时针确定上述标准化图像中的手部边缘轮廓上各点 a1,a2,...,an;其中n为预设的轮廓点数阈值;
计算上述a1,a2,...,an到上述标准化图像手掌中心的距离和平均距离,获得 第二起始点b1;其中,上述第二起始点b1为上述a1,a2,...,an中到上述标准化图 像中手掌中心的距离小于上述平均距离的一点;
以上述第二起始点b1为新的起始点,顺时针方向重新确定上述标准化图像 手部边缘轮廓上的各点b1,b2,...,bn
基于上述标准化图像中手部边缘轮廓上的各点b1,b2,...,bn到上述手掌中 心的距离重绘手部的边缘轮廓,获得重排手部轮廓图像;
根据上述重排手部轮廓图像的波峰个数,获得上述指尖个数。
可选的,在获得上述指尖个数之后,上述手势识别方法还包括:
基于上述重排手部轮廓图像中的波峰坐标,确定各指尖坐标;
基于上述各指尖坐标以及上述手掌中心的坐标,确定各指尖之间的夹角。
本申请第二方面提供一种手势识别装置,包括:
图像获取模块,用于获取手部图像,其中,上述手部图像包括手指子区域 和手掌子区域;
数据获取模块,用于确定上述手部图像中的手掌中心、指尖个数以及各指 尖之间的夹角,其中,上述手掌中心为上述手掌子区域的中心点;
同心圆获取模块,用于以上述手掌中心位置为圆心,基于初始半径和二分 法确定目标同心圆;其中,上述初始半径为上述目标区域的最小外接正方形的 边长与预设的第一控制阈值的乘积,上述目标同心圆覆盖上述目标区域内的所 有像素点且与上述手指子区域只有一个交点;上述目标区域为上述手指子区域 和上述手掌子区域的并集区域;
手势主方向确定模块,用于将上述手掌中心指向上述目标同心圆与上述手 指子区域的交点的方向确定为手势主方向;
手势识别模块,用于基于组合特征进行手势识别并输出上述手势识别的结 果,其中,上述组合特征包括上述手势主方向、上述指尖个数以及上述各指尖 之间的夹角。
本申请第三方面提供了一种电子设备,包括存储器和处理器,上述存储器 存储有软件程序,上述处理器执行上述软件程序时实现上述手势识别方法的步 骤。
本申请第四方面提供一种计算机可读存储介质,其上存储有计算机程序, 上述计算机程序被处理器执行时实现上述手势识别方法的步骤。
由上可见,本申请通过获取手部图像,并确定手部图像中的手掌中心、指 尖个数以及各指尖之间的夹角;以手掌中心为圆心,基于初始半径和二分法确 定目标同心圆;将手掌中心指向交点的方向确定为手势主方向;基于手势主方 向、指尖个数以及各指尖之间的夹角进行手势识别并输出手势识别的结果。由 于本方案是将目标同心圆与目标区域的交点作为距离手掌中心最远的点并以此 确定手势主方向,因此,相对于传统方案,本方案无需分别计算手部边缘轮廓 上每一个点到手掌中心的距离,故可有效提高确定手势主方向的效率,从而达 到提高手势识别效率的技术效果。
附图说明
为了更清楚地说明本申请实施例中的技术方案,下面将对实施例或现有技 术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅 仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳 动性的前提下,还可以根据这些附图获得其他的附图。
图1是本申请实施例提供的一种手势识别方法的流程图;
图2是本申请实施例提供的一种手部图像示意图;
图3是本申请实施例中图2经中值滤波和形态学处理后的示意图;
图4是本申请实施例中基于图3获得的手掌子区域以及手掌中心示意图;
图5是本申请实施例提供的一种基于初始半径和二分法确定目标同心圆的 具体流程图;
图6是本申请实施例提供的一种手势识别装置的示意图。
具体实施方式
以下描述中,为了说明而不是为了限定,提出了诸如特定系统结构、技术 之类的具体细节,以便透彻理解本申请实施例。然而,本领域的技术人员应当 清楚,在没有这些具体细节的其他实施例中也可以实现本申请。在其它情况下, 省略对众所周知的系统、装置、电路以及方法的详细说明,以免不必要的细节 妨碍本申请的描述。
应当理解,当在本说明书和所附权利要求书中使用时,术语“包括”指示 所描述特征、整体、步骤、操作、元素和/或组件的存在,但并不排除一个或多 个其它特征、整体、步骤、操作、元素、组件和/或其集合的存在或添加。
还应当理解,在本申请说明书中所使用的术语仅仅是出于描述特定实施例 的目的而并不意在限制本申请。如在本申请说明书和所附权利要求书中所使用 的那样,除非上下文清楚地指明其它情况,否则单数形式的“一”、“一个” 及“该”意在包括复数形式。
还应当进一步理解,在本申请说明书和所附权利要求书中使用的术语“和/ 或”是指相关联列出的项中的一个或多个的任何组合以及所有可能组合,并且 包括这些组合。
如在本说明书和所附权利要求书中所使用的那样,术语“如果”可以依据 上下文被解释为“当...时”或“一旦”或“响应于确定”或“响应于检测到”。 类似的,短语“如果确定”或“如果检测到[所描述条件或事件]”可以依据上 下文被解释为意指“一旦确定”或“响应于确定”或“一旦检测到[所描述的条 件或事件]”或“响应于检测到[所描述条件或事件]”。
下面结合本申请实施例的附图,对本申请实施例中的技术方案进行清楚、 完整地描述,显然,所描述的实施例仅仅是本申请的一部分实施例,而不是全 部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性 劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
在下面的描述中阐述了很多具体细节以便于充分理解本申请,但是本申请 还可以采用其它不同于在此描述的其它方式来实施,本领域技术人员可以在不 违背本申请内涵的情况下做类似推广,因此本申请不受下面公开的具体实施例 的限制。
本申请实施例第一方面提供一种手势识别方法,图1示出了本申请实施例 提供的一种手势识别方法的具体流程,参照图1详述如下:
步骤101,获取手部图像;
其中,上述手部图像包括手指子区域和手掌子区域。
在一种应用场景中,上述获取手部图像包括:获取包括手部区域和背景区 域的红外图像;将上述红外图像转换为灰度图像;基于大津算法和上述灰度图 像中各个像素点的灰度值,计算二值化阈值;基于上述二值化阈值对上述灰度 图像进行二值化处理,获得不包括背景区域的手部图像。
可选的,通过红外摄像仪获得包括手部区域和背景区域的红外图像。利用 温度的差异可以将上述红外图像中的手部区域和背景区域分离,且不受背景光 照强度和手部区域肤色不同的影响,能够提高手部区域的提取效率。将上述红 外图像转换为灰度图像,提取转换后的灰度图像中的所有灰度值。在一种应用 场景中,假设上述灰度图像包括0-255所有的灰度值,则可将0-255这256个 灰度值分别代入公式(1),计算二值化阈值:
Figure BDA0002389055110000071
其中,
Figure BDA0002389055110000072
表示二值化阈值为T时像素为背景类的类间方差,
Figure BDA0002389055110000073
表示 二值化阈值为T时像素为前景类的类间方差;Wb(T)为当阈值为T时像素为背 景类的概率,Wf(T)为当阈值为T时像素为前景类的概率,σ2(T)表示阈值为T 时前景类与背景类的类间方差。
遍历0-255这256个灰度值,求出使得类间方差σ2(T)最大的灰度值T,此 时该灰度值T为二值化阈值。基于二值化阈值对上述灰度图像中的各像素点进 行二值化处理,获得上述手部图像。其中,进行二值化的公式为:
Figure BDA0002389055110000074
其中,hj表示上述手部图像中第j个像素点的像素值,T为二值化阈值,j 为遍历1至m的正整数,m为预设的图像像素点个数,基于预设的图像像素点 个数将上述灰度图像划分为m个像素点。在一种应用场景中,二值化处理后获 得的上述手部图像如图2所示。
当然,在其它应用场景中,步骤101也可以直接从外部设备获取不包括背 景区域的手部图像,此处不做限定。
可选的,在获得上述手部图像之后,还包括,对上述手部图像的边缘进行 平滑处理,使得上述手部图像的边缘变得平滑。具体的,基于上述二值化处理 之后获得的手部图像,其手部区域的边缘存在诸多凹凸不平的缺陷,需要将这 些曲线进行处理使得上述手部图像的边缘变得平滑。可选的,上述平滑处理可 以为中值滤波和形态学处理,还可以为其它平滑处理方式,在此不做具体限定。
下面分别对基于中值滤波和形态学处理对上述手部图像进行平滑处理的方 式进行说明:
当基于中值滤波对上述手部图像进行平滑处理时,可以把邻域中的像素按 灰度级进行排序和分组,然后选择该组的中间值作为输出像素值。用一个二维 模板窗口在图像上扫描、排序,用公式表示为:
g(m,n)=Median{f(m-k,n-l),(k,l)∈W} (3)
其中,f(m,n),g(m,n)分别为原始图像和处理后图像,W为3*3的二维模板 窗口。
当通过形态学处理对上述手部图像进行平滑处理时,可以采用膨胀和腐蚀 交替的形态学操作方式处理上述手部图像的边缘上锯齿形成的凸起和凹洞。进 行膨胀处理时,将上述手部图像与卷积核进行卷积,将计算出的卷积核覆盖区 域的像素点最大值赋给参考点像素,从而扩大高亮区域。进行腐蚀处理时,将 卷积核与上述手部图像进行卷积,将计算出的卷积核覆盖区域的像素点最小值 赋给参考点像素,使高亮区域收缩。可选的,上述卷积核为参考点位于卷积核 中心的3*3矩阵,上述图2所示的手部图像经上述中值滤波和形态学处理后如 图3所示,边缘更为平滑。
步骤102,确定上述手部图像的手掌中心、指尖个数以及各指尖之间的夹 角。
其中,上述手掌中心为上述手掌子区域的中心点。在一种应用场景中,可 以通过计算上述手掌子区域中到手掌子区域的边缘轮廓上各点的距离相等的一 点获得手掌中心。
本实施例中,上述确定上述手部图像中的手掌中心、指尖个数以及各指尖 之间的夹角包括:获取上述手部图像中的手部边缘轮廓;基于上述手部边缘轮 廓获得手掌子区域的边缘轮廓;基于上述手掌子区域的边缘轮廓上各像素点确 定上述手掌中心;基于上述手部边缘轮廓上各像素点以及上述手掌中心确定上 述指尖个数以及上述各指尖之间的夹角。可选的,可以利用Canny算法确定上 述手部边缘轮廓。
本实施例中,上述基于上述手部边缘轮廓获得手掌子区域的边缘轮廓包括: 依次连接上述手部边缘轮廓上所有目标边缘点,获得上述手掌子区域的边缘轮 廓;其中,上述目标边缘点为目标边缘圆的圆心,上述目标边缘圆的半径为上 述目标区域的最小外接正方形的边长和预设的第三控制阈值的乘积,且,上述 目标边缘圆与上述手指子区域的交集大于预设的第二控制阈值与上述目标边缘 圆面积的乘积。其中,上述第二控制阈值和上述第三控制阈值为大于0且小于 1的值。本实施例中,上述第二控制阈值为
Figure BDA0002389055110000091
上述第三控制阈值为
Figure BDA0002389055110000092
在一种应用场景中,以上述手部边缘轮廓上的各点为圆心,以上述目标区 域的最小外接正方形的边长的
Figure BDA0002389055110000093
为半径分别作圆,保留与目标区域的交集大于 自身面积的
Figure BDA0002389055110000094
的目标边缘圆的圆心(即为上述目标边缘点)并依次连接,获得 上述手掌子区域的轮廓。可选的,上述依次连接可以为,对上述手部图像从上 到下、从左到右选取第一个符合要求的目标边缘点,然后以该点为起点,顺时 针方向连接所有目标边缘点,获得上述手掌子区域的轮廓。还可以有其他连接 方式,在此不做具体限定。
在一种应用场景中,将上述手部图像划分为a*b的网格,其中每个网格分 别对应上述手部图像中的每个像素点,通过如下公式计算上述手掌中心:
Figure RE-GDA0002455851860000095
Figure RE-GDA0002455851860000096
其中,
Figure BDA0002389055110000097
Figure BDA0002389055110000098
分别为上述手掌中心的横坐标与纵坐标,i为不大于a的正 整数,j为不大于b的正整数,
Figure BDA0002389055110000099
R为上述手掌子区域。图4 示出了基于上述图3获得的手掌子区域以及手掌中心,其中图4中心的点即为 上述手掌中心。
可选的,上述基于上述手部边缘轮廓上的各像素点以及上述手掌中心确定 上述指尖个数以及上述各指尖之间的夹角包括:获取上述手部图像中上述目标 区域的最小外接正方形;将上述目标区域的最小外接正方形中的图像缩放至预 设尺寸,获得标准化图像,其中,上述标准化图像为尺寸标准化后的手部图像; 基于上述标准化图像中的手部边缘轮廓和手掌中心获得上述指尖个数和上述各 指尖之间的夹角。
可选的,在获得上述标准化图像之后,上述手势识别方法还包括:从上述 标准化图像中的手部边缘轮廓上选取一点作为第一起始点a1,基于上述第一起 始点a1,顺时针确定上述标准化图像中的手部边缘轮廓上各点a1,a2,...,an;其 中n为预设的轮廓点数阈值;计算上述a1,a2,...,an到上述标准化图像手掌中心 的距离和平均距离,获得第二起始点b1;其中,上述第二起始点b1为上述 a1,a2,...,an中到上述标准化图像中手掌中心的距离小于上述平均距离的一点; 以上述第二起始点b1为新的起始点,顺时针方向重新确定上述标准化图像手部 边缘轮廓上的各点b1,b2,...,bn;基于上述标准化图像中手部边缘轮廓上的各点 b1,b2,...,bn到上述手掌中心的距离重绘手部的边缘轮廓,获得重排手部轮廓图 像;根据上述重排手部轮廓图像的波峰个数,获得上述指尖个数。
可选的,在获得上述指尖个数之后,上述手势识别方法还包括:基于上述 重排手部轮廓图像中的波峰坐标,确定各指尖坐标;基于上述各指尖坐标以及 上述手掌中心的坐标,确定各指尖之间的夹角。
在一种应用场景中,将上述最小外接正方形中的图像根据以下公式(6)进 行缩放,获得标准化图像:
Figure BDA0002389055110000101
其中,(x′,y′)为标准化图像中像素点的坐标值,(x,y)为上述最小外接正方 形中的图像中像素点的坐标值,z=Wn/W0;z为缩放比率,Wn为标准化图像 的预设尺寸,Wo为最小外接正方形中的图像的边长。
进一步的,可以基于上述手部图像中的手掌中心的位置o(x0,y0)以及上述 公式(6)映射获得上述标准化图像中手掌中心的坐标o(x0′,y0′)。
在一种应用场景中,在获得上述标准化图像之后,从上到下、从左到右的 定义上述标准化图像中的手部边缘轮廓上的第一起始点为a1(j1,k1),基于上述第 一起始点a1(j1,k1),顺时针定义上述标准化图像中的手部边缘轮廓上各点为 a1,a2,...,an,其中n为预设的轮廓点数阈值;计算上述a1,a2,...,an到上述标 准化图像中手掌中心的坐标o(x0′,y0′)的距离Di和平均距离
Figure BDA0002389055110000111
Figure BDA0002389055110000112
Figure BDA0002389055110000113
其中,i为1至n的正整数。获得上述距离Di和平均距离
Figure BDA0002389055110000114
后,在上述 a1,a2,...,an选取一点作为第二起始点b1,其中上述第二起始点b1为上述 a1,a2,...,an中到上述标准化图像中手掌中心的距离小于上述平均距离的一点。 在一种应用场景中,选取所有到上述标准化图像中手掌中心的距离小于平均距 离的点中,到上述标准化图像中手掌中心的距离最小的一点作为第二起始点。
以上述第二起始点b1为新的起始点,顺时针方向重新确定上述标准化图像 手部边缘轮廓上的各点b1,b2,...,bn;基于上述标准化图像中手部边缘轮廓上的 各点b1,b2,...,bn到上述标准化图像中手掌中心的距离重绘手部的边缘轮廓,获 得重排手部轮廓图像。在一种实施例中,上述重排手部轮廓图像的横坐标为各 点b1,b2,...,bn对应的下标值,纵坐标为各点b1,b2,...,bn到上述标准化图像中手 掌中心的距离。根据上述重排手部轮廓图像的波峰个数,获得上述指尖个数。 在一种应用场景中,预设波峰阈值,检测上述重排手部轮廓图像的波峰个数和 波峰值,当检测到的波峰值大于预设的波峰阈值时,确定该点为指尖,当检测 到的波峰值小于预设的波峰阈值时,确定该点不是指尖,从而确定指尖个数。
在确定上述指尖个数后,基于上述指尖对应的波峰坐标,确定各指尖的坐 标:p1(l1,t1)、p2(l2,t2),...,pr(lr,tr)(r∈[1,5]),其中,r为指尖个数,当检测出 指尖个数为1时,r=1,当检测出指尖个数大于1时,计算各指尖之间的夹角。
可选的,可以基于指尖坐标pr(lr,tr)和上述标准化图像中手掌中心的坐标 o(x0′,y0′),确定上述各指尖相对于上述标准化图像中手掌中心的绝对角度αr
在一种应用场景中,以掌心为坐标原点,水平向右为x轴正方向,垂直向 上为y轴正方向,用户摆放手势时水平向右或水平向左。规定手指向左水平摆 放时为正方向,利用公式(9)计算出手指的绝对角度αr。当手指水平向右摆放 时为反方向,利用公式(10)计算出手指的绝对角度αr。其中公式(9)和公式 (10)如下:
当lr-x0′<0时,指尖位于第二或第三象限,且有:
Figure BDA0002389055110000121
当lr-x0′>0时,指尖位于第一或第四象限,且有:
Figure BDA0002389055110000122
当lr-x0′=0时,若规定tr-y0′>0时,绝对角度αr=0°,则有tr-y0′<0时,绝对 角度αr=180°;
反之,当lr-x0′=0时,若规定tr-y0′<0时,绝对角度αr=0°,则有tr-y0′>0时, 绝对角度αr=180°。
在另一种应用场景中,上述绝对角度αr还可以有其它计算方式,在此不做 具体限制。
基于上述绝对角度αr,计算各指尖的相对角度βu,其中,βu表示第u个指 尖和第u+1个指尖之间的夹角度数,u为大于等于1且小于r的正整数:
Figure BDA0002389055110000123
步骤103,以上述手掌中心为圆心,基于初始半径和二分法确定目标同心 圆。
其中,上述初始半径为上述目标区域的最小外接正方形的边长与预设的第 一控制阈值的乘积,上述目标同心圆覆盖上述目标区域内的所有像素点且与上 述手指子区域只有一个交点;上述目标区域为上述手指子区域和上述手掌子区 域的并集区域。
图5示出了本实施例中基于初始半径和二分法确定目标同心圆的具体流程。 如图5所示,本实施例中,上述步骤103具体包括:
步骤1031,输入上述步骤102中的手部图像;
步骤1032,定义i=0,r-1=0;
步骤1033,以ri为初始半径,以上述手部图像中的手掌中心o(x0,y0)为圆 心作圆;其中,初始时i=0,r0为上述初始半径,且r0具体为上述目标区域的最 小外接正方形的边长与上述预设的第一控制阈值的乘积,本实施例中,上述预 设的第一控制阈值为
Figure BDA0002389055110000131
步骤1034,判断上述步骤1033中获得的圆是否包含上述目标区域内所有 像素点且与上述手指子区域只有一个交点;
步骤1035,若上述步骤1034的判断结果为“否”,则进一步判断上述圆 是否包含上述目标区域内所有像素点;
步骤1036,当上述圆包含上述目标区域内所有像素点时,令
Figure BDA0002389055110000132
其中,当上述圆包含上述目标区域内所有像素点时,说明该圆包含上述目标区 域内所有像素点且与上述手指子区域无交点,即该圆过大,此时需要缩小该圆 的半径;
步骤1037,当上述圆不包含上述目标区域内所有像素点时,令ri+1=2ri;其 中,当上述圆不包含上述目标区域内所有像素点时,说明该圆过小,此时需要 扩大该圆的半径;
步骤1038,令i=i+1,并返回至步骤1033;
重复上述步骤1033至1038,直至步骤1034中的判断结果为“是”;
步骤1039,当步骤1034中的判断结果为“是”时,确定目标同心圆。
此时,上述目标同心圆与上述手指子区域的交点即为上述目标区域中距离 上述手掌中心最远的点。
步骤104,将上述手掌中心指向上述目标同心圆与上述手掌子区域的交点 的方向确定为手势主方向。
具体的,即将上述手掌中心指向上述目标区域中距离上述手掌中心最远的 点的方向确定为手势主方向。
步骤105,基于组合特征进行手势识别并输出上述手势识别的结果。
其中,上述组合特征包括上述手势主方向、上述指尖个数以及上述各指尖 之间的夹角。
通过测试普通人五指张开时,手指间的角度为10°-180°,具体来说手指间 的角度分别为:拇指与食指:40°-90°;食指与中指、中指与无名指、无名指与 小拇指:10°-35°;拇指与小拇指:95°-135°。因此,在一种应用场景中,当上 述各指尖之间的夹角度数属于[10°,40°)时定义为c1,属于[40°,90°)时定义为c2;属 于[90°,150°]时定义为c3,超过150°则排除。定义上述指尖个数以及上述各指尖之 间的夹角的组合识别公式为:
d(r,c1,c2,c3)=r+10c1+100c2+1000c3 (12)
其中,r为指尖个数。将计算得出的d的值与预设的各种手指状态对应的 手指状态阈值进行比较,获取最为接近的手指状态阈值,从而获得对应的手指 状态。并将上述手指状态与上述手势主方向相结合,识别获得手势。
由上可见,本申请实施例提供的手势识别方法通过获取手部图像,并确定 手部图像中的手掌中心、指尖个数以及各指尖之间的夹角;以手掌中心为圆心, 基于初始半径和二分法确定目标同心圆;将手掌中心指向交点的方向确定为手 势主方向;基于手势主方向、指尖个数以及各指尖之间的夹角进行手势识别并 输出手势识别的结果。由于本方案是将目标同心圆与目标区域的交点作为距离 手掌中心最远的点并以此确定手势主方向,因此,相对于传统方案,本方案无 需分别计算手部边缘轮廓上每一个点到手掌中心的距离,故可有效提高确定手 势主方向的效率,从而达到提高手势识别效率的技术效果。
对应于上述手势识别方法,本申请实施例还提供一种手势识别装置,如图 6所示,上述手势识别装置包括:
图像获取模块601,用于获取手部图像,其中,上述手部图像包括手指子 区域和手掌子区域;
数据获取模块602,用于确定上述手部图像中的手掌中心、指尖个数以及 各指尖之间的夹角,其中,上述手掌中心为上述手掌子区域的中心点;
同心圆获取模块603,用于以上述手掌中心位置为圆心,基于初始半径和 二分法确定目标同心圆;其中,上述初始半径为上述目标区域的最小外接正方 形的边长与预设的第一控制阈值的乘积,上述目标同心圆覆盖上述目标区域内 的所有像素点且与上述手指子区域只有一个交点;上述目标区域为上述手指子 区域和上述手掌子区域的并集区域;
手势主方向确定模块604,用于将上述手掌中心指向上述目标同心圆与上 述手指子区域的交点的方向确定为手势主方向;
手势识别模块605,用于基于组合特征进行手势识别并输出上述手势识别 的结果,其中,上述组合特征包括上述手势主方向、上述指尖个数以及上述各 指尖之间的夹角。
在一种应用场景中,上述图像获取模块601具体用于:获取包括手部区域 和背景区域的红外图像;将上述红外图像转换为灰度图像;基于大津算法和上 述灰度图像中各个像素点的灰度值,计算二值化阈值;基于上述二值化阈值对 上述灰度图像进行二值化处理,获得不包括背景区域的手部图像。
可选的,通过红外摄像仪获得包括手部区域和背景区域的红外图像。利用 温度的差异可以将上述红外图像中的手部区域和背景区域分离,且不受背景光 照强度和手部区域肤色不同的影响,能够提高手部区域的提取效率。将上述红 外图像转换为灰度图像,提取转换后的灰度图像中的所有灰度值。在一种应用 场景中,假设上述灰度图像包括0-255所有的灰度值,则将0-255这256个灰 度值分别代入公式(13),计算二值化阈值:
Figure BDA0002389055110000161
其中,
Figure BDA0002389055110000162
表示二值化阈值为T时像素为背景类的类间方差,
Figure BDA0002389055110000163
表示 二值化阈值为T时像素为前景类的类间方差;Wb(T)为当阈值为T时像素为背 景类的概率,Wf(T)为当阈值为T时像素为前景类的概率,σ2(T)表示阈值为T 时前景类与背景类的类间方差。
遍历0-255这256个灰度值,求出使得类间方差σ2(T)最大的灰度值T,此 时该灰度值T为二值化阈值。基于二值化阈值对上述灰度图像中的各像素点进 行二值化处理,获得上述手部图像。其中,进行二值化的公式为:
Figure BDA0002389055110000164
其中,hj表示上述手部图像中第j个像素点的像素值,T为二值化阈值,j 为遍历1至m的正整数,m为预设的图像像素点个数,基于预设的图像像素点 个数将上述灰度图像划分为m个像素点。
可选的,上述图像获取模块601包括平滑处理子模块(图中未示出),用 于在获得上述手部图像之后,对上述手部图像的边缘进行平滑处理,使得上述 手部图像的边缘变得平滑。具体的,基于上述二值化处理之后获得的手部图像, 其手部区域的边缘存在诸多凹凸不平的缺陷,需要将这些曲线进行处理使得上 述手部图像的边缘变得平滑。可选的,上述平滑处理可以为中值滤波和形态学 处理,还可以为其他平滑处理方式,在此不做具体限定。
本实施例中,上述数据获取模块602具体用于:获取上述手部图像中的手 部边缘轮廓;基于上述手部边缘轮廓获得手掌子区域的边缘轮廓;基于上述手 掌子区域的边缘轮廓上各像素点确定上述手掌中心;基于上述手部边缘轮廓上 各像素点以及上述手掌中心确定上述指尖个数以及上述各指尖之间的夹角。可 选的,可以利用Canny算法确定上述手部边缘轮廓。
本实施例中,上述数据获取模块602还包括手掌子区域轮廓获取子模块(图 中未示出),用于依次连接上述手部边缘轮廓上所有目标边缘点,获得上述手 掌子区域的边缘轮廓;其中,
其中,上述目标边缘点为目标边缘圆的圆心,上述目标边缘圆的半径为上 述目标区域的最小外接正方形的边长和预设的第三控制阈值的乘积,且,上述 目标边缘圆与上述手指子区域的交集大于预设的第二控制阈值与上述目标边缘 圆面积的乘积。其中,上述第二控制阈值和上述第三控制阈值为大于0且小于 1的值。本实施例中,上述第二控制阈值为
Figure BDA0002389055110000171
上述第三控制阈值为
Figure BDA0002389055110000172
在一种应用场景中,上述手掌子区域轮廓获取子模块具体用于:以上述手 部边缘轮廓上的各点为圆心,以上述目标区域的最小外接正方形的边长的
Figure BDA0002389055110000173
为 半径分别作圆,保留与目标区域的交集大于自身面积的
Figure BDA0002389055110000174
的目标边缘圆的圆心 (即为上述目标边缘点)并依次连接,获得上述手掌子区域的轮廓。可选的, 上述依次连接可以为,对上述手部图像从上到下、从左到右选取第一个符合要 求的目标边缘点,然后以该点为起点,顺时针方向连接所有目标边缘点,获得 上述手掌子区域的轮廓。还可以有其他连接方式,在此不做具体限定。
本实施例中,上述数据获取模块602还包括手掌中心获取子模块(图中未 示出),用于将上述手部图像划分为a*b的网格,其中每个网格分别对应上述 手部图像中的每个像素点,通过如下公式计算上述手掌中心:
Figure RE-GDA0002455851860000181
Figure RE-GDA0002455851860000182
其中,
Figure BDA0002389055110000177
Figure BDA0002389055110000178
分别为上述手掌中心的横坐标与纵坐标,i为不大于a的正 整数,j为不大于b的正整数,
Figure BDA0002389055110000181
R为上述手掌子区域。
可选的,数据获取模块602还包括手指数据获取子模块(图中未示出), 用于获取上述手部图像中上述目标区域的最小外接正方形;将上述目标区域的 最小外接正方形中的图像缩放至预设尺寸,获得标准化图像,其中,上述标准 化图像为尺寸标准化后的手部图像;基于上述标准化图像中的手部边缘轮廓和 手掌中心获得上述指尖个数和上述各指尖之间的夹角。
可选的,上述手指数据获取子模块还用于:在获得上述标准化图像之后, 从上述标准化图像中的手部边缘轮廓上选取一点作为第一起始点a1,基于上述 第一起始点a1,顺时针确定上述标准化图像中的手部边缘轮廓上各点 a1,a2,...,an;其中n为预设的轮廓点数阈值;计算上述a1,a2,...,an到上述标 准化图像手掌中心的距离和平均距离,获得第二起始点b1;其中,上述第二起 始点b1为上述a1,a2,...,an中到上述标准化图像中手掌中心的距离小于上述平 均距离的一点;以上述第二起始点b1为新的起始点,顺时针方向重新确定上述 标准化图像手部边缘轮廓上的各点b1,b2,...,bn;基于上述标准化图像中手部边 缘轮廓上的各点b1,b2,...,bn到上述手掌中心的距离重绘手部的边缘轮廓,获得 重排手部轮廓图像;根据上述重排手部轮廓图像的波峰个数,获得上述指尖个 数。基于上述重排手部轮廓图像中的波峰坐标,确定各指尖坐标;基于上述各 指尖坐标以及上述手掌中心的坐标,确定各指尖之间的夹角。
在一种应用场景中,上述手指数据获取子模块具体用于:获取上述手部图 像中上述目标区域的最小外接正方形,将上述最小外接正方形中的图像根据以 下公式(17)进行缩放,获得标准化图像:
Figure BDA0002389055110000182
其中,(x′,y′)为标准化图像中像素点的坐标值,(x,y)为上述最小外接正方 形中的图像中像素点的坐标值,z=Wn/W0;z为缩放比率,Wn为标准化图像 的预设尺寸,Wo为最小外接正方形中的图像的边长;同时,基于上述手部图像 中的手掌中心的位置o(x0,y0)以及上述公式(17)映射获得上述标准化图像中 手掌中心的坐标o(x0′,y0′);获得上述标准化图像之后,从上到下、从左到右的 定义上述标准化图像中的手部边缘轮廓上的第一起始点为a1(j1,k1),基于上述第 一起始点a1(j1,k1),顺时针定义上述标准化图像中的手部边缘轮廓上各点为 a1,a2,...,an,其中n为预设的轮廓点数阈值;计算上述a1,a2,...,an到上述标 准化图像中手掌中心的坐标o(x0′,y0′)的距离Di和平均距离
Figure BDA0002389055110000194
Figure BDA0002389055110000191
Figure BDA0002389055110000192
其中,i为1至n的正整数。获得上述距离Di和平均距离
Figure BDA0002389055110000193
后,在上述 a1,a2,...,an选取一点作为第二起始点b1,其中上述第二起始点b1为上述 a1,a2,...,an中到上述标准化图像中手掌中心的距离小于上述平均距离的一点。 在一种应用场景中,选取所有到上述标准化图像中手掌中心的距离小于平均距 离的点中,到上述标准化图像中手掌中心的距离最大的一点作为第二起始点。
以上述第二起始点b1为新的起始点,顺时针方向重新确定上述标准化图像 手部边缘轮廓上的各点b1,b2,...,bn;基于上述标准化图像中手部边缘轮廓上的 各点b1,b2,...,bn到上述手掌中心的距离重绘手部的边缘轮廓,获得重排手部轮 廓图像。在一种实施例中,上述重排手部轮廓图像的横坐标为各点b1,b2,...,bn对应的下标值,纵坐标为各点b1,b2,...,bn到上述标准化图像中手掌中心的距离。 根据上述重排手部轮廓图像的波峰个数,获得上述指尖个数。在一种应用场景 中,预设波峰阈值,检测上述重排手部轮廓图像的波峰个数和波峰值,当检测 到的波峰值大于预设的波峰阈值时,确定该点为指尖,当检测到的波峰值小于 预设的波峰阈值时,确定该点不是指尖,从而确定指尖个数。
在确定上述指尖个数后,基于上述指尖对应的波峰坐标,确定各指尖的坐 标:p1(l1,t1)、p2(l2,t2),...,pr(lr,tr)(r∈[1,5]),其中,r为指尖个数,当检测出 指尖个数为1时,r=1,当检测出指尖个数大于1时,计算各指尖之间的夹角。
可选的,可以基于指尖坐标pr(lr,tr)和上述标准化图像中手掌中心的坐标 o(x0′,y0'),确定上述各指尖相对于上述标准化图像中手掌中心的绝对角度αr
在一种应用场景中,以掌心为坐标原点,水平向右为x轴正方向,垂直向 上为y轴正方向,用户摆放手势时水平向右或水平向左。规定手指向左水平摆 放时为正方向,利用公式(20)计算出手指的绝对角度αr。当手指水平向右摆 放时为反方向,利用公式(21)计算出手指的绝对角度αr。其中公式(20)和 公式(21)如下:
当lr-x0′<0时,指尖位于第二或第三象限,且有:
Figure BDA0002389055110000201
当lr-x0′>0时,指尖位于第一或第四象限,且有:
Figure BDA0002389055110000202
当lr-x0′=0时,若规定tr-y0′>0时,绝对角度αr=0°,则有tr-y0′<0时,绝对角度αr=180°;
反之,当lr-x0′=0时,若规定tr-y0′<0时,绝对角度αr=0°,则有tr-y0′>0时, 绝对角度αr=180°。
在另一种应用场景中,上述绝对角度αr还可以有其他计算方式,在此不做 具体限制。
基于上述绝对角度αr,计算各指尖的相对角度βu,其中,βu表示第u个指 尖和第u+1个指尖之间的夹角度数,u为大于等于1且小于r的正整数:
Figure BDA0002389055110000203
可选的,上述手势识别模块605具体用于:获取上述手指数据获取子模块 计算的各指尖之间的夹角,当上述各指尖之间的夹角度数属于[10°,40°)时定义为 c1,属于[40°,90°)时定义为c2;属于[90°,150°]时定义为c3,超过150°则排除。定 义上述指尖个数以及上述各指尖之间的夹角的组合识别公式为:
d(r,c1,c2,c3)=r+10c1+100c2+1000c3 (23)
其中,r为指尖个数。将计算得出的d的值与预设的各种手指状态对应的 手指状态阈值进行比较,获取最为接近的手指状态阈值,从而获得对应的手指 状态。并将上述手指状态与上述手势主方向相结合,识别获得手势。
本实施例中,上述同心圆获取模块603具体可按以下流程确定目标同心圆:
步骤1,输入上述图像获取模块获取的手部图像;
步骤2,定义i=0,r-1=0;
步骤3,以ri为初始半径,以上述手部图像中的手掌中心o(x0,y0)为圆心作 圆;其中,初始时i=0,r0为上述初始半径,且r0具体为上述目标区域的最小外 接正方形的边长与上述预设的第一控制阈值的乘积,本实施例中,上述预设的 第一控制阈值为
Figure BDA0002389055110000211
步骤4,判断上述步骤3中获得的圆是否包含上述目标区域内所有像素点 且与上述手指子区域只有一个交点;
步骤5,若上述步骤4的判断结果为“否”,则进一步判断上述圆是否包 含上述目标区域内所有像素点;
步骤6,当上述圆包含上述目标区域内所有像素点时,令
Figure BDA0002389055110000212
其 中,当上述圆包含上述目标区域内所有像素点时,说明该圆包含上述目标区域 内所有像素点且与上述手指子区域无交点,即该圆过大,此时需要缩小该圆的 半径;
步骤7,当上述圆不包含上述目标区域内所有像素点时,令ri+1=2ri;其中, 当上述圆不包含上述目标区域内所有像素点时,说明该圆过小,此时需要扩大 该圆的半径;
步骤8,令i=i+1,并返回至步骤3;
重复上述步骤3至8,直至步骤4中的判断结果为“是”;
步骤9,当步骤4中的判断结果为“是”时,确定目标同心圆。
此时,上述目标同心圆与上述手指子区域的交点即为上述目标区域中距离 上述手掌中心最远的点。
由上可见,本申请实施例提供的手势识别装置通过图像获取模块601获取 手部图像;通过数据获取模块602确定手部图像中的手掌中心、指尖个数以及 各指尖之间的夹角;通过同心圆获取模块603以手掌中心为圆心,基于初始半 径和二分法确定目标同心圆;通过手势主方向确定模块604将手掌中心指向交 点的方向确定为手势主方向;通过手势识别模块605基于手势主方向、指尖个 数以及各指尖之间的夹角进行手势识别并输出手势识别的结果。由于本方案是 将目标同心圆与目标区域的交点作为距离手掌中心最远的点并以此确定手势主 方向,因此,相对于传统方案,本方案无需分别计算手部边缘轮廓上每一个点 到手掌中心的距离,故可有效提高确定手势主方向的效率,从而达到提高手势 识别效率的技术效果。
本申请实施例第三方面提供一种计算机设备,包括存储器和处理器,上述 存储器存储有计算机程序,上述处理器执行上述计算机程序时实现本申请实施 例第一方面提供的手势识别方法所述的步骤。
本申请实施例第四方面提供一种计算机可读存储介质,其上存储有计算机 程序,上述计算机程序被处理器执行时实现本申请实施例第一方面提供的手势 识别方法所述的步骤。
应理解,上述实施例中各步骤的序号大小并不意味着执行顺序的先后,各 过程的执行顺序应以其功能和内在逻辑确定,而不应对本申请实施例的实施过 程构成任何限定。
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,仅以上 述各功能单元、模块的划分进行举例说明,实际应用中,可以根据需要而将上 述功能分配由不同的功能单元、模块完成,即将上述装置的内部结构划分成不 同的功能单元或模块,以完成以上描述的全部或者部分功能。实施例中的各功 能单元、模块可以集成在一个处理单元中,也可以是各个单元单独物理存在, 也可以两个或两个以上单元集成在一个单元中,上述集成的单元既可以采用硬 件的形式实现,也可以采用软件功能单元的形式实现。另外,各功能单元、模 块的具体名称也只是为了便于相互区分,并不用于限制本申请的保护范围。上 述系统中单元、模块的具体工作过程,可以参考前述方法实施例中的对应过程, 在此不再赘述。
在上述实施例中,对各个实施例的描述都各有侧重,某个实施例中没有详 述或记载的部分,可以参见其他实施例的相关描述。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各实 例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来 实现。这些功能究竟是以硬件还是软件方式来执行,取决于技术方案的特定应 用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同的方法来 实现所描述的功能,但是这种实现不应认为超出本申请的范围。
在本申请所提供的实施例中,应该理解到,所揭露的装置/终端设备和方法, 可以通过其他的方式实现。例如,以上所描述的装置/终端设备实施例仅仅是示 意性的,例如,上述模块或单元的划分,仅仅为一种逻辑功能划分,实际实现 时可以由另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一 个系统,或一些特征可以忽略,或不执行。
上述集成的模块/单元如果以软件功能单元的形式实现并作为独立的产品 销售或使用时,可以存储在一个计算机可读存储介质中。基于这样的理解,本 申请实现上述实施例方法中的全部或部分流程,也可以通过计算机程序来指令 相关的硬件来完成,上述计算机程序可存储于以计算机可读存储介质中,该计 算机程序在被处理器执行时,可实现上述各个方法实施例的步骤。其中,上述 计算机程序包括计算机程序代码,上述计算机程序代码可以为源代码形式、对 象代码形式、可执行文件或某些中间形式等。上述计算机可读介质可以包括: 能够携带上述计算机程序代码的任何实体或装置、记录介质、U盘、移动硬盘、 磁碟、光盘、计算机存储器、只读存储器(ROM,Read-Only Memory)、随机 存取存储器(RAM,Random Access Memory)、电载波信号、电信信号以及软 件分发介质等。需要说明的是,上述计算机可读存储介质包含的内容可以根据 司法管辖区内立法和专利实践的要求进行适当的增减。
以上所述实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照 前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解;其 依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特 征进行等同替换;而这些修改或者替换,并不是相应技术方案的本质脱离本申 请各实施例技术方案的精神和范围,均应包含在本申请的保护范围之内。

Claims (7)

1.一种手势识别方法,其特征在于,包括:
获取手部图像,其中,所述手部图像包括手指子区域和手掌子区域;
确定所述手部图像中的手掌中心、指尖个数以及各指尖之间的夹角,其中,所述手掌中心为所述手掌子区域的中心点;
以所述手掌中心为圆心,基于初始半径和二分法确定目标同心圆;其中,所述初始半径为目标区域的最小外接正方形的边长与预设的第一控制阈值的乘积,所述目标同心圆覆盖所述目标区域内的所有像素点且与所述手指子区域只有一个交点;所述目标区域为所述手指子区域和所述手掌子区域的并集区域;
将所述手掌中心指向所述目标同心圆与所述手指子区域的交点的方向确定为手势主方向;
基于组合特征进行手势识别并输出所述手势识别的结果,其中,所述组合特征包括所述手势主方向、所述指尖个数以及所述各指尖之间的夹角;
获取所述指尖个数包括:获取所述手部图像中的手部边缘轮廓;基于所述手部边缘轮廓获得手掌子区域的边缘轮廓;基于所述手掌子区域的边缘轮廓上各像素点确定所述手掌中心;
获取所述手部图像中所述目标区域的最小外接正方形;将所述目标区域的最小外接正方形中的图像缩放至预设尺寸,获得标准化图像,其中,所述标准化图像为尺寸标准化后的手部图像;
从所述标准化图像中的手部边缘轮廓上选取一点作为第一起始点a1,基于所述第一起始点a1,顺时针确定所述标准化图像中的手部边缘轮廓上各点a1,a2,...,an;其中n为预设的轮廓点数阈值;
计算所述a1,a2,...,an到所述标准化图像手掌中心的距离和平均距离,获得第二起始点b1;其中,所述第二起始点b1为所述a1,a2,...,an中到所述标准化图像中手掌中心的距离小于所述平均距离的一点;
以所述第二起始点b1为新的起始点,顺时针方向重新确定所述标准化图像手部边缘轮廓上的各点b1,b2,...,bn
基于所述标准化图像中手部边缘轮廓上的各点b1,b2,...,bn到所述手掌中心的距离重绘手部的边缘轮廓,获得重排手部轮廓图像;
根据所述重排手部轮廓图像的波峰个数,获得所述指尖个数。
2.如权利要求1所述的手势识别方法,其特征在于,所述获取手部图像包括:
获取包括手部区域和背景区域的红外图像;
将所述红外图像转换为灰度图像;
基于大津算法和所述灰度图像中各个像素点的灰度值,计算二值化阈值;
基于所述二值化阈值对所述灰度图像进行二值化处理,获得所述手部图像。
3.如权利要求1所述的手势识别方法,其特征在于,所述基于所述手部边缘轮廓获得手掌子区域的边缘轮廓包括:
依次连接所述手部边缘轮廓上所有目标边缘点,获得所述手掌子区域的边缘轮廓;
其中,所述目标边缘点为目标边缘圆的圆心,所述目标边缘圆的半径为所述目标区域的最小外接正方形的边长和预设的第三控制阈值的乘积,且,所述目标边缘圆与所述手指子区域的交集大于预设的第二控制阈值与所述目标边缘圆面积的乘积。
4.如权利要求1所述的手势识别方法,其特征在于,在获得所述指尖个数之后,所述手势识别方法还包括:
基于所述重排手部轮廓图像中的波峰坐标,确定各指尖坐标;
基于所述各指尖坐标以及所述手掌中心的坐标,确定各指尖之间的夹角。
5.一种手势识别装置,其特征在于,包括:
图像获取模块,用于获取手部图像,其中,所述手部图像包括手指子区域和手掌子区域;
数据获取模块,用于确定所述手部图像中的手掌中心、指尖个数以及各指尖之间的夹角,其中,所述手掌中心为所述手掌子区域的中心点;
同心圆获取模块,用于以所述手掌中心位置为圆心,基于初始半径和二分法确定目标同心圆,其中;所述初始半径为目标区域的最小外接正方形的边长与预设的第一控制阈值的乘积,所述目标同心圆覆盖所述目标区域内的所有像素点且与所述手指子区域只有一个交点;所述目标区域为所述手指子区域和所述手掌子区域的并集区域;
手势主方向确定模块,用于将所述手掌中心指向所述目标同心圆与所述手指子区域的交点的方向确定为手势主方向;
手势识别模块,用于基于组合特征进行手势识别并输出所述手势识别的结果,其中,所述组合特征包括所述手势主方向、所述指尖个数以及所述各指尖之间的夹角;获取所述指尖个数包括:获取所述手部图像中的手部边缘轮廓;基于所述手部边缘轮廓获得手掌子区域的边缘轮廓;基于所述手掌子区域的边缘轮廓上各像素点确定所述手掌中心;
获取所述手部图像中所述目标区域的最小外接正方形;将所述目标区域的最小外接正方形中的图像缩放至预设尺寸,获得标准化图像,其中,所述标准化图像为尺寸标准化后的手部图像;
从所述标准化图像中的手部边缘轮廓上选取一点作为第一起始点a1,基于所述第一起始点a1,顺时针确定所述标准化图像中的手部边缘轮廓上各点a1,a2,...,an;其中n为预设的轮廓点数阈值;计算所述a1,a2,...,an到所述标准化图像手掌中心的距离和平均距离,获得第二起始点b1;其中,所述第二起始点b1为所述a1,a2,...,an中到所述标准化图像中手掌中心的距离小于所述平均距离的一点;以所述第二起始点b1为新的起始点,顺时针方向重新确定所述标准化图像手部边缘轮廓上的各点b1,a2,...,bn;基于所述标准化图像中手部边缘轮廓上的各点b1,b2,...,bn到所述手掌中心的距离重绘手部的边缘轮廓,获得重排手部轮廓图像;根据所述重排手部轮廓图像的波峰个数,获得所述指尖个数。
6.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,其特征在于,所述处理器执行所述计算机程序时实现权利要求1至4中任一项所述方法的步骤。
7.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1至4中任一项所述方法的步骤。
CN202010108054.5A 2020-02-21 2020-02-21 一种手势识别方法及手势识别装置 Expired - Fee Related CN111309149B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010108054.5A CN111309149B (zh) 2020-02-21 2020-02-21 一种手势识别方法及手势识别装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010108054.5A CN111309149B (zh) 2020-02-21 2020-02-21 一种手势识别方法及手势识别装置

Publications (2)

Publication Number Publication Date
CN111309149A CN111309149A (zh) 2020-06-19
CN111309149B true CN111309149B (zh) 2022-08-19

Family

ID=71152933

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010108054.5A Expired - Fee Related CN111309149B (zh) 2020-02-21 2020-02-21 一种手势识别方法及手势识别装置

Country Status (1)

Country Link
CN (1) CN111309149B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112327289A (zh) * 2020-10-29 2021-02-05 内蒙古工业大学 一种运动目标斜距向速度估计方法及装置
CN113724172B (zh) * 2021-08-04 2023-09-26 北京大学 基于景观功能数据的城镇边界提取方法及系统
CN115100747B (zh) * 2022-08-26 2022-11-08 山东宝德龙健身器材有限公司 基于视觉检测的跑步机智能辅助系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294996A (zh) * 2013-05-09 2013-09-11 电子科技大学 一种3d手势识别方法
CN105825193A (zh) * 2016-03-25 2016-08-03 乐视控股(北京)有限公司 手掌的掌心位置定位、手势识别方法、装置及智能终端
CN108846356A (zh) * 2018-06-11 2018-11-20 南京邮电大学 一种基于实时手势识别的手心追踪定位的方法
CN109299743A (zh) * 2018-10-18 2019-02-01 京东方科技集团股份有限公司 手势识别方法及装置、终端

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103294996A (zh) * 2013-05-09 2013-09-11 电子科技大学 一种3d手势识别方法
CN105825193A (zh) * 2016-03-25 2016-08-03 乐视控股(北京)有限公司 手掌的掌心位置定位、手势识别方法、装置及智能终端
CN108846356A (zh) * 2018-06-11 2018-11-20 南京邮电大学 一种基于实时手势识别的手心追踪定位的方法
CN109299743A (zh) * 2018-10-18 2019-02-01 京东方科技集团股份有限公司 手势识别方法及装置、终端

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
董嘉棋,等..面向翻书机器人的手势控制指令的识别算法.《东华大学学报 (自然科学版)》.2017,第43卷(第6期), *
面向交互语义的用户基本手势实时检索方法研究;杨学文.;《中国优秀博硕士学位论文全文数据库(硕士) 信息科技辑》;20160515(第05期);第I138-1084 *
面向翻书机器人的手势控制指令的识别算法;董嘉棋,等.;《东华大学学报 (自然科学版)》;20171231;第43卷(第6期);第869-877页 *

Also Published As

Publication number Publication date
CN111309149A (zh) 2020-06-19

Similar Documents

Publication Publication Date Title
CN111309149B (zh) 一种手势识别方法及手势识别装置
JP3863809B2 (ja) 手の画像認識による入力システム
JPH10214346A (ja) ハンドジェスチャ認識システムおよび方法
CN109919039B (zh) 一种基于手掌和手指特征的静态手势识别方法
JPH10214346A6 (ja) ハンドジェスチャ認識システムおよび方法
US11402918B2 (en) Method for controlling terminal apparatus, apparatus for controlling terminal apparatus, and computer-program product
KR101559502B1 (ko) 실시간 손 포즈 인식을 통한 비접촉식 입력 인터페이스 방법 및 기록 매체
Gupta et al. FPGA based real time human hand gesture recognition system
CN107272899B (zh) 一种基于动态手势的vr交互方法、装置及电子设备
CN103870071A (zh) 一种触摸源识别方法及系统
CN112115853A (zh) 一种手势识别方法、装置、计算机存储介质及电子设备
CN111492407B (zh) 用于绘图美化的系统和方法
Pradhan et al. Obtaining hand gesture parameters using image processing
JP2016071547A (ja) 情報処理装置とその制御方法、プログラム、記憶媒体
Lahiani et al. Real Time Static Hand Gesture Recognition System for Mobile Devices.
Yang et al. An effective robust fingertip detection method for finger writing character recognition system
KR20070103895A (ko) 손 제스쳐 인식 시스템 및 방법
Cao et al. Real-time dynamic gesture recognition and hand servo tracking using PTZ camera
RU2672622C1 (ru) Способ распознавания графических образов объектов
Ahn et al. The hand gesture recognition system using depth camera
JP2012053551A (ja) 入力種別識別システム、入力種別識別方法およびプログラム
Vishal et al. Paper piano—shadow analysis based touch interaction
Kumar et al. Computer vision based Hand gesture recognition system
Al Marouf et al. 4Y model: a novel approach for finger identification using KINECT
Jetensky Human hand image analysis extracting finger coordinates and axial vectors: finger axis detection using blob extraction and line fitting

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
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20220819