CN103208002B - 基于手轮廓特征的手势识别控制方法和系统 - Google Patents
基于手轮廓特征的手势识别控制方法和系统 Download PDFInfo
- Publication number
- CN103208002B CN103208002B CN201310123587.0A CN201310123587A CN103208002B CN 103208002 B CN103208002 B CN 103208002B CN 201310123587 A CN201310123587 A CN 201310123587A CN 103208002 B CN103208002 B CN 103208002B
- Authority
- CN
- China
- Prior art keywords
- gesture
- frame
- video
- outline
- image
- 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
Landscapes
- Image Analysis (AREA)
Abstract
本发明公开一种基于手轮廓特征的手势识别控制方法和系统,其主要有初始设置步骤、图像预处理步骤、手势识别步骤、命令解析步骤和待控应用程序控制步骤构成。本发明通过对视频帧进行外轮廓提取来进行手势识别,利用手势识别过程中手势特征面积和手势特征周长来识别出手势,并以凸包缺陷面积和来刻画抱拳和手掌,从而有效提高了手掌识别的准确度和效率;在手势识别过程中全部采用周长和面积等常用计算判别,而非复杂的图像模式识别样本比对方式,因而不需要添加额外样本库,就可以为其他应用开发服务,比如基于手势控制的图片查看器、音乐播放器、网页浏览器和游戏应用程序。
Description
技术领域
本发明涉及人机交互领域,具体涉及一种基于手轮廓特征的手势识别控制方法和系统。
背景技术
利用手势控制计算机的人机交互方式正逐步成为人机交互的发展方向和趋势。目前,人们对于计算机内部应用软件(如视频播放软件和PPT幻灯片软件)的控制往往需要辅助键盘、鼠标和控制笔等硬件设备来实现,不能解放使用者的双手。如人们常用PPT一类的幻灯片软件来辅助展示内容,而演讲者控制幻灯片的方式主要依赖于键盘、鼠标和控制笔等硬件设备,不能解放双手以便于演讲者与观众互动。
目前出现的手势交互系统采用的是特征库匹配的方式,因此均存在模式识别样本库大、匹配时间长、计算量庞大、且只能基于特定的交互需求和任务来设计系统结构,所以在实现和设计方面都有差别,且都设定了自己相应的约束条件、特征参数,系统的每一个流程执行的算法也不尽相同。然而,由于计算机、智能手机、视频终端等设备内部运行的任务不同以及应用场景的不同,手势具有多样性和多义性,且复杂背景和光线反射会影响手势识别的准确率。因此针对特定任务和特定应用场景需要开发出来的手势交互系统须根据实际控制者输入的手势实现相应的反应或控制,导致手势识别时间长,应用移植困难,影响人机交互体验。
发明内容
本发明所要解决的技术问题是针对现有手势识别控制方法模式识别样本库大、匹配时间长、且不便于移植等问题,提供一种基于手轮廓特征的手势识别控制方法和系统。
为解决上述问题,本发明是通过以下技术方案实现的:
基于手轮廓特征的手势识别控制方法,包括如下步骤:
步骤1,设置系统的初始参数,其中初始参数包括视频边框阈值、手势特征面积阈值、手势特征周长阈值、凸包缺陷面积阈值、物距(即摄像头与控制者的距离)以及手势语义上下左右四个方向所对应的控制命令;
步骤2,通过摄像头拍摄人的图像视频流,并将其送入计算机中对图像视频流的视频帧进行图像预处理;
步骤3,计算机找出视频帧的所有外轮廓,接着将当前视频帧的外轮廓放入双向轮廓链表,然后遍历链表,排除噪声轮廓;
步骤4,若外轮廓的边界接近整个视频帧的边界,则计算机判定该外轮廓不为手势,返回步骤3的链表遍历循环操作,继续遍历检测当前视频帧双向轮廓链表里的其他外轮廓;否则进入步骤5,继续对该外轮廓进行手势识别;
步骤5,计算外轮廓的面积,若外轮廓的面积与视频区域矩阵面积的比例小于预设的手势特征面积阈值与物距平方的比例时,则计算机判定该外轮廓不为手势,返回步骤3的链表遍历循环操作,继续遍历检测当前视频帧双向轮廓链表里的其他外轮廓;否则进入步骤6,继续对该外轮廓进行手势识别;
步骤6,计算外轮廓最大边框矩形的周长,若外轮廓最大边框矩形的周长与视频区域矩阵周长的比例大于预设的手势特征周长阈值与物距的比例时,则计算机判定该外轮廓不为手势,返回步骤3的链表遍历循环操作,继续遍历检测当前视频帧双向轮廓链表里的其他外轮廓;否则进入步骤7,继续对该外轮廓进行手势识别;
步骤7,计算外轮廓的凸包缺陷面积,若外轮廓的凸包缺陷面积小于预设的凸包缺陷面积阈值时,则计算机判定该外轮廓为抱拳手势,此时计算出抱拳手势的中心坐标位置,并重复步骤2-7继续检测下一帧视频帧直至识别出抱拳手势;若外轮廓的凸包缺陷面积大于预设的凸包缺陷面积阈值,则计算机判定该外轮廓为手掌手势,并计算手掌手势的中心坐标位置;
步骤8,对抱拳手势和手掌手势的中心坐标位置作差得到手势偏移向量,根据手势偏移向量所在象限来解析控制者上下左右四个方向的手势语义,解析成相应的控制命令,并对解析出的控制命令进行编号生成命令队列;
步骤9,计算机从命令队列中逐条取出控制命令,并向计算机的待控应用程序发送控制命令所对应的虚拟键盘消息,最终待控应用程序将响应该控制命令。
基于手轮廓特征的手势识别控制系统,包括初始设置模块、图像预处理模块、手势识别模块、命令解析模块和待控应用程序控制模块;
初始设置模块,用于设置系统的初始参数,上述初始参数包括视频边框阈值、手势特征面积阈值、手势特征周长阈值、凸包缺陷面积阈值、物距(即摄像头与控制者的距离)以及手势语义上下左右四个方向所对应的控制命令;
图像预处理模块,将摄像头拍摄人的图像视频流的每一帧视频帧进行图像预处理;
手势识别模块,通过寻找视频帧中的外轮廓来判断预处理后的视频帧中是否有抱拳手势出现,无则继续检测下一帧视频帧是否出现抱拳手势;若识别出抱拳手势,则将抱拳手势的中心坐标位置输入命令解析模块,且对接下来的下一帧视频帧做同样的图像预处理,并寻找下一帧视频帧中是否有手掌手势出现,无则继续检测再下一帧视频帧是否出现手掌手势,若识别出手掌手势,则将手掌手势的中心坐标位置输入命令解析模块;
命令解析模块,对抱拳手势和手掌手势的中心坐标位置作差得到手势偏移向量,根据手势偏移向量所在象限来解析控制者上下左右四个方向的手势语义,解析成相应的控制命令,并对解析出的控制命令进行编号生成命令队列;
待控应用程序控制模块,从命令队列中逐条取出控制命令,并向待控应用程序发送控制命令所对应的虚拟键盘消息,使得待控应用程序响应该控制命令。
与现有技术相比,本发明具有如下特点:
1)通过对视频帧进行外轮廓提取来进行手势识别,利用手势识别过程中手势特征面积和手势特征周长来识别出手势,并以凸包缺陷面积和来刻画抱拳和手掌,从而有效提高了手掌识别的准确度和效率;
2)手势识别过程中全部采用周长和面积等常用计算判别,而非复杂的图像模式识别样本比对方式,因而不需要添加额外样本库,就可以为其他应用开发服务,比如基于手势控制的图片查看器、音乐播放器、网页浏览器和游戏应用程序。
附图说明
图1为基于手轮廓特征的手势识别控制方法流程图;
图2为手势外轮廓的凸包和凸包缺陷示意图;
图3为图像预处理流程图;
图4为一种象限与命令控制规则;
图5为基于手轮廓特征的手势识别控制系统原理框图。
具体实施方式
下面以待控应用程序是PPT(幻灯片)为例,对本发明进行进一步详细说明:
一种基于手轮廓特征的手势识别控制方法,如图1所示,包括如下步骤:
步骤1,启动系统所需的初始步骤,设置系统初始参数。如将摄像头连接到计算机中,完成设置面板中的各项参数,待打开指定幻灯片显示连接成功后,可通过摄像头将获取的视频帧输入图像处理步骤。具体实施时可使用VC++编程设计一个MFC界面,分别对摄像头和幻灯片设计一个启动按钮,检查是否连接成功,而在设置面板的设计中应该包含场景设置、抱拳设置、手掌设置和文件设置,其中场景设置参数包括视频边框阈值、二值阈值、物距和图像范围、手势语义上下左右四个方向所对应的控制命令,抱拳设置参数包括外轮廓面积和外轮廓最大边框矩形周长,手掌设置参数包括外轮廓面积和外轮廓最大边框矩形周长和凸包缺陷面积,文件设置参数包括幻灯片文件名和全屏后文件名。
手势轮廓的特性影响着手势识别的效率和准确率。在本发明中,引入了外轮廓的凸包和凸包缺陷的概念。其中凸包是由手的各个外凸顶点依次相连获得的闭合区域,即图2中手的外围深色线描画出的即是凸包。凸包缺陷则是指凸包内部2个手指之间的空隙,即图2中A到H被标出的区域即是凸包的各个“凸包缺陷”。这些凸度缺陷提供了手以及手状态的特征表现的方法,据此本发明提出了以凸包缺陷面积和来刻画手掌,提高了手掌识别的准确度和效率。其中识别的检测部分,包括人脸区域排除、边界区域排除、长宽比、周长和面积、凸包缺陷检测,从而识别精度大大提高。
步骤2,完成初始步骤之后,可通过设计的开始跟踪按钮,启动摄像头拍摄人的图像视频流,并将其送入计算机中对图像视频流的视频帧进行图像预处理。
在本实施例中,采用OpenCV的cvCreateCameraCapture函数捕获视频流,再用OpenCV的cvQueryFrame函数转换视频流得到每帧图像输入图像预处理步骤进行图像预处理。
图像预处理步骤用于图像预处理检测手势,即通过将视频帧从RGB空间转换成YCbCr空间,提取Cb分量进行二值化,按照“膨胀-腐蚀-膨胀-腐蚀”进行形态操作三步,得到每帧预处理后的图像输入手势识别步骤。在本实施例中,首先通过接入计算机的摄像头采集视频图像,接着把采集到的视频图像由RGB格式转换为YCbCr格式,从而分离出该色彩空间亮度和色度信息,由于其灰度化后的图像对光照有较强的抗干扰能力,因此能有效减少光照的影响。参见图3。
然后利用整体阈值法来得到二值化图像。整体阈值二值化是仅由像素点(i,j)的灰度值f(i,j)确定阈值的,设图像f(i,j)的灰度值限定在[a,b]内,其阈值为t(a≤t≤b)),则其图像二值化计算的一般数学表达式为:
得到的g(x,y)就是二值图像,阈值t不同,得到的二值图像g(x,y)也是不同的。阈值运算把所有像素分成0和255的两组,通过选定合适的阈值,这样就可以把多灰度级的图像变成只有两个灰度级的图像,把其中感兴趣的目标像素作为前景像素,其余部分作为背景像素。实施时可先使用OpenCV的cvSplit函数分割提取Cr通道,再用OpenCV的cvThreshold函数做阈值分割运算,为达到理想的分割效果,实施例将阈值t限制在[135,150]中。
由于整体阈值方法得到的图像仍然存在噪声,二值处理后的手势图像的手指区域分割并不彻底,这会导致后续特征值的计算产生一定的偏差从而影响最终的手势识别结果,因此需要把分割得到的图像先进行膨胀运算,去掉分割不理想导致的小的“孔洞”;再进行腐蚀运算得到图像。实施时可使用OpecnCV的cvMorphologyEx函数把2次膨胀-腐蚀集中到一起进行形态操作。
步骤3,计算机找出视频帧的所有外轮廓,接着将当前视频帧的外轮廓放入双向轮廓链表,然后遍历链表,排除噪声轮廓。从视频帧中提出各个物体的外轮廓可以采用现有已知的相关图像处理方法,在本实施例中,所述视频帧的所有外轮廓均由OpenCV的cvFindContours函数找出。
步骤4,若外轮廓的边界接近整个视频帧的边界,则计算机判定该外轮廓不为手势,返回步骤3的链表遍历循环操作,继续遍历检测当前视频帧双向轮廓链表里的其他外轮廓;否则进入步骤5,继续对该外轮廓进行手势识别。
在本实施例中,检测外轮廓和边界的方法如式(1)所示:
{coni|(Oc-Ov)>(BT,BT)且(Pc-Pv)>(BT,BT)}(1)
式(1)中Oc、Pc、Ov、Pv均为非负整数的二维坐标,其中Oc、Pc代表手势轮廓coni所在矩形框的左上端点坐标和右下端点坐标,Ov、Pv代表整个视频的左上端点坐标和右下端点坐标,BT为视频边框阈值。如Oc(10,20)、Pc(30,30)、Ov(0,0)、Pv(1000,1000),BT=20,则Oc-Ov=(10,20)<(20,20),不满足式(1),此时轮廓coni不为手势。
步骤5,计算外轮廓的面积,若外轮廓的面积与视频区域矩阵面积的比例小于预设的手势特征面积阈值与物距平方的比例时,则计算机判定该外轮廓不为手势,返回步骤3的链表遍历循环操作,继续遍历检测当前视频帧双向轮廓链表里的其他外轮廓;否则进入步骤6,继续对该外轮廓进行手势识别。
在本实施例中,检测外轮廓凸包总面积符合手势特征的方法如式(2)所示:
{coni|Sc/Sv≥ST/(D×D)}(2)
式(2)中Sc、Sv均为非负整数,0<ST<1,D为非负实数,表示摄像头与控制者的距离,并且控制在5米之内,且Sc代表手势的轮廓coni区域内的像素点个数,其面积可由openCV的cvContourArea函数计算求得,Sv代表视频区域内的像素点个数,ST为手势特征面积阈值。Sc=100像素,Sv=500*500=250000像素,D=2米,ST=0.00375,代入后不满足公式(2),此时轮廓coni不为手势。
步骤6,计算外轮廓最大边框矩形的周长,若外轮廓最大边框矩形的周长与视频区域矩阵周长的比例大于预设的手势特征周长阈值与物距的比例时,则计算机判定该外轮廓不为手势,返回步骤3的链表遍历循环操作,继续遍历检测当前视频帧双向轮廓链表里的其他外轮廓;否则进入步骤7,继续对该外轮廓进行手势识别。
在本实施例中,检测外轮廓周长符合手势特征的方法如式(3)所示:
{coni|Lc/Lv≤LT/D}(3)
式(3)中,Lc、Lv均为非负整数,0<LT<1,D为非负实数,表示摄像头与控制者的距离,Lc代表手势的轮廓coni所在矩形的周长,可由openCV的cvArcLength函数计算求得,Lv代表视频区域所在矩形的周长,LT为手势特征周长阈值。
步骤7,计算外轮廓的凸包缺陷面积,若外轮廓的凸包缺陷面积小于预设的凸包缺陷面积阈值时,则计算机判定该外轮廓为抱拳手势,此时计算出抱拳手势的中心坐标位置,并重复步骤2-7继续检测下一帧视频帧直至识别出抱拳手势;若外轮廓的凸包缺陷面积大于预设的凸包缺陷面积阈值,则计算机判定该外轮廓为手掌手势,并计算手掌手势的中心坐标位置。
在本实施例中,抱拳轮廓特征库由以上公式(1)-(3)决定,其特征库初始值见表1;手掌轮廓特征库由公式(1)-(4)决定,其特征库初始值见表2。
上式中DET为缺陷面积阈值,SDEi表示第i个缺陷三角形的面积为底*高/2,其中每个缺陷都包含了底和高两个端点的二维坐标。若满足式(4)则判定为抱拳,否则判定为手掌。实施时可由OpenCV的cvConvexityDefects得到轮廓coni的一个缺陷三角形系列,因为一个轮廓是包含很多个缺陷三角形的,所以用ΣSDEi表示缺陷三角形的面积和。具体求法可先用cvConvexHull2找到凸包hull,利用hull和cvConvexityDefects函数在轮廓上找到缺陷系列defects,然后再遍历缺陷三角形系列,累加凸缺陷面积求和得到。
表1抱拳轮廓特征库
轮廓特征项目 | 阈值默认值 | 说明 |
图像范围BT | 20(像素) | 轮廓与视频的边框距离 |
特征周长LT | 0.1 | 周长比例系数 |
特征面积ST | 0.00375 | 面积比例系数 |
表2手掌轮廓特征库
轮廓特征项目 | 阈值默认值 | 说明 |
图像范围BT | 20(像素) | 轮廓与视频的边框距离 |
特征周长LT | 0.1 | 周长比例系数 |
特征面积ST | 0.00375 | 面积比例系数 |
凸缺陷面积DET | 8000 | 累计的凸缺陷面积和 |
注:缺陷面积DET与物距D(摄像头与控制者的距离)有关,如物距D=0.5(米)时,缺陷面积DET=8000;若物距D=2(米),缺陷面积DET=2000。
此外,由于本发明对于实时响应要求较高,因此对该系统进行了相应指标参数的性能测试。测试主要使用的是GetTickCount函数,它返回从操作系统启动到现在所经过的毫秒数,返回值是DWORD,所以可以用来进行交互延迟测试。交互延迟是指从系统捕捉到图像到幻灯片执行相应操作所耗费的时间,由于手势控制系统的延迟瓶颈是识别的时间延迟,因此用dos源程序测试抱拳和手掌的交互延迟(共测10次),如表3所示:
表3人机交互时间
上表说明,本发明的人机交互时间非常快,平均在1ms内完成,证明该系统的实时性能很好,可以在摆脱手势样本库的同时达到很好的人机交互效果。
步骤8,对抱拳手势和手掌手势的中心坐标位置作差得到手势偏移向量,根据手势偏移向量所在象限来解析控制者上下左右四个方向的手势语义,解析成相应的控制命令,并对解析出的控制命令进行编号生命令队列。
在本实施例中,使用OpenCV编写函数PlamCenter(x,y)和FistCenter(x,y)分别获取手掌中心坐标和抱拳中心坐标,然后通过式(5)计算手势偏移向量v(x,y),该向量所在象限代表对应的命令。
v(x,y)=PlamCenter(x,y)-FistCenter(x,y)(5)
式(5)的PlamCenter(x,y)代表手掌中心坐标,FistCenter(x,y)为抱拳中心坐标。
命令解析步骤根据手势偏移向量来解析控制者的手势语义,并解析成控制命令。在本实施例中,控制规则如图4所示,判断手势偏移向量v(x,y)属于第几象限的方法为:比较该向量的x,y坐标绝对值大小。若|x|>|y|,且x>0,则视为向量属于第I象限;若|x|<|y|,且y>0,则视为向量属于第II象限;若|x|>|y|,且x<0,则视为向量属于第III象限;若|x|<|y|,且y<0,则视为向量属于第IV象限。
在图4所示的坐标轴中,第I、II、III和IV象限分别代表幻灯片的下一页、开始、上一页和结束的控制命令,并把对应的命令编号为1、2、3和4。实施例中,从向量v与x轴正向夹角α来看,定义如下:当0<α<π/4或7π/4<α<2π时,v在第I象限;当π/4<α<3π/4时,v在第II象限;当3π/4<α<5π/4时,v在第III象限;当5π/4<α<7π/4时,v在第IV象限。其中π=180度。
步骤9,计算机从命令队列中逐条取出控制命令,并向计算机的待控应用程序发送控制命令所对应的虚拟键盘消息,最终待控应用程序将响应该控制命令。
幻灯片控制步骤用于从幻灯片命令队列里面逐条取出命令编号,判断程序软件是否获取到该幻灯片句柄,如果否则确认重新打开幻灯片,如果是则向幻灯片窗口发送虚拟键盘消息,最终幻灯片将响应命令解析步骤生成的控制命令,从而实现手势控制幻灯片,接着再次转入图像预处理步骤,等待下一个命令。在本实施例中,幻灯片控制信息对应具体幻灯片键盘控制信息,设定如表4所示:
表4幻灯片控制的命令编号
命令编号 | 按键消息 | 说明 |
0 | 无 | 不发送任何消息 |
1 | 方向右键 | 下一页 |
2 | F5 | 退出播放幻灯片 |
3 | 方向左键 | 上一页 |
4 | Esc | 开始播放幻灯片,全屏显示 |
本实施方式中,手势识别是通过检测用户抱拳和手掌的动作来判断幻灯片操作命令的。首先需要打开一个幻灯片,并点击实施例软件进行动态手势检测。当用户面摄像头伸出右手合紧五指形成一个抱紧的拳头时,将视为启动幻灯片控制,其中抱拳中心坐标视为坐标轴原点位置;当右手五指全部展开形成一个手掌时,将视为解析控制命令;此时若手掌中心坐标在抱拳中心坐标的上方,将视为开始播放幻灯片并全屏显示;若手掌中心坐标在抱拳中心坐标的右侧,将视为幻灯片播放下一页;若手掌中心坐标在抱拳中心坐标的左侧,将视为幻灯片播放上一页;若手掌中心坐标在抱拳中心坐标的下方,将视为结束播放并退出幻灯片。具体实施时可根据用户习惯更换幻灯片控制命令编号,改变手势控制上下左右四个方向的幻灯片操作规则。
根据上述方法所涉及的一种基于手轮廓特征的手势识别控制系统,如图5所示,其主要由初始设置模块、图像预处理模块、手势识别模块、命令解析模块和待控应用程序控制模块组成。
初始设置模块,用于设置系统的初始参数,上述初始参数包括视频边框阈值、手势特征面积阈值、手势特征周长阈值、凸包缺陷面积阈值、物距(摄像头与控制者的距离)以及手势语义上下左右四个方向所对应的控制命令。
图像预处理模块,将摄像头拍摄人的图像视频流的每一帧视频帧进行图像预处理。在本实施例中,所述图像预处理模块首先将视频帧从RGB空间转换成YCbCr空间;然后提取Cb分量进行二值化;最后按照膨胀-腐蚀-膨胀-腐蚀依次进行形态操作,得到每帧视频帧预处理后的图像。
手势识别模块,通过寻找视频帧中的外轮廓来判断预处理后的视频帧中是否有抱拳手势出现,无则继续检测下一帧视频帧是否出现抱拳手势。若识别出抱拳手势,则将抱拳手势的中心坐标位置输入命令解析模块,且对接下来的下一帧视频帧做同样的图像预处理,并寻找下一帧视频帧中是否有手掌手势出现,无则继续检测再下一帧视频帧是否出现手掌手势,若识别出手掌手势,则将手掌手势的中心坐标位置输入命令解析模块。在本实施例中,所述手势识别模块通过OpenCV的cvFindContours函数找出视频帧的所有外轮廓。
命令解析模块,对抱拳手势和手掌手势的中心坐标位置作差得到手势偏移向量,根据手势偏移向量所在象限来解析控制者上下左右四个方向的手势语义,解析成相应的控制命令,并对解析出的控制命令进行编号生命令队列。
待控应用程序控制模块,从命令队列中逐条取出控制命令,并向待控应用程序发送控制命令所对应的虚拟键盘消息,使得待控应用程序响应该控制命令。
本发明不仅限于上述实施例,如本发明不仅可以运用在幻灯片的控制上,还可以应用在视频播放控制、游戏控制、以及其他应用程序中。
Claims (6)
1.基于手轮廓特征的手势识别控制方法,其特征是包括如下步骤:
步骤1,设置系统的初始参数,其中初始参数包括视频边框阈值、手势特征面积阈值、手势特征周长阈值、凸包缺陷面积阈值、物距、以及手势语义上下左右四个方向所对应的控制命令;
步骤2,通过摄像头拍摄人的图像视频流,并将其送入计算机中对图像视频流的视频帧进行图像预处理;
步骤3,计算机找出视频帧的所有外轮廓,接着将当前视频帧的外轮廓放入双向轮廓链表,然后遍历链表,排除噪声轮廓;
步骤4,若外轮廓的边界接近整个视频帧的边界,则计算机判定该外轮廓不为手势,返回步骤3的链表遍历循环操作,继续遍历检测当前视频帧双向轮廓链表里的其他外轮廓;否则进入步骤5,继续对该外轮廓进行手势识别;
步骤5,计算外轮廓的面积,若外轮廓的面积与视频区域矩阵面积的比例小于预设的手势特征面积阈值与物距平方的比例时,则计算机判定该外轮廓不为手势,返回步骤3的链表遍历循环操作,继续遍历检测当前视频帧双向轮廓链表里的其他外轮廓;否则进入步骤6,继续对该外轮廓进行手势识别;
步骤6,计算外轮廓最大边框矩形的周长,若外轮廓最大边框矩形的周长与视频区域矩阵周长的比例大于预设的手势特征周长阈值与物距的比例时,则计算机判定该外轮廓不为手势,返回步骤3的链表遍历循环操作,继续遍历检测当前视频帧双向轮廓链表里的其他外轮廓;否则进入步骤7,继续对该外轮廓进行手势识别;
步骤7,计算外轮廓的凸包缺陷面积,若外轮廓的凸包缺陷面积小于预设的凸包缺陷面积阈值时,则计算机判定该外轮廓为抱拳手势,此时计算出抱拳手势的中心坐标位置,并重复步骤2-7继续检测下一帧视频帧直至识别出抱拳手势;若外轮廓的凸包缺陷面积大于预设的凸包缺陷面积阈值,则计算机判定该外轮廓为手掌手势,并计算手掌手势的中心坐标位置;
步骤8,对抱拳手势和手掌手势的中心坐标位置作差得到手势偏移向量,根据手势偏移向量所在象限来解析控制者上下左右四个方向的手势语义,解析成相应的控制命令,并对解析出的控制命令进行编号生成命令队列;
步骤9,计算机从命令队列中逐条取出控制命令,并向计算机的待控应用程序发送控制命令所对应的虚拟键盘消息,最终待控应用程序将响应该控制命令。
2.根据权利要求1所述的基于手轮廓特征的手势识别控制方法,其特征是,在步骤2中,计算机中对每一帧视频帧进行图像预处理的过程具体是,首先将视频帧从RGB空间转换成YCbCr空间;然后提取Cb分量进行二值化;最后按照膨胀-腐蚀-膨胀-腐蚀依次进行形态操作,得到每帧视频帧预处理后的图像。
3.根据权利要求1所述的基于手轮廓特征的手势识别控制方法,其特征是,所述视频帧的所有外轮廓均由OpenCV的cvFindContours函数找出。
4.根据权利要求1所述基于手轮廓特征的手势识别控制方法而设计的基于手轮廓特征的手势识别控制系统,其特征是,包括初始设置模块、图像预处理模块、手势识别模块、命令解析模块和待控应用程序控制模块;
初始设置模块,用于设置系统的初始参数,上述初始参数包括视频边框阈值、手势特征面积阈值、手势特征周长阈值、凸包缺陷面积阈值、物距、以及手势语义上下左右四个方向所对应的控制命令;
图像预处理模块,将摄像头拍摄人的图像视频流的每一帧视频帧进行图像预处理;
手势识别模块,通过寻找视频帧中的外轮廓来判断预处理后的视频帧中是否有抱拳手势出现,无则继续检测下一帧视频帧是否出现抱拳手势;若识别出抱拳手势,则将抱拳手势的中心坐标位置输入命令解析模块,且对接下来的下一帧视频帧做同样的图像预处理,并寻找下一帧视频帧中是否有手掌手势出现,无则继续检测再下一帧视频帧是否出现手掌手势,若识别出手掌手势,则将手掌手势的中心坐标位置输入命令解析模块;
命令解析模块,对抱拳手势和手掌手势的中心坐标位置作差得到手势偏移向量,根据手势偏移向量所在象限来解析控制者上下左右四个方向的手势语义,解析成相应的控制命令,并对解析出的控制命令进行编号生成命令队列;
待控应用程序控制模块,从命令队列中逐条取出控制命令,并向待控应用程序发送控制命令所对应的虚拟键盘消息,使得待控应用程序响应该控制命令。
5.根据权利要求4所述的基于手轮廓特征的手势识别控制系统,其特征是,所述图像预处理模块首先将视频帧从RGB空间转换成YCbCr空间;然后提取Cb分量进行二值化;最后按照膨胀-腐蚀-膨胀-腐蚀依次进行形态操作,得到每帧视频帧预处理后的图像。
6.根据权利要求4所述的基于手轮廓特征的手势识别控制系统,其特征是,所述手势识别模块通过OpenCV的cvFindContours函数找出视频帧的所有外轮廓。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310123587.0A CN103208002B (zh) | 2013-04-10 | 2013-04-10 | 基于手轮廓特征的手势识别控制方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310123587.0A CN103208002B (zh) | 2013-04-10 | 2013-04-10 | 基于手轮廓特征的手势识别控制方法和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103208002A CN103208002A (zh) | 2013-07-17 |
CN103208002B true CN103208002B (zh) | 2016-04-27 |
Family
ID=48755219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310123587.0A Expired - Fee Related CN103208002B (zh) | 2013-04-10 | 2013-04-10 | 基于手轮廓特征的手势识别控制方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103208002B (zh) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103440034A (zh) * | 2013-08-19 | 2013-12-11 | 中国科学院深圳先进技术研究院 | 一种基于徒手和单目摄像头实现人机交互的方法和装置 |
CN103500335A (zh) * | 2013-09-09 | 2014-01-08 | 华南理工大学 | 一种基于手势识别的照片拍摄与浏览的方法及其装置 |
CN103699225B (zh) * | 2013-12-17 | 2017-02-15 | 深圳市威富多媒体有限公司 | 一种通过手形与移动终端进行交互的方法及装置 |
CN104866084B (zh) | 2014-02-25 | 2021-04-30 | 中兴通讯股份有限公司 | 手势识别方法、装置和系统 |
CN103941869B (zh) * | 2014-04-21 | 2017-07-14 | 云南电网公司普洱供电局 | 一种基于动作元的体感姿势识别方法 |
CN103984928B (zh) * | 2014-05-20 | 2017-08-11 | 桂林电子科技大学 | 基于景深图像的手指手势识别方法 |
CN103973986B (zh) * | 2014-05-30 | 2017-07-04 | 张琴 | 一种基于移动终端照相机的调焦及其镜头切换方法 |
EP3218842A4 (en) * | 2014-11-13 | 2018-08-22 | Intel Corporation | Facial spoofing detection in image based biometrics |
CN104484035A (zh) * | 2014-12-04 | 2015-04-01 | 北京百度网讯科技有限公司 | 基于体感设备的控制方法、装置和系统 |
CN105005429B (zh) * | 2015-06-30 | 2018-12-11 | 广东欧珀移动通信有限公司 | 一种终端展示图片的方法及终端 |
CN105872691A (zh) * | 2015-12-14 | 2016-08-17 | 乐视致新电子科技(天津)有限公司 | 浏览器控制方法及装置 |
CN106503650B (zh) * | 2016-10-21 | 2019-09-24 | 上海未来伙伴机器人有限公司 | 一种手势图像的识别方法及系统 |
CN106778141B (zh) * | 2017-01-13 | 2019-09-20 | 北京元心科技有限公司 | 基于手势识别的解锁方法、装置及移动终端 |
CN107092349A (zh) * | 2017-03-20 | 2017-08-25 | 重庆邮电大学 | 一种基于RealSense的手语识别系统及方法 |
CN107506633B (zh) * | 2017-07-31 | 2019-10-15 | Oppo广东移动通信有限公司 | 基于结构光的解锁方法、装置及移动设备 |
CN107678551B (zh) * | 2017-10-19 | 2021-12-28 | 京东方科技集团股份有限公司 | 手势识别方法和装置、电子设备 |
CN108229318A (zh) * | 2017-11-28 | 2018-06-29 | 北京市商汤科技开发有限公司 | 手势识别和手势识别网络的训练方法及装置、设备、介质 |
CN110007748B (zh) * | 2018-01-05 | 2021-02-19 | Oppo广东移动通信有限公司 | 终端的控制方法、处理装置、存储介质及终端 |
CN108385800B (zh) * | 2018-03-02 | 2020-09-29 | 九牧厨卫股份有限公司 | 一种智能马桶和相关的控制方法及装置 |
CN108491820B (zh) | 2018-04-02 | 2022-04-12 | 京东方科技集团股份有限公司 | 图像中肢体表示信息的识别方法、装置及设备、存储介质 |
CN111192314B (zh) * | 2019-12-25 | 2024-02-20 | 新绎健康科技有限公司 | 一种确定gdv能量图像中手指的内外轮廓比率的方法及系统 |
CN111589098A (zh) * | 2020-04-21 | 2020-08-28 | 哈尔滨拓博科技有限公司 | 一种用于带有步进天车娃娃机的随动方式手势控制方法及系统 |
CN112089596A (zh) * | 2020-05-22 | 2020-12-18 | 未来穿戴技术有限公司 | 颈部按摩仪的好友添加方法及颈部按摩仪、可读存储介质 |
CN111915509B (zh) * | 2020-07-03 | 2023-12-29 | 北京博电互联能源科技有限公司 | 基于图像处理去阴影优化的保护压板状态辨识方法 |
CN112767304B (zh) * | 2020-12-04 | 2023-02-28 | 浙江大学山东工业技术研究院 | 一种基于视觉的太阳花模组位置和方向检测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7821541B2 (en) * | 2002-04-05 | 2010-10-26 | Bruno Delean | Remote control apparatus using gesture recognition |
CN102402680A (zh) * | 2010-09-13 | 2012-04-04 | 株式会社理光 | 人机交互系统中手部、指示点定位方法和手势确定方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9696808B2 (en) * | 2006-07-13 | 2017-07-04 | Northrop Grumman Systems Corporation | Hand-gesture recognition method |
-
2013
- 2013-04-10 CN CN201310123587.0A patent/CN103208002B/zh not_active Expired - Fee Related
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7821541B2 (en) * | 2002-04-05 | 2010-10-26 | Bruno Delean | Remote control apparatus using gesture recognition |
CN102402680A (zh) * | 2010-09-13 | 2012-04-04 | 株式会社理光 | 人机交互系统中手部、指示点定位方法和手势确定方法 |
Non-Patent Citations (4)
Title |
---|
"A Low-Cost Visual Motion Data Glove as an Input Device to Interpret Human Hand Gestures";Han youngmo;《Transaction on Consumer Electronics》;20100531;第56卷(第2期);501-509 * |
"Face detection in complicated backgrounds and different illumination conditions by using YCbCr color space and neural network";Lin Chiunhsiun;《Pattern Recognition Letters》;20071201;第28卷(第16期);2190-2200 * |
"基于特征提取的手势识别技术研究";程小鹏;《中国优秀硕士学位论文全文数据库 信息科技辑》;20121015;全文 * |
"基于视觉的多特征手势识别";翁汉良等;《计算机工程与科学》;20120215;第34卷(第2期);125-127 * |
Also Published As
Publication number | Publication date |
---|---|
CN103208002A (zh) | 2013-07-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103208002B (zh) | 基于手轮廓特征的手势识别控制方法和系统 | |
CN109558832B (zh) | 一种人体姿态检测方法、装置、设备及存储介质 | |
CN102200834B (zh) | 面向电视控制的指尖鼠标交互方法 | |
CN111680594A (zh) | 一种基于手势识别的增强现实交互方法 | |
Beyeler | OpenCV with Python blueprints | |
Huang et al. | RGB-D salient object detection by a CNN with multiple layers fusion | |
Rathi et al. | Sign language recognition using resnet50 deep neural network architecture | |
CN111401293A (zh) | 一种基于Head轻量化Mask Scoring R-CNN的手势识别方法 | |
Caramiaux et al. | Beyond recognition: using gesture variation for continuous interaction | |
Tsagaris et al. | Colour space comparison for skin detection in finger gesture recognition | |
Golovanov et al. | Combining hand detection and gesture recognition algorithms for minimizing computational cost | |
CN111651038A (zh) | 基于ToF的手势识别控制方法及其控制系统 | |
Hoque et al. | Computer vision based gesture recognition for desktop object manipulation | |
CN102855025B (zh) | 一种基于视觉注意模型的光学多点触控触点检测方法 | |
Singh | Recognizing hand gestures for human computer interaction | |
WO2024094086A1 (zh) | 图像处理方法、装置、设备、介质及产品 | |
WO2020224244A1 (zh) | 一种景深图获取方法及装置 | |
CN108255298B (zh) | 一种投影交互系统中的红外手势识别方法及设备 | |
CN117152838A (zh) | 一种基于多核动态注意力机制的手势识别方法 | |
KR20190132885A (ko) | 영상으로부터 손을 검출하는 장치, 방법 및 컴퓨터 프로그램 | |
CN115016641A (zh) | 基于手势识别的会议控制方法、装置、会议系统和介质 | |
Mou et al. | Attention based dual branches fingertip detection network and virtual key system | |
Wang et al. | An RGB-D Based Approach for Human Pose Estimation | |
Wang et al. | Virtual piano system based on monocular camera | |
CN114967927B (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 | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20160427 |
|
CF01 | Termination of patent right due to non-payment of annual fee |