CN112270292A - 一种静态手势识别系统及方法 - Google Patents
一种静态手势识别系统及方法 Download PDFInfo
- Publication number
- CN112270292A CN112270292A CN202011255413.6A CN202011255413A CN112270292A CN 112270292 A CN112270292 A CN 112270292A CN 202011255413 A CN202011255413 A CN 202011255413A CN 112270292 A CN112270292 A CN 112270292A
- Authority
- CN
- China
- Prior art keywords
- point
- points
- convex
- unit
- convex hull
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/13—Sensors therefor
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
- G06F18/241—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches
- G06F18/2413—Classification techniques relating to the classification model, e.g. parametric or non-parametric approaches based on distances to training or reference patterns
- G06F18/24133—Distances to prototypes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V10/00—Arrangements for image or video recognition or understanding
- G06V10/20—Image preprocessing
- G06V10/30—Noise filtering
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06V—IMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
- G06V40/00—Recognition of biometric, human-related or animal-related patterns in image or video data
- G06V40/10—Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
- G06V40/12—Fingerprints or palmprints
- G06V40/1347—Preprocessing; Feature extraction
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Data Mining & Analysis (AREA)
- Human Computer Interaction (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Evolutionary Computation (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Bioinformatics & Computational Biology (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Image Analysis (AREA)
Abstract
本发明公布了一种静态手势识别系统及方法,包括:处理模块,用于对一待识别图像进行处理得到一外部轮廓;第一筛选模块,用于筛选出一掌心位置;方向确认模块,用于确认手指方向;第二筛选模块,用于得到一手腕位置,并筛选出指尖位置;识别模块,用于进行静态手势识别。本发明的技术方案的有益效果在于:使用掌心和手指作为手势识别的特征,简单灵活且易于实现;使用距离变换与作圆求交点的方式识别掌心,具有很好的鲁棒性;在包含手臂的情况下,能够准确地识别出掌心和手指的方向,回避手掌手腕以外的轮廓对识别的影响;基于掌心位置和手指方向,使用凸包和凸缺陷来确定手指位置,效率高且可靠,具有识别率高、实时性好等优点。
Description
技术领域
本发明涉及人机交互技术领域,尤其涉及一种静态手势识别系统及方法。
背景技术
手势识别是通过数学算法来识别人类手势的一个议题,一般运用于智能家居,智能汽车驾驶等智能设备的手势调控,手势识别可以来自人的身体各部位的运动,但一般是指脸部和手的运动。
在现有技术中,手势识别的方法主要分为基于深度学习的识别分类方法和基于传统计算机视觉的方法。其中,基于深度学习的方法具有自组织、自学习的能力,抗干扰性强的特点,但却需要大量的样本集来进行训练;基于传统计算机视觉的方法使用边缘检测、图像阈值分割等方法进行手部区域提取,选取手势的几何特征,再通过模板匹配、决策树等方法进行手势分类,但存在识别率低,实时性较差等问题。
发明内容
根据现有技术中存在的问题,现提供一种静态手势识别系统及方法,目的在于解决现有技术中对于特定的硬件输入的依赖,回避手掌手腕以外的轮廓,特别是手臂对识别的影响,以及识别率低、实时性差等问题。
上述技术方案具体包括:
一种静态手势识别系统,其中,包括:
处理模块,用于对一待识别图像进行处理得到一外部轮廓;
第一筛选模块,连接至所述处理模块,用于从所述外部轮廓中的内部像素点中筛选出一掌心位置;
方向确认模块,连接至所述第一筛选模块和所述处理模块,用于识别出所述外部轮廓中的多个凸包点,并根据所述掌心位置及所述凸包点确认手指方向;
第二筛选模块,连接至所述第一筛选模块和所述方向确认模块,用于根据所述掌心位置和所述手指方向得到一手腕位置,并根据所述凸包点、所述手腕位置与所述外部轮廓中的凸缺陷点筛选出指尖位置;
识别模块,连接至所述第一筛选模块和所述第二筛选模块,预存有一手势学习模型,用于根据所述手势学习模型和所述掌心位置、所述手指方向、所述指尖位置进行静态手势识别。
具体的,所述处理模块包括:
第一处理单元,用于对所述待识别图像进行平滑处理得到一预处理图像;
第二处理单元,连接至所述第一处理单元,用于将所述预处理图像转换至HSV颜色空间后,基于肤色对转化后的所述预处理图像进行二值化处理以得到所述外部轮廓。
具体的,所述第一筛选模块包括:
第一计算单元,用于计算得到所述内部像素点至表示所述外部轮廓的像素点的最近距离,作为所述内部像素点的有效距离;
第一排序单元,连接至所述第一计算单元,用于按多个所述内部像素点对应的有效距离由大到小进行排列得到一像素点序列,并获取所述像素点序列中靠前的多个所述内部像素点作为区域极大值点,同样对所有所述区域极大值点按照对应的有效距离由大到小进行排列以形成一极大值序列;
第一筛选单元,连接至所述第一排序单元,用于将所述极大值序列中的每个所述区域极大值点作为待判断点,并判断所述待判断点是否落在以所述待判断点之前的任意一个所述区域极大值点为圆心得到的所述外部轮廓的内接圆内,并将落在所述内接圆内的所述待判断点删除,遍历所述极大值序列后将保留下来的所述区域极大值点作为第一像素点输出;
第一统计单元,连接至所述第一筛选单元,用于统计以每个所述第一像素点为圆心,以所述第一像素点对应的所述有效距离的两倍为半径的圆与所述外部轮廓的第一交点数量,并将所述第一交点数量最大的所述第一像素点作为所述掌心位置。
具体的,所述方向确认模块包括:
第二识别单元,用于识别得到所述外部轮廓中的多个凸包;
第二排序单元,连接至所述第二识别单元,用于在以所述掌心位置为极点、以x轴正方向为极轴的极坐标系中,将多个所述凸包中的任意一个凸包点作为起点,按一预设方向遍历所有所述凸包点,并将所有所述凸包点按遍历顺序进行排列得到一凸包点序列;
第二计算单元,连接至所述第二排序单元,用于将所述凸包点序列中的任意一个所述凸包点作为测量点,将之前一个所述凸包点作为比较点,并计算所述测量点与所述比较点的极角的差值;
分类单元,连接至所述第二计算单元,预存有一极角差阈值,用于
当所述差值未达到所述阈值时,将所述测量点与所述比较点放入同一集合;
当所述差值达到所述阈值时,将所述测量点与所述比较点放入不同的集合;
第二筛选单元,连接至所述分类单元,用于筛选出每个所述集合中距离所述掌心位置最远的多个凸包点作为目标凸包点;
第二统计单元,连接至所述第二筛选单元,用于统计每个所述目标凸包点落在以所述目标凸包点为圆心,以所述掌心位置对应的有效距离的两倍为半径的圆与所述外部轮廓的第二交点;
第三筛选单元,连接至所述第二统计单元,用于统计所述第二交点落在以所述掌心位置为极点,以所述掌心位置指向所述目标凸包点的方向为极轴的一预设区域内的数量,并将落在所述预设区域内的所述第二交点最多的所述目标凸包点作为指尖点,将所述掌心位置指向所述指尖点的方向作为所述手指方向。
具体的,所述第二筛选模块包括:
第一判断单元,用于判断所述外部轮廓内的各个像素点是否满足一第一预设条件,并输出第一判断结果
第二判断单元,用于判断所述外部轮廓内的各个像素点是否满足一第二预设条件,并输出第二判断结果;
第一识别单元,连接至所述第一判断单元和所述第二判断单元,用于在所述外部轮廓内的像素点同时满足所述第一预设条件和所述第二预设条件时,将对应的所述像素点判断为所述凸缺陷点;
所述第一预设条件为:
所述像素点与两侧的所述凸包点的连线距离处于[0.75r,2.5r]的范围内;
所述第二预设条件为:
所述像素点到所述掌心位置的距离不大于2r;
其中,
r用于表示所述掌心位置对应的有效距离。
具体的,所述第二筛选模块还包括:
定位单元,用于将所述掌心位置对应的所述外部轮廓的内接圆上距离所述指尖点最远的像素点作为所述手腕位置;
第三判断单元,连接至所述定位单元,用于判断所述手腕位置指向所述凸包点的方向与所述掌心位置指向所述指尖点的方向的夹角是否小于一预设的角度,并输出一第三判断结果;
第四判断单元,连接至所述定位单元和所述第三判断单元,用于在所述第三判断结果表示所述手腕位置指向所述凸包点的方向与所述掌心位置指向所述指尖点的方向的夹角小于一预设的角度时,判断对应的所述凸包点到所述手腕位置的距离是否处于一预设的长度范围内,并输出一第四判断结果;
第五判断单元,连接至所述第四判断单元,用于在所述第四判断结果表示所述距离处于所述长度范围内时,判断对应的所述凸包点的两侧是否均存在有所述凸缺陷点,并输出一第五判断结果;
第四筛选单元,连接至所述第五判断单元,用于在所述第五判断结果表示所述凸包点的两侧均存在有所述凸缺陷时,将所述凸包点作为所述指尖位置。
在本技术方案中,还包括:
一种静态手势识别方法,应用于上述静态手势识别系统,其中,包括:
步骤S1、对待识别图像进行处理得到一外部轮廓;
步骤S2、从所述外部轮廓的内部像素点中筛选出掌心位置;
步骤S3、识别出所述外部轮廓中的多个凸包点,并根据所述掌心位置及所述凸包点确认手指方向;
步骤S4、根据所述掌心位置和所述手指方向得到一手腕位置,并根据所述凸包点、所述手腕位置与所述外部轮廓中的凸缺陷点筛选出指尖位置;
步骤S5、根据一预设的手势学习模型和所述掌心位置、所述手指方向、所述指尖位置进行静态手势识别。
具体的,所述步骤S2包括:
步骤S21、计算得到所述内部像素点至表示所述外部轮廓的像素点的最近距离,作为所述内部像素点的有效距离;
步骤S22、按多个所述内部像素点对应的有效距离由大到小进行排列得到一像素点序列,并获取所述像素点序列中靠前的多个所述内部像素点作为区域极大值点,同样对所有所述区域极大值点按照对应的有效距离由大到小进行排列以形成一极大值序列;
步骤S23、将所述极大值序列中的每个所述区域极大值点作为待判断点,并判断所述待判断点是否落在以所述待判断点之前的任意一个所述区域极大值点为圆心得到的所述外部轮廓的内接圆内;
若是,则将所述待判断点删除;
若否,则将所述带判断点保留;
步骤S24、将保留下来的所述区域极大值点作为第一像素点,统计以每个所述第一像素点为圆心,以所述第一像素点对应的所述有效距离的两倍为半径的圆与所述外部轮廓的交点数量,并将所述交点数量最大的所述第一像素点作为所述掌心位置。
具体的,所述步骤S3包括:
步骤S31、识别得到所述外部轮廓中的多个凸包;
步骤S32、在以所述掌心位置为极点、以x轴正方向为极轴的极坐标系中,将多个所述凸包中的任意一个凸包点作为起点,按一预设方向遍历所有所述凸包点,并将所有所述凸包点按遍历顺序进行排列得到一凸包点序列;
步骤S33、将所述凸包点序列中的任意一个所述凸包点作为测量点,将之前一个所述凸包点作为比较点,并计算所述测量点与所述比较点的极角的差值;
步骤S34、判断所述差值是否达到一预设的极角差阈值;
若否,则将所述测量点与所述比较点放入同一集合;
若是,则将所述测量点与所述比较点放入不同的集合;
步骤S35、筛选出每个所述集合中距离所述掌心位置最远的多个凸包点作为目标凸包点;
步骤S36、统计每个所述目标凸包点落在以所述目标凸包点为圆心,以所述掌心位置对应的有效距离的两倍为半径的圆与所述外部轮廓的第二交点;
步骤S37、统计所述第二交点落在以所述掌心位置为极点,以所述掌心位置指向所述目标凸包点的方向为极轴的一预设区域内的数量,并将落在所述预设区域内的所述第二交点最多的所述目标凸包点作为指尖点,将所述掌心位置指向所述指尖点的方向作为所述手指方向。
具体的,所述步骤S4包括:
步骤S41、将所述掌心位置对应的所述外部轮廓的内接圆上距离所述指尖点最远的像素点作为所述手腕位置;
步骤S42、判断所述手腕位置指向所述凸包点的方向与所述掌心位置指向所述指尖点的方向的夹角是否小于一预设的角度;
若是,则进行步骤S43;
若否,则返回步骤S42进行下一个凸包点的判断;
步骤S43、判断对应的所述凸包点到所述手腕位置的距离是否处于一预设的长度范围内;
若是,则进行步骤S44;
若否,则返回步骤S42进行下一个凸包点的判断;
步骤S44、判断所述凸包点的两侧是否均存在有所述凸缺陷点;
若是,则进行步骤S45;
若否,则返回步骤S42进行下一个凸包点的判断;
步骤S45、将所述凸包点作为所述指尖位置。
本发明的技术方案的有益效果在于:使用掌心和手指作为手势识别的特征,简单灵活且易于实现;使用距离变换与作圆求交点的方式识别掌心,具有很好的鲁棒性;在包含手臂的情况下,能够准确地识别出掌心和手指的方向,回避手掌手腕以外的轮廓对识别的影响;基于掌心位置和手指方向,使用凸包和凸缺陷来确定手指位置,效率高且可靠,具有识别率高、实时性好等优点。
附图说明
参考所附附图,以更加充分的描述本发明的实施例。然而,所附附图仅用于说明和阐述,并不构成本发明范围的限制。
图1为本发明实施例的静态手势识别系统的模块组成图;
图2为本发明实施例的处理模块的单元组成图;
图3为本发明实施例的第一筛选模块的单元组成图;
图4为本发明实施例的方向确认模块的单元组成图;
图5为本发明实施例的第二筛选模块的单元组成图
图6为本发明实施例的静态手势识别方法的系统流程图;
图7为本发明实施例的静态手势识别方法的步骤S3的具体流程图;
图8为本发明实施例的静态手势识别方法的步骤S4的具体流程图;
图9为本发明实施例的静态手势识别方法的步骤S5的具体流程图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,在不冲突的情况下,本发明中的实施例及实施例中的特征可以相互组合。
下面结合附图和具体实施例对本发明作进一步说明,但不作为本发明的限定。
本技术方案提供一种静态手势识别系统,其特征在于,包括:
处理模块1,用于对一待识别图像进行处理得到一外部轮廓;
第一筛选模块2,连接至处理模块1,用于从外部轮廓中的内部像素点中筛选出一掌心位置O;
方向确认模块3,连接至第一筛选模块2和处理模块1,用于识别出外部轮廓中的多个凸包点,并根据掌心位置O及凸包点确认手指方向;
第二筛选模块4,连接至第一筛选模块2和方向确认模块3,用于根据掌心位置O和手指方向得到一手腕位置,并根据凸包点、手腕位置O与外部轮廓中的凸缺陷点筛选出指尖位置;
识别模块5,连接至第一筛选模块2和第二筛选模块4,预存有一手势学习模型,用于根据手势学习模型和掌心位置O、手指方向、指尖位置进行静态手势识别。
具体的,手势学习模型预存有与多种手指个数、多种手指方向、多种指尖位置和多种掌心位置一一对应的多种手势识别结果。
在一种较优的实施例中,处理模块1包括:
第一处理单元11,用于对待识别图像进行平滑处理得到一预处理图像;
第二处理单元12,连接至第一处理单元11,用于将预处理图像转换至HSV颜色空间后,基于肤色对转化后的预处理图像进行二值化处理以得到外部轮廓。
具体的,第一处理单元11对图像先后进行一次高斯模糊和中值模糊进行平滑处理,以降低图像中的噪点对识别的影响。
具体的,相较于RGB空间,HSV空间上肤色的分布更为集中,且对光照较不敏感,第二处理单元12根据Pitas等人提出的HSV肤色模型对图像进行二值化,其中将白色设为肤色区域,将黑色设为非肤色区域,其中,肤色区域的定义为:
具体的,第二处理单元12可以通过设定外部轮廓的面积阈值来排除一些过小或过大的轮廓噪点。
在一种较优的实施例中,第一筛选模块2包括:
第一计算单元21,用于计算得到内部像素点至表示外部轮廓的像素点的最近距离,作为内部像素点的有效距离;
第一排序单元22,连接至第一计算单元21,用于按多个内部像素点对应的有效距离由大到小进行排列得到一像素点序列,并获取像素点序列中靠前的多个内部像素点作为区域极大值点,同样对所有区域极大值点按照对应的有效距离由大到小进行排列以形成一极大值序列;
第一筛选单元23,连接至第一排序单元22,用于将极大值序列中的每个区域极大值点作为待判断点,并判断待判断点是否落在以待判断点之前的任意一个区域极大值点为圆心得到的外部轮廓的内接圆内,并将落在内接圆内的待判断点删除,遍历极大值序列后将保留下来的区域极大值点作为第一像素点输出;
第一统计单元24,连接至第一筛选单元23,用于统计以每个第一像素点为圆心,以第一像素点对应的有效距离的两倍为半径的圆与外部轮廓的第一交点数量,并将第一交点数量最大的第一像素点作为掌心位置O。
具体的,根据具体实验过程中得到的数据,获取像素点序列中靠前的多个内部像素点作为区域极大值点,此时区域极大值点可能存在于手肘,指尖及掌心位置。
具体的,第一筛选单元23中将极大值序列记作E1,E2,E3...En,对于每一个区域极大值点,每一个区域极大值点Ei,向前遍历Ei-1,Ei-2...E1,判断Ei是否落在以Ei-1,Ei-2...E1为圆心的外部轮廓的内接圆内,若是,则将区域极大值点Ei视为噪声点并剔除。
具体的,第一统计单元24中,大部分情况下,非掌心位置的区域极大值点与外部轮廓只有2个交点,而掌心位置与外部轮廓则至少有4个交点。
在一种较优的实施例中,方向确认模块3包括:
第二识别单元31,用于识别得到外部轮廓中的多个凸包;
第二排序单元32,连接至第二识别单元31,用于在以掌心位置O为极点、以x轴正方向为极轴的极坐标系中,将多个凸包中的任意一个凸包点作为起点,按一预设方向遍历所有凸包点,并将所有凸包点按遍历顺序进行排列得到一凸包点序列;
第二计算单元33,连接至第二排序单元32,用于将凸包点序列中的任意一个凸包点作为测量点,将之前一个凸包点作为比较点,并计算测量点与比较点的极角的差值;
分类单元34,连接至第二计算单元33,预存有一极角差阈值,用于
当差值未达到极角差阈值时,将测量点与比较点放入同一集合;
当差值达到极角差阈值时,将测量点与比较点放入不同的集合;
第二筛选单元35,连接至分类单元34,用于筛选出每个集合中距离掌心位置O最远的多个凸包点作为目标凸包点;
第二统计单元36,连接至第二筛选单元35,用于统计每个目标凸包点落在以目标凸包点为圆心,以掌心位置O对应的有效距离的两倍为半径的圆与外部轮廓的第二交点,并将第二交点置于一交点集中;
第三筛选单元37,连接至第二统计单元36,用于统计第二交点落在以掌心位置O为极点,以掌心位置O指向目标凸包点的方向为极轴的一预设区域内的数量,并将落在预设区域内的第二交点最多的目标凸包点作为指尖点,将掌心位置O指向指尖点的方向作为手指方向。
具体的,在以掌心位置O为极点、以x轴正方向为极轴的极坐标系中,第二排序单元32中将凸包点序列记作C1,C2...Cn,对于每一个凸包点Ci,计算其极角ρ1与上一个凸包点Ci-1的极角ρi-1的差值。
具体的,分类单元34中的极角差阈值为5°,分类单元34遍历结束后,得到若干个凸包点的点集,每一个点集代表一个手指。
具体的,在以掌心位置O为极点,以OCi为极轴的极坐标系中,第三筛选单元37中给的预设区域为统计经第二筛选单元35筛选后的每个凸包点Ci对应的第二交点落在该预设区域中的个数,并将第二交点落在该预设区域中的个数最大的凸包点Ci作为指尖点,并将对应的作为手指方向。
在一种较优的实施例中,第二筛选模块4包括:
第一判断单元41,用于判断外部轮廓内的各个像素点是否满足一第一预设条件,并输出第一判断结果
第二判断单元42,用于判断外部轮廓内的各个像素点是否满足一第二预设条件,并输出第二判断结果;
第一识别单元43,连接第一判断单元41和第二判断单元42,用于在外部轮廓内的像素点同时满足第一预设条件和第二预设条件时,将对应的像素点判断为凸缺陷点;
第一预设条件为:
像素点与两侧的凸包点的连线距离处于[0.75r,2.5r]的范围内;
第二预设条件为:
像素点到掌心位置O的距离不大于2r;
其中,
r用于表示掌心位置O对应的有效距离。
在一种较优的实施例中,第二筛选模块4还包括:
定位单元44,用于将掌心位置O对应的外部轮廓的内接圆上距离指尖点最远的像素点作为手腕位置;
第三判断单元45,连接至定位单元44,用于判断手腕位置指向所述凸包点的方向与所述掌心位置指向所述指尖点的方向的夹角是否小于一预设的角度,并输出一第三判断结果;
第四判断单元46,连接至定位单元44和第三判断单元45,用于在第三判断结果表示手腕位置指向凸包点的方向与掌心位置O指向指尖点的方向的夹角小于一预设的角度时,判断对应的凸包点到手腕位置的距离是否处于一预设的长度范围内,并输出一第四判断结果;
第五判断单元47,连接至第四判断单元46,用于在第四判断结果表示距离处于长度范围内时,判断对应的凸包点的两侧是否均存在有凸缺陷点,并输出一第五判断结果;
第四筛选单元48,连接至第五判断单元47,用于在第五判断结果表示凸包点的两侧均存在有凸缺陷时,将该凸包点作为指尖位置。
具体的,定位单元44中将掌心位置O的坐标设为(x0,y0),根据指尖点Ci的极角ρ1,则手腕位置的坐标可以近似为(x0-r.cos(ρi),y0-r.sin(ρi)),即掌心位置O对应的外部轮廓的内接圆上距离指尖点最远的像素点。
具体的,第三判断单元45中的预设的角度为90°。
具体的,第四判断单元46中的预设的长度范围为处于[3r,6r]之间,其中,r为掌心位置O对应的有效距离。
在本技术方案中,还包括:
一种静态手势识别方法,应用于上述静态手势识别系统,包括:
步骤S1、对待识别图像进行处理得到一外部轮廓;
步骤S2、从外部轮廓的内部像素点中筛选出掌心位置O;
步骤S3、识别出外部轮廓中的多个凸包点,并根据掌心位置O及凸包点确认手指方向;
步骤S4、根据掌心位置O和手指方向得到一手腕位置,并根据凸包点、手腕位置与外部轮廓中的凸缺陷点筛选出指尖位置;
步骤S5、根据一预设的手势学习模型和掌心位置O、手指方向、指尖位置进行静态手势识别。
在一种较优的实施例中,步骤S2包括:
步骤S21、计算得到内部像素点至表示外部轮廓的像素点的最近距离,作为内部像素点的有效距离;
步骤S22、按多个内部像素点对应的有效距离由大到小进行排列得到一像素点序列,并获取像素点序列中靠前的多个内部像素点作为区域极大值点,同样对所有区域极大值点按照对应的有效距离由大到小进行排列以形成一极大值序列;
步骤S23、将极大值序列中的每个区域极大值点作为待判断点,并判断待判断点是否落在以待判断点之前的任意一个区域极大值点为圆心得到的外部轮廓的内接圆内;
若是,则将待判断点删除;
若否,则将带判断点保留;
步骤S24、将保留下来的区域极大值点作为第一像素点,统计以每个第一像素点为圆心,以第一像素点对应的有效距离的两倍为半径的圆与外部轮廓的交点数量,并将交点数量最大的第一像素点作为掌心位置O。
在一种较优的实施例中,步骤S3包括:
步骤S31、识别得到外部轮廓中的多个凸包;
步骤S32、在以掌心位置O为极点、以x轴正方向为极轴的极坐标系中,将多个凸包中的任意一个凸包点作为起点,按一预设方向遍历所有凸包点,并将所有凸包点按遍历顺序进行排列得到一凸包点序列;
步骤S33、将凸包点序列中的任意一个凸包点作为测量点,将之前一个凸包点作为比较点,并计算测量点与比较点的极角的差值;
步骤S34、判断差值是否达到一预设的极角差阈值;
若否,则将测量点与比较点放入同一集合;
若是,则将测量点与比较点放入不同的集合;
步骤S35、筛选出每个集合中距离掌心位置O最远的多个凸包点作为目标凸包点;
步骤S36、统计每个目标凸包点落在以目标凸包点为圆心,以掌心位置对应的有效距离的两倍为半径的圆与外部轮廓的第二交点;
步骤S37、统计第二交点落在以掌心位置O为极点,以掌心位置O指向目标凸包点的方向为极轴的一预设区域内的数量,并将落在预设区域内的第二交点最多的目标凸包点作为指尖点,将掌心位置O指向指尖点的方向作为手指方向。
在一种较优的实施例中,步骤S4包括:
步骤S41、将掌心位置对应的外部轮廓的内接圆上距离指尖点最远的像素点作为手腕位置;
步骤S42、判断手腕位置指向凸包点的方向与掌心位置指向指尖点的方向的夹角是否小于一预设的角度;
若是,则进行步骤S43;
若否,则返回步骤S42进行下一个凸包点的判断;
步骤S43、判断对应的凸包点到所述手腕位置的距离是否处于一预设的长度范围内;
若是,则进行步骤S44;
若否,则返回步骤S42进行下一个凸包点的判断;
步骤S44、判断凸包点的两侧是否均存在有凸缺陷点;
若是,则进行步骤S45;
若否,则返回步骤S42进行下一个凸包点的判断;
步骤S45、将该凸包点作为指尖位置。
本发明的技术方案的有益效果在于:使用掌心和手指作为手势识别的特征,简单灵活且易于实现;使用距离变换与作圆求交点的方式识别掌心,具有很好的鲁棒性;在包含手臂的情况下,能够准确地识别出掌心和手指的方向,回避手掌手腕以外的轮廓对识别的影响;基于掌心位置和手指方向,使用凸包和凸缺陷来确定手指位置,效率高且可靠,具有识别率高、实时性好等优点。
所述仅为本发明较佳的实施例,并非因此限制本发明的实施方式及保护范围,对于本领域技术人员而言,应当能够意识到凡运用本发明说明书及图示内容所作出的等同替换和显而易见的变化所得到的方案,均应当包含在本发明的保护范围内。
Claims (10)
1.一种静态手势识别系统,其特征在于,包括:
处理模块,用于对一待识别图像进行处理得到一外部轮廓;
第一筛选模块,连接至所述处理模块,用于从所述外部轮廓中的内部像素点中筛选出一掌心位置;
方向确认模块,连接至所述第一筛选模块和所述处理模块,用于识别出所述外部轮廓中的多个凸包点,并根据所述掌心位置及所述凸包点确认手指方向;
第二筛选模块,连接至所述第一筛选模块和所述方向确认模块,用于根据所述掌心位置和所述手指方向得到一手腕位置,并根据所述凸包点、所述手腕位置与所述外部轮廓中的凸缺陷点筛选出指尖位置;
识别模块,连接至所述第一筛选模块和所述第二筛选模块,预存有一手势学习模型,用于根据所述手势学习模型和所述掌心位置、所述手指方向、所述指尖位置进行静态手势识别。
2.根据权利要求1所述的静态手势识别系统,其特征在于,所述处理模块包括:
第一处理单元,用于对所述待识别图像进行平滑处理得到一预处理图像;
第二处理单元,连接至所述第一处理单元,用于将所述预处理图像转换至HSV颜色空间后,基于肤色对转化后的所述预处理图像进行二值化处理以得到所述外部轮廓。
3.根据权利要求1所述的静态手势识别系统,其特征在于,所述第一筛选模块包括:
第一计算单元,用于计算得到所述内部像素点至表示所述外部轮廓的像素点的最近距离,作为所述内部像素点的有效距离;
第一排序单元,连接至所述第一计算单元,用于按多个所述内部像素点对应的有效距离由大到小进行排列得到一像素点序列,并获取所述像素点序列中靠前的多个所述内部像素点作为区域极大值点,同样对所有所述区域极大值点按照对应的有效距离由大到小进行排列以形成一极大值序列;
第一筛选单元,连接至所述第一排序单元,用于将所述极大值序列中的每个所述区域极大值点作为待判断点,并判断所述待判断点是否落在以所述待判断点之前的任意一个所述区域极大值点为圆心得到的所述外部轮廓的内接圆内,并将落在所述内接圆内的所述待判断点删除,遍历所述极大值序列后将保留下来的所述区域极大值点作为第一像素点输出;
第一统计单元,连接至所述第一筛选单元,用于统计以每个所述第一像素点为圆心,以所述第一像素点对应的所述有效距离的两倍为半径的圆与所述外部轮廓的第一交点数量,并将所述第一交点数量最大的所述第一像素点作为所述掌心位置。
4.根据权利要求1所述的静态手势识别系统,其特征在于,所述方向确认模块包括:
第二识别单元,用于识别得到所述外部轮廓中的多个凸包;
第二排序单元,连接至所述第二识别单元,用于在以所述掌心位置为极点、以x轴正方向为极轴的极坐标系中,将多个所述凸包中的任意一个凸包点作为起点,按一预设方向遍历所有所述凸包点,并将所有所述凸包点按遍历顺序进行排列得到一凸包点序列;
第二计算单元,连接至所述第二排序单元,用于将所述凸包点序列中的任意一个所述凸包点作为测量点,将之前一个所述凸包点作为比较点,并计算所述测量点与所述比较点的极角的差值;
分类单元,连接至所述第二计算单元,预存有一极角差阈值,用于
当所述差值未达到所述阈值时,将所述测量点与所述比较点放入同一集合;
当所述差值达到所述阈值时,将所述测量点与所述比较点放入不同的集合;
第二筛选单元,连接至所述分类单元,用于筛选出每个所述集合中距离所述掌心位置最远的多个凸包点作为目标凸包点;
第二统计单元,连接至所述第二筛选单元,用于统计每个所述目标凸包点落在以所述目标凸包点为圆心,以所述掌心位置对应的有效距离的两倍为半径的圆与所述外部轮廓的第二交点;
第三筛选单元,连接至所述第二统计单元,用于统计所述第二交点落在以所述掌心位置为极点,以所述掌心位置指向所述目标凸包点的方向为极轴的一预设区域内的数量,并将落在所述预设区域内的所述第二交点最多的所述目标凸包点作为指尖点,将所述掌心位置指向所述指尖点的方向作为所述手指方向。
5.根据权利要求1所述的静态手势识别方法,其特征在于,所述第二筛选模块包括:
第一判断单元,用于判断所述外部轮廓内的各个像素点是否满足一第一预设条件,并输出第一判断结果
第二判断单元,用于判断所述外部轮廓内的各个像素点是否满足一第二预设条件,并输出第二判断结果;
第一识别单元,连接至所述第一判断单元和所述第二判断单元,用于在所述外部轮廓内的像素点同时满足所述第一预设条件和所述第二预设条件时,将对应的所述像素点判断为所述凸缺陷点;
所述第一预设条件为:
所述像素点与两侧的所述凸包点的连线距离处于[0.75r,2.5r]的范围内;
所述第二预设条件为:
所述像素点到所述掌心位置的距离不大于2r;
其中,
r用于表示所述掌心位置对应的有效距离。
6.根据权利要求1所述的静态手势识别系统,其特征在于,所述第二筛选模块还包括:
定位单元,用于将所述掌心位置对应的所述外部轮廓的内接圆上距离所述指尖点最远的像素点作为所述手腕位置;
第三判断单元,连接至所述定位单元,用于判断所述手腕位置指向所述凸包点的方向与所述掌心位置指向所述指尖点的方向的夹角是否小于一预设的角度,并输出一第三判断结果;
第四判断单元,连接至所述定位单元和所述第三判断单元,用于在所述第三判断结果表示所述手腕位置指向所述凸包点的方向与所述掌心位置指向所述指尖点的方向的夹角小于一预设的角度时,判断对应的所述凸包点到所述手腕位置的距离是否处于一预设的长度范围内,并输出一第四判断结果;
第五判断单元,连接至所述第四判断单元,用于在所述第四判断结果表示所述距离处于所述长度范围内时,判断对应的所述凸包点的两侧是否均存在有所述凸缺陷点,并输出一第五判断结果;
第四筛选单元,连接至所述第五判断单元,用于在所述第五判断结果表示所述凸包点的两侧均存在有所述凸缺陷时,将所述凸包点作为所述指尖位置。
7.一种静态手势识别方法,其特征在于,应用于如权利要求1-6任意一项所述的静态手势识别系统,包括:
步骤S1、对待识别图像进行处理得到一外部轮廓;
步骤S2、从所述外部轮廓的内部像素点中筛选出掌心位置;
步骤S3、识别出所述外部轮廓中的多个凸包点,并根据所述掌心位置及所述凸包点确认手指方向;
步骤S4、根据所述掌心位置和所述手指方向得到一手腕位置,并根据所述凸包点、所述手腕位置与所述外部轮廓中的凸缺陷点筛选出指尖位置;
步骤S5、根据一预设的手势学习模型和所述掌心位置、所述手指方向、所述指尖位置进行静态手势识别。
8.根据权利要求7所述的静态手势识别方法,其特征在于,所述步骤S2包括:
步骤S21、计算得到所述内部像素点至表示所述外部轮廓的像素点的最近距离,作为所述内部像素点的有效距离;
步骤S22、按多个所述内部像素点对应的有效距离由大到小进行排列得到一像素点序列,并获取所述像素点序列中靠前的多个所述内部像素点作为区域极大值点,同样对所有所述区域极大值点按照对应的有效距离由大到小进行排列以形成一极大值序列;
步骤S23、将所述极大值序列中的每个所述区域极大值点作为待判断点,并判断所述待判断点是否落在以所述待判断点之前的任意一个所述区域极大值点为圆心得到的所述外部轮廓的内接圆内;
若是,则将所述待判断点删除,并进行步骤S24;
若否,则将所述带判断点保留,并进行步骤S24;
步骤S24、将保留下来的所述区域极大值点作为第一像素点,统计以每个所述第一像素点为圆心,以所述第一像素点对应的所述有效距离的两倍为半径的圆与所述外部轮廓的交点数量,并将所述交点数量最大的所述第一像素点作为所述掌心位置。
9.根据权利要求7所述的静态手势识别方法,其特征在于,所述步骤S3包括:
步骤S31、识别得到所述外部轮廓中的多个凸包;
步骤S32、在以所述掌心位置为极点、以x轴正方向为极轴的极坐标系中,将多个所述凸包中的任意一个凸包点作为起点,按一预设方向遍历所有所述凸包点,并将所有所述凸包点按遍历顺序进行排列得到一凸包点序列;
步骤S33、将所述凸包点序列中的任意一个所述凸包点作为测量点,将之前一个所述凸包点作为比较点,并计算所述测量点与所述比较点的极角的差值;
步骤S34、判断所述差值是否达到一预设的极角差阈值;
若否,则将所述测量点与所述比较点放入同一集合,并进行步骤S34;
若是,则将所述测量点与所述比较点放入不同的集合,并进行步骤S34;
步骤S35、筛选出每个所述集合中距离所述掌心位置最远的多个凸包点作为目标凸包点;
步骤S36、统计每个所述目标凸包点落在以所述目标凸包点为圆心,以所述掌心位置对应的有效距离的两倍为半径的圆与所述外部轮廓的第二交点;
步骤S37、统计所述第二交点落在以所述掌心位置为极点,以所述掌心位置指向所述目标凸包点的方向为极轴的一预设区域内的数量,并将落在所述预设区域内的所述第二交点最多的所述目标凸包点作为指尖点,将所述掌心位置指向所述指尖点的方向作为所述手指方向。
10.根据权利要求7所述的静态手势识别方法,其特征在于,所述步骤S4包括:
步骤S41、将所述掌心位置对应的所述外部轮廓的内接圆上距离所述指尖点最远的像素点作为所述手腕位置;
步骤S42、判断所述手腕位置指向所述凸包点的方向与所述掌心位置指向所述指尖点的方向的夹角是否小于一预设的角度;
若是,则进行步骤S43;
若否,则返回步骤S42进行下一个凸包点的判断;
步骤S43、判断对应的所述凸包点到所述手腕位置的距离是否处于一预设的长度范围内;
若是,则进行步骤S44;
若否,则返回步骤S42进行下一个凸包点的判断;
步骤S44、判断所述凸包点的两侧是否均存在有所述凸缺陷点;
若是,则进行步骤S45;
若否,则返回步骤S42进行下一个凸包点的判断;
步骤S45、将所述凸包点作为所述指尖位置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011255413.6A CN112270292A (zh) | 2020-11-11 | 2020-11-11 | 一种静态手势识别系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011255413.6A CN112270292A (zh) | 2020-11-11 | 2020-11-11 | 一种静态手势识别系统及方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112270292A true CN112270292A (zh) | 2021-01-26 |
Family
ID=74339916
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011255413.6A Pending CN112270292A (zh) | 2020-11-11 | 2020-11-11 | 一种静态手势识别系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112270292A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949542A (zh) * | 2021-03-17 | 2021-06-11 | 哈尔滨理工大学 | 一种基于凸包检测的手腕分割线的确立方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038424A (zh) * | 2017-04-20 | 2017-08-11 | 华中师范大学 | 一种手势识别方法 |
CN109919039A (zh) * | 2019-02-14 | 2019-06-21 | 上海磐启微电子有限公司 | 一种基于手掌和手指特征的静态手势识别方法 |
-
2020
- 2020-11-11 CN CN202011255413.6A patent/CN112270292A/zh active Pending
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107038424A (zh) * | 2017-04-20 | 2017-08-11 | 华中师范大学 | 一种手势识别方法 |
CN109919039A (zh) * | 2019-02-14 | 2019-06-21 | 上海磐启微电子有限公司 | 一种基于手掌和手指特征的静态手势识别方法 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112949542A (zh) * | 2021-03-17 | 2021-06-11 | 哈尔滨理工大学 | 一种基于凸包检测的手腕分割线的确立方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109919039B (zh) | 一种基于手掌和手指特征的静态手势识别方法 | |
CN107038424B (zh) | 一种手势识别方法 | |
CN111401257B (zh) | 一种基于余弦损失在非约束条件下的人脸识别方法 | |
CN110796033B (zh) | 一种基于包围盒模型的静态手势识别方法 | |
CN103971102B (zh) | 基于手指轮廓和决策树的静态手势识别方法 | |
WO2020108225A1 (zh) | 指纹采集方法及相关装置 | |
CN109451634B (zh) | 基于手势控制电灯的方法及其智能电灯系统 | |
CN106971130A (zh) | 一种以人脸为参照的手势识别方法 | |
CN103870071B (zh) | 一种触摸源识别方法及系统 | |
CN111414837A (zh) | 手势识别方法、装置、计算机设备及存储介质 | |
CN107330354A (zh) | 一种自然手势识别方法 | |
CN106503619B (zh) | 基于bp神经网络的手势识别方法 | |
CN108846356B (zh) | 一种基于实时手势识别的手心追踪定位的方法 | |
Lee et al. | Robust fingertip extraction with improved skin color segmentation for finger gesture recognition in Human-robot interaction | |
CN109190460A (zh) | 基于累积匹配和等错误率的手形手臂静脉融合识别方法 | |
CN105335711A (zh) | 一种复杂环境下指尖检测方法 | |
CN111309149B (zh) | 一种手势识别方法及手势识别装置 | |
CN112270292A (zh) | 一种静态手势识别系统及方法 | |
CN108520264A (zh) | 一种基于深度图像的手部轮廓特征优化方法 | |
CN117392733B (zh) | 一种痤疮分级检测方法、装置、电子设备及存储介质 | |
CN102722701B (zh) | 指纹采集过程中的视觉监控方法及其设备 | |
CN109472257B (zh) | 一种字符版面确定方法及装置 | |
CN106156774B (zh) | 影像处理方法及影像处理系统 | |
CN117115624A (zh) | 一种掌静脉图像质量评估方法 | |
CN111488897B (zh) | 一种触摸物体的检测识别方法及其装置 |
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 |