CN107220634B - 基于改进d-p算法与多模板匹配的手势识别方法 - Google Patents
基于改进d-p算法与多模板匹配的手势识别方法 Download PDFInfo
- Publication number
- CN107220634B CN107220634B CN201710471957.8A CN201710471957A CN107220634B CN 107220634 B CN107220634 B CN 107220634B CN 201710471957 A CN201710471957 A CN 201710471957A CN 107220634 B CN107220634 B CN 107220634B
- Authority
- CN
- China
- Prior art keywords
- gesture
- point
- finger tip
- computer
- curve
- 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; 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/20—Movements or behaviour, e.g. gesture recognition
- G06V40/28—Recognition of hand or arm movements, e.g. recognition of deaf sign language
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/22—Matching criteria, e.g. proximity measures
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F18/00—Pattern recognition
- G06F18/20—Analysing
- G06F18/24—Classification techniques
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Evolutionary Biology (AREA)
- Evolutionary Computation (AREA)
- Bioinformatics & Computational Biology (AREA)
- Bioinformatics & Cheminformatics (AREA)
- Artificial Intelligence (AREA)
- Life Sciences & Earth Sciences (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Human Computer Interaction (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明公开了一种基于改进D‑P算法与多模板匹配的手势识别方法,包括以下步骤:步骤一、手势图像的实时采集及预处理;步骤二、计算机采用改进D‑P算法对步骤一中得到的实时的手势轮廓图像进行多边形逼近拟合;步骤三、计算机采用自适应阈值算法对步骤二中得到的手势轮廓多边形逼近图进行指尖点检测;步骤四、计算机采用多模板匹配算法对手势进行匹配识别,确定出手势。本发明设计新颖合理,手势识别速率高,实时性好,手势识别准确率高,实用性强,使用效果好,便于推广使用。
Description
技术领域
本发明属于手势识别技术领域,具体涉及一种基于改进D-P算法与多模板匹配的手势识别方法。
背景技术
随着计算机科学技术与人工智能的迅速发展,人机交互系统已成为研究的热点。传统的以键盘、鼠标、摄像头等机器为中心的交互方式,已经不能满足人类对人机交互方式的需求,也存在着很多问题日常交流中,人的手势是一种比较常用且自然的交流、交互方式,是其和外界进行交流的重要方式,也是现代和以后的人机交互技术领域一个非常值得深入研究的课题。所以,基于视觉的手势识别技术的研究有着相当重大的意义。
手势识别技术是一项值得深入研究的课题,并且基于计算机视觉的手势识别技术的探究有着十分广阔的应用前景:
(1)手势识别是一种三维交互技术方法,应用在虚拟空间交互技术中,通过手势和语音来实现虚拟装配。
(2)应用于多媒体等用户界面,将基于数据手套的手势与用户界面结合,实现手势控制家电、视频游戏等系统。
(3)应用于机器人和机械手的抓取等方面,在一些水下、火中等危险环境下使用手势进行人机交互。
(4)应用于聋哑人或肢体瘫痪等残障人士日常生活中,使其通过简单的手势实现与计算机的交流。或者通过手势实现对日常家电(台灯、风扇、空调等)的控制,使其生活更加便利。
由于手是弹性物体,同一种手势之间会有较大差别,不同手势之间可能会可相似,不同的人做出的手势也会不同,且手势具有较大的冗余信息,在无意识的状况下会产生非常多的手势,因此对识别技术的运算能力和识别正确度要求很高。现有技术中有很多手势识别的方法,例如,申请号为201610919465.6的中国发明专利公开了一种手势图像的识别方法及系统,申请号为201510381721.6的中国专利公开了一种手势识别方法及系统,申请号为201610559968.7的中国专利公开了一种手势识别方法和装置。但是,现有技术中的手势识别方法还存在以下问题:无法快速识别多手势变化,识别的准确率低,实时性差,限制了手势识别的推广应用。
发明内容
本发明所要解决的技术问题在于针对上述现有技术中的不足,提供一种基于改进D-P算法与多模板匹配的手势识别方法,其设计新颖合理,手势识别速率高,实时性好,手势识别准确率高,实用性强,使用效果好,便于推广使用。
为解决上述技术问题,本发明采用的技术方案是:一种基于改进D-P算法与多模板匹配的手势识别方法,其特征在于,该方法包括以下步骤:
步骤一、手势图像的实时采集及预处理:采用摄像头拍摄手势图像视频流并将图像视频流传送给计算机,计算机对图像视频流的视频帧进行图像分割预处理,得到实时的手势轮廓图像;
步骤二、计算机采用改进D-P算法对步骤一中得到的实时的手势轮廓图像进行多边形逼近拟合,具体过程为:
步骤201、设定特征点选取阈值δ;
步骤202、从手势轮廓曲线上选取一点作为进行轮廓遍历搜寻的起点;
步骤203、从起点开始,对手势轮廓按照搜寻步长进行遍历搜寻,每经过一个搜寻步长,计算曲线上的点到所述曲线的起点与终点连成的直线之间的距离,并找出曲线上的点到所述直线的最大距离;
步骤204、将步骤203中找出的最大距离与步骤201中设定的特征点选取阈值δ进行比较,当最大距离大于或等于特征点选取阈值δ时,将最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,当最大距离小于特征点选取阈值时,将上次搜寻的终点作为下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直到再找到最大距离大于或等于特征点选取阈值δ的点,将再找到的最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直至回到步骤202中选取的起点时结束遍历搜寻,并确定出了手势轮廓曲线上的所有特征点;
步骤205、对手势轮廓曲线上的所有特征点进行曲线拟合,得到手势轮廓多边形逼近图;
步骤三、计算机采用自适应阈值算法对步骤二中得到的手势轮廓多边形逼近图进行指尖点检测,具体过程为:
步骤301、自适应的指尖点选取阈值的确定:计算机根据公式计算得到指尖点选取阈值其中,W为步骤204中确定出的手势轮廓曲线上的特征点的集合,n为步骤204中确定出的手势轮廓曲线上的特征点的个数,xi为第i个特征点的横坐标,yi为第i个特征点的纵坐标,x0为手势轮廓图像的质心的横坐标,y0为手势轮廓图像的质心的纵坐标,i的取值为1~n的自然数;
步骤302、指尖点的确定:计算机以手势轮廓图像的质心为圆心,指尖点选取阈值l为半径,画圆,将落在圆外的特征点确定为指尖点,并统计出指尖点个数;
步骤四、计算机采用多模板匹配算法对手势进行匹配识别,确定出手势;具体过程为:
步骤401、根据指尖点个数进行手势初步确定:计算机调取存储在其中的预先构建的手势多模板库,找出手势按指尖点个数分类的分类表,并在所述分类表中找出与步骤302中统计出的指尖点个数相对应的手势多模板库中的手势,初步确定出可能匹配的手势;
步骤402、根据可能匹配的手势的数量进行手势确定:当步骤401中确定出的可能匹配的手势的数量为1个时,将步骤401中确定出的可能匹配的手势确定为匹配的手势;当步骤401中确定出的可能匹配的手势的数量大于1个时,执行步骤403确定匹配的手势;
步骤403、根据Hu矩特征值进行匹配的手势确定,具体过程为:
步骤4031、计算机调取存储在其中的预先构建的手势多模板库,找出各个手势对应的修正后的Hu矩特征值;
步骤4032、计算机调用Hu矩特征值计算模块计算出步骤一中得到的实时的手势轮廓图像的Hu矩特征值φ1、φ2、φ3、φ4、φ5、φ6、φ7,并根据公式hk=|log(|φk|)|计算得到修正后的手势轮廓图像的Hu矩特征值h1、h2、h3、h4、h5、h6、h7;其中,k=1,2,…,7;
步骤4033、计算机调用匹配度比较值计算模块计算实时的手势轮廓图像与步骤401中确定出的可能匹配的手势中各个手势的匹配度比较值,并将匹配度比较值最小时对应的可能匹配的手势确定为匹配的手势;其中,计算机根据计算公式计算实时的手势轮廓图像与步骤401中确定出的可能匹配的手势中第m个手势的匹配度Im, 为步骤401中确定出的可能匹配的手势中第m个手势对应的修正后的Hu矩特征值,m的取值为1~M的自然数,M为步骤401中确定出的可能匹配的手势的总个数。
上述的基于改进D-P算法与多模板匹配的手势识别方法,其特征在于:计算机构建手势多模板库的具体过程为:
步骤A、获取多个手势的轮廓图像:采用摄像头拍摄手势1~10的图像视频流并将图像视频流传送给计算机,计算机对图像视频流的视频帧进行图像分割预处理,得到手势1~10中每种手势的5个手势轮廓图像;其中,每种手势的5个手势轮廓图像包括手势的正视轮廓图像,手势的向左旋转角度α的轮廓图像,手势的向右旋转角度α的轮廓图像,手势的侧视图和手势的缩放图;
步骤B、计算机采用改进D-P算法分别对多个手势的轮廓图像进行多边形逼近拟合,其中,对每个手势的轮廓图像进行多边形逼近拟合的具体过程为:
步骤B01、设定特征点选取阈值δ′;
步骤B02、从手势轮廓曲线上选取一点作为进行轮廓遍历搜寻的起点;
步骤B03、从起点开始,对手势轮廓按照搜寻步长进行遍历搜寻,每经过一个搜寻步长,计算曲线上的点到所述曲线的起点与终点连成的直线之间的距离,并找出曲线上的点到所述直线的最大距离;
步骤B04、将步骤B03中找出的最大距离与步骤B01中设定的特征点选取阈值δ′进行比较,当最大距离大于或等于特征点选取阈值δ′时,将最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,当最大距离小于特征点选取阈值时,将上次搜寻的终点作为下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直到再找到最大距离大于或等于特征点选取阈值δ′的点,将再找到的最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直至回到步骤B02中选取的起点时结束遍历搜寻,并确定出了手势轮廓曲线上的所有特征点;
步骤B05、对手势轮廓曲线上的所有特征点进行曲线拟合,得到手势轮廓多边形逼近图并进行存储;
步骤C、计算机采用自适应阈值算法对步骤B中得到的多个手势轮廓多边形逼近图进行指尖点检测,其中,对每个手势轮廓多边形逼近图进行指尖点检测的具体过程为:
步骤C01、指尖点选取阈值的确定:计算机根据公式计算得到指尖点选取阈值其中,W′为步骤B04中确定出的手势轮廓曲线上的特征点的集合,n′为步骤B04中确定出的手势轮廓曲线上的特征点的个数,x′i′为第i′个特征点的横坐标,y′i′为第i′个特征点的纵坐标,x′0为手势轮廓图像的质心的横坐标,y′0为手势轮廓图像的质心的纵坐标,i′的取值为1~n′的自然数;
步骤C02、指尖点的确定:计算机以手势轮廓图像的质心为圆心,指尖点选取阈值为半径,画圆,将落在圆外的特征点确定为指尖点,并统计出指尖点个数;
步骤D、计算机根据指尖点个数对多个手势进行分类,将指尖点个数相同的手势分为一类,并列出手势按指尖点个数分类的分类表;
步骤E、计算机调用Hu矩特征值计算模块计算出各个手势的轮廓图像的Hu矩特征值,并计算出各个手势修正后的Hu矩特征值,其中,计算机计算第r个手势修正后的Hu矩特征值采用的计算公式为r的取值为1~50的自然数。
上述的基于改进D-P算法与多模板匹配的手势识别方法,其特征在于:步骤A中所述角度α的取值为15°。
上述的基于改进D-P算法与多模板匹配的手势识别方法,其特征在于:步骤B02中选取手势轮廓曲线上最低的一点作为进行轮廓遍历搜寻的起点。
上述的基于改进D-P算法与多模板匹配的手势识别方法,其特征在于:步骤D中指尖点个数共有6种,指尖点个数为0的手势为手势10,分为第一类;指尖点个数为1的手势为手势1和手势9,分为第二类;指尖点个数为2的手势为手势2、手势6和手势8,分为第三类;指尖点个数为3的手势为手势3和手势7,分为第四类;指尖点个数为4的手势为手势4,分为第五类;指尖点个数为5的手势为手势5,分为第六类。
上述的基于改进D-P算法与多模板匹配的手势识别方法,其特征在于:步骤202中选取手势轮廓曲线上最低的一点作为进行轮廓遍历搜寻的起点。
本发明与现有技术相比具有以下优点:
1、本发明将D-P算法进行改进后应用在手势识别中,并与多模板匹配方法相结合,能够快速准确地识别出手势,设计新颖合理。
2、本发明采用改进D-P算法对手势轮廓图像进行多边形逼近拟合后,再进行指尖点检测,能够准确地获得指尖点个数,为对手势按照指尖点个数分类奠定了基础,能够有效提高手势识别的准确率。
3、本发明采用了先分类再进行匹配的方法,能够良好的减少匹配的次数,提高手势匹配的速率。
4、本发明通过多模板匹配,即对一种手势的不同种类进行匹配,能够提高识别准确率,有效地减少了匹配过程中的误判率。
5、本发明在构建手势多模板库时,也采用了改进D-P算法对手势轮廓图像进行多边形逼近拟合后,再进行指尖点检测,再根据指尖点个数进行分类的方法,与现有技术中仅仅简单构建出手势模板库,进行模板匹配的方法相比,能够有效提高手势识别的速率和准确率。
6、本发明能够用于手势控制中,用于控制日常生活用品,如台灯、风扇、空调、电动窗帘等,还能应用于多媒体人机交互中,实用性强,使用效果好,便于推广使用。
综上所述,本发明设计新颖合理,手势识别速率高,实时性好,手势识别准确率高,实用性强,使用效果好,便于推广使用。
下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
附图说明
图1为本发明采用的硬件系统的电路连接框图。
图2为本发明手势识别方法的方法流程框图。
图3为本发明构建手势多模板库的方法流程框图。
图4A为本发明步骤202中选取进行轮廓遍历搜寻的起点的示意图。
图4B为本发明步骤204中选取进行轮廓遍历的新的起点的示意图。
图4C为本发明步骤204中确定出手势轮廓曲线上的所有特征点的示意图。
图5A为本发明手势1~10的手势轮廓曲线图。
图5B为本发明经过步骤二得到的手势轮廓多边形逼近图。
图5C为本发明经过步骤三得到的手势轮廓多边形逼近图指尖点检测结果图。
图6为本发明手势多模板库的手势轮廓图像。
图7为本发明第三类指尖点个数为2的手势示意图。
附图标记说明:
1—摄像头; 2—计算机。
具体实施方式
如图1和图2所示,本发明的基于改进D-P算法与多模板匹配的手势识别方法,包括以下步骤:
步骤一、手势图像的实时采集及预处理:采用摄像头1拍摄手势图像视频流并将图像视频流传送给计算机2,计算机2对图像视频流的视频帧进行图像分割预处理,得到实时的手势轮廓图像;
步骤二、计算机2采用改进D-P算法对步骤一中得到的实时的手势轮廓图像进行多边形逼近拟合,具体过程为:
步骤201、设定特征点选取阈值δ;
步骤202、从手势轮廓曲线上选取一点作为进行轮廓遍历搜寻的起点;
本实施例中,步骤202中选取手势轮廓曲线上最低的一点作为进行轮廓遍历搜寻的起点。这样的起点选取方法,能够更加有序高效地进行特征点遍历搜寻,找出所有特征点,提高了手势识别的速率。例如,如图4A中的S点。
步骤203、从起点开始,对手势轮廓按照搜寻步长进行遍历搜寻,每经过一个搜寻步长,计算曲线上的点到所述曲线的起点与终点连成的直线之间的距离,并找出曲线上的点到所述直线的最大距离;例如,如图4A所示,步长为曲线SA1,曲线的起点与终点连成的直线为直线SA1,点B为曲线上的一点,计算点B到直线SA1之间的距离;
步骤204、将步骤203中找出的最大距离与步骤201中设定的特征点选取阈值δ进行比较,当最大距离大于或等于特征点选取阈值δ时,将最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,当最大距离小于特征点选取阈值时,将上次搜寻的终点作为下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直到再找到最大距离大于或等于特征点选取阈值δ的点,将再找到的最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直至回到步骤202中选取的起点时结束遍历搜寻,并确定出了手势轮廓曲线上的所有特征点;例如,如图4B所示,曲线BB1上的点到直线BB1上的最大距离小于特征点选取阈值δ,则将B1更新为下一次搜寻的新起点,直到找到最大距离大于特征点选取阈值的点,如在曲线B3B4上出现的点C到直线B3B4上的距离大于特征点选取阈值δ,则将点C作为特征点和下一次搜寻的新起点;如图4C所示,确定出的手势轮廓曲线上的所有特征点为点B、点C、点E和点F;
步骤205、对手势轮廓曲线上的所有特征点进行曲线拟合,得到手势轮廓多边形逼近图;例如,如图5A所示为手势1~10的手势轮廓曲线,如图5B所示为经过步骤二得到的手势轮廓多边形逼近图。
Douglas-Peucker算法(简称D-P算法)是由David Douglas和Thomas Peucker于1973年提出的一种曲线抽稀算法,可对曲线大量冗余点进行精简并保留曲线最基本特征。简单的说,根据曲线离散度给定一个初始偏差值,将曲线首尾点相连形成直线,并查询曲线所有拐点中距离该直线最远的点。如果该点与直线的距离小于初始偏差值,则删除该点并返回;如果该点与直线的距离大于初始偏差值,则保留该点作为特征点,并以曲线首点和该点形成新的直线并重新查询距离最远的点;依此类推,直至搜索完曲线所有点并保留下特征点。D-P算法已是计算机图形学曲线简化常规方法,突出优点是可保留曲线最大弯曲形态的点,但是,如果将其应用在手势识别中,存在的缺点是:通过D-P算法遍历搜寻曲线特征点时,不是按照轮廓曲线的顺序而进行的,即特征点并不是顺序出现的。为此,本发明提出了改进D-P算法,改进D-P算法与传统D-P算法相比,搜寻特征点的方法不同,如以上步骤202、步骤203和步骤204所述,改进D-P算法先设定手势轮廓曲线上的一点为起点,如果在一个步长中能够寻找距离大于或等于特征点选取阈值的点,就将该点作为特征点以该点作为新的起始点进行下一个步长的寻找;如果该步长中没有特征点,就继续进行下一个步长。改进D-P算法搜寻特征点的方法能够使得特征点是按照轮廓曲线的顺序而出现的,应用在本发明中,能够更加高效地寻找出手势轮廓曲线上的所有特征点。
步骤三、计算机2采用自适应阈值算法对步骤二中得到的手势轮廓多边形逼近图进行指尖点检测,具体过程为:
步骤301、自适应的指尖点选取阈值的确定:计算机2根据公式计算得到指尖点选取阈值其中,W为步骤204中确定出的手势轮廓曲线上的特征点的集合,n为步骤204中确定出的手势轮廓曲线上的特征点的个数,xi为第i个特征点的横坐标,yi为第i个特征点的纵坐标,x0为手势轮廓图像的质心的横坐标,y0为手势轮廓图像的质心的纵坐标,i的取值为1~n的自然数;
步骤302、指尖点的确定:计算机2以手势轮廓图像的质心为圆心,指尖点选取阈值l为半径,画圆,将落在圆外的特征点确定为指尖点,并统计出指尖点个数;
通过观察图5B可知,为了获得手势指尖,不能用凸点的个数来直接替代指尖点个数,因为在实际情况中,在手势轮廓多边形逼近图中的凸点往往比真正的指尖点个数要多。因此,步骤三中提出了采用自适应阈值算法进行手势轮廓多边形逼近图指尖点检测的方法,通过对各个手势上的凸点和凹点到质心的距离的分析,推导出了采用所有特征点到质心的欧式距离的平均值作为指尖点选取阈值的方法,先计算出指尖点选取阈值,再以质心为圆心,指尖点选取阈值为半径,画圆,将落在圆外的特征点确定为指尖点,对于不满足阈值的特征点进行滤除,能够获得准确的指尖点个数,从而能够有效提高手势识别的准确率,为对手势按照指尖点个数分类奠定了基础。通过指尖筛选后,获取的手势轮廓多边形逼近图指尖点检测结果如图5C所示。
步骤四、计算机2采用多模板匹配算法对手势进行匹配识别,确定出手势;具体过程为:
步骤401、根据指尖点个数进行手势初步确定:计算机2调取存储在其中的预先构建的手势多模板库,找出手势按指尖点个数分类的分类表,并在所述分类表中找出与步骤302中统计出的指尖点个数相对应的手势多模板库中的手势,初步确定出可能匹配的手势;
步骤402、根据可能匹配的手势的数量进行手势确定:当步骤401中确定出的可能匹配的手势的数量为1个时,将步骤401中确定出的可能匹配的手势确定为匹配的手势;当步骤401中确定出的可能匹配的手势的数量大于1个时,执行步骤403确定匹配的手势;
步骤403、根据Hu矩特征值进行匹配的手势确定,具体过程为:
步骤4031、计算机2调取存储在其中的预先构建的手势多模板库,找出各个手势对应的修正后的Hu矩特征值;
步骤4032、计算机2调用Hu矩特征值计算模块计算出步骤一中得到的实时的手势轮廓图像的Hu矩特征值φ1、φ2、φ3、φ4、φ5、φ6、φ7,并根据公式hk=|log(|φk|)|计算得到修正后的手势轮廓图像的Hu矩特征值h1、h2、h3、h4、h5、h6、h7;其中,k=1,2,…,7;
步骤4032中计算机2调用Hu矩特征值计算模块计算手势轮廓图像的Hu矩特征值时,采用现有技术中的Hu矩特征值计算方法,但由于灰度图像的Hu矩特征值数值非常小,因此再通过采用公式hk=|log(|φk|)|来对计算结果进行修正调整,应用在本发明中,能够很好地达到根据Hu矩特征值进行匹配的手势确定的目的。
步骤4033、计算机2调用匹配度比较值计算模块计算实时的手势轮廓图像与步骤401中确定出的可能匹配的手势中各个手势的匹配度比较值,并将匹配度比较值最小时对应的可能匹配的手势确定为匹配的手势;其中,计算机2根据计算公式计算实时的手势轮廓图像与步骤401中确定出的可能匹配的手势中第m个手势的匹配度Im, 为步骤401中确定出的可能匹配的手势中第m个手势对应的修正后的Hu矩特征值,m的取值为1~M的自然数,M为步骤401中确定出的可能匹配的手势的总个数。
步骤4033实现了采用Hu矩特征值比较待识别的手势与可能识别的手势的相似度,能够识别出待识别的手势。
在手势识别时采用单模板匹配算法对手势进行匹配识别,方法简单易行,但是在实际情况中,由于每个人的手势形状、大小等的不同,使得手势识别的误判率比较高。所以本发明设计实现了一种多模板匹配算法,通过将待识别手势与手势多模板库中的多个手势进行对比、匹配,能够达到快速且高效的匹配结果,有效提高了手势识别的速率和准确率,减少了手势误判率。
以上的步骤四采用了先根据指尖点个数进行分类再进行多模板匹配的方法,与现有技术中仅进行指尖检测或仅进行模板匹配的手势识别方法相比,能够提高手势识别的速率,且能够有效减少匹配的次数,提高手势匹配的准确率。
本实施例中,计算机2构建手势多模板库的具体过程为:
步骤A、获取多个手势的轮廓图像:采用摄像头1拍摄手势1~10的图像视频流并将图像视频流传送给计算机2,计算机2对图像视频流的视频帧进行图像分割预处理,得到手势1~10中每种手势的5个手势轮廓图像;其中,每种手势的5个手势轮廓图像包括手势的正视轮廓图像,手势的向左旋转角度α的轮廓图像,手势的向右旋转角度α的轮廓图像,手势的侧视图和手势的缩放图;
本实施例中,步骤A中所述角度α的取值为15°。角度α的具体取值,考虑了人在做出手势时经常出现的角度,与实际更为相符,且这样的取值能够提高手势识别的速率和准确率。手势多模板库的手势轮廓图像如图6所示。总共有50个不同手势的模板。
步骤B、计算机2采用改进D-P算法分别对多个手势的轮廓图像进行多边形逼近拟合,其中,对每个手势的轮廓图像进行多边形逼近拟合的具体过程为:
步骤B01、设定特征点选取阈值δ′;
步骤B02、从手势轮廓曲线上选取一点作为进行轮廓遍历搜寻的起点;
本实施例中,步骤B02中选取手势轮廓曲线上最低的一点作为进行轮廓遍历搜寻的起点。这样的起点选取方法,能够更加有序高效地进行特征点遍历搜寻,找出所有特征点,提高了手势识别的速率。
步骤B03、从起点开始,对手势轮廓按照搜寻步长进行遍历搜寻,每经过一个搜寻步长,计算曲线上的点到所述曲线的起点与终点连成的直线之间的距离,并找出曲线上的点到所述直线的最大距离;
步骤B04、将步骤B03中找出的最大距离与步骤B01中设定的特征点选取阈值δ′进行比较,当最大距离大于或等于特征点选取阈值δ′时,将最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,当最大距离小于特征点选取阈值时,将上次搜寻的终点作为下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直到再找到最大距离大于或等于特征点选取阈值δ′的点,将再找到的最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直至回到步骤B02中选取的起点时结束遍历搜寻,并确定出了手势轮廓曲线上的所有特征点;
步骤B05、对手势轮廓曲线上的所有特征点进行曲线拟合,得到手势轮廓多边形逼近图并进行存储;
步骤C、计算机2采用自适应阈值算法对步骤B中得到的多个手势轮廓多边形逼近图进行指尖点检测,其中,对每个手势轮廓多边形逼近图进行指尖点检测的具体过程为:
步骤C01、指尖点选取阈值的确定:计算机2根据公式计算得到指尖点选取阈值其中,W′为步骤B04中确定出的手势轮廓曲线上的特征点的集合,n′为步骤B04中确定出的手势轮廓曲线上的特征点的个数,x′i′为第i′个特征点的横坐标,y′i′为第i′个特征点的纵坐标,x′0为手势轮廓图像的质心的横坐标,y′0为手势轮廓图像的质心的纵坐标,i′的取值为1~n′的自然数;
步骤C02、指尖点的确定:计算机2以手势轮廓图像的质心为圆心,指尖点选取阈值为半径,画圆,将落在圆外的特征点确定为指尖点,并统计出指尖点个数;
步骤D、计算机2根据指尖点个数对多个手势进行分类,将指尖点个数相同的手势分为一类,并列出手势按指尖点个数分类的分类表;
本实施例中,步骤D中指尖点个数共有6种,指尖点个数为0的手势为手势10,分为第一类;指尖点个数为1的手势为手势1和手势9,分为第二类;指尖点个数为2的手势为手势2、手势6和手势8,分为第三类;指尖点个数为3的手势为手势3和手势7,分为第四类;指尖点个数为4的手势为手势4,分为第五类;指尖点个数为5的手势为手势5,分为第六类。例如,如图7所示为三类,指尖点个数为2的手势,从左到右依次为手势2、手势6和手势8。列出的手势按指尖点个数分类的分类表如表1所示。
表1 手势按指尖点个数分类的分类表
步骤E、计算机2调用Hu矩特征值计算模块计算出各个手势的轮廓图像的Hu矩特征值,并计算出各个手势修正后的Hu矩特征值,其中,计算机2计算第r个手势修正后的Hu矩特征值采用的计算公式为r的取值为1~50的自然数。
具体实施时,步骤B03与步骤203中的搜寻步长可以相等也可以不相等。
步骤A至E中构建手势多模板库的方法,也采用了改进D-P算法对手势轮廓图像进行多边形逼近拟合后,再进行指尖点检测,再根据指尖点个数进行分类的方法,与现有技术中仅仅简单构建出手势模板库,进行模板匹配的方法相比,大大减小了手势匹配的信息量,能够有效提高手势识别的速率和准确率。将此种构建手势多模板库的方法与步骤一至四中的手势识别方法相配合,更进一步提高了手势识别的速率和准确率,手势识别时间能够减小原来手势识别所需时间的三分之一左右。
综上所述,本发明采用改进D-P算法对摄像头1拍摄到的手势图像进行多边形逼近拟合,再进行指尖点个数检测,对应找到手势多模板库中对应的手势类别,然后再根据Hu矩特征值进行匹配的手势确定,采用这种先分类再进行匹配的方法,能够良好的减少匹配的次数,提高手势匹配的速率。并且,通过多模板匹配,即对一种手势的不同种类进行匹配,能够提高识别准确率,有效地减少了匹配过程中的误判率。
以上所述,仅是本发明的较佳实施例,并非对本发明作任何限制,凡是根据本发明技术实质对以上实施例所作的任何简单修改、变更以及等效结构变化,均仍属于本发明技术方案的保护范围内。
Claims (5)
1.一种基于改进D-P算法与多模板匹配的手势识别方法,其特征在于,该方法包括以下步骤:
步骤一、手势图像的实时采集及预处理:采用摄像头(1)拍摄手势图像视频流并将图像视频流传送给计算机(2),计算机(2)对图像视频流的视频帧进行图像分割预处理,得到实时的手势轮廓图像;
步骤二、计算机(2)采用改进D-P算法对步骤一中得到的实时的手势轮廓图像进行多边形逼近拟合,具体过程为:
步骤201、设定特征点选取阈值δ;
步骤202、从手势轮廓曲线上选取一点作为进行轮廓遍历搜寻的起点;
步骤203、从起点开始,对手势轮廓按照搜寻步长进行遍历搜寻,每经过一个搜寻步长,计算曲线上的点到所述曲线的起点与终点连成的直线之间的距离,并找出曲线上的点到所述直线的最大距离;
步骤204、将步骤203中找出的最大距离与步骤201中设定的特征点选取阈值δ进行比较,当最大距离大于或等于特征点选取阈值δ时,将最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,当最大距离小于特征点选取阈值时,将上次搜寻的终点作为下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直到再找到最大距离大于或等于特征点选取阈值δ的点,将再找到的最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直至回到步骤202中选取的起点时结束遍历搜寻,并确定出了手势轮廓曲线上的所有特征点;
步骤205、对手势轮廓曲线上的所有特征点进行曲线拟合,得到手势轮廓多边形逼近图;
步骤三、计算机(2)采用自适应阈值算法对步骤二中得到的手势轮廓多边形逼近图进行指尖点检测,具体过程为:
步骤301、自适应的指尖点选取阈值的确定:计算机(2)根据公式计算得到指尖点选取阈值其中,W为步骤204中确定出的手势轮廓曲线上的特征点的集合,n为步骤204中确定出的手势轮廓曲线上的特征点的个数,xi为第i个特征点的横坐标,yi为第i个特征点的纵坐标,x0为手势轮廓图像的质心的横坐标,y0为手势轮廓图像的质心的纵坐标,i的取值为1~n的自然数;
步骤302、指尖点的确定:计算机(2)以手势轮廓图像的质心为圆心,指尖点选取阈值为半径,画圆,将落在圆外的特征点确定为指尖点,并统计出指尖点个数;
步骤四、计算机(2)采用多模板匹配算法对手势进行匹配识别,确定出手势;具体过程为:
步骤401、根据指尖点个数进行手势初步确定:计算机(2)调取存储在其中的预先构建的手势多模板库,找出手势按指尖点个数分类的分类表,并在所述分类表中找出与步骤302中统计出的指尖点个数相对应的手势多模板库中的手势,初步确定出可能匹配的手势;
步骤402、根据可能匹配的手势的数量进行手势确定:当步骤401中确定出的可能匹配的手势的数量为1个时,将步骤401中确定出的可能匹配的手势确定为匹配的手势;当步骤401中确定出的可能匹配的手势的数量大于1个时,执行步骤403确定匹配的手势;
步骤403、根据Hu矩特征值进行匹配的手势确定,具体过程为:
步骤4031、计算机(2)调取存储在其中的预先构建的手势多模板库,找出各个手势对应的修正后的Hu矩特征值;
步骤4032、计算机(2)调用Hu矩特征值计算模块计算出步骤一中得到的实时的手势轮廓图像的Hu矩特征值φ1、φ2、φ3、φ4、φ5、φ6、φ7,并根据公式hk=|log(|φk|)|计算得到修正后的手势轮廓图像的Hu矩特征值h1、h2、h3、h4、h5、h6、h7;其中,k=1,2,…,7;
步骤4033、计算机(2)调用匹配度比较值计算模块计算实时的手势轮廓图像与步骤401中确定出的可能匹配的手势中各个手势的匹配度比较值,并将匹配度比较值最小时对应的可能匹配的手势确定为匹配的手势;其中,计算机(2)根据计算公式计算实时的手势轮廓图像与步骤401中确定出的可能匹配的手势中第m个手势的匹配度Im, 为步骤401中确定出的可能匹配的手势中第m个手势对应的修正后的Hu矩特征值,m的取值为1~M的自然数,M为步骤401中确定出的可能匹配的手势的总个数。
2.按照权利要求1所述的基于改进D-P算法与多模板匹配的手势识别方法,其特征在于:计算机(2)构建手势多模板库的具体过程为:
步骤A、获取多个手势的轮廓图像:采用摄像头(1)拍摄手势1~10的图像视频流并将图像视频流传送给计算机(2),计算机(2)对图像视频流的视频帧进行图像分割预处理,得到手势1~10中每种手势的5个手势轮廓图像;其中,每种手势的5个手势轮廓图像包括手势的正视轮廓图像,手势的向左旋转角度α的轮廓图像,手势的向右旋转角度α的轮廓图像,手势的侧视图和手势的缩放图;
步骤B、计算机(2)采用改进D-P算法分别对多个手势的轮廓图像进行多边形逼近拟合,其中,对每个手势的轮廓图像进行多边形逼近拟合的具体过程为:
步骤B01、设定特征点选取阈值δ′;
步骤B02、从手势轮廓曲线上选取一点作为进行轮廓遍历搜寻的起点;
步骤B03、从起点开始,对手势轮廓按照搜寻步长进行遍历搜寻,每经过一个搜寻步长,计算曲线上的点到所述曲线的起点与终点连成的直线之间的距离,并找出曲线上的点到所述直线的最大距离;
步骤B04、将步骤B03中找出的最大距离与步骤B01中设定的特征点选取阈值δ′进行比较,当最大距离大于或等于特征点选取阈值δ′时,将最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,当最大距离小于特征点选取阈值时,将上次搜寻的终点作为下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直到再找到最大距离大于或等于特征点选取阈值δ′的点,将再找到的最大距离对应的曲线上的点作为特征点和下一次搜寻的新起点,按照搜寻步长继续沿手势轮廓进行遍历搜寻,直至回到步骤B02中选取的起点时结束遍历搜寻,并确定出了手势轮廓曲线上的所有特征点;
步骤B05、对手势轮廓曲线上的所有特征点进行曲线拟合,得到手势轮廓多边形逼近图并进行存储;
步骤C、计算机(2)采用自适应阈值算法对步骤B中得到的多个手势轮廓多边形逼近图进行指尖点检测,其中,对每个手势轮廓多边形逼近图进行指尖点检测的具体过程为:
步骤C01、指尖点选取阈值的确定:计算机(2)根据公式计算得到指尖点选取阈值其中,W′为步骤B04中确定出的手势轮廓曲线上的特征点的集合,n′为步骤B04中确定出的手势轮廓曲线上的特征点的个数,x′i′为第i′个特征点的横坐标,y′i′为第i′个特征点的纵坐标,x′0为手势轮廓图像的质心的横坐标,y′0为手势轮廓图像的质心的纵坐标,i′的取值为1~n′的自然数;
步骤C02、指尖点的确定:计算机(2)以手势轮廓图像的质心为圆心,指尖点选取阈值为半径,画圆,将落在圆外的特征点确定为指尖点,并统计出指尖点个数;
步骤D、计算机(2)根据指尖点个数对多个手势进行分类,将指尖点个数相同的手势分为一类,并列出手势按指尖点个数分类的分类表;
步骤E、计算机(2)调用Hu矩特征值计算模块计算出各个手势的轮廓图像的Hu矩特征值,并计算出各个手势修正后的Hu矩特征值,其中,计算机(2)计算第r个手势修正后的Hu矩特征值 采用的计算公式为r的取值为1~50的自然数。
3.按照权利要求2所述的基于改进D-P算法与多模板匹配的手势识别方法,其特征在于:步骤A中所述角度α的取值为15°。
4.按照权利要求2所述的基于改进D-P算法与多模板匹配的手势识别方法,其特征在于:步骤B02中选取手势轮廓曲线上最低的一点作为进行轮廓遍历搜寻的起点。
5.按照权利要求1所述的基于改进D-P算法与多模板匹配的手势识别方法,其特征在于:步骤202中选取手势轮廓曲线上最低的一点作为进行轮廓遍历搜寻的起点。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710471957.8A CN107220634B (zh) | 2017-06-20 | 2017-06-20 | 基于改进d-p算法与多模板匹配的手势识别方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710471957.8A CN107220634B (zh) | 2017-06-20 | 2017-06-20 | 基于改进d-p算法与多模板匹配的手势识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107220634A CN107220634A (zh) | 2017-09-29 |
CN107220634B true CN107220634B (zh) | 2019-02-15 |
Family
ID=59950018
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710471957.8A Expired - Fee Related CN107220634B (zh) | 2017-06-20 | 2017-06-20 | 基于改进d-p算法与多模板匹配的手势识别方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107220634B (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109271931A (zh) * | 2018-09-14 | 2019-01-25 | 辽宁奇辉电子系统工程有限公司 | 一种基于轮廓分析的剑指手势实时识别系统 |
CN109917430B (zh) * | 2019-04-03 | 2021-01-22 | 安徽中科智能感知产业技术研究院有限责任公司 | 一种基于轨迹平滑算法的卫星定位轨迹漂移纠偏方法 |
CN111402232B (zh) * | 2020-03-16 | 2023-05-16 | 深圳市瑞图生物技术有限公司 | 精液中精子聚集检测方法 |
CN113627217A (zh) * | 2020-05-08 | 2021-11-09 | 山东理工大学 | 基于斜率差分布的全自动手势识别方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467657A (zh) * | 2010-11-16 | 2012-05-23 | 三星电子株式会社 | 手势识别系统和方法 |
CN105160322A (zh) * | 2015-09-07 | 2015-12-16 | 北京航空航天大学 | 基于航拍图像的室外停车场空置停车位识别方法 |
CN106503626A (zh) * | 2016-09-29 | 2017-03-15 | 南京信息工程大学 | 基于深度图像与手指轮廓匹配的并指手势识别方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
TWI395145B (zh) * | 2009-02-02 | 2013-05-01 | Ind Tech Res Inst | 手勢辨識系統及其方法 |
CN105913093B (zh) * | 2016-05-03 | 2019-06-21 | 电子科技大学 | 一种用于文字识别处理的模板匹配方法 |
CN106548133B (zh) * | 2016-10-17 | 2019-04-23 | 歌尔科技有限公司 | 一种模板匹配方法和装置以及手势识别方法和装置 |
-
2017
- 2017-06-20 CN CN201710471957.8A patent/CN107220634B/zh not_active Expired - Fee Related
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102467657A (zh) * | 2010-11-16 | 2012-05-23 | 三星电子株式会社 | 手势识别系统和方法 |
CN105160322A (zh) * | 2015-09-07 | 2015-12-16 | 北京航空航天大学 | 基于航拍图像的室外停车场空置停车位识别方法 |
CN106503626A (zh) * | 2016-09-29 | 2017-03-15 | 南京信息工程大学 | 基于深度图像与手指轮廓匹配的并指手势识别方法 |
Also Published As
Publication number | Publication date |
---|---|
CN107220634A (zh) | 2017-09-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107220634B (zh) | 基于改进d-p算法与多模板匹配的手势识别方法 | |
CN104899600B (zh) | 一种基于深度图的手部特征点检测方法 | |
CN109597485B (zh) | 一种基于双指角域特征的手势交互系统及其工作方法 | |
CN103246891B (zh) | 一种基于Kinect的中国手语识别方法 | |
Zhu et al. | Vision based hand gesture recognition using 3D shape context | |
WO2020211447A1 (zh) | 基于手部速度与轨迹分布的跟随机器人手势轨迹识别方法 | |
CN103150019A (zh) | 一种手写输入系统及方法 | |
Huang et al. | Hand gesture recognition with skin detection and deep learning method | |
CN110837792B (zh) | 一种三维手势识别方法及装置 | |
CN102073414B (zh) | 基于机器视觉的多点触摸跟踪方法 | |
CN103105924B (zh) | 人机交互方法和装置 | |
CN111414837A (zh) | 手势识别方法、装置、计算机设备及存储介质 | |
Weiyao et al. | Human action recognition using multilevel depth motion maps | |
CN108614991A (zh) | 一种基于Hu不变矩的深度图像手势识别方法 | |
CN109543644A (zh) | 一种多模态手势的识别方法 | |
CN112101243A (zh) | 一种基于关键姿势和dtw的人体动作识别方法 | |
CN107346207B (zh) | 一种基于隐马尔科夫模型的动态手势切分识别方法 | |
CN103186241B (zh) | 一种交互桌面触点左右手识别方法 | |
Yi et al. | Long-range hand gesture recognition with joint ssd network | |
CN101604393B (zh) | 一种用于联机手写汉字识别的汉字笔画特征提取方法 | |
CN108392207B (zh) | 一种基于姿态标签的动作识别方法 | |
Ghotkar et al. | Vision based real time hand gesture recognition techniques for human computer interaction | |
CN108805006A (zh) | 一种基于深度摄像头的手势识别系统 | |
Chen et al. | A fusion recognition method based on multifeature hidden markov model for dynamic hand gesture | |
Liu et al. | Gesture recognition based on Kinect |
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: 20190215 Termination date: 20210620 |