CN103268482B - 一种低复杂度的手势提取和手势深度获取方法 - Google Patents

一种低复杂度的手势提取和手势深度获取方法 Download PDF

Info

Publication number
CN103268482B
CN103268482B CN201310214597.5A CN201310214597A CN103268482B CN 103268482 B CN103268482 B CN 103268482B CN 201310214597 A CN201310214597 A CN 201310214597A CN 103268482 B CN103268482 B CN 103268482B
Authority
CN
China
Prior art keywords
section
gesture
value
difference
row
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.)
Active
Application number
CN201310214597.5A
Other languages
English (en)
Other versions
CN103268482A (zh
Inventor
任仡奕
吕俊宏
王伟
周莹
谢翔
李国林
王志华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Tsinghua University
Original Assignee
Tsinghua University
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Tsinghua University filed Critical Tsinghua University
Priority to CN201310214597.5A priority Critical patent/CN103268482B/zh
Publication of CN103268482A publication Critical patent/CN103268482A/zh
Application granted granted Critical
Publication of CN103268482B publication Critical patent/CN103268482B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Image Processing (AREA)

Abstract

本发明公开了一种低复杂度的手势提取和手势深度获取的方法,涉及手势识别领域,所述方法包括:对左右图像的每一行进行分段,根据手可能出现的范围,划定视差值范围,在所述视差值范围内对左图像和右图像的段进行段间匹配,匹配的段则为提取出的手势,与之对应的匹配段的匹配视差值则为手势的视差值。本发明所述方法能够低复杂度地进行手势提取并获取手势的视差,进而可以获得手势的深度。所述方法计算量小、复杂度低,而且受光照、复杂背景以及其他外界干扰的影响较小。

Description

一种低复杂度的手势提取和手势深度获取方法
技术领域
本发明涉及手势识别领域,特别涉及一种低复杂度的手势提取和手势深度获取方法。
背景技术
手势操作是一种方便,快捷,直观的人机交互方式,有着广泛的应用,尤其是在穿戴式设备中。穿戴式设备由于其体积,重量的限制以及对实时性的较高要求,因此需要一种低复杂度的手势识别方法。低复杂度的识别方法可以降低功耗,从而不需要体积大,重量重的电池来提供庞大的电力。通过获取手势视差,可以知道手相对于穿戴式设备的三维坐标,进而可以进行三维的手势识别,从而让人们在三维空间中进行手势操作,因此手势提取和手势视差获取是进行手势操作的第一步也是很关键的一步。
如公开号为CN101763515A,CN101661556A以及CN1218936A的专利申请所述的方法,需要建立人手肤色模型,受光线影响较大,且会受其他颜色近似的物体的干扰,如他人的手、人脸等,而且只能适用于特定种群的人群。
如公开号为CN1360440A的专利申请所述的方法,需要对每个像素都进行操作,运算复杂,实现功耗较大,不适合便携式的穿戴式设备使用。
如公开号为CN102194097A的专利申请所述的方法,需要静止的背景以提取手势,这要求穿戴式设备保持不动以及背景不动,对实际应用带来了限制。
针对以上方法的不足,本发明利用穿戴式设备的手势操作的特点,即人在这类情况下手离穿戴式设备最近,通过在手会出现的视差范围内匹配左右图像,来提取手势,因此可以避免复杂变化的背景,变化光照以及其他人的手或者人脸对手势提取的干扰。对于左右图像的匹配,采用逐行的段和段的匹配方法,极大的减小了运算量,使算法复杂度降低。
发明内容
(一)要解决的技术问题
本发明的目的在于提供一种适用于穿戴式设备使用的,近距离,低功耗,受环境、光线等干扰小的低复杂度的手势提取和手势深度获取方法。
(二)技术方案
为解决上述技术问题,本发明提供了一种低复杂度的手势提取和手势深度获取方法,具体包括以下步骤:
S1、对图像传感器采集的待提取手势的左右图像进行矫正,使左右图像对应的极线在同一行上;
S2、分别选取左图像和右图像的第i行;
S3、分别在左右图像中找出第i行中的边界点,依据边界点把上述行分割成段;
S4、对左右图像的第i行的各段进行匹配,能够匹配的段作为提取的手势,根据匹配段的匹配视差值计算手势深度;
S5、更新i的取值,重复步骤S2至S4,将左右图像的所有行都处理完,完成手势提取以及手势深度获取过程。
具体地,所述左右图像是RGB格式图像,或者由其他格式转换成的RGB格式的图像。
具体地,步骤S3中边界点的确定具体包括以下步骤:
S3.1、设定一阈值C0
S3.2、分别提取所述第i行中每个像素的R、G、B分量,构造三个N维向量R=(r1,r2,…,rN)、G=(g1,g2,…,gN)、B=(b1,b2,…,bN),其中N表示所述行包含的像素数量,并分别计算上述三个分量的梯度▽R、▽G、▽B;
S3.3、计算上述三个梯度▽R、▽G、▽B中两两梯度对应元素的差值的绝对值,得到向量dRG、dGB、dBR,对上述向量滤波得到dRG'、dGB'、dBR';
S3.4、利用dRG'、dGB'、dBR'构造diff函数;
S3.5、求diff函数的极大值点,并将所述diff函数的极大值点中大于所述阈值C0的点作为边界点;
所述diff函数表示为:
diff=MAX(X,Y,Z)=[max(X1,Y1,Z1),max(X2,Y2,Z2),...,max(XM-1,YM-1,ZM-1)]其中Xk指向量X中的第k个元素的值,其中Yk指向量Y中的第k个元素的值,其中Zk指向量Z中的第k个元素的值;符号max(Xk,Yk,Zk)指取Xk,Yk,Zk中的最大值,其中1≤k≤M-1,M为向量的元素个数;上述步骤中X、Y、Z分别对应经过步骤S3.3得到的dRG'、dGB'、dBR'。
优选地,步骤S3.3所述的滤波方法为高斯滤波或者中值滤波。
进一步地,步骤S4具体包括以下步骤:
S4.1、选取右图像第i行的第kR段,标记为SR
S4.2、选取所有未匹配的左图像第i行的段,从中筛选出与SR的视差在一定视差范围内的段;
S4.3、逐一计算上述筛选出的左图像的段与SR的长度差,进一步筛选出长度差小于预设阈值的所有左图像第i行的段;
S4.4、计算从上述步骤筛选出的左图像的段与SR从的差别以及对应的段的匹配视差值,从中选取与SR的差别最小的段,若对应差别小于或等于预设阈值,则认为该段与SR匹配,并将对应的段的匹配视差值作为相应的匹配段的匹配视差值;若对应差别大于预设阈值,则认为不存在与SR相匹配的左图像的段;
S4.5、更新kR的取值,重复步骤S4.1至S4.4,直至右图像的段全部处理完毕;
S4.6、输出上述步骤得到的左右图像相匹配的段作为提取的手势,并根据上述匹配段的匹配视差值计算手势的深度。
进一步地,步骤S4也能够通过以下步骤实现:
S4.1’、选取左图像第i行的第kL段,标记为SL
S4.2’、选取所有未匹配的右图像第i行的段,从中筛选出与SL的视差在一定视差范围内的段;
S4.3’、逐一计算上述筛选出的右图像的段与SL的长度差,进一步筛选出长度差小于预设阈值的所有右图像第i行的段;
S4.4’、计算从上述步骤筛选出的右图像的段与SL的差别以及对应的段的匹配视差值,从中选取与SL的差别最小的段,若对应差别小于或等于预设阈值,则认为该段与SL匹配,并将对应的段的匹配视差值作为相应的匹配段的匹配视差值;若对应差别大于预设阈值,则认为不存在与SL相匹配的右图像的段;
S4.5’、更新kL的取值,重复步骤S4.1’至S4.4’,直至左图像的段全部处理完毕;
S4.6’、输出上述步骤得到的左右图像相匹配的段作为提取的手势,并根据上述匹配段的匹配视差值计算手势的深度。
具体地,所述视差是指选取的左右图像的段中相同位置的像素分别在左右图像中的列的序号的差值;
所述长度差是指选取的左右图像的段所包含的像素个数的差值。
具体地,所述视差范围是从(B·f)/Z1到(B·f)/Z0,其中f是采集左右图像的图像传感器的焦距,B是两图像传感器间的基线,手势操作过程中,手势到双目视觉系统的距离从Z0变到Z1
具体地,所述视差范围还可以是从0到(B·f)/Z0,其中f是采集左右图像的图像传感器的焦距,B是两图像传感器间的基线,手势操作的最近距离是Z0,最远距离是Z1
在步骤S4.5和S4.5’之后还包括步骤:
S4B、判断左右图像匹配段的匹配视差是否在从(B·f)/Z1到(B·f)/Z0的范围内;若在该范围内,则保留上述匹配段;若不在从(B·f)/Z1到(B·f)/Z0的范围内,则舍去。
具体地,所述的差别能够用SAD或者SSD计算;
计算差别以及匹配视差值的具体步骤如下:
S4.4.1、在选取的左右图像的段中,标记较短的段的长度为Lenmin,较长的段的长度为Lenmax,初始化j=1;
S4.4.2、在较长的段中选取第j到j+Lenmin-1个连续像素点作为比较段;
S4.4.3、计算:
SAD ( j ) = Σ m = 1 Len min Σ X ∈ { R , G , B } | X ( m ) L - X ( m ) R |
或者
SSD ( j ) = Σ m = 1 Len min Σ X ∈ { R , G , B } ( X ( m ) L - X ( m ) R ) 2
其中X(m)L是指选取的左图像的段中,上述截取的长度为Lenmin的连续像素点的第m个像素的X分量值;X(m)R是指选取的右图像的段中,上述截取的长度为Lenmin的连续像素点的第m个像素的X分量的值;
S4.4.4、j++;
S4.4.5、判断j是否大于Lenmax-Lenmin+1?如果是,则转至步骤S4.4.6;如果否,则转至步骤S4.4.2;
S4.4.6、若采用SAD来计算,则找出使SAD(j)最小的j,若采用SSD来计算,则找出使SSD(j)最小的j;
将对应的差别SAD(j)或者SSD(j)作为选取的左右图像的段的差别;将较长的段中选取的第j到j+Lenmin-1个像素点与较短的段对应的视差值作为段的匹配视差值。
优选地,步骤S4和步骤S5之间还包括以下步骤:
S5A、对上述步骤提取的手势进行滤波,起到去噪和平滑的作用。
(三)有益效果
本发明提供了一种低复杂度的手势提取和手势深度获取方法,利用穿戴式设备的手势操作的特点,即人在这类情况下手离穿戴式设备最近,通过在手会出现的视差范围内匹配左右图像,来提取手势并通过计算手势视差获取手势的深度。本发明提供的方法可以低复杂度的提取手势并获取手势视差,所述方法不受人种、肤色限制,受复杂背景、变化光线以及其他人手和人脸的影响较小。
附图说明
图1是本发明实施例1的低复杂度的手势提取和手势深度获取方法的流程图;
图2是图1中步骤S3的具体方法流程图;
图3是图1中步骤S4的具体方法流程图;
图4是图3中步骤S4.4的具体方法流程图;
图5是本发明实施例1的极线示意图;
图6是本发明实施例1的边界点示意图;
图7是本发明实施例1的最终提取出来的手势的示意图;
图8是本发明实施例1的最终提取出来的手势视差的示意图;
图9是本发明实施例1的RGB三个分量的示意图;
图10是本发明实施例1的RGB三个分量梯度的示意图;
图11是本发明实施例1的RGB三个分量梯度两两之间差值的示意图;
图12是图2中步骤S3.5中所述的的示意图。
具体实施方式
下面结合附图和实施例,对本发明的具体实施方式作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。
实施例1
在实施例1中,该方法接收来自组成双目视觉系统的两图像传感器的左右图像,或者接收来自于存储设备中已采集好的由双目视觉系统两图像传感器采集的左右图像。
步骤S1:
对左右图像进行图像矫正(imagerectification),使左右图像相对应的极线(epipolarline)在同一行上。
其中极线的定义如下给出:如图5,OL为第一个图像传感器的光心,OR为第二个图像传感器的光心;IL为第一个图像传感器的图像平面,IR为第二个图像传感器的图像平面;OLOR的连线叫做基线(baseline),基线与图像平面IL和IR的交点为极点(epipoleorepipolarpoint),分别为EL和ER;空间中任意一物体P到图像平面的成像为pL和pR,pL是OLP与IL的交点,pR是ORP与IR的交点;两个图像传感器采集到的任意一物体P和图像传感器的光学中心OL和OR组成的射线OLP和ORP定义了一个极面(epipolarplane),该极面与图像平面IL和IR相交于极线,即为图5中的直线pLEL和pRER
步骤S2:
分别选取左图像和右图像的第i行(1≤i≤图像的行数)。
步骤S3:
找出左图像的边界,边界个数为个,依据边界将左图像的第i行分割成段(如图6中的第300行,一共有10个边界,该行被分为11段,其中白色符号+表示边界);找出右图像的边界,边界个数为个,依据边界将右图像的第i行分割成段。
其中,的上标L表示左图像,的上标R表示右图像,下同。
步骤S4:
将左图像中的段与右图像中的段进行段和段的匹配,并求出匹配段的匹配视差值(disparity);匹配的段则认为是手势一部分,对应的匹配段的匹配视差值则为手势的视差,从该视差可以很容易的得到手的深度Z=(B·f)/d,其中采集左右图像的图像传感器的焦距是f,两图像传感器间的基线是B,所述匹配段的匹配视差值为d。
步骤S5:
判断是否左右图像的每一行都被处理过:如果否,转至步骤S2,选取另一未被处理的左右图像的i行;如果是,则结束。
如图7所示,图中白色部分为根据上述手势片段恢复出的手势,图8中,视差为0的部分为非手的部分,其余部分表示手势的视差,视差大小以颜色亮度表示。
其中步骤S3包括以下步骤:
步骤S3.1:
若图像为RGB格式,直接取得左图像第i行的RGB三个分量(如图9为图6的第300行的RGB三个分量的示意图,图9上为R分量的值,图9中为G分量的值,图9下为B分量的值)和右图像第i行的RGB三个分量;如果是其他格式,可以通过转换得到RGB格式,再取得左图像第i行的RGB三个分量和右图像第i行的RGB三个分量。
步骤S3.2:
求左图像的第i行RGB三个分量的梯度:R分量梯度为G分量梯度为B分量梯度为(如10为图9的RGB三个分量的梯度的示意图,图10上为R分量梯度,图10中为G分量梯度,图10下为B分量梯度);并求右图像的第i行RGB三个分量的梯度:R分量梯度为G分量梯度为B分量梯度为
其中所述X分量梯度为:
▽Xi=[X(i,2)-X(i,1),X(i,3)-X(i,2),…,X(i,N)-X(i,N-1)]
其中X(m,n)是指图像中第m行的第n列像素的X分量的值,N为图像的列数,即图像一行所包含的像素个数。
步骤S3.3:
求左图像的两两差值的绝对值,即 dRG i L = | ▿ R i L - ▿ G i L | , dGB i L = | ▿ G i L - ▿ B i L | , dBR i L = | ▿ B i L - ▿ R i L | (如图11的RGB三个分量梯度两两之间的差值的示意图,图11上为,图11中为,图11下为);求右图像的两两差值的绝对值,即 dRG i R = | ▿ R i R - ▿ G i R | , dGB i R = | ▿ G i R - ▿ B i R | , dBR i R = | ▿ B i R - ▿ R i R | .
其中符号|X|表示求X的绝对值。
步骤S3.4:
分别对进行滤波,分别得到
其中所述的滤波方法可以是高斯滤波或者是中值滤波。
步骤S3.5:
diff i L = MAX ( dRG i L ′ , dGB i L ′ , dBR i L ′ ) (如图12);求 diff i R = MAX ( dRG i R ′ , dGB i R ′ , dBR i R ′ ) .
其中符号MAX(X,Y,Z)是指集合[max(X1,Y1,Z1),max(X2,Y2,Z2),…,max(XN-1,YN-1,ZN-1)],其中Xk指向量X中的第k个(1≤k≤N-1)元素的值,其中Yk指向量Y中的第k个(1≤k≤N-1)元素的值,其中Zk指向量Z中的第k个(1≤k≤N-1)元素的值;符号max(Xk,Yk,Zk)指取Xk,Yk,Zk中的最大值,其中1≤k≤N-1。
步骤S3.6:
找出大于一阈值C0的极大值点作为边界点;假设左图像共有个边界点,其中第kL个边界点对应的列数为C(i,kL)L,这些边界点将左图像分成段,第kL段长度为Len(i,kL)L=C(i,kL)L-C(i,kL-1)L,其中C(i,0)L=1,N为图像的列数,即图像一行所包含的像素个数。
找出的极大值并且大于一阈值C0的点作为边界点,假设右图像共有个边界点,其中第kR个边界点对应的列数为C(i,kR)R,这些边界点将右图像分成段,第kR段长度为Len(i,kR)R=C(i,kR)R-C(i,kR-1)R,其中C(i,0)R=1,N为图像的列数,即图像一行所包含的像素个数。
其中所述C0越大,分段越粗,计算越简单,但是分段越不精确。C0的取值是以可以提取出手的边缘为准,本实施例中,图像传感器在照度合适的大部分情况下,所述C0=2.5。
其中步骤S4包括以下步骤:
步骤S4.1:
选取右图像的第kR
步骤S4.2:
选取左图像的第kL且该段未被匹配成对,并且该段与右图像的第kR段的相同位置的像素分别在左右图像中的列的序号的差值在一定视差范围内,如该段的第一个(最后一个)像素的列数C(i,kL-1)L(或者C(i,kL)L)与右图像的第kR段的第一个(最后一个)像素的列数C(i,kR-1)R(或者C(i,kR)R)的视差在一定视差范围内。
该视差范围确定如下:手势操作到双目视觉系统的距离是Z,采集左右图像的图像传感器的焦距是f,两图像传感器间的基线是B,则视差d=(B·f)/Z,若手势操作的距离是从Z0到Z1,则所述的视差范围为从(B·f)/Z1到(B·f)/Z0
步骤S4.3:
判断右图像的第kR段的长度Len(i,kR)R和左图像第KL段长度Len(i,kL)L的差是否足够小?如果小于等于一门限值则转至步骤S4.4;如果大于该门限值,则转至步骤S4.5。
其中所述门限值可以设为min(C1·min(Len(i,kL)L,Len(i,kR)R),C2);其中符号min(X,Y)表示取X,Y中的最小值;C1确定如下:
假设人手指横截面近似为矩形,宽度为x,厚度为y,采集左右图像的图像传感器的焦距为f,两图像传感器间的基线为B,若手势操作的距离是从Z0到Z1,则对应的视差范围为从(B·f)/Z1到(B·f)/Z0;则C1应为在手势操作范围内,两个摄像头采集到手指的最大的相对差别,在本实施例的设备和应用下,近似地令 C 1 = ( x 2 + y 2 - x ) · B 2 + Z 0 2 x · Z 0 ≈ x 2 + y 2 - x x , 再考虑分段误差的影响,最终取C1=0.5;
C2的确定如下:
假设人手指横截面近似为矩形,宽度为x,厚度为y,采集左右图像的图像传感器的焦距为f,两图像传感器间的基线为B,若手势操作的距离是从Z0到Z1,则对应的视差范围为从(B·f)/Z1到(B·f)/Z0;则C2应为在手势操作范围内,两个摄像头采集到手指的最大的绝对差别,在本实施例的设备和应用下,近似地令 C 2 = ( x 2 + y 2 - x ) · B 2 + Z 0 2 · f Z 0 2 ≈ ( x 2 + y 2 - x ) · f Z 0 , 再考虑分段误差的影响,最终取C2=30;或者还可以令C2是随着搜索的视差变化而自适应的,其中Z0=(B·f)/d,d为搜索的视差,则C2可以近似等于在本实施例的设备和应用下,C2=0.17d;
步骤S4.4:
计算右图像的第kR段和左图像第kL段的差别,并计算其相应的段的匹配视差值。该差别可以用SAD,SSD等方法来计算。
步骤S4.5:
判断左图像未被匹配成对,且与右图像的第kR段的视差在所述视差范围内(从(B·f)/Z1到(B·f)/Z0)的段是否都遍历了一次?如果是,则转至步骤S4.6;如果不是,则转至步骤S4.2,选择一个新的左图像的第kL段。
步骤S4.6:
找出使差别最小且小于一门限值的左图像的某段,记该段为左图像的段,则标记右图像的第kR段和左图像第段已被匹配成对,对应的段的匹配视差值则为匹配段的匹配视差值。
所述门限值可以为3C3·min(Len(i,kL)L,Len(i,kR)R);C3为系数,若C3越大,则段更容易被认为匹配,但是也会更容易误匹配。C3与图像传感器的噪声大小,和图像传感器间的色差有关,在本实施例的图像传感器下,若使用SAD,C3取值为25;若使用SSD,C3取值为625。
步骤S4.7:
判断是否右图像所有段都遍历了一次?如果是,则结束;如果不是,则转至步骤S4.1,选取一新的右图像的第kR
需要注意的是,上述步骤中如果先固定左图像的一段,然后在右图像中寻找与该段匹配的段效果也是一样的,也应视为属于本发明要保护的范围。
其中步骤S4.4包括以下步骤:
步骤S4.4.1:
比较右图像的第kR段的长度Len(i,kR)R和左图像第kL段长度Len(i,kL)L的大小,令Lenmin=min(Len(i,kL)L,Len(i,kR)R),Lenmax=max(Len(i,kL)L,Len(i,kR)R);并初始化j=1。
步骤S4.4.2:
选取长度较长的段第j到j+Lenmin-1个像素点作为比较段(1≤j≤Lenmax-Lenmin+1)。
步骤S4.4.3:
比较长度较短的段和所述比较段的差别大小,所述差别可以用SAD或者SSD来表示。
假设左图像的第kR段为长度较短的段,上述的SAD为:
SAD ( j ) = Σ m = 1 Len min Σ X ∈ { R , G , B } | X ( i , C ( i , k L - 1 ) L + m - 1 ) L - X ( i , C ( i , k R - 1 ) R + j + m - 2 ) R |
上述的SSD为:
SSD ( j ) = Σ m = 1 Len min Σ X ∈ { R , G , B } ( X ( i , C ( i , k L - 1 ) L + m - 1 ) L - X ( i , C ( i , k R - 1 ) R + j + m - 2 ) R ) 2
其中X(i,n)L表示左图像第i行的第n个像素的X分量的值,X(i,n)R表示右图像第i行的第n个像素的X分量的值,X可以是R、G或者B。
步骤S4.4.4:
令j=j+1。
步骤S4.4.5:
判断j是否大于Lenmax-Lenmin+1?如果是,则转至步骤S4.4.6;如果否,则转至步骤S4.4.2。
步骤S4.4.6:
找出使差别最小的j,将对应的差别作为右图像的第kR段和左图像第kL段的差别的大小,若左图像的第kL段为长度较长的段,则对应的段的匹配视差值为C(i,kL-1)L-C(i,kR-1)R+j-1;若左图像的第kL段为长度较短的段,则对应的段的匹配视差值为C(i,kL-1)L-C(i,kR-1)R-j+1。
实施例2
在实施例2中,实施例1中的步骤S4.2和步骤S4.5中的所述的视差范围也可以为从0到(B·f)/Z0,其中手势操作到双目视觉系统的距离为Z,采集左右图像的图像传感器的焦距为f,两图像传感器间的基线为B,则视差d=(B·f)/Z,若手势操作的最近距离是Z0,则对应的视差为(B·f)/Z0
实施例1中的步骤S4后加一步骤S4B:判断匹配段的匹配视差是否在从(B·f)/Z1到(B·f)/Z0的范围内;若在该范围内,则保留下来作为手势,对应的匹配段的匹配视差值为手势的视差,从该视差值可以很容易的得到手势的深度;若不在该范围内,则舍去。
因为手势操作到双目视觉系统的距离范围是从Z0到Z1,采集左右图像的图像传感器的焦距是f,双目视觉系统两图像传感器的基线是B,所以手势所在的视差范围为从(B·f)/Z1到(B·f)/Z0
实施例3
在实施例3中,实施例1和实施例2中的步骤S5前面可以加上一步骤S5A:对提取出来的手势进行滤波,则滤波后提取出来的手以及其对应的匹配段的匹配视差值即为所求。
所述的滤波的具体步骤是:
当已处理的行数i达到一数值M时,对i-M+1到i行进行膨胀操作和腐蚀操作,再把返回的结果写入第i-(M-1)/2行;增加的手势的匹配视差值取上下手势的匹配视差值的平均值。
其中M取奇数,M的取能去掉噪声并且使手平滑的奇数,在本实施例的应用和设备下,可以取3,5,7,9,11或者13。
实施例1和实施例2中的步骤S1后加一步骤S1B:初始化令i=1;
实施例1和实施例2中的步骤S5改为:判断是否左右图像的每一行都被处理过:如果否,转至步骤S2,选取i=i+1;如果是,则结束。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。

Claims (9)

1.一种低复杂度的手势提取和手势深度获取方法,其特征在于,该方法包括以下步骤:
S1、对图像传感器采集的待提取手势的左右图像进行矫正,使左右图像对应的极线在同一行上;
S2、分别选取左图像和右图像的第i行;
S3、分别在左右图像中找出第i行中的边界点,依据边界点把上述行分割成段;
S4、对左右图像的第i行的各段进行匹配,能够匹配的段作为提取的手势,根据匹配段的匹配视差值计算手势深度;
步骤S4具体包括以下步骤:
S4.1、选取右图像第i行的第kR段,标记为SR
S4.2、选取所有未匹配的左图像第i行的段,从中筛选出与SR的视差在一定视差范围内的段;
S4.3、逐一计算上述筛选出的左图像的段与SR的长度差,进一步筛选出长度差小于预设阈值的所有左图像第i行的段;
S4.4、计算从上述步骤筛选出的左图像的段与SR的差别以及对应的段的匹配视差值,从中选取与SR的差别最小的段,若对应差别小于或等于预设阈值,则认为该段与SR匹配,并将对应的段的匹配视差值作为相应的匹配段的匹配视差值;若对应差别大于预设阈值,则认为不存在与SR相匹配的左图像的段;
S4.5、更新kR的取值,重复步骤S4.1至S4.4,直至右图像的段全部处理完毕;
S4.6、输出上述步骤得到的左右图像相匹配的段作为提取的手势,并根据上述匹配段的匹配视差值计算手势的深度;
或者,
步骤S4具体包括以下步骤:
S4.1’、选取左图像第i行的第kL段,标记为SL
S4.2’、选取所有未匹配的右图像第i行的段,从中筛选出与SL的视差在一定视差范围内的段;
S4.3’、逐一计算上述筛选出的右图像的段与SL的长度差,进一步筛选出长度差小于预设阈值的所有右图像第i行的段;
S4.4’、计算从上述步骤筛选出的右图像的段与SL的差别以及对应的段的匹配视差值,从中选取与SL的差别最小的段,若对应差别小于或等于预设阈值,则认为该段与SL匹配,并将对应的段的匹配视差值作为相应的匹配段的匹配视差值;若对应差别大于预设阈值,则认为不存在与SL相匹配的右图像的段;
S4.5’、更新kL的取值,重复步骤S4.1’至S4.4’,直至左图像的段全部处理完毕;
S4.6’、输出上述步骤得到的左右图像相匹配的段作为提取的手势,并根据上述匹配段的匹配视差值计算手势的深度;
S5、更新i的取值,重复步骤S2至S4,将左右图像的所有行都处理完,完成手势提取以及手势深度获取过程。
2.如权利要求1所述的方法,其特征在于,所述左右图像是RGB格式图像,或者由其他格式转换成的RGB格式的图像。
3.如权利要求2所述的方法,其特征在于,步骤S3中边界点的确定具体包括以下步骤:
S3.1、设定一阈值C0
S3.2、分别提取所述第i行中每个像素的R、G、B分量,构造三个N维向量R=(r1,r2,…,rN)、G=(g1,g2,…,gN)、B=(b1,b2,…,bN),其中N表示所述行包含的像素数量,并分别计算上述三个分量的梯度▽R、▽G、▽B;
S3.3、计算上述三个梯度▽R、▽G、▽B中两两梯度对应元素的差值的绝对值,得到向量dRG、dGB、dBR,对上述向量滤波得到dRG'、dGB'、dBR';
S3.4、利用dRG'、dGB'、dBR'构造diff函数;
S3.5、求diff函数的极大值点,并将所述diff函数的极大值点中大于所述阈值C0的点作为边界点;
所述diff函数表示为:
diff=MAX(X,Y,Z)=[max(X1,Y1,Z1),max(X2,Y2,Z2),...,max(XM-1,YM-1,ZM-1)]
其中Xk指向量X中的第k个元素的值,其中Yk指向量Y中的第k个元素的值,其中Zk指向量Z中的第k个元素的值;符号max(Xk,Yk,Zk)指取Xk,Yk,Zk中的最大值,其中1≤k≤M-1,M为向量的元素个数;上述步骤中X、Y、Z分别对应经过步骤S3.3得到的dRG'、dGB'、dBR'。
4.如权利要求3所述的方法,其特征在于,步骤S3.3所述的滤波方法为高斯滤波或者中值滤波。
5.如权利要求1所述的方法,其特征在于,所述视差是指选取的左右图像的段中相同位置的像素分别在左右图像中的列的序号的差值;
所述长度差是指选取的左右图像的段所包含的像素个数的差值。
6.如权利要求1所述的方法,其特征在于,所述视差范围是从(B·f)/Z1到(B·f)/Z0,其中f是采集左右图像的图像传感器的焦距,B是两图像传感器间的基线,手势操作过程中,手势到双目视觉系统的距离从Z0变到Z1
7.如权利要求1所述的方法,其特征在于,所述视差范围是从0到(B·f)/Z0,其中f是采集左右图像的图像传感器的焦距,B是两图像传感器间的基线,手势操作的最近距离是Z0,最远距离是Z1
步骤S4.5和S4.5’之后还包括步骤:
S4B、判断左右图像匹配段的匹配视差是否在从(B·f)/Z1到(B·f)/Z0的范围内;若在该范围内,则保留上述匹配段;若不在从(B·f)/Z1到(B·f)/Z0的范围内,则舍去。
8.如权利要求1所述的方法,其特征在于,所述的差别能够用SAD或者SSD计算;
计算差别以及匹配视差值的具体步骤如下:
S4.4.1、在选取的左右图像的段中,标记较短的段的长度为Lenmin,较长的段的长度为Lenmax,初始化j=1;
S4.4.2、在较长的段中选取第j到j+Lenmin-1个连续像素点作为比较段;
S4.4.3、计算:
S A D ( j ) = Σ m = 1 Len min Σ X ∈ { R , G , B } | X ( m ) L - X ( m ) R |
或者
S S D ( j ) = Σ m = 1 Len min Σ X ∈ { R , G , B } ( X ( m ) L - X ( m ) R ) 2
其中X(m)L是指选取的左图像的段中,选取的长度为Lenmin的连续像素点的第m个像素的X分量值;X(m)R是指选取的右图像的段中,选取的长度为Lenmin的连续像素点的第m个像素的X分量的值;
S4.4.4、j++;
S4.4.5、判断j是否大于Lenmax-Lenmin+1?如果是,则转至步骤S4.4.6;如果否,则转至步骤S4.4.2;
S4.4.6、若采用SAD来计算,则找出使SAD(j)最小的j,若采用SSD来计算,则找出使SSD(j)最小的j;
将对应的差别SAD(j)或者SSD(j)作为选取的左右图像的段的差别;将较长的段中选取的第j到j+Lenmin-1个像素点与较短的段对应的视差值作为段的匹配视差值。
9.如权利要求1所述的方法,其特征在于,步骤S4与步骤S5之间还包括以下步骤:
S5A、对上述步骤提取的手势进行滤波,起到去噪和平滑的作用。
CN201310214597.5A 2013-05-31 2013-05-31 一种低复杂度的手势提取和手势深度获取方法 Active CN103268482B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201310214597.5A CN103268482B (zh) 2013-05-31 2013-05-31 一种低复杂度的手势提取和手势深度获取方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201310214597.5A CN103268482B (zh) 2013-05-31 2013-05-31 一种低复杂度的手势提取和手势深度获取方法

Publications (2)

Publication Number Publication Date
CN103268482A CN103268482A (zh) 2013-08-28
CN103268482B true CN103268482B (zh) 2016-02-24

Family

ID=49012109

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201310214597.5A Active CN103268482B (zh) 2013-05-31 2013-05-31 一种低复杂度的手势提取和手势深度获取方法

Country Status (1)

Country Link
CN (1) CN103268482B (zh)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103809880B (zh) * 2014-02-24 2017-02-08 清华大学 人机交互系统及方法
CN104182772B (zh) * 2014-08-19 2017-10-24 大连理工大学 一种基于深度学习的手势识别方法
CN104346816B (zh) 2014-10-11 2017-04-19 京东方科技集团股份有限公司 一种深度确定方法、装置及电子设备
CN104821010A (zh) * 2015-05-04 2015-08-05 清华大学深圳研究生院 基于双目视觉的人手三维信息实时提取方法及系统
CN106231282B (zh) * 2015-12-30 2018-06-22 深圳超多维科技有限公司 视差计算方法、装置与终端
CN111568186A (zh) * 2020-05-09 2020-08-25 云米互联科技(广东)有限公司 饮水机控制方法、饮水机及计算机可读存储介质
CN112613384B (zh) * 2020-12-18 2023-09-19 安徽鸿程光电有限公司 手势识别方法、手势识别装置及交互显示设备的控制方法

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999152A (zh) * 2011-09-09 2013-03-27 康佳集团股份有限公司 一种手势动作识别方法和系统

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102999152A (zh) * 2011-09-09 2013-03-27 康佳集团股份有限公司 一种手势动作识别方法和系统

Non-Patent Citations (4)

* Cited by examiner, † Cited by third party
Title
Depth Camera Based Hand Gesture Recognition and its Applications in Human-Computer-Interaction;Zhou Ren 等;《ICICS》;20111216;1-5 *
Hand Gesture Recognition with Depth Images:A Review;Jesus Suarez* 等;《2012 IEEE RO-MAN》;20120913;411-416 *
基于双目视觉的低复杂度高准确度手势提取算法;吕俊宏 等;《微电子学与计算机》;20140105;第31卷(第1期);120-123 *
基于深度图像技术的手势识别方法;曹雏清 等;《计算机工程》;20120420;第38卷(第8期);17-21 *

Also Published As

Publication number Publication date
CN103268482A (zh) 2013-08-28

Similar Documents

Publication Publication Date Title
CN103268482B (zh) 一种低复杂度的手势提取和手势深度获取方法
CN107767405B (zh) 一种融合卷积神经网络的核相关滤波目标跟踪方法
CN105261020B (zh) 一种快速车道线检测方法
Li et al. A weighted sparse coding framework for saliency detection
CN101551863B (zh) 基于非下采样轮廓波变换的遥感图像道路提取方法
CN103218605B (zh) 一种基于积分投影与边缘检测的快速人眼定位方法
CN103020965B (zh) 一种基于显著性检测的前景分割方法
CN105956560A (zh) 一种基于池化多尺度深度卷积特征的车型识别方法
CN104408711B (zh) 一种基于多尺度区域融合的显著区域检测方法
CN104574375A (zh) 结合彩色和深度信息的图像显著性检测方法
CN106780476A (zh) 一种基于人眼立体视觉特性的立体图像显著性检测方法
CN106683046A (zh) 用于警用无人机侦察取证的图像实时拼接方法
CN113269089B (zh) 基于深度学习的实时手势识别方法及系统
CN106056135B (zh) 一种基于压缩感知的人体动作分类方法
CN112529065B (zh) 一种基于特征对齐和关键点辅助激励的目标检测方法
CN103902989A (zh) 基于非负矩阵分解的人体动作视频识别方法
Huang et al. A multiscale urban complexity index based on 3D wavelet transform for spectral–spatial feature extraction and classification: an evaluation on the 8-channel WorldView-2 imagery
CN102509293B (zh) 异源图像的一致性特征检测方法
CN106462773B (zh) 使用gabor函数的模式识别系统及方法
CN105930793A (zh) 一种基于sae特征可视化学习的人体检测方法
CN109558880B (zh) 一种基于视觉整体和局部特征融合的轮廓检测方法
CN105701800B (zh) 多模图像匹配方法
CN110222568A (zh) 一种基于时空图的跨视角步态识别方法
CN104504692B (zh) 基于区域对比度的图像中显著对象的提取方法
CN103530612B (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