去除冗余背景的手势连续轮廓提取算法与实验

2017-12-12 06:18徐伟斌陆敬微王光义
实验室研究与探索 2017年10期
关键词:断点端点手势

张 钰,徐伟斌,陆敬微,王光义

(杭州电子科技大学 电子信息学院,国家级电工电子实验教学示范中心,杭州 310018)

去除冗余背景的手势连续轮廓提取算法与实验

张 钰,徐伟斌,陆敬微,王光义

(杭州电子科技大学 电子信息学院,国家级电工电子实验教学示范中心,杭州 310018)

连续轮廓提取是三维图像模式识别和重建的重要步骤。现有轮廓提取方法处理后的轮廓存在断点,严重影响后续图像处理步骤的质量。提出了一种手势连续轮廓提取方法。采用高斯混合模型定位方法确定视频图像中手势所在区域;利用Sobel算子对所选择区域中手势进行粗糙轮廓提取;采用深度优先算法进行轮廓遍历,确定最长轮廓为手势轮廓;通过计算轮廓断点的斜率和分析最长轮廓中断点的相对位置,采用局部sobel算子或直线连接断点。实验结果表明,所提方法不仅能够得到优于其他方法的主观视觉效果,而且客观指标也明显优于现有轮廓提取方法,其中轮廓完整性可达98%、轮廓纯净性接近0。

连续轮廓提取; 最长轮廓; 手势识别; 高斯混合模型

0 引 言

传统的人机交互方式以硬件设备为中心,如鼠标、键盘和触摸屏等,这种交互方式较为机械和呆板。近年来,利用面部表情[1]、手势[2-3]、肢体语言[4]等更加直观的方式进行人机交互已经成为发展新趋势。手势识别是一种较为新颖的非接触交互方式,除了可以增加用户体验度,还可以用在一些较为危险的工业控制领域,以减少安全隐患。

手势轮廓提取是手势识别的基础,轮廓提取的完整性和连续性直接影响手势识别的图像质量。现有的轮廓提取方法主要有:第1类方法是数学算子法,如改进的Sobel算子[5-6]和Canny算子[7-8],这类方法具有处理简单、效率高等优点,但存在所提取的轮廓不完整、有断点的缺点,而且带有冗余的背景信息。第2类方法是基于机器学习的轮廓提取方法[9-10],利用其自我学习能力,逐渐增加轮廓提取的完整性。但是由于不同场景需要选择不同的算法,很难实现对所有场景都适用。第3类方法是配带特定的手套实现轮廓提取[11-12],这种方法精度高,但是价格昂贵。

根据上面的分析可以看出,现有轮廓提取方法很难提取出连续、完整的轮廓。针对这个问题,本文提出了一种手势连续轮廓提取方法,不仅能够得到完整的轮廓信息,而且能够去除冗余的背景信息。

1 手势连续轮廓提取方法

算法的流程图如图1所示。首先利用高斯混合模型(Gaussian Mixed Model,GMM)定位算法确定视频图像中手势所在区域;接下来对图像进行灰度化处理,将彩色图像变成灰度图像;然后利用Sobel算子进行粗糙轮廓提取;最后进行断点补偿,得到连续的手势轮廓。

图1 手势连续轮廓提取算法流程图

1.1GMM定位算法

多维变量X服从高斯分布时,概率密度分布函数为:

(1)

式中:x是多维度列向量;μ为模型期望值,C为模型方差。在实际应用中μ通常用样本均值来代替;C通常用样本方差来代替。

高斯混合模型认为数据是从几个单高斯模型中延伸出来的,概率密度分布函数为:

(2)

GMM算法使用3~5维高斯模型来描述图像中各像素的特征。为了确定背景像素特征和两个参数,前景匹配前需要学习的过程。摄像头每次捕获到图像后,就更新之前建立的背景模型,用当前图像中每个像素点和建立的背景模型进行比对,若比对成功就把该像素点作为背景像素点,并且更新模型;否则就把该像素点作为前景像素点。

(a)原视频图像(b)视频图像经GMM匹配后图像(c)定位后所选定的手势区域

图2 GMM手势定位实验图

1.2灰度化处理

将彩色图像转换成灰度图后,能减小后续的图像处理计算量。使用

(3)

对定位后的彩色视频图像进行计算,即将RGB三通道图像的各通道平均值作为图像的灰度值。

1.3粗糙手势轮廓提取

使用Sobel算子提取粗糙手势轮廓,Sobel算子进行轮廓提取的计算式为:

(4)

梯度G的计算式

(5)

梯度方向θ的计算式

θ=arctan(Gy/Gx)

(6)

I表示原始图像;Gx及Gy分别表示经横向及纵向轮廓提取的图像。

1.4连续手势轮廓提取

在得到粗糙手势轮廓的基础上,将实现手势的连续轮廓提取,分为三部分内容,如图3所示。

图3 连续手势轮廓提取的流程图

从图3中可以看出,对比GMM结果,去除背景轮廓目的是减少后续轮廓遍历的时间和后续轮廓连接的数目,同时有利于降低轮廓的误识别率;轮廓遍历是为了找出粗糙轮廓中所有不连续的轮廓;根据断点的不同结构,轮廓连接使用不同方法进行连接,形成完整、连续的轮廓。

(1) 背景轮廓去除。经过GMM定位后,手势区域便可确定下来,由于这样的手势区域中还可能存在冗余背景物体,那么使用Sobel算子从该区域中提取的轮廓也会包含冗余背景轮廓。为了去除冗余背景轮廓,将Sobel算子提取的轮廓和GMM算法定位的结果进行比对,以去除冗余的背景轮廓,处理结果如图4所示。对比图4(c)、(d)可见:在图4(d)中,图4(c)的背景物体轮廓已经被去除,粗糙手势轮廓在一定程度上被提纯了。

(a)手势区域(b)经由GMM算法定位后的手势区域图(c)使用Sobel算子提取的粗糙轮廓(d)经由图4(b)、(c)比对的结果

图4 背景物体轮廓去除试验结果

(2) 轮廓遍历。将粗糙轮廓中的像素点位置分为3种情况:孤立像素,端点像素,中间像素。分别如图5(a)、(b)、(c)所示。

(a)孤立像素(b)端点像素(c)中间像素

图5 粗糙轮廓像素点位置分类

图5中黑色点表示粗糙轮廓上的像素。图5(a)中以像素点A为中心的8连通区域范围内未存在一个像素点和A相邻,那么称A这样的像素点为孤立像素。图5(b)中以像素点A为中心的8连通区域中有且仅有一个像素点B和A相邻,那么称A这样的像素点为端点像素。图5(c)中以像素点A为中心的8连通区域中有2个或超过2个(B,C,D)像素点和A相邻,那么称A这样的像素点为中间像素。

为了找到所有轮廓,采用深度优先搜索算法[14]进行遍历。首先选取轮廓上任意点作为遍历的起始点,然后判断轮廓上的像素点是否都已经被访问过,如果已经访问完毕,那么轮廓搜索结束,所有轮廓都被存储在结构体中,在后续遍历所有轮廓时只要读取该结构即可。如果还有未被遍历的像素点存在,那么判断该点是否为孤立像素,为孤立像素则直接丢弃,重新选择一个点开始遍历。如果判断为不是孤立点,那么接着判断该点否为端点像素。如果是端点像素,那么存储到对应的变量中;如果不是端点像素,那么该点就是中间像素,把该点的相应信息写到对应的变量中。在遍历完轮廓上的所有像素点后,得到了包含不连续手势轮廓在内的所有轮廓,选择最长的轮廓,去除其他轮廓,得到含有断点的手势轮廓。

(3) 轮廓连接。为了得到连续性轮廓,对上述粗糙轮廓进行断点(每条轮廓的端点,即端点像素)连接。在进行该步骤前首先对端点像素的斜率进行求解,由于端点处斜率可能会发生突变,故从端点像素开始每隔5个像素点进行一次斜率的求解。假设该端点的坐标为A(x1,y1),前一点像素坐标为B(x2,y2),那么这两点的斜率k为:

(7)

当满足如下3个条件之一时停止斜率的求解:① 在经过一定次数斜率求解后,斜率变化不大。这表示该端点在手指的中间位置,该点的斜率可用求解斜率的平均值来代替,端点位置如图6(a)所示;② 经过一定次数斜率求解后,每个斜率和前一次所求斜率相比差值都比较大,这说明该端点在手指之间的弯曲部分,那么该点斜率直接使用第一次所求解的斜率,端点位置如图6(b)所示;③ 前后两次计算斜率一正一负,这说明端点附近出现拐点,那么该点斜率的值根据①、②来确定,端点位置如图6(c)所示。

(a)端点位于手指中间处(b)端点位于手指轮廓弯曲处(c)端点位于手指尖处

图6 端点位置示意图

断点连接的流程如图7所示。首先在以端点A的像素坐标为中心的32×32矩形区域中搜索,搜索结果中如果存在端点像素B,若该点像素的斜率和点A的斜率相近,那么该点的断点类型为图8(a)所示,对应图6(a)的断点,这样的断点在一条较直的线段上,直接连接两个端点不会改变手势轮廓形状,连接效果如图8(b)所示。

如果两个端点的斜率相差较大,说明两个端点之间为一条曲线,如图8(c)所示,对应图6(b)和(c),如果直线连接则会破坏轮廓原有形状,如图8(d)所示。此时采取下述方法进行轮廓的连接:在该区域多次使用Sobel算子进行轮廓提取,动态的调整阈值以曲线连接端点A和端点B,其连接结果如图8(e)所示。

图7 断点连接的流程图

(d)(e)

图8 断点分布情况及不同连接方法

2 实验结果

为了验证所提算法的视觉处理效果,采用Visual Studio做为验证平台,用OpenCV计算机视觉库对视频图像进行处理[15]。从中选取了10组不同手势图片,使用传统的Canny算子、Sobel算子和最长轮廓法[16]进行手势轮廓提取,不同方法处理后的图像如图9所示。

图9 不同算法处理结果对比

从图9可以看出,使用Canny算子和Sobel算子提取的手势轮廓不仅包含冗余背景轮廓,而且轮廓还会出现断点。Canny算子和Sobel算子对肤色、背景、光照强度很敏感,导致算子的阈值选取比较困难,因此对于不同的场景需要人为调整阈值。图9(d)为最长轮廓算法提取的轮廓,缺失很多手势信息。图9(e)为所提算法得到的手势轮廓,得到未包含冗余背景信息的、连续的轮廓。

为了进一步对实验结果进行验证,使用两个指标对处理结果进行分析:轮廓完整性和轮廓纯净性。

轮廓完整性表示的是使用各种算法提取轮廓中包含真实轮廓像素点的数目与真实轮廓像素点数目的比值,计算方法为:

(8)

式中:Icr即衡量轮廓完整性的指标,该值越趋近于1说明轮廓越完整。n1表示算法提取的轮廓包含真实轮廓像素点的数目,N表示真实轮廓像素点的数目。

轮廓纯净性表示的是使用各种算法提取的轮廓中不属于真实物体轮廓的像素点数目与真实轮廓像素点数目的比值,计算方法为:

Ipr=n2/N

(9)

式中:Ipr即衡量轮廓纯净性的指标,该值越小说明提取的轮廓越纯净。n2表示不属于真实轮廓像素点的数目,N表示真实轮廓像素点的数目。

其中真实轮廓使用Photoshop 软件得到。针对图9中的10幅图像,不同算法处理后图像的轮廓完整性和轮廓纯净性如表1和表2所示。从表1可以看出,所提轮廓提取算法得到的手势轮廓完整性可达到90%,而使用最长轮廓提取算法提取的轮廓完整性就比较低。虽然使用Sobel和Canny算子提取的轮廓完整性也较高,但从表2可以看出,Sobel和Canny算子提取的轮廓纯净性较差,包含了很多冗余背景轮廓。所以,综上分析可以看出:所提算法得到的轮廓完整性和纯净性都较好,在处理后图像上(见图9)表现为没有断点、具有较少的不属于真实物体轮廓的像素点数目。

表1 不同轮廓提取算法的手势轮廓完整性 %

表2 不同轮廓提取算法的手势轮廓纯净性 %

3 结 语

本文提出了一种可去除视频图像中冗余背景的手势连续轮廓提取算法。通过GMM算法定位视频图像中的手势位置,然后利用Sobel算子进行粗糙轮廓提取,并与GMM定位后图像做比对,以去除图像中冗余背景。在此基础上进行轮廓遍历找到手势轮廓,并根据断点的不同分布,采用不同策略进行轮廓连接。与现有轮廓提取算法相比,所提算法能够获得较优的视觉效果,同时能够获得较高的轮廓完整性和较好的轮廓纯净性。所提轮廓提取算法可为三维图像重建和模式识别提供较好的预处理方案。

[1] 孙晓,潘汀,任福继.基ROI-KNN卷积神经网络的面部表情识别[J].自动化学报, 2016, 42(6): 883-891.

[2] Zhang Z.Microsoft kinect sensor and its effect[J].IEEE MultiMedia, 2012, 19(2): 4-10.

[3] Pillajo C, Sierra J E.Human machine interface HMI using Kinect sensor to control a SCARA robo[C]//2013 IEEE Colombian Conference on Communications and Computing (COLCOM).Medellin, 2013:1-5.

[4] Vadakkepat P, Chong T C,Arokiasami W A.Fuzzy logic controllers for navigation and control of AR.Drone using microsoft kinect[C]//2016 IEEE International Conference on Fuzzy Systems (FUZZ-IEEE).Vancouver, Canada, 2016:856-863.

[5] Deng C, Ma W, Yin Y.An edge detection approach of image fusion based on improved sobel operator[C]//2011 4th International Congress onImage and Signal Processing (CISP).Shanghai, 2011: 1189-1193.

[6] Razali M R M, Ahmad N S, Hassan R.Sobel and canny edges segmentations for the dental age assessment[C]//2014 International Conference on Computer Assisted System in Health (CASH).Kuala Lumpur, 2014:62-66.

[7] Li X, Jiang J , Fan Q.An improved real-time hardware architecture for canny edge detection based on FPGA[C]//2012 Third International Conference onIntelligent Control and Information Processing (ICICIP).Dalian,2012: 445-449.

[8] Kim J, Lee S.Extracting major lines by recruiting zero-threshold canny edge links along sobel highlights[J].IEEE Signal Processing Letters, 2015,22(10):1689-1692.

[9] 王景中,李萌.基于LBP和PCA机器学习的手势识别算法[J].计算机测量与控制,2015,04:1320-1326.

[11] Nguyen B P, Tay W L and Chui C K.Robust biometric recognition from palm depth images for gloved hands[J].IEEE Transactions on Human-Machine Systems, 2015, 45( 6):799-804.

[12] Fujishima N, Ietsuka T.Basic construction of a natural finger outline extraction system with a color glove[C]//IEEE/ACIS 15th International Conference on Computer and Information Science (ICIS).Okayama, 2016:1-6.

[13] 王桂婷, 王幼亮, 焦李成.基于快速EM算法和模糊融合的多波段遥感影像变化检测[J].红外与毫米波学报, 2010, 29(5): 383-388.

[14] 龚建华.深度优先搜索算法及其改进[J].现代电子技术,2007(22):90-92.

[15] 赵巨峰,高秀敏,崔光芒.结合生产线的视觉检测实验系统设计[J].实验室研究与探索, 2016, 35(4):59-62.

[16] Qiu T, Yan Y, Lu G.An autoadaptive edge-detection algorithm for flame and fire image processing[J].IEEE Transactions on Instrumentation and Measurement, 2012,61(5):1486-1493.

AlgorithmandExperimentofContinuousContourExtractionforGesturewithoutRedundantBackground

ZHANGYu,XUWeibin,LUJingwei,WANGGuangyi

(Institute of Electronic and Information, National Electrical and Electronic Experimental Teaching Demonstration Center, Hangzhou Dianzi University, Hangzhou 310018, China)

Continuous contour extraction plays a significant role in pattern recognition and reconstruction of 3D image.However, the existing contour extraction methods cannot obtain the continuous contour, so it will influence the subsequent image quality seriously.The continuous contour extraction algorithm of gesture is proposed in this paper.Firstly, the Gaussian mixed model is utilized to locate the gesture region in the video image.Then Sobel operator is employed to extract the rough contour of gesture in the selected region.Next, the depth-first algorithm is used to realize contour traversal, and ascertain the longest contour as the gesture contour.Finally, by calculating the gradient and analyzing the relative position of the breaking point in gesture contour, the local Sobel operator or line connection will be adopted to connect the breaking point.The experimental results have shown that the proposed algorithm can get better subjective visual effect and objective performance standard than the traditional methods.Contour integrity can reach to 98%, while contour purity is close to 0.

continuous contour extraction; longest contour; gesture recognition; Gaussian mixed model

TP 391.4

A

1006-7167(2017)10-0008-05

2017-03-20

国家自然科学基金面上项目”CIS像素RTS噪声的时变物理统计建模与多维非均匀抑制方法研究”(61372156)

张 钰(1978-),女,内蒙古人,博士,副教授,硕士生导师,研究方向:图像信号处理,先后主持国家基金项目2项、浙江省基金项目1项,发表SCI/EI收录论文16篇。Tel.:15824482396; E-mail:zy2009@hdu.edu.cn

猜你喜欢
断点端点手势
非特征端点条件下PM函数的迭代根
挑战!神秘手势
不等式求解过程中端点的确定
一类无限可能问题的解法
V字手势的由来
胜利的手势
参数型Marcinkiewicz积分算子及其交换子的加权端点估计
主导电回路发生断点故障判断方法探讨
基丁能虽匹配延拓法LMD端点效应处理
TKScope仿真调试Cortex-M3内核的高级手段