目 录
1 引言 .................................................................... 1
1.1 研究背景与意义 ..................................................... 1
1.2 研究现状 ........................................................... 1
1.3 本文主要研究内容安排 ............................................... 2
2 手势分割 ................................................................ 3
2.1 肤色模型 ........................................................... 3
2.1.1 颜色空间 ..................................................... 3
2.1.2 高斯肤色模型 ................................................. 3
2.2 大津算法 ........................................................... 4
2.3 去噪 ............................................................... 5
2.4 改进的分割算法 ..................................................... 5
3 基于轮廓的特征提取 ...................................................... 6
3.1 轮廓提取 ........................................................... 6
3.2 不变矩 ............................................................. 7
3.3 傅里叶描述子 ....................................................... 8
4 分类器 ................................................................. 10
4.1 模板匹配法 ........................................................ 10
4.2 BP 神经网络 ....................................................... 10
4.2.1 K 折交叉验证 ................................................. 10
4.2.2 BP 神经网络原理 .............................................. 10
4.2.3 BP 神经网络参数 .............................................. 12
4.3 朴素贝叶斯分类器 .................................................. 13
4.4 实验结果与分析 .................................................... 14
4.4.1 模板匹配法 .................................................. 15
4.4.2 BP 神经网络 .................................................. 16
4.4.3 贝叶斯分类器 ................................................ 18
4.4.4 融合特征 .................................................... 19
5 总结与展望 ............................................................. 21
主要参考文献 ............................................................. 22
致谢 ..................................................................... 24
1 引言
1.1 研究背景与意义
随着人们交流方式的多样化,信息量剧增,如何简短有效的表达成为交流时的考虑因
素。如同人与人之间的交流,机器与机器之间的交流催生了物联网,人与机器之间的交流
产生了人机协同、人机交互等概念。在人机交互中,应当能够像人与人协作的队伍那样自
然,然而时空分离性使得难以达到这一状态[1]。手势因其简单、自然、和谐的特点得到许
多研究者的关注,特别是基于视觉的识别方法,无须穿戴设备减轻使用者负担。静态手势
识别通过对手势的形状、轮廓、特征点的判断划分类别,其中基于单目相机的识别方法识
别精度一般,但识别速度较快,成为大家关注的重点之一。
手势识别的主要应用场景有:
1) 人机协同。在人工智能盛行的时期,人机协同推动了人工智能产品的应用,正确的
沟通模式是其中的关键,在手势识别方面也即是理解手势并产生命令。这种交流方式提升
了生产效率,降低了人类劳动力,甚至在特殊场合解决关键性问题。如高庆等人[2]将手势
应用于航天员-月面探测机器人系统。
2) 手语理解。手语保障了特殊人群交流的可能性,实现手语的理解与转化能够产生自
然的交流方式。在自动驾驶方面能够正确理解交警手语至关重要[3]。
3) 智能控制。无人车的辅助驾驶系统、智能生产制造环境中的机械手臂、视频直播中
的炫彩效果触发、电视机的播放等都有手势控制的影子。随着智能控制的发展手势控制将
更加自然的嵌入到更多的场合中。
1.2 研究现状
近年来越来越多的研究者使用深度相机或立体相机结合深度学习研究手势识别,取得
了很高的准确度和较好的实时性,而本文主要研究基于 2 维信息的静态手势识别。随着机
器学习的出现,在图像识别方向多使用机器学习方法,基于单目相机的手势识别也不例外。
2013 年,王先军[4]采用三层 22 节点 BP 神经网络,以 7 个 Hu 矩作为输入,识别率达到 96%,
之后薛俊韬[5]同样使用三层 BP 网络融合 Hu 矩和傅里叶描述子识别率相对于单个特征得到
改善。王梅等人[6]将不变矩与指尖个数加权组合视为复合特征采用 KNN 分类器识别。深度
学习的应用更是解放了图像特征提取环节,如赵东波等人[7]表明了相比于采用不变矩、HOG
特征和 SVM、BP 神经网络而言使用卷积神经网络的优点。目前基于单目相机的静态手势
识别存在的难点有:
1) 分割困难。手势分割是识别中的关键一步,目前大多采用基于肤色的分割方法,复
杂背景、光照条件、手势的非刚性[8]使得难以从图像中捕获完整的手势区域,大多数研究
者将环境限制为简单背景。
2) 真实场景下效果差。虽然基于 2 维信息的手势识别计算速度快,但不论是不变矩、
傅里叶描述子或其他描述符都有其优缺点,例如不变矩描述细节,傅里叶描述子的低频成
1
分描述大致轮廓[9],单一的采用这些特征很难应用于实时环境,即便是融合特征相比 3 维
信息识别率仍然较低,很难在实际环境中应用。
3) 数据库样本不理想。机器学习的方法需要大型数据库,目前存在的统一手势库,大
部分用于深度学习,图像中包含人像等其他因素,简单背景下的数据库多是一些利用手指、
手掌空间位置表达的手势,存在很大部分重叠的情况,这给学习算法和算法评价带来困扰。
1.3 本文主要研究内容安排
文献[1]中将手势识别分为:图像获取、手势分割、手势识别和分类。这里我们主要研
究三个部分,基于肤色的手势分割、图像的轮廓特征提取、BP 神经网络和贝叶斯分类器。
下面是本文的具体安排:
图 1 手势识别结构图
第一章:介绍静态手势识别的发展现状、应用场景和整体处理思路。
第二章:介绍基于肤色的分割方法、颜色空间的选择和改进,在 YCbCr 空间得到肤色
似然图,采用大津算法动态获取二值化阈值。通过面积比和形态学处理去除近肤色干扰,
得到手势二值图。
第三章:使用边缘处理算子提取目标轮廓之后,介绍两种用于描述轮廓的特征,Hu
矩、傅里叶描述子。
第四章:介绍自制的 200 幅 5 类手势图和 Thomas Moeslund's Gesture Recognition
Database 2040 幅 24 类手势数据库。介绍三种分类器,模板匹配、BP 神经网络、朴素贝叶
斯分类器分别用于分类的效果。
第五章:总结实验结果,不足与展望。
2
RGB图像YCrCb空间肤色模型大津算法去除噪声提取轮廓Hu矩傅里叶描述子模板匹配BP神经网络朴素贝叶斯分类器
2 手势分割
在普通摄像头传感器捕获 RGB 图像之后,需要从图像中获得手势区域,其效果的优
劣直接影响后续操作,是识别流程的关键一步。在基于单目相机的静态手势识别中,基于
肤色的分割方法理论简单、运算速度快,被广泛应用。
2.1 肤色模型
2.1.1 颜色空间
由于光照的影响,相同的手势在相同判断条件下可能有不同的结果,可见应该尽可能
去除光照影响。RGB 空间的每个分量都与亮度有关,而 YCbCr 空间中,亮度与色度的分
离,只有在亮度极大、极小时对色度分量干扰较大,肤色聚类性变差[10],在大部分区间内
肤色聚类性较好。颜色空间的线性转换公式为:
(2.1)
2.1.2 高斯肤色模型
肤色建模方法比颜色空间影响更大。常见方法是基于统计的模型,经过样本统计得到
RGB 或其他颜色空间单分量的肤色范围[11]。而高斯肤色模型是基于大量样本统计得出人体
肤色在 YCbCr 空间中 Cb、Cr 分量近似的呈现高斯分布的特点[12]。二维高斯概率密度函数:
,
(2.2)
其中
表示两个分量的均值,
表示两个分量的协
方差矩阵。有研究者通过统计大量肤色样本,给出了具有普遍适应性的高斯肤色模型中均
值、方差和协方差矩阵,但是这组参数对不同个体、不同人种、不同光照的适用性较差。
本文为适应实际情况,在捕获手势图像时要求中心位置尽可能是肤色区域,然后通过计算
该区域图像的均值与协方差作为整个数据集高斯肤色模型的参数。在实验中得到的均值、
协方差矩阵分别为
,
,考虑到模型参数确定后
为定值,
因此肤色概率计算公式可以简化为:
,
(2.3)
将图像的每一像素点的
分量代入高斯模型,得到图像的肤色概率图,归一化后得到
肤色似然图。
3
0.299, 0.587, 0.11400.168, 0.331, 0.51280.5, 0.418, 0.081128brYRCGBC=−−+−−11[()()]21()2TXXfXe−−−−=,TbCCr=()()()()cov,,cov,cov,,cov,bbbrrbrrCCCCCCCC=228184m=1455 1337=1337 1486C121[0.5()()]r(,),,TTxmCxmbrbPCCexCC−−−−== CrbC
图 2 肤色似然图
2.2 大津算法
得到肤色似然图
后,可以依据阈值 T 筛选得到二值图像。
(2.4)
阈值 T 的设置关系到二值化的精度,固定阈值在不同背景下的鲁棒性较差,这里我们
采用最大类间方差法(大津算法)[13]动态获取阈值。设肤色似然图灰度等级和分布如下:
, 表示灰度为 的像素点数, 表示其出现的概率。设阈值 T 将图像
分为两类,第一类灰度级
,第二类灰度级
,大津算法
的思路是由阈值 T 将图像分为前景和背景并使得两类之间的类间方差最大。由一般的离散
型方差计算公式:
,
为简化计算我们采用每类的重心来描述,对于两类的情况
(2.5)
。
可见需求取每类出现概率
,每类的重心
, 类的重心为 , 类的重心为 ,
总样本的重心 μ。
得到方差
,
(2.6)
,又
,得到
, (2.7)
通过遍历灰度得到最佳阈值 T,满足对于任意的
,存在
,使得
恒成立。
4
0(,)fxy01, (,)(,)0, else fxyTfxy=1,1,2,3...1iiLiinpNiLp====iniip01,2,3,...,CT=11,2,...,CTTL=++21()(),()niiiDxPxEx==−=221122()()()DxPxPx=−+−12PP、12,xx0C01C1121011111112,1,,,TLTLLiiiiiiiTiiTiipipPpPpPuipPP==+==+====−===2221021()()PuP=−+−1021PP+=221201()PP=−1,2,...,lL1,2,...,TL22()()Tl
2.3 去噪
经过高斯肤色模型二值化后的图像存在空洞、小面积近肤色干扰,为获得更好的轮廓
信息,需要进行去噪。这里采用形态学处理和面积比排除干扰。图像的开运算是指先腐蚀
再膨胀,能够断开图像细小的连接部分,去除突出的毛刺。考虑到手势区域连通域在整幅
图像中所占的面积必定是大于 的,因此可以通过面积比排除近肤色干扰。最后填充细
小空洞,完成对二值图的去噪。
图 3 去噪图像
2.4 改进的分割算法
基于肤色的分割算法主要存在两个弊端,第一:受光照影响,第二:模型参数的选择。
为适应光照,有学者提出从 RGB 到 YCbCr 空间的非线性变换[14-16],在 Y 值两端极值处修
改变换,以分段变换减轻光照影响。还有学者在分割之前首先对过亮、过暗区域进行光照
修正[17],改进直方图反向投影算法[18]来改善分割。对于模型参数的选择,有专利使用工字
形标识限制手势出现的区域[19],也有研究者采用 BP 神经网络根据不同的 Y 值选择对应的
参数[20]或是使用 Adaboosting + haar 算法首先检测出人脸,缩小人脸区域后计算脸部参数,
使用脸部肤色代替手部肤色。另外有学者使用运动检测与肤色信息相结合,先根据运动信
息检测到模糊手部区域然后与肤色检测得到的区域做与运算得到较为精准的手势部分
[21,22]。
5
2%
3 基于轮廓的特征提取
静态手势识别研究单一图像的特征,其中常用的图像特征包括 HOG、轮廓特征、特征
点、几何特征等,本文主要采用二值轮廓特征描述手势的形状,相比于其他特征更为明显,
计算复杂度低。
3.1 轮廓提取
轮廓信息简化了数据量,常用的轮廓提取方法是边缘检测算子,如 Sobel、Canny 等。
Canny 边缘检测算法通过计算图像的梯度幅值来判断是否属于边缘点,算法流程[23]如下:
图 4 Canny 算法示意图
1) 高斯滤波
设原图像为
,为减弱噪声干扰先进行滤波,二维高斯卷积核为
,滤
波后得到
。
2) 计算梯度的幅值和方向
(3.1)
(3.2)
分别计算图像
的水平梯度 和垂直梯度 ,当采用
有限差分时有:
6
(3.3)
0(,)fxy(,,)Gxy(,)fxy(,)(,)Axyxy2*2差分0(,)Mxy确定该点的梯度方向该方向最大值?(,)Axy保留该点梯度Y开始结束输入图像高斯滤波计算梯度幅值开始0(,)Mxy?hT?lTmax{((,),3)}?hUMxyT保留结束YNNYYN(,)MxyN0(,)fxy(,,)Gxy(,)fxy222221(,,)2xyGxye+−=0(,)(,)(,,)fxyfxyGxy=(,)fxyxGyG2*2(,)[(,1)(,)]/2[(1,1)(1,)]/2xGxyfxyfxyfxyfxy=+−+++−+(,)[(,)(1,)]/2[(,1)(1,1)]/2yGxyfxyfxyfxyfxy=−+++−++
梯度幅值和梯度方向为
,通常取水平竖直和双对角线四个方向。
3) 非极大值抑制
(3.4)
比较该点和周围邻域点在本方向上梯度幅值的大小,若该点的梯度幅值最大则可能为
边缘点,保留该点进一步判断,反之则不是边缘点。
4) 阈值化与边缘连接
非极大值抑制后得到一条条曲线,通过双阈值
,大于 的一定是边缘,小于 的
一定不是边缘点,介于两者之间时,判断该点周围邻域内的极大值点是否大于高阈值,是
则保留为边缘点。
图 5 Canny 算法提取的轮廓
3.2 不变矩
M.K.Hu 于 1962 年提出了连续函数的矩,并给出 7 个不变矩公式[24],随后有学者提出
离散情况下的不变矩,由低阶矩推导出高阶矩。低阶矩描述图像的质量、重心、面积,高
阶矩描述方向、扭曲程度等细节,由于其旋转、缩放不变性使其可以用于图像识别。对于
图像二值轮廓
的
阶矩 和中心距 分别为[4]:
,
,其中
(3.5)
, (3.6)
,
为二值图的重心。二值图的归一化中心距为:
对于二值化后的轮廓 Hu 矩,不同文献中有着不同描述,本文参考文献[4],给出 7 个
(3.7)
Hu 矩的计算式:
7
(,)Gxy22(,)(,),(,)arctan(,)yxyxGxyGxyGGOxyGxy=+=hlT、ThTlT(,)fxypq+pqmpq(,)pqpqxymxyfxy=00()()(,)pqpqxyxxyyfxy=−−{(,)(,)1}xyfxy=,0,1,2,...pq=1001000000,mmxymm==00(,)xy100pqpqpq++=