CN106295463B - 一种基于特征值的手势识别方法 - Google Patents
一种基于特征值的手势识别方法 Download PDFInfo
- Publication number
- CN106295463B CN106295463B CN201510249327.7A CN201510249327A CN106295463B CN 106295463 B CN106295463 B CN 106295463B CN 201510249327 A CN201510249327 A CN 201510249327A CN 106295463 B CN106295463 B CN 106295463B
- Authority
- CN
- China
- Prior art keywords
- gesture
- images
- frame
- gravity
- euclidean distance
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; 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/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Theoretical Computer Science (AREA)
- Image Analysis (AREA)
Abstract
本发明的一种基于特征值的手势识别方法,首先构建手势数据库,选取m种手势,每种手势选取n幅手势图像,找出每幅手势图像中的四个特征值,存储在手势数据库中;然后在视频流中连续选取K帧待识别手势图像,采用相同的方法实时计算出每帧待识别图像的四个特征值进行比对。本发明的有益效果是:改善手势识别的识别率,并且对于手势的旋转、缩放和平移可以进行有效识别。
Description
技术领域
本发明涉及一种基于特征值的手势识别方法。
背景技术
随着计算机的发展与应用,人与计算机的交互越来越密切。手势交互在人机交互领域内的重要性更是越发突出,其中基于视觉的手势识别技术已成为手势交互领域内的一个研究热点。从手势的运动特点出发,基于视觉的手势识别可分为动态手势识别和静态手势识别两大类。动态手势可以定义为手运动的轨迹,是指随时间的变化手势的形状和位置也发生着相应的改变。因此,识别效果容易受到手势轮廓、时空位置、移动速率等因素的影响。静态手势可以认为是动态手势中某一个时间点下的特例,是指不随时间变化而变化的手势,其识别效果与手势的轮廓、形状、纹理等相关。由于静态手势是动态手势变化过程中的某一状态,是手势识别的核心工作。
Haitham H等提出一种利用神经网络进行手势识别的方法,该方法通过边缘检测提取样本几何矩特征和轮廓特征,然后利用神经网络对手势进行识别,但是该方法对静态手势的识别较低。姚远等利用深度像素信息设计了一个基于视觉的手势交互桌面应用开发框架,采用RGB-D信息作为数据输入,同时利用3D手形轮廓来进行手势匹配,该方法能够实现手势的快速匹配,但是识别时容易受到手臂的影响。Li等提出了一种利用分层弹性图匹配(HEGM)的手势识别方法,用Boosting算法来确定一个给定的图形的层次结构,利用梯度方向直方图(HOG)提取视觉特征。该方法的手势识别率高达99.85%。Padam等提出一种基于几何标准化和Krawtchouk矩特征的静态手势识别算法,根据手势测量方法把手从手和前臂区域中提取出来,再用Krawtchouk矩特征和最小距离分类器把手势轮廓进行归一化。该方法对小的训练样本集能够进行很好的识别。
发明内容
为解决以上技术上的不足,本发明提供了一种识别率高的基于特征值的手势识别方法。
本发明是通过以下措施实现的:
本发明的一种基于特征值的手势识别方法,包括以下步骤:
步骤1,构建手势对比库,选取m种手势,每种手势选取n幅手势图像,每幅手势图像对应关联一组模型数据,每组模型数据包括四个特征值F1、F2、F3、F4;
其中F1表示手势轮廓上各点到手势重心的平均距离除以手势外接圆半径的值,其
计算公式为:
F2表示手势轮廓上距离手势重心的M个最大距离平均值除以外接圆半径的值,其计算公式为:
F3表示手势轮廓上距离手势重心的N个最小距离平均值除以外接圆半径的值,其
计
F4表示手势轮廓上距离手势重心的M个最大距离之和与手势轮廓上距离手势重心
的N个最小距离之和的差值除以外接圆半径的值,其计算公式为:
其中,(x0,y0)是手势重心位置坐标,Di、di表示手势轮廓上每个点到重心(x0,y0)的欧式距离,把S个欧式距离值按照由大到小排序,得到序列(D1,D2,…DM,…DS);R是手势外接圆半径;
步骤2,从视频流中连续选取K帧待识别手势图像,并采用与步骤1相同的方法实时计算出每帧被识别手势图像对应关联的四个特征值F1、F2、F3、F4,并将每帧被识别手势图像对应关联的四个特征值F1、F2、F3、F4保存在一个对比数组中;
步骤3,将步骤2中每帧待识别手势图像对应的对比数组分别与手势对比库内m*n幅手势图像对应的模型数据一一计算欧氏距离,每帧待识别手势图像对应得到m*n个欧氏距离,从中选出与该对比数组欧氏距离最小的一组模型数据,并记录该组模型数据对应存储在手势对比库的那幅手势图像以及该最小的欧氏距离;
步骤4,采用步骤3的方法,分别找出与K帧待识别手势图像对应的K个最小的欧氏距离,然后在这K个最小的欧氏距离中再选取一个最小的欧氏距离F,找出与该欧氏距离值F对应的模型数据,并最后将该模型数据对应存储在手势对比库的那张手势图像作为最终识别结果输出。
在步骤1中,m=5、n=10;即选取5种手势,每种手势选取10幅手势图像。
在步骤2中,从视频流的中第10帧开始直到第30帧结束,连续选取20帧待识别手势图像。
本发明的有益效果是:改善手势识别的识别率,并且对于手势的旋转、缩放和平移可以进行有效识别。
具体实施方式
本发明的一种基于特征值的手势识别方法,包括以下步骤:
首先构建手势对比库。
选取m种手势,每种手势选取n幅手势图像,m=5、n=10;即选取5种手势,每种手势
选取10幅手势图像。每幅手势图像对应关联一组模型数据,每组模型数据包括四个特征值
F1、F2、F3、F4,其中,其中F1表示手势轮廓上各点到手势重心的平均距离除以手势外接圆半
径的值,其计算公式为:
F2表示手势轮廓上距离手势重心的M个最大距离平均值除以外接圆半径的值,其计算公式为:
F3表示手势轮廓上距离手势重心的N个最小距离平均值除以外接圆半径的值,其
计
F4表示手势轮廓上距离手势重心的M个最大距离之和与手势轮廓上距离手势重心
的N个最小距离之和的差值除以外接圆半径的值,其计算公式为:
其中,(x0,y0)是手势重心位置坐标,Di、di表示手势轮廓上每个点到重心(x0,y0)的欧式距离,把S个欧式距离值按照由大到小排序,得到序列(D1,D2,…DM,…DS);R是手势外接圆半径。
对选取的五种手势,每种手势取10张手势图片,对每张图片求以上四个特征值,则一种手势就是一个10*4的二维数组:每行代表一张图片求取的4个特征值,每列代表一种特征值的10张图片的不同值。由此形成5个不同的手势文件,这五个文件一起构成手势对比库。库里共有50个特征值序列,每10个是一种手势。
从视频流中连续选取K帧待识别手势图像,从视频流的中第10帧开始直到第30帧结束,连续选取20帧待识别手势图像。并采用与上述相同的方法实时计算出每帧被识别手势图像对应关联的四个特征值F1、F2、F3、F4,并将每帧被识别手势图像对应关联的四个特征值F1、F2、F3、F4保存在一个对比数组中;将每帧待识别手势图像对应的对比数组分别与手势对比库内m*n幅手势图像对应的模型数据一一计算欧氏距离,每帧待识别手势图像对应得到m*n个欧氏距离,从中选出与该对比数组欧氏距离最小的一组模型数据,并记录该组模型数据对应存储在手势对比库的那幅手势图像以及该最小的欧氏距离;
采用上述的方法,分别找出与K帧待识别手势图像对应的K个最小的欧氏距离,然后在这K个最小的欧氏距离中再选取一个最小的欧氏距离F,找出与该欧氏距离值F对应的模型数据,并最后将该模型数据对应存储在手势对比库的那张手势图像作为最终识别结果输出。
其具体的流程为:
(1)初始化数据,并读入5种手势模型的比较数据。数据放在程序文件夹的“PPT\模型库\实心\3”下,包括6个文件,5个手势文件和1个说明文件。说明文件给出了M和N的值,5个手势文件每一个都是10*4的二维数组,每一行代表一张此手势图片求取的4个特征值序列。
(2)由手势轮廓算法提取出的第K帧手势轮廓图像,从第10帧开始进行手势识别。选取从10帧开始主要是为了等待手势轮廓提取的比较稳定。
(3)依次求取手势的重心→手势的外接圆半径→手势的所有边缘点→手势轮廓上各点到重心的距离和手势轮廓上各点到重心的平均距离→求取特征值A→对手势轮廓上各点到重心的距离进行排序→求取特征值。
(4)把求得的4个特征值与库里的50组特征值序列分别进行欧式距离比较,求出最小的欧氏距离,保存第10帧的最小欧式距离以及对应的手势序号。
(5)若当前为第11帧,按以上步骤的(2)、(3)、(4)进行处理,并把当前帧所获得的最小欧式距离与保存的最小欧式距离进行比较,保存两者中最小的欧式距离以及对应的手势序号。11帧的后续帧与第11帧的处理方法相同。
(6)若当前帧小于30帧则按照步骤(2)、(3)、(4)进行。
(7)若当前帧为第30帧,对最小欧式距离所对应的手势序号进行判断:为“0”,手势为“包袱”;为“1”,手势为“剪刀”;为“2”,手势为“1指”(竖大拇指);为“3”,手势为“ok”;为“4”,手势为“拳头”。
(8)识别结束,退出。
函数介绍
1.void IdentifyGesture(BYTE*CopyBuffer,int width,int height,intFraNO,double Model0[10][4],double Model 1[10][4],double Model2[10][4],doubleModel3[10][4],double Model4[10][4],double saveLastMin[2],double weight[4]);
函数功能:实现特征值欧式距离对比,获取最小特征值,输出识别结果。输入:手势图像的首地址CopyBuffer,手势图像的宽width、高height,帧数FraNO,手势包袱的特征值Model0[10][4],手势剪刀的特征值Model1[10][4],手势1指的特征值Model2[10][4],手势ok的特征值Model3[10][4],手势拳头的特征值Model4[10][4],保存最小的欧式距离和对应手势序号saveLastMin[2](saveLastMin[0]:最小的欧式距离,saveLastMin[1]:对应手势序号),权值weight[4]。
输出:以前帧的最小欧式距离和对应的手势序号saveLastMin[2],手势识别结果。
具体步骤:
①调用函数GetGestureFeature,求取当前帧图像的特征值。
②把求得的4个特征值与库里的50组特征值序列分别进行欧式距离比较,求出最小的欧氏距离,保存第10帧的最小欧式距离以及对应的手势序号。
③若当前为第11帧,把当前帧图像所获得的最小欧式距离与保存的最小欧式距离进行比较,保存两者中最小的欧式距离以及对应的手势序号。11帧的后续帧与第11帧的处理方法相同。
④若当前帧为第30帧,对最小欧式距离所对应的手势序号进行判断:为“0”,手势为“包袱”;为“1”,手势为“剪刀”;为“2”,手势为“1指”(竖大拇指);为“3”,手势为“ok”;为“4”,手势为“拳头”。
2.void GetGestureFeature(BYTE*pDib,int Width,int Height,int sortM,intsortN,double feature[4]);
函数功能:求取当前帧图像的四个特征值。
输入:手势图像的首地址pDib,手势图像的宽Width、高Height,M的值sortM,N的值sortN,当前帧图像的四个特征值feature[4]。
输出:当前帧图像的四个特征值。
具体步骤:
①求手势的重心。
②求手势的外接圆半径。
③求手势的所有边缘点。
④求手势轮廓上各点到重心的距离和手势轮廓上各点到重心的平均距离。
⑤求取特征值A。
⑥对手势轮廓上各点到重心的距离进行排序。
⑦求取特征值B、C、D。
3.int EdgeDetection(D2POINT edgepoint[],unsigned char*pDib,int Width,int Height);
函数功能:求取边缘点的坐标和总个数。
输入:边缘点的结构体数组edgepoint[],手势图像的首地址pDib,手势图像的宽Width、高Height。
输出:边缘点的坐标和总个数。
具体步骤:
①图像的一行字节数。
②对图像的像素点从上到下,从左至右进行扫描。判断每个扫描点的B、G、R三基色。
③若当前点为黑色(背景点,手势上的点不为黑色),扫描下一个点。
④若当前点不为黑色(b!=0&&g!=0&&r!=0)(背景点,手势上的点不为黑色),对该点周围的8个点分别进行判断,若这8个点中有2到7个黑色点,则该点为手势边缘点,记录该点的坐标,边缘点个数+1。
⑤返回边缘点总个数。
以上所述仅是本专利的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本专利技术原理的前提下,还可以做出若干改进和替换,这些改进和替换也应视为本专利的保护范围。
Claims (3)
1.一种基于特征值的手势识别方法,其特征在于,包括以下步骤:
步骤1,构建手势对比库,选取m种手势,每种手势选取n幅手势图像,每幅手势图像对应关联一组模型数据,每组模型数据包括四个特征值F1、F2、F3、F4;
其中F1表示手势轮廓上各点到手势重心的平均距离除以手势外接圆半径的值,其计算公式为:
F2表示手势轮廓上距离手势重心的M个最大距离平均值除以外接圆半径的值,其计算公式为:
F3表示手势轮廓上距离手势重心的N个最小距离平均值除以外接圆半径的值,其计算公式为:
F4表示手势轮廓上距离手势重心的M个最大距离之和与手势轮廓上距离手势重心的N个最小距离之和的差值除以外接圆半径的值,其计算公式为:
其中,(x0,y0)是手势重心位置坐标,Di、di表示手势轮廓上每个点到重心(x0,y0)的欧式距离,把S个欧式距离值按照由大到小排序,得到序列(D1,D2,…DM,…DS);R是手势外接圆半径;
步骤2,从视频流中连续选取K帧待识别手势图像,并采用与步骤1相同的方法实时计算出每帧被识别手势图像对应关联的四个特征值F1、F2、F3、F4,并将每帧被识别手势图像对应关联的四个特征值F1、F2、F3、F4保存在一个对比数组中;
步骤3,将步骤2中每帧待识别手势图像对应的对比数组分别与手势对比库内m*n幅手势图像对应的模型数据一一计算欧氏距离,每帧待识别手势图像对应得到m*n个欧氏距离,从中选出与该对比数组欧氏距离最小的一组模型数据,并记录该组模型数据对应存储在手势对比库的那幅手势图像以及该最小的欧氏距离;
步骤4,采用步骤3的方法,分别找出与K帧待识别手势图像对应的K个最小的欧氏距离,然后在这K个最小的欧氏距离中再选取一个最小的欧氏距离F,找出与该欧氏距离值F对应的模型数据,并最后将该模型数据对应存储在手势对比库的那张手势图像作为最终识别结果输出。
2.根据权利要求1所述基于特征值的手势识别方法,其特征在于:在步骤1中,m=5、n=10;即选取5种手势,每种手势选取10幅手势图像。
3.根据权利要求1所述基于特征值的手势识别方法,其特征在于:在步骤2中,从视频流的中第10帧开始直到第30帧结束,连续选取20帧待识别手势图像。
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510249327.7A CN106295463B (zh) | 2015-05-15 | 2015-05-15 | 一种基于特征值的手势识别方法 |
Applications Claiming Priority (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| CN201510249327.7A CN106295463B (zh) | 2015-05-15 | 2015-05-15 | 一种基于特征值的手势识别方法 |
Publications (2)
| Publication Number | Publication Date |
|---|---|
| CN106295463A CN106295463A (zh) | 2017-01-04 |
| CN106295463B true CN106295463B (zh) | 2019-05-07 |
Family
ID=57631350
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| CN201510249327.7A Expired - Fee Related CN106295463B (zh) | 2015-05-15 | 2015-05-15 | 一种基于特征值的手势识别方法 |
Country Status (1)
| Country | Link |
|---|---|
| CN (1) | CN106295463B (zh) |
Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102467657A (zh) * | 2010-11-16 | 2012-05-23 | 三星电子株式会社 | 手势识别系统和方法 |
| CN103426000A (zh) * | 2013-08-28 | 2013-12-04 | 天津大学 | 一种静态手势指尖检测方法 |
| CN103455794A (zh) * | 2013-08-23 | 2013-12-18 | 济南大学 | 一种基于帧融合技术的动态手势识别方法 |
| CN104102904A (zh) * | 2014-07-14 | 2014-10-15 | 济南大学 | 一种静态手势识别方法 |
Family Cites Families (1)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US9213890B2 (en) * | 2010-09-17 | 2015-12-15 | Sony Corporation | Gesture recognition system for TV control |
-
2015
- 2015-05-15 CN CN201510249327.7A patent/CN106295463B/zh not_active Expired - Fee Related
Patent Citations (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| CN102467657A (zh) * | 2010-11-16 | 2012-05-23 | 三星电子株式会社 | 手势识别系统和方法 |
| CN103455794A (zh) * | 2013-08-23 | 2013-12-18 | 济南大学 | 一种基于帧融合技术的动态手势识别方法 |
| CN103426000A (zh) * | 2013-08-28 | 2013-12-04 | 天津大学 | 一种静态手势指尖检测方法 |
| CN104102904A (zh) * | 2014-07-14 | 2014-10-15 | 济南大学 | 一种静态手势识别方法 |
Also Published As
| Publication number | Publication date |
|---|---|
| CN106295463A (zh) | 2017-01-04 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| CN106682598B (zh) | 一种基于级联回归的多姿态的人脸特征点检测方法 | |
| Zhang et al. | Chinese sign language recognition with adaptive HMM | |
| Wan et al. | Explore efficient local features from RGB-D data for one-shot learning gesture recognition | |
| CN107808143B (zh) | 基于计算机视觉的动态手势识别方法 | |
| CN105868716B (zh) | 一种基于面部几何特征的人脸识别方法 | |
| Liang et al. | Parsing the hand in depth images | |
| CN108427924B (zh) | 一种基于旋转敏感特征的文本回归检测方法 | |
| CN103824089B (zh) | 一种基于级联回归的人脸3d姿态识别方法 | |
| WO2020063527A1 (zh) | 基于多特征检索和形变的人体发型生成方法 | |
| CN108171133B (zh) | 一种基于特征协方差矩阵的动态手势识别方法 | |
| Huang et al. | Hand gesture recognition with skin detection and deep learning method | |
| CN117079098B (zh) | 一种基于位置编码的空间小目标检测方法 | |
| CN108573231B (zh) | 基于运动历史点云生成的深度运动图的人体行为识别方法 | |
| CN101819628A (zh) | 结合形状特征的稀疏表示人脸识别方法 | |
| CN108983980A (zh) | 一种移动机器人基本运动手势控制方法 | |
| CN112085072A (zh) | 基于时空特征信息的草图检索三维模型的跨模态检索方法 | |
| Wang et al. | Head pose estimation with combined 2D SIFT and 3D HOG features | |
| Weiyao et al. | Human action recognition using multilevel depth motion maps | |
| CN109034131A (zh) | 一种半自动人脸关键点标注方法及存储介质 | |
| CN108364302A (zh) | 一种无标记的增强现实多目标注册跟踪方法 | |
| CN108830223A (zh) | 一种基于批量模式主动学习的微表情识别方法 | |
| CN107220634B (zh) | 基于改进d-p算法与多模板匹配的手势识别方法 | |
| CN120298496A (zh) | 一种机器人通用六自由度抓取位姿检测方法及系统 | |
| CN103530651A (zh) | 一种基于标记分布的头部姿态估计方法 | |
| CN108090460B (zh) | 基于韦伯多方向描述子的人脸表情识别特征提取方法 |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| C06 | Publication | ||
| PB01 | Publication | ||
| C10 | Entry into substantive examination | ||
| SE01 | Entry into force of request for substantive examination | ||
| GR01 | Patent grant | ||
| GR01 | Patent grant | ||
| TR01 | Transfer of patent right | ||
| TR01 | Transfer of patent right |
Effective date of registration: 20210128 Address after: Room 1608, 16 / F, building 2, Xinsheng building, northwest corner, intersection of Xinluo street and Yingxiu Road, Jinan area, China (Shandong) pilot Free Trade Zone, Jinan City, Shandong Province Patentee after: Lingxinyun (Shandong) Intelligent Technology Co.,Ltd. Address before: 250022 No. 336, South Xin Zhuang West Road, Shizhong District, Ji'nan, Shandong Patentee before: University of Jinan |
|
| 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: 20190507 |