CN108268125A - 一种基于计算机视觉的运动手势检测及跟踪方法 - Google Patents
一种基于计算机视觉的运动手势检测及跟踪方法 Download PDFInfo
- Publication number
- CN108268125A CN108268125A CN201611266701.5A CN201611266701A CN108268125A CN 108268125 A CN108268125 A CN 108268125A CN 201611266701 A CN201611266701 A CN 201611266701A CN 108268125 A CN108268125 A CN 108268125A
- Authority
- CN
- China
- Prior art keywords
- gesture
- image
- motion
- gestures
- acceleration
- 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
- 238000001514 detection method Methods 0.000 title claims abstract description 16
- 238000000034 method Methods 0.000 claims abstract description 34
- 230000001133 acceleration Effects 0.000 claims abstract description 26
- 238000001914 filtration Methods 0.000 claims abstract description 16
- 230000008859 change Effects 0.000 claims abstract description 11
- 238000005286 illumination Methods 0.000 claims abstract description 9
- 238000004364 calculation method Methods 0.000 claims abstract description 8
- 238000007781 pre-processing Methods 0.000 claims abstract description 8
- 230000011218 segmentation Effects 0.000 claims description 6
- 238000003706 image smoothing Methods 0.000 claims description 4
- 230000008569 process Effects 0.000 abstract description 8
- 230000003993 interaction Effects 0.000 description 17
- 238000005516 engineering process Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 4
- 230000007797 corrosion Effects 0.000 description 3
- 238000005260 corrosion Methods 0.000 description 3
- 238000012545 processing Methods 0.000 description 3
- 230000009471 action Effects 0.000 description 2
- 239000003086 colorant Substances 0.000 description 2
- 230000007547 defect Effects 0.000 description 2
- 238000000605 extraction Methods 0.000 description 2
- 230000005484 gravity Effects 0.000 description 2
- 239000011159 matrix material Substances 0.000 description 2
- 238000012549 training Methods 0.000 description 2
- 241000282412 Homo Species 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001186 cumulative effect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000007613 environmental effect Effects 0.000 description 1
- 230000003628 erosive effect Effects 0.000 description 1
- 238000009499 grossing Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/017—Gesture based interaction, e.g. based on a set of recognized hand gestures
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- General Health & Medical Sciences (AREA)
- Psychiatry (AREA)
- Social Psychology (AREA)
- Multimedia (AREA)
- Image Analysis (AREA)
Abstract
本发明提出一种基于计算机视觉的运动手势检测及跟踪方法,包括以下步骤:S1图像预处理,对摄像头捕获的手势图像进行预处理;S2加速度及角度计算,计算图像中像素点的加速度及角度变化;S3光照平衡,使用直方图均衡化对光照变化进行补偿;S4手势检测,使用肤色模型对人手部分图像进行检测;S5手势轮廓查找,使用连通区域寻找人手轮廓;S6手势过滤,通过指尖点、掌间点的定位实现非手势部分过滤;S7运动手势检测,利用均值漂移方法,在窗体内迭代寻找运动的手势图像。
Description
技术领域
本发明涉及人机交互领域,具体涉及一种基于计算机视觉的运动手势检测及跟踪方法。
背景技术
为了帮助残疾人/老年人保持与外界的交流、沟通,提高他们的独立生活能力,减轻家庭、社会的负担,世界各地许多科学家们开始探索研究新型的人机交互方式。所谓交互技术包括人与执行机构(如机器人等)的交互和执行机构与环境的交互。前者的意义在于可由人去实现执行机构在未知或非确定环境中难以做到的规划和决策;而后者的意义在于可由机器人去完成人所不能达到的恶劣环境或远距离环境中的作业任务。
传统的人机交互设备主要有键盘、鼠标、手写板、触摸屏、游戏控制器等,这些设备利用使用者的手部运动来实现人机交互的功能。手势交互支持更多更自然的交互方式,提供了以人为中心而不是以设备为中心的交互技术,从而使用户将注意力集中在本来该做的事情以及内容上而不是集中在设备上。
常见的手势交互技术分为基于数据手套传感器的手势交互技术和基于计算机视觉的手势交互技术两种。
基于数据手套传感器的手势交互技术,需要用户佩戴数据手套或者位置传感器等硬件设备,利用传感器采集手指状态及运动轨迹等信息,从而进行运算处理让计算机识别手势动作,实现各种交互控制。此方式优点在于识别精准鲁棒性能好、算法相对简单、运算数据少且快速、可以精准获取手的立体空间动作,完全没有视觉系统的环境光照变化和背景复杂等问题干扰。缺点在于设备穿戴复杂、成本高、用户操作使用不便且手势动作受一定约束限制,因此难以大量投入实际生产使用。
基于计算机视觉的手势交互技术通过机器视觉对摄像头采集到的手势图像序列处理识别,从而和计算机进行交互,这种方法使用摄像头采集手势信息,然后利用肤色模型对人手部分进行分割,从而实现手势检测和识别,最后使用帧间差法实现运动手势的跟踪。该方法的效果取决于肤色模型的准确率,然而人的皮肤颜色不一,难以得到通用、高效的肤色模型;此外,当人手运动速度不均匀时,采用帧间差法跟踪手势会出现中断现象,从而丢失被跟踪手势。
发明内容
本发明目的在于克服现有技术的不足,尤其解决现有基于计算机视觉的手势交互技术中,难以对颜色不一的肤色建立通用、高效的肤色模型,帧间差法运动跟踪出现中断现象的问题。
为解决上述技术问题,本发明提出一种基于计算机视觉的运动手势检测及跟踪方法,主要步骤包括:
S1图像预处理,对摄像头捕获的手势图像进行预处理;
S2加速度及角度计算,计算图像中像素点的加速度及角度变化;
S3光照平衡,使用直方图均衡化对光照变化进行补偿;
S4手势检测,使用肤色模型对人手部分图像进行检测;
S5手势轮廓查找,使用连通区域寻找人手轮廓;
S6手势过滤,通过指尖点、掌间点的定位实现非手势部分过滤;
S7运动手势检测,利用均值漂移方法,在窗体内迭代寻找运动的手势图像。
进一步地,所述步骤S1图像预处理操作包括:图像灰度化、图像平滑、图像二值化操作;
进一步地,所述步骤S2加速度计算操作中,利用加速度值变化快慢协同图像手势坐标点移动速度判断是否为头部或身体抖动所致,利用加速度值倾斜角度协同图像手势坐标点移动范围判断是否为头部或身体移动所致;
进一步地,所述步骤S6手势过滤操作包括:S61指尖点查找、S62掌间定位以及S63手势过滤操作;
进一步地,所述步骤S7运动手势检测操作中,使用方形搜索框对手势实施跟踪,将概率密度计算简化为肤色分割得到的手势目标前景的质心。
本发明与现有技术相比具有以下的有益效果:
本发明方案采用加速度传感器采集加速度数据和计算倾斜角进行消除头部抖动或移动对人手坐标提取的干扰,采用连通区域寻找手势轮廓,并查找指尖点和掌间点实现非手势区域过滤,最后利用简化的均值漂移方法实现运动手势的跟踪,减少了由于身体抖动带来的干扰,同时避免了跟踪中断现象。
附图说明
图1为本发明一种基于计算机视觉的运动手势检测及跟踪方法的一个实施例的流程图。
图2为本发明实施例的加速度倾向角示意图。
图3为本发明实施例的四连通区域和八连通区域的原理对照图。
图4为本发明实施例的指尖点集示意图。
图5为本发明实施例的运动手势检测的程序流程图。
具体实施方式
下面结合附图及具体实施例对本发明进行更加详细与完整的说明。可以理解的是,此处所描述的具体实施例仅用于解释本发明,而非对本发明的限定。
参见图1,本发明实施例的基于计算机视觉的运动手势检测及跟踪方法,主要步骤包括:
S1图像预处理,具体过程包括:S11图像灰度化、S13图像二值化、S12图像平滑。
S11图像灰度化:相机获取的人眼图像是彩色图像,包含的信息量大,图像处理速度较慢。考虑到人机交互对实时性的要求高,对彩色图像进行灰度化处理是必须的。灰度化就是使彩色像素的R、G、B分量值相等的过程,灰度图像中的灰度值等于原彩色图像中的RGB平均值,即
Gray=(R+G+B)/3 (1)
S12图像二值化:用最大类间方差法进行图像二值化,过程为:
设图像共有L个灰度级,灰度值为i的像素点共有ni个,图像共有N个像素点,归一化灰度直方图,令
设定一个阈值t,根据灰度值将像素点分成c0和c1两类。c0的概率ω0、均值μ0:
c1的概率ω1、均值μ1:
其中,由此可知c0和c1的类间方差σ2(t)为:
σ2(t)=ω0(μ-μ0)2+ω1(μ1-μ)2 (6)
于是将t从0到i进行取值,当σ取最大值时t为最佳阈值,即可得到最佳的二值化图像。
S13图像平滑:对二值图像用数学形态学方法进行平滑,减少图像中噪声,过程为:
1)腐蚀的算符为Θ,集合A被集合B腐蚀定义为公式(7):
2)膨胀的算符为集合A被集合B膨胀定义为公式(8):
采用膨胀腐蚀型梯度算子,即用膨胀后的图像减去腐蚀后的图像,即可得到图像中的边缘。由于此时的边缘不是单像素宽连通的,还需要再用区域骨架提取算法对边缘进行细化。
3)设B是图像,S(A)代表A的骨架,B是结构元素,则用公式(9)表示:
其中,K表示将A腐蚀成空集前的迭代次数,即用公式(10)表示为:
Sk(A)称为骨架子集,根据公式(11)可写为:
AΘkB表示连续k次用B对A进行腐蚀。
S2加速度及角度计算,计算图像中像素点的加速度及角度变化;用器件的典型取向作为参考点,其中,x轴和y轴处于水平面内,z轴处于与水平线垂直。参见图2,图2为加速度倾向角示意图。其中θ、ψ、分别为加速度传感器x轴与水平线的夹角,y轴与水平线的夹角,z轴与重力加速度方向的夹角。当加速度传感器处于图2a所示状态,x,y,z三个方向倾斜角度都为0。
重力矢量在坐标轴上的投影会形成等于加速度传感器方向与坐标轴夹角正弦值的输出加速度,x,y,z三个方向的加速度输出值为Ax,Ay,Az。
倾斜角θ、ψ、分别计算如下:
利用加速度值变化快慢协同图像手势坐标点移动速度可判断是否为头部或身体抖动所致,利用加速度值倾斜角度协同图像手势坐标点移动范围可以判断是否为头部或身体移动所致。
S3光照平衡,使用直方图均衡化对光照变化进行补偿;直方图均衡化使图像的灰度间距拉开或使灰度分布均匀,从而增大反差,使图像细节清晰,达到图像增强的目的。其具体方法是:
首先给出原始图像的所有灰度级Sk(k=0,1,......,L-1);然后统计原始图像各灰度级的像素数nk;利用式(13)计算原始图像的直方图后再用(14)式计算原始图像的积累直方图:
P(Sk)=nk/n,k=0,1,...,L-1 (13)
p(tk)=nk/n (15)
其中,n是图像像素总数。对灰度值tk取整,确定Sk→tk的映射关系后统计新直方图各灰度级的像素数nk;最后利用式(15)计算新的直方图。
S4,手势检测,使用肤色模型对人手部分图像进行检测;采用确定Cb和Cr最大值以及最小值的矩形肤色线性方程模型,矩形模型可用四根直线L1,L2,L3,L4表示如下:
L1:Cb×T1+T2<Cr (16)
L2:Cb×T2+T3<Cr (17)
L3:Cb×T5+T6>Cr (18)
L4:Cb×T7+T8>Cr (19)
其中T1=-1.22265625、T2=267.3330078125、T3=0.875、T4=29.375、T5=-1.3330078125、T6=316.3330078125、T7=0.064453125、T8=170.612903225。上述线性方程分割模型的参数是对有限幅图像进行离线训练得到的,通过离线训练的参数检测不同应用场景下的肤色。当图像像素点中的灰度落在矩阵范围内,就认为是人体肤色。手势检测的结果参见图3。
S5手势轮廓查找,使用连通区域寻找人手轮廓。一个轮廓一般对应一系列的点,也就是图像中的一条曲线,是通过顺序找出边缘点来跟踪边界的。由于每个区域内的像素值相同,可通过四连通或八连通区域进行轮廓查找。四连通和八连通可标注二进制图像中已连接的部分,语法实现为L=(BW,n)[L,num]。其中BW为输入图像;n可取值为4或8表示连接四连通或八连通区域;num为找到的连通区域数目;L为输出图像矩阵,其元素值为整数,背景被标记为0,第一个连通区域被标记为1,第二个连通区域被标记为2,依此类推。
参见图4,四连通和八连通的原理对照图,图中的0是中心像素点所在的位置就是四连通或八连通区域,即四连通区域指0的上下左右四个点,八连通还包含左上角、右上角、左下角和右下角四个位置,故八连通区域包含了四连通区域。轮廓查找结束后,会得到多个轮廓,通过最大轮廓定义筛选获取唯一的轮廓作为手势轮廓,并用于后续的指尖查找。
S6手势过滤,通过指尖点、掌间点的定位实现非手势部分过滤。轮廓查找后会寻找到部分非手势区域的轮廓,需要通过指尖点、掌间点来区分手势区域和非手势区域。包括S61指尖点查找、S62掌间定位以及S63手势过滤操作,具体描述如下:
S61指尖点查找:从点集的角度来说,指尖在手掌轮廓中是一个凸包,凸包是指一个最小凸多边形,满足一个点集中的所有点在多边形边上或者内部,参见图5,线段围成的多边形就是点集{p0,p1……p12}的凸包,其中p0,p1,……p12均指节点或顶点。这里用凸包查找进行指尖的定位,即识别手势中凸包的个数和位置,即可识别出当前指尖的个数和位置。
S62掌间定位:通过指尖定位进行掌间定位计算,掌间与指尖间的定位起着相互制约的作用。通过计算极小值点得到掌间定位,即通过公式(20)找出指尖点间的各点坐标与其所对应前后坐标点间的相对位置来做出的判断找到基于相邻两个指尖点间的极小值点。
f(x0)≥f(x1)andf(x0)≥f(x2) (20)
其中f(x0)为当前垂直方向像素点坐标值,f(x1)与f(x2)分别为其前驱坐标值与后继坐标值,代码中选择的前驱后继跨度为3个像素点,此意图是为了防止像素点间构成线条的布局影响。
S63手势过滤,通过指尖点和掌间点进行过滤。手势区域必定存在指尖点和掌间点,如轮廓区域没有掌间点和指尖点或者仅有少量掌间点和指尖点,则判断为非手势区域,将过滤该区域的轮廓。
S7运动手势检测,利利用均值漂移方法,在窗体内迭代寻找运动的手势图像。参见图6,图6为运动手势检测的程序流程图。在本实施例中,使用方形搜索框对手势实施跟踪,将概率密度计算简化为求之前通过肤色分割得到的手势目标前景的质心,具体方法描述如下:
1、选择窗的大小和初始位置;本实施例中采用肤色分割得到的手势目标轮廓边界作为搜索窗口,初始位置设为肤色分割得到的手势所在位置;
2、计算此时窗口内的密度分布局部中心;使用矩形框零阶矩和一阶矩来代替密度分布计算,矩形零阶矩m00表示如下:
其中,I(x,y)表示像素点(x,y)处的灰度值。则两个一阶矩m10,m01分别表示水平方向密度和垂直方向密度:
由零阶矩和一阶矩可以计算出图像I(x,y)中目标的质心
3、调整窗口的中心到局部中心;将原窗口的中心调整到目标的质心
4、重复步骤2和步骤3,直到"收敛",也即窗口每次的移动距离小于设定值。本实施例中,设定值设为10个像素值。
Claims (5)
1.一种基于计算机视觉的运动手势检测及跟踪方法,其特征在于,包括以下步骤:
S1图像预处理,对摄像头捕获的手势图像进行预处理;
S2加速度及角度计算,计算图像中像素点的加速度及角度变化;
S3光照平衡,使用直方图均衡化对光照变化进行补偿;
S4手势检测,使用肤色模型对人手部分图像进行检测;
S5手势轮廓查找,使用连通区域寻找人手轮廓;
S6手势过滤,通过指尖点、掌间点的定位实现非手势部分过滤;
S7运动手势检测,利用均值漂移方法,在窗体内迭代寻找运动的手势图像。
2.根据权利要求1所述的一种基于计算机视觉的运动手势检测及跟踪方法,其特征在于,所述步骤S1图像预处理操作包括:图像灰度化、图像平滑、图像二值化操作。
3.根据权利要求1所述的一种基于计算机视觉的运动手势检测及跟踪方法,所述步骤S2加速度计算操作中,利用加速度值变化快慢协同图像手势坐标点移动速度判断是否为头部或身体抖动所致,利用加速度值倾斜角度协同图像手势坐标点移动范围判断是否为头部或身体移动所致。
4.根据权利要求1所述的一种基于计算机视觉的运动手势检测及跟踪方法,其特征在于,所述步骤S6手势过滤操作包括:S61指尖点查找、S62掌间定位以及S63手势过滤操作。
5.根据权利要求1所述的一种基于计算机视觉的运动手势检测及跟踪方法,其特征在于,所述步骤S7运动手势检测操作中,使用方形搜索框对手势实施跟踪,将概率密度计算简化为肤色分割得到的手势目标前景的质心。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611266701.5A CN108268125A (zh) | 2016-12-31 | 2016-12-31 | 一种基于计算机视觉的运动手势检测及跟踪方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201611266701.5A CN108268125A (zh) | 2016-12-31 | 2016-12-31 | 一种基于计算机视觉的运动手势检测及跟踪方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN108268125A true CN108268125A (zh) | 2018-07-10 |
Family
ID=62770332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201611266701.5A Pending CN108268125A (zh) | 2016-12-31 | 2016-12-31 | 一种基于计算机视觉的运动手势检测及跟踪方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108268125A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109544756A (zh) * | 2018-11-27 | 2019-03-29 | 上海应用技术大学 | 一种基于Mean Shift的安全监控系统 |
CN111857334A (zh) * | 2020-07-02 | 2020-10-30 | 上海交通大学 | 人体手势字母的识别方法、装置、计算机设备及存储介质 |
CN112162688A (zh) * | 2020-08-20 | 2021-01-01 | 江苏大学 | 一种基于手势识别的车载虚拟屏交互信息系统 |
CN114167980A (zh) * | 2021-11-18 | 2022-03-11 | 深圳市鸿合创新信息技术有限责任公司 | 手势处理方法、装置、电子设备和可读存储介质 |
-
2016
- 2016-12-31 CN CN201611266701.5A patent/CN108268125A/zh active Pending
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109544756A (zh) * | 2018-11-27 | 2019-03-29 | 上海应用技术大学 | 一种基于Mean Shift的安全监控系统 |
CN111857334A (zh) * | 2020-07-02 | 2020-10-30 | 上海交通大学 | 人体手势字母的识别方法、装置、计算机设备及存储介质 |
CN112162688A (zh) * | 2020-08-20 | 2021-01-01 | 江苏大学 | 一种基于手势识别的车载虚拟屏交互信息系统 |
CN114167980A (zh) * | 2021-11-18 | 2022-03-11 | 深圳市鸿合创新信息技术有限责任公司 | 手势处理方法、装置、电子设备和可读存储介质 |
CN114167980B (zh) * | 2021-11-18 | 2024-05-07 | 深圳市鸿合创新信息技术有限责任公司 | 手势处理方法、装置、电子设备和可读存储介质 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Zhou et al. | A novel finger and hand pose estimation technique for real-time hand gesture recognition | |
Hasan et al. | RETRACTED ARTICLE: Static hand gesture recognition using neural networks | |
Rautaray et al. | Real time multiple hand gesture recognition system for human computer interaction | |
Yang et al. | Hand gesture recognition: An overview | |
CN103984928A (zh) | 基于景深图像的手指手势识别方法 | |
CN108268125A (zh) | 一种基于计算机视觉的运动手势检测及跟踪方法 | |
CN110688965A (zh) | 基于双目视觉的ipt模拟训练手势识别方法 | |
Huang et al. | Deepfinger: A cascade convolutional neuron network approach to finger key point detection in egocentric vision with mobile camera | |
US10803604B1 (en) | Layered motion representation and extraction in monocular still camera videos | |
CN106200971A (zh) | 基于手势识别的人机交互系统装置及操作方法 | |
Prakash et al. | Gesture recognition and finger tip detection for human computer interaction | |
Guo | Research of hand positioning and gesture recognition based on binocular vision | |
CN108255285A (zh) | 一种基于掌间点检测的运动手势检测方法 | |
Saikia et al. | Head gesture recognition using optical flow based classification with reinforcement of GMM based background subtraction | |
Sokhib et al. | A combined method of skin-and depth-based hand gesture recognition. | |
Chaudhary et al. | A vision-based method to find fingertips in a closed hand | |
CN109214295B (zh) | 基于Kinect v2和Leap Motion的数据融合的手势识别方法 | |
Simion et al. | Finger detection based on hand contour and colour information | |
Raza et al. | An integrative approach to robust hand detection using CPM-YOLOv3 and RGBD camera in real time | |
Ghodichor et al. | Virtual mouse using hand gesture and color detection | |
Panduranga et al. | Dynamic hand gesture recognition system: a short survey | |
CN108255288A (zh) | 基于加速度补偿和肤色模型的手势检测方法 | |
CN108255287A (zh) | 基于加速度补偿和掌间点检测的手势检测方法 | |
Khan et al. | Gesture recognition using Open-CV | |
CN108255286A (zh) | 基于加速度补偿和帧间差法的运动手势检测方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20180710 |
|
WD01 | Invention patent application deemed withdrawn after publication |