基于Kinect 的手部分割混合识别技术*

2021-10-26 12:27刘振国
电子器件 2021年4期
关键词:彩色图像肤色手势

陈 鑫,刘振国,张 颖

(南京航空航天大学电子信息工程学院,江苏 南京 210016)

随着模式识别技术的发展[1],出现了语音识别[2]、汉字识别、图像识别[3]等技术途径,输入设备不再局限于鼠标和键盘,多媒体智能的交互模式能够给用户提供极高的自由度。在人的身体构成中,手部最为灵活。基于人手的人机交互符合人类的操作习惯,人们可以通过手部动作表达复杂的命令并将其传递给计算机实现人机交互。因此,人手作为一种“新型”的传感器,是未来人机交互技术发展的重要方向之一[4]。

Kinect v2 体感设备含有高清摄像头能够提供1 920 pix×1 080 pix 的彩色图像。此外,该设备中还包含了红外发射器和红外接收器,能够提供512 pix×424 pix 的深度图像。非常适合作为体感设备的视频采集设备,并应用到多种场合中[5-7]。

手部分割是计算机视觉手写输入系统中非常关键的第一个步骤,手部分割的效果将极大地影响该系统的识别效果以及实时性能[8]。当前情况下,手部分割的难点主要来源于2 个方面:

(1)背景环境的复杂性:主要包括在不同光照条件(颜色和亮度)下手部肤色会发生较大变化,类肤色区域容易与手部肤色相互混淆,障碍物对手部的遮挡会使分割目标不明确等;

(2)手部的灵活性:在空间中,手部的运动是复杂多变的,这会导致手部的外形特征出现较大差异。

为了解决上述问题,刘亚瑞[9]利用Kinect 体感器获取手势深度图像,采用变形雅可比—傅里叶矩对手势图像进行特征提取,基于最小欧氏距离分类器进行建模、分类,实现手势识别。

华旭奋[10]融合手势的几何特征和深度信息的同心圆分布直方图特征;学习训练随机森林分类器进行手势识别。

王兵[11]针对现有的动态手势识别率低,识别手势少等不足,基于运动轨迹的运动方向的变化,提取了该动态手势的运动方向变化角度作为特征,并采用隐马尔科夫模型训练和识别各个手势。

张登攀[12]提出一种基于Kinect 骨骼信息与深度图像的掌心点提取和指尖点检测的手势识别方法。对Kinect 传感器获取的人体骨骼信息和深度图像进行分析,对手势区域进行形态学处理,结合凸包和K-曲率算法检测不同手势中指尖点的个数和位置。

基于Kinect 的硬件,提出了一种自适应的混合型手部分割方法,将基于深度图像的阈值分割方法和基于彩色图像的肤色分割方法结合起来,首先基于深度图像将人体信息从背景图像中分离出来,然后再基于肤色模型分割算法,对人体图像进行手部分割。该混合型手部分割方法,能够较好地克服光线以及复杂背景所带来的消极影响,也能够更好地适应复杂的人体动作,达到更好的分割效果。

1 深度阈值分割

1.1 人体信息的提取

如表1 所示,从Kinect 获取的16 位深度数据中,低4 位表示用户编号,编号不为0 时表示此像素点来自于当前编号的用户而不是背景环境。针对此特点,将深度图像中像素值为0 的部分(Kinect 成像原理里面认为不可测区域,通常为物体边缘)和不属于人体的部分(Player Index 为0)滤除,即可得到人体图像。

表1 16 位深度数据格式

如图1 所示,对提取人体信息后的深度图像进行坐标系变换,将其映射到彩色图像中,便可以将人体信息从彩色图像中分离出来。图1(a)为经过人体信息提取的深度图像,图1(b)为彩色图像。

1.2 最大类间方差法

依据Kinect 深度图像的特性,图像中各点像素值,即深度值能够体现各像素点离设备的距离,深度值越小表示离设备越近,深度值越大表示离设备越远。

当手伸向前方,手部与身体存在一定距离的时候,深度主要集中在两块区域,面积较小的表示手部的深度分布,面积较大的表示身体的深度分布。这种情况下,手部和躯体之间存在明显的分割点。可将此分割点作为阈值,对深度图像进行分割处理,即可得到手部深度图。此外,人体离设备的距离是动态变化的,手部的位置也会相对躯体产生变化,因此深度分割的阈值并不是固定不变的。

为了准确高效地分割出手部深度图像,将最大类间方差法引入到深度阈值分割处理中,实现了一种自适应阈值的手部分割方法,该方法能够根据身体的不同动作及人体距离自适应地调整深度分割的阈值,实现对人体深度图像的手部分割。

最大类间方差法按图像的灰度特性,将图像分成背景和目标2 个部分。背景和目标的类间方差越大,说明构成图像的两部分差别越大,当部分目标被错分为背景或部分背景被错分为目标时,两部分差别会变小。因此,类间方差最大时错分概率最小。

以手部信息作为分割目标,人体躯干作为背景。假设深度图像中包含L个灰度级,灰度值为i(0≤i≤L-1)的像素点数为Ni。则人体部分总像素点个数如式(1)所示。

设灰度值为i的像素点的概率如式(2)所示。

设阈值为t,属于人手的深度像素点集合为A,属于躯干的深度像素点集合为B。由于手是伸向前方,所以手部区域的深度数据较小。所以集合A和集合B中像素点的个数由式(3)给出。

则对应出现的概率可分别见式(4)。

人手和躯干的灰度均值如式(5)所示。

灰度图像总均值如式(6)所示。

人手和躯干的类间方差如式(7)所示。

如式(8)所示,类间方差越大,两类的灰度差别越大,使得类间方差最大的阈值即为最佳阈值。

1.3 手部信息提取

根据此阈值分割方法,第一次分割出来的图像会包含部分手臂信息。可以根据深度信息最小值(即手部最前端的值)m,结合自适应阈值t,再次进行阈值分割以得到新的阈值t′。

最终,根据t′对图像进行分割,将分割后的手部图像二值化,得到图2 所示结果。依靠深度阈值分割的方法在手部离人体有一定距离的时候效果良好,当手部贴近人体的时候会有较大的误差。此时,需要把基于彩色图像的肤色分割的方法引入,能够有效地克服此问题。

图2 手部分割效果

2 肤色模型分割算法

在不同的色彩空间中,聚类特性的表达并不一致。在传统的RGB 色彩空间中色度信息与亮度信息是无法分离的,周围环境光照改变而导致的亮度变化也会使肤色检测更加困难,因此在RGB 色彩空间进行肤色分割并不理想。

为了充分利用肤色在色彩空间中的聚类特性,需要把彩色图像中的色度信息与亮度信息分开。在YCbCr 色彩空间中,Cb代表蓝色分量,Cr代表红色分量,能够有效地将亮度和色度分离。实验发现,肤色区域在YCbCr 色彩空间中聚集在一个很小的范围内,非常适合肤色分割。并且YCbCr 空间能够在很大程度上消除亮度影响,降低色彩空间的维数,减少计算复杂度。

因此,本文基于YCbCr 色彩空间建立了如下肤色检测模型:

(1)颜色空间转换,待测图像原来的编码格式是RGB 色彩空间的,需按照以下公式进行转换[13]。

(2)在YCbCr 色彩空间中,Cb分量对肤色信息特别敏感,而Cr、Y相对皮肤没有明显特征,我们只需要增强Cb分量,减去Cr、Y分量,更加突出肤色区域。Cb分量强化公式如式(10)所示。

(3)按照最大类间方差法对增强后的Cb分量做阈值分割。

人体彩色图像经过分割后如图3 所示,分割后的图像除了包含肤色区域中的脸部和手部,还包含了部分误差信息。要想进一步获取手部信息,必须对误差信息和脸部信息进行排除,误差信息主要包括肤色检测的误识别区域,其面积较小,数量较多,可利用面积特征将其排除,保留最大的两块区域即是脸部区域和手部区域。

3 混合分割算法

上述内容对深度图像和彩色图像分别采用了不同方式进行分割,且在其各自适宜的场景下都具有良好的特性却又各有缺点。

深度图像是单通道图像,像素值信息代表了像素点到设备的距离,经过手部分割后,背景区域像素值为0,保留的区域像素值均大于0。深度阈值分割有助于去除肤色模型分割中人手之外的肤色部分,但是在手部离身体较近时,深度阈值不明显,深度模型中分割出来的图像会包含极大的误差信息,无法有效地分割出手部图像。

彩色图像经过Cb通道的肤色分割后保存为单通道二值图像Cb′th,在像素值分布上与深度模型分割后的图像具有相同特性。肤色模型分割不会受到距离的影响,有助于剔除深度模型中误判的背景区域。

因此,将深度模型和肤色模型分割后的图像进行逻辑与运算,运算结果B(x,y)为二值图像像素值。深度图像中深度阈值非0 的和肤色分割图像中非0 的同位置像素点的运算结果B(x,y)赋值为1,否则该像素点的运算结果B(x,y)会被赋值为0。逻辑与运算公式如式(11)所示。

式中:x、y分别代表图像中像素点横、纵坐标,B(x,y)=0 表示此像素点属于背景区域,B(x,y)=1 表示像素点为手部区域。Gray(x,y)代表深度图像像素值。代表Cb通过肤色分割后的像素值。

如图4 所示,所提出的混合分割算法经过混合运算后得到最终的二值图像,然后再运算得到最终的手部分割图像。深度阈值分割和肤色模型分割混合运算后的手部图像,能够保持各自的优点,适应大多数场景,具有良好的鲁棒性。

图4 混合分割算法效果

4 实测验证

为了验证所提出的混合分割算法的有效性,最终搭建了实测平台进行验证,对多种手势的手部分割效果进行验证。具体测试效果如图5 所示。

图5 混合分割算法验证结果

如图5 所示,基于深度模型和肤色模型的混合型手部分割方法,在正常的光照环境下,对于非指定的测试人员和背景环境均有良好的分割效果,具有良好的鲁棒性,可以应用于后续的手势识别应用。

猜你喜欢
彩色图像肤色手势
Conversation in a house
人的肤色为什么不同
为什么人有不同的肤色?
挑战!神秘手势
基于FPGA的实时彩色图像边缘检测
V字手势的由来
胜利的手势
基于最大加权投影求解的彩色图像灰度化对比度保留算法
基于颜色恒常性的彩色图像分割方法
肤色检测和Hu矩在安全帽识别中的应用