本发明涉及一种人机交互系统装置及操作方法,特别是涉及基于手势识别的人机交互系统装置及操作方法。
背景技术:
随着科学技术的迅猛发展与计算机视觉的日益普及,人们对人机交流自然性的要求越来越高,一切传统的人机交流方式,如鼠标、键盘、麦克风等日益满足不了人们的需求。将人手作为计算机与人之间的交流手段,相比较起其他的交流手段更加自然、简洁、丰富和直接,故能够提供手势识别的计算机会使人机之间的交流更加的自然方便。
目前的手势识别系统多采用以下两种:
(1)数据手套或佩戴物:此方式可降低检测和识别算法的复杂性,但佩戴式的操作方式显然难以满足自然的人机交互的需要;
(2)基于3D深度相机:3D扫描设备体积较大,硬件成本较高,所需运算能力更高,难以集成并应用到大众化的智能终端上。
其次,传统的掌间定位算法有个缺陷:当手成水平状态时,无法准确定位到其中某个掌间点,导致了手势识别的局限性。
申请公布号为CN105138136A的发明专利申请公开了一种“手势识别装置、手势识别方法及手势识别系统”,该识别系统包括有一种手势识别装置,手势识别装置包括设置在与手指位置相应的至少一个传感器,输入方式判断单元和输入内容生成单元。该发明专利申请实现了虚拟人机交互,可得到快速准确的 模拟虚拟内容,但其装置需要设置传感器用于检测识别,所需硬件多且成本较高。
申请公布号为CN104992171A的发明专利申请公开了一种“一种基于2D视频序列的手势识别及人机交互方法和系统”,该系统主要涉及一种人机交互方法,通过构建人手的联合特征模型对2D摄像头运动前景下人手的姿态和手势进行识别。的该发明专利申请实现在复杂背景下的目标人手甄选,并实现对人手的精确度、高稳定性的跟踪,但需遍历提取联合特征模型,与样本库的样本匹配,模块及过程多,较为繁琐耗时,且没有具体精确定位到指尖。
申请公布号为CN105045398A的发明专利申请公开了一种“一种基于手势识别的虚拟现实交互设备”,该设备包括3D摄像头接口、头盔式虚拟现实显示器、信号处理组件以及移动设备接口。该发明专利申请可捕获含有深度信息的使用者手部的待测图像序列并经过处理识别,实现虚拟现实交互,但使用者需佩戴头盔使用,难以满足自然的人机交互的需求。
技术实现要素:
本发明的目的在于克服现有技术的不足,提供一种基于手势识别的人机交互系统装置,该装置采用基于单目摄像头下捕捉的视频进行手势跟踪的方法,通过人机交互程序对用户手势的识别处理,最终实现对物理应用设备的操控。
本发明的另一个目的在于提供一种应用上述基于手势识别的人机交互系统装置的操作方法,提出掌间点计算的解决方法,并采用Camshift算法,实现对键盘鼠标的模拟,解决现有的需用大量硬件设备感应的人机交互方式的局限性问题,使人机交互更加自然、方便,并较好解决了手势多义性、多样性带来的难题。
本发明解决上述技术问题的技术方案为:
一种基于手势识别的人机交互系统装置及操作方法,其特征在于,其中:
所述系统装置包括单目摄像头、安装有人机交互程序的PC机、PLC板和物理应用设备。其中,所述的单目摄像头用于捕获用户的手势图像;所述的PC机通过USB接口获取单目摄像头捕获的手势图像,其中的人机交互程序将对图像进行识别、分析及处理;所述的PLC板通过串口或USB获取经PC机处理后的手势信息;所述的物理应用设备通过电路获取信息并对信息进行反馈实施。
所述系统操作方法包括手势输入模块、指尖定位模块、手势跟踪模块和键鼠映射模块,其中:
所述的手势输入模块用于单目摄像头捕获用户手势,并将捕获到的手势图像输入指尖定位模块;
所述的指尖定位模块用于定位手势图像中的指尖位置,并根据此识别出用户手势的类型和手势的位置,作为手势跟踪模块和键鼠映射模块的输入;
所述的手势跟踪模块用于追踪用过户手势的移动轨迹,并获取手势的移动量,作为键鼠映射模块的输入;
所述的键鼠映射模块用于将用户手势的类型以及手势移动量识别为对应的键盘和鼠标的操作,并据此进行计算机控制。
本发明的基于手势识别的人机交互系统操作方法中的指尖定位模块,包括以下步骤:
(1)摄像头载入图像:调出摄像头载入图像;
(2)图像预处理:对图像进行色彩空间转换、肤色阈值处理、图像去噪处理、图像二值处理及开运算处理;
(3)轮廓与指尖寻找:基于轮廓上的掌间点和指尖点的寻找;
(4)掌间定位和指尖过滤:通过指尖定位进行掌间定位计算,掌间与指尖间的定位起着相互制约的作用。
本发明的基于手势识别的人机交互系统操作方法的指尖定位模块,在步骤(2)中,所述图像预处理包括色彩空间转换、肤色阈值处理、图像去噪处理、图像二值处理以及开运算处理,其中:
色彩空间转换:将RGB图像转换到HSV色彩模型下;
肤色阈值处理:利用OpenCV的otsu自适应阈值分割;
图像去噪处理:去除图像中识别目标周围的噪声;
图像二值处理:将图像的前景与背景进行分割;
开运算处理:消除经二值处理后图像中不连通的散点,并填充缺失点。
本发明的基于手势识别的人机交互系统操作方法的指尖定位模块,在步骤(3)中,所述轮廓与指尖寻找包括轮廓查找、指尖点查找、掌间定位以及指尖过滤,其中:
轮廓查找:通过四连通或八连通获取多个轮廓后筛选唯一轮廓;
指尖点查找:识别当前指尖的个数和位置;
掌间定位:计算极小值点得到掌间定位;
指尖过滤:筛选并去除多余的指尖点。
本发明的基于手势识别的人机交互系统操作方法的指尖定位模块,在步骤(4)中,所述掌间定位和指尖过滤,其中,针对掌间点计算,提出了两种解决方案:利用极小值原理、利用三角形两边之和大于第三边的原理。
本发明的基于手势识别的人机交互系统操作方法的手势跟踪模块,包括以 下步骤:
(1)跟踪区域选择:通过指尖定位选取感兴趣的区域;
(2)Camshift跟踪手部算法处理:主要通过视频中运动物体的颜色信息来达到跟踪的目的;
(3)跟踪重心与面积提取:采用帧差法来计算指尖坐标与跟踪重心的移动向量,跟踪面积的变化与指尖和掌间点的数量,据此做简单的判断。
进一步地,所述Camshift跟踪手部算法处理通过指尖坐标定位与Camshift算法结合起来,将Camshift算法改进为一个无监督学习的目标跟踪方法。
本发明与现有技术相比具有以下的有益效果:
1、对2D摄像头捕捉到的图像进行识别,并通过指尖定位、手势跟踪及映射三大模块实现键鼠模拟,克服现有技术方案所需硬件设备多、成本高的缺点;
2、提出两种解决方案计算掌间点,解决了现有算法无法准确定位到其中某个掌间点的难题,提高了手势识别的准确性。
附图说明
图1为本发明的基于手势识别的人机交互系统装置的一个具体实施方式的结构示意图。
图2为本发明的一个具体实施方式中人机交互系统的模块结构框图。
图3为本发明的一个具体实施方式中指尖定位模块图像预处理步骤的工作流程图。
图4为本发明的一个具体实施方式中手势图像经开运算处理后的前后对比图。
图5为本发明的一个具体实施方式中指尖定位模块轮廓与指尖寻找步骤的 工作流程图。
图6为四连通区域和八连通区域的原理对照图。
图7为一个凸包集,即指尖点集。
图8为掌间点示意图。
图9为三角形顶点到两点的距离大于该边上所有点到两点距离的原理描述图。
图10为跟踪区域选择示意图。
具体实施方式
下面结合实施例及附图对本发明作进一步详细的描述,但本发明的实施方式不限于此。
参见图1,本发明的基于手势识别的人机交互系统装置由图中几个重要组件构成,其中:
所述的用户1通过手势表达出其操作指令;所述的单目摄像头2运行工作并捕获用户的手势图像,其中,所述的单目摄像头2通过USB接口将其捕获的图像传送给所述的PC机3;所述的PC机3接收到图像后,其中的人机交互程序对手势图像进行识别、分析及处理,其中,所述的PC机通过串口或USB接口将处理后的手势信息发送给所述的PLC板4;所述的PLC板4获取PC机发送的信息后通过电路将信息传送给所述的物理应用设备5;所述的物理应用设备5获取信息并对信息进行反馈实施,其中,本实施例中所述的物理应用设备5以空调为例,但不限于此。
参见图2,所述操作方法包括手势输入模块、指尖定位模块、手势跟踪模块和键鼠映射模块,其中:
(1)手势输入模块:单目摄像头捕获用户手势图像,并将捕获到的手势 图像传送给PC机,进而输入指尖定位模块;
(2)指尖定位模块:对摄像头捕捉的图片进行一系列预处理,之后通过寻找轮廓与指尖点定位,通过掌间点来再次定位。指尖定位模块由以下部分组成:摄像头载入图像、图像预处理、轮廓与指尖点寻找、掌间定位:
(2.1)摄像头载入图像:调出摄像头,进行图像载入。
(2.2)图像预处理:参见图3,预处理过程包括对图像进行色彩空间转换、肤色阈值处理、图像去噪处理、图像二值处理、开运算处理,具体描述如下:
(2.2.1)色彩空间转换:一般情况下,图片都是RGB色彩模型下的。但是RGB三分量间常有很高的相关性,直接利用这些分量往往不能达到预想的效果,所以需要将RGB图像转换到HSV色彩模型下。其中,H、S、V的值可分别由公式(2)、(3)、(4)得到。
V=MAX (4)
以上公式(1)中MAX、MIN分别是RGB图像的最大值、最小值,H、S、V分别是HSV图像的H值、S值和V值。
转换到HSV色彩空间后,通过取H值的0~180进行阈值分割,则可获取到 所需的二值图像。
(2.2.2)肤色阈值处理:利用OpenCV的otsu自适应阈值分割。程序流程为:计算直方图并归一化histogram;计算图像灰度均值avgValue;计算直方图的零阶w[i]和一级矩u[i]计算并找到最大的类间方差(between-class variance)。
variance[i]=(avgValue*w[i]-u[i])*(avgValue*w[i]-u[i])/(w[i]*(1-w[i]))对应此最大方差的灰度值即为要找的阈值。
(2.2.3)图像去噪处理:现实中的数字图像在数字化和传输过程中常受到成像设备与外部环境噪声干扰等影响,故需对图像进行去噪处理。本实施例使用团块面积阈值法进行图像滤波去噪声,去除图像中目标对象周围的噪声,过程为:
采用二值数学形态学中的连通组元提取算法来求取团块的面积,小于阈值的团块为噪声,将该团块的像素点灰度值都设成255即可去除噪声。
(2.2.4)图像二值处理:进行图像二值化,将图像的前景与背景进行分割。图像二值化指将图像上的像素点的灰度值设置为0或255,使得整个图像呈现出明显的黑白效果。图像二值化是图像分析与处理中最常见最重要的处理手段,其使得图像中数据量大为减少,从而能凸显出目标的轮廓。在OpenCV中,可用关键函数cvThreshold()实现图像的二值化。
(2.2.5)开运算处理:为了消除二值化后不连通的散点同时填充手部中的缺失点,从而达到较好的图像效果,使用形态学方法中的开运算,即先腐蚀后膨胀。设f(x,y)是输入图像,b(x,y)是结构元素,用结构元素b对输入图像f进行腐蚀和膨胀运算分别定义为:
(f⊙b)(s,t)=min{f(s+x,t+y)+b(x,y)|(s+x,t+y)∈Df,(x,y)∈Db} (5)
其中,s,t为输入图像f的参数,x,y为结构元素b的参数,Df为图像f的一个集合,Db为结构元素b的一个集合。
参见图3,为开运算处理的手势图像对比图。
(2.3)轮廓与指尖点寻找:对预处理后的图像进行轮廓寻找,并基于轮廓进行一系列步骤,寻找指尖点。参见图5,轮廓与指尖点寻找过程包括轮廓查找、指尖点查找、掌间定位以及指尖过滤,具体描述如下:
(2.3.1)轮廓查找:一个轮廓一般对应一系列的点,也就是图像中的一条曲线,是通过顺序找出边缘点来跟踪边界的。由于每个区域内的像素值相同,可通过四连通或八连通区域进行轮廓查找。四连通和八连通可标注二进制图像中已连接的部分,语法实现为L=(BW,n)[L,num]。其中BW为输入图像;n可取值为4或8表示连接四连通或八连通区域;num为找到的连通区域数目;L为输出图像矩阵,其元素值为整数,背景被标记为0,第一个连通区域被标记为1,第二个连通区域被标记为2,依此类推。
参见图6,四连通和八连通的原理对照图,图中的0是中心像素点所在的位置就是四连通或八连通区域,即四连通区域指0的上下左右四个点,八连通还包含左上角、右上角、左下角和右下角四个位置,故八连通区域包含了四连通区域。
轮廓查找结束后,会得到多个轮廓,通过最大轮廓定义筛选获取唯一的轮廓作为手势轮廓,并用于后续的指尖查找。
(2.3.2)指尖点查找:从点集的角度来说,指尖在手掌轮廓中是一个凸包,凸包是指一个最小凸多边形,满足一个点集中的所有点在多边形边上或者内部,参见图7,线段围成的多边形就是点集{p0,p1……p12}的凸包,其中 p0,p1,……p12均指节点或顶点。这里用凸包查找进行指尖的定位,即识别手势中凸包的个数和位置,即可识别出当前指尖的个数和位置。
(2.3.3)掌间定位:通过指尖定位进行掌间定位计算,掌间与指尖间的定位起着相互制约的作用。参见图8的掌间示意图,图中A-E为对应的掌间点。通过计算极小值点得到掌间定位,即通过公式(7)找出指尖点间的各点坐标与其所对应前后坐标点间的相对位置来做出的判断找到基于相邻两个指尖点间的极小值点。
f(x0)≥f(x1)and f(x0)≥f(x2) (7)
其中f(x0)为当前垂直方向像素点坐标值,f(x1)与f(x2)分别为其前驱坐标值与后继坐标值,代码中选择的前驱后继跨度为3个像素点,此意图是为了防止像素点间构成线条的布局影响。该算法有个缺陷,当手成水平状态时,则无法准确定位到其中某个掌间点。
由于在三角形内部过任意角做一条穿过对边的线所围成的三角形的三边和没有原三角形三边大的原理。参见图9,可知三角形顶点到两点的距离大于该边上所有点到两点距离,即AB+AC>BD+DC,所以解决方案可基于此原理通过公式(8)获取相邻指尖点(即凸包点)间轮廓点至两点间欧几里德距离和最大值点,这种方法可以有效地解决当手成水平状态时,无法检测掌间点的问题。
其中ACB为相邻指尖至目标欧式距离之和,(Cx,Cy)为目标像素点C的坐标,(Ax,Ay)、(Bx,By)分别为相邻指尖点A与B的坐标。目标点C从A点出发,当ABC大于MAX时则赋值给MAX,如此直至C到达B点,最终获取的MAX点则为所需的 掌间点。
此方法求出的并非全是指尖间的掌间点,有时会包含手掌或手腕的两侧,可以通过向量夹角公式(11)去除该两点。
px=Ax-Cx,py=Ay-Cy,qx=Bx-Cx,qy=BY-Cy (10)
px、py与qx、qy分别表示从C点出发指向A与B点的向量,如此便可有向量夹角公式得出cosθ,故可以定义当cosθ小于0时则该点去除。
(2.3.4)指尖过滤:获取指尖点后最重要的部分。但是指尖部位并不是只有一个指尖点,故主要工作是进行筛选,首先需要去除多余的指尖点。使用函数deldot()删除距离较近的指尖点,处理完紧密的点后,便剔除非指尖的指尖点。此时需要用到掌间点,通过掌间点在两指尖之间这一特性,查找同时符合相邻点之间有掌间点和距掌间点的距离超过自定的阈值这两个条件时,即可绘制出指尖点与掌间点。
(3)手势跟踪模块:追踪用户手势的移动轨迹,并获取手势的移动量,作为键鼠映射模块的输入信息。采用Camshift改进算法进行手部跟踪即不需要在跟踪之前用鼠标选取跟踪区域。手势跟踪模块由以下部分组成:跟踪区域选择、Camshift算法改进、跟踪重心、面积提取:
(3.1)跟踪区域选择:通过指尖定位选取感兴趣的区域。
(3.2)Camshift跟踪手部算法改进:Camshift算法,即”Continuously adaptive Mean-Shift”算法,是一种运动跟踪算法。在通常的跟踪处理中,它主要通过视频中运动物体的颜色信息来达到跟踪的目的。其是Meanshift算法的改进。
Mean-Shift算法仅对数据局部区域中的点进行处理,处理完成后再移动区域。与Mean-Shift不同的是,Camshift搜索窗口会自动调整尺寸。如果有一个易于分割的分布(如保持紧密的手特征),此算法可以根据手在张开与拳握时手的尺寸来自动调整窗口尺寸。在跟踪的应用中,它会把由前一帧计算出的新尺寸作为下一帧的跟踪区域。
在Mean-Shift与Camshift跟踪算法中,都需要事先选定感兴趣区域,一般来说,触发一条鼠标事件来选取跟踪范围,但这属于有监督性的,并不符合本项目的期望。故需要进行Camshift算法改进,使之可以无监督选取感兴趣的区域。本文主要通过指尖定位来获取该区域,即在达到指尖定位的功能后,分别选取指尖坐标x、y值的组成一个坐标作为左上角点,宽度和高度取水平垂直最长距离的最小值。参见图10,A点与B点则分别为指尖的左上角点与右下角点、左上角点的坐标值即可保留,再对两点进行差值运算通过公式MIN(|Ax-Bx|,|Ay-By|)计算得出跨度大小。其中,(Ax,Ay)、(Bx,By)分别为点A与点B的坐标。
(3.3)跟踪重心与面积提取:主要为模拟键盘和鼠标的算法设计。本发明专利采用帧差法来计算指尖坐标与跟踪重心的移动向量,跟踪面积的变化与指尖和掌间点的数量,做一个简单的判断。
(4)映射模块:整合指尖定位模块与手势跟踪模块,对在摄像头下的操作与模拟键鼠操作间起着搭建枢纽的作用。其包括键盘模拟和鼠标模拟:
(4.1)键盘模拟:用到的参数为跟踪重心与跟踪面积,首先通过帧差法计算出重心移动向量与面积变化向量。在模拟方向键的计算中,用事先定义的时间来计算出移动的速度,当超过该速度则判断方向按键。由于垂直方向比水平方向做功多,所以默认垂直方向键的优先级较高。空格的优先级是最低的, 判断其按键时,让变化后的面积与上一帧的面积进行对比,如果变化后的面积小于上一面积0.6倍,则判定激活空格键。
(4.2)鼠标模拟:用到的是指尖点与掌间点的个数。同键盘模拟一样先用帧差发计算出指尖的移动向量与指尖、掌间点的个数。然后通过事先定义的时间来计算出移动的速度,当超过该速度时则判断移动的向量,在赋值给当前鼠标的坐标。掌间点的个数是为了判定是否进行鼠标的移动与是否进行鼠标单击。
上述为本发明较佳的实施方式,但本发明的实施方式并不受上述内容的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
PHP网站源码东莞企业网站设计哪家好宿州优化价格晋城seo报价柳州百度竞价哪家好沙井关键词排名公司鹤岗百度竞价包年推广价格大鹏网站优化按天收费哪家好汕尾网站优化按天收费忻州百度标王推荐宜宾网站推广推荐双龙阿里店铺托管价格盐田设计公司网站哪家好石岩外贸网站建设多少钱广东网站优化按天计费推荐黄石网站推广方案价格襄樊百度seo报价新余百度竞价包年推广哪家好思茅模板制作报价亳州网络广告推广报价铜陵seo优化多少钱大庆网站关键词优化多少钱上海seo网站推广哪家好坪地网站搭建报价白城模板制作龙岗SEO按天收费赣州设计网站报价南京网站制作设计多少钱开封百度网站优化排名公司黔西南网站搜索优化报价大芬网站制作设计公司歼20紧急升空逼退外机英媒称团队夜以继日筹划王妃复出草木蔓发 春山在望成都发生巨响 当地回应60岁老人炒菠菜未焯水致肾病恶化男子涉嫌走私被判11年却一天牢没坐劳斯莱斯右转逼停直行车网传落水者说“没让你救”系谣言广东通报13岁男孩性侵女童不予立案贵州小伙回应在美国卖三蹦子火了淀粉肠小王子日销售额涨超10倍有个姐真把千机伞做出来了近3万元金手镯仅含足金十克呼北高速交通事故已致14人死亡杨洋拄拐现身医院国产伟哥去年销售近13亿男子给前妻转账 现任妻子起诉要回新基金只募集到26元还是员工自购男孩疑遭霸凌 家长讨说法被踢出群充个话费竟沦为间接洗钱工具新的一天从800个哈欠开始单亲妈妈陷入热恋 14岁儿子报警#春分立蛋大挑战#中国投资客涌入日本东京买房两大学生合买彩票中奖一人不认账新加坡主帅:唯一目标击败中国队月嫂回应掌掴婴儿是在赶虫子19岁小伙救下5人后溺亡 多方发声清明节放假3天调休1天张家界的山上“长”满了韩国人?开封王婆为何火了主播靠辱骂母亲走红被批捕封号代拍被何赛飞拿着魔杖追着打阿根廷将发行1万与2万面值的纸币库克现身上海为江西彩礼“减负”的“试婚人”因自嘲式简历走红的教授更新简介殡仪馆花卉高于市场价3倍还重复用网友称在豆瓣酱里吃出老鼠头315晚会后胖东来又人满为患了网友建议重庆地铁不准乘客携带菜筐特朗普谈“凯特王妃P图照”罗斯否认插足凯特王妃婚姻青海通报栏杆断裂小学生跌落住进ICU恒大被罚41.75亿到底怎么缴湖南一县政协主席疑涉刑案被控制茶百道就改标签日期致歉王树国3次鞠躬告别西交大师生张立群任西安交通大学校长杨倩无缘巴黎奥运