張 鈺,徐偉斌,陸敬微,王光義
(杭州電子科技大學(xué) 電子信息學(xué)院,國家級電工電子實驗教學(xué)示范中心,杭州 310018)
去除冗余背景的手勢連續(xù)輪廓提取算法與實驗
張 鈺,徐偉斌,陸敬微,王光義
(杭州電子科技大學(xué) 電子信息學(xué)院,國家級電工電子實驗教學(xué)示范中心,杭州 310018)
連續(xù)輪廓提取是三維圖像模式識別和重建的重要步驟?,F(xiàn)有輪廓提取方法處理后的輪廓存在斷點,嚴(yán)重影響后續(xù)圖像處理步驟的質(zhì)量。提出了一種手勢連續(xù)輪廓提取方法。采用高斯混合模型定位方法確定視頻圖像中手勢所在區(qū)域;利用Sobel算子對所選擇區(qū)域中手勢進行粗糙輪廓提??;采用深度優(yōu)先算法進行輪廓遍歷,確定最長輪廓為手勢輪廓;通過計算輪廓斷點的斜率和分析最長輪廓中斷點的相對位置,采用局部sobel算子或直線連接斷點。實驗結(jié)果表明,所提方法不僅能夠得到優(yōu)于其他方法的主觀視覺效果,而且客觀指標(biāo)也明顯優(yōu)于現(xiàn)有輪廓提取方法,其中輪廓完整性可達98%、輪廓純凈性接近0。
連續(xù)輪廓提取; 最長輪廓; 手勢識別; 高斯混合模型
傳統(tǒng)的人機交互方式以硬件設(shè)備為中心,如鼠標(biāo)、鍵盤和觸摸屏等,這種交互方式較為機械和呆板。近年來,利用面部表情[1]、手勢[2-3]、肢體語言[4]等更加直觀的方式進行人機交互已經(jīng)成為發(fā)展新趨勢。手勢識別是一種較為新穎的非接觸交互方式,除了可以增加用戶體驗度,還可以用在一些較為危險的工業(yè)控制領(lǐng)域,以減少安全隱患。
手勢輪廓提取是手勢識別的基礎(chǔ),輪廓提取的完整性和連續(xù)性直接影響手勢識別的圖像質(zhì)量?,F(xiàn)有的輪廓提取方法主要有:第1類方法是數(shù)學(xué)算子法,如改進的Sobel算子[5-6]和Canny算子[7-8],這類方法具有處理簡單、效率高等優(yōu)點,但存在所提取的輪廓不完整、有斷點的缺點,而且?guī)в腥哂嗟谋尘靶畔ⅰ5?類方法是基于機器學(xué)習(xí)的輪廓提取方法[9-10],利用其自我學(xué)習(xí)能力,逐漸增加輪廓提取的完整性。但是由于不同場景需要選擇不同的算法,很難實現(xiàn)對所有場景都適用。第3類方法是配帶特定的手套實現(xiàn)輪廓提取[11-12],這種方法精度高,但是價格昂貴。
根據(jù)上面的分析可以看出,現(xiàn)有輪廓提取方法很難提取出連續(xù)、完整的輪廓。針對這個問題,本文提出了一種手勢連續(xù)輪廓提取方法,不僅能夠得到完整的輪廓信息,而且能夠去除冗余的背景信息。
算法的流程圖如圖1所示。首先利用高斯混合模型(Gaussian Mixed Model,GMM)定位算法確定視頻圖像中手勢所在區(qū)域;接下來對圖像進行灰度化處理,將彩色圖像變成灰度圖像;然后利用Sobel算子進行粗糙輪廓提取;最后進行斷點補償,得到連續(xù)的手勢輪廓。
圖1 手勢連續(xù)輪廓提取算法流程圖
1.1GMM定位算法
多維變量X服從高斯分布時,概率密度分布函數(shù)為:
(1)
式中:x是多維度列向量;μ為模型期望值,C為模型方差。在實際應(yīng)用中μ通常用樣本均值來代替;C通常用樣本方差來代替。
高斯混合模型認(rèn)為數(shù)據(jù)是從幾個單高斯模型中延伸出來的,概率密度分布函數(shù)為:
(2)
GMM算法使用3~5維高斯模型來描述圖像中各像素的特征。為了確定背景像素特征和兩個參數(shù),前景匹配前需要學(xué)習(xí)的過程。攝像頭每次捕獲到圖像后,就更新之前建立的背景模型,用當(dāng)前圖像中每個像素點和建立的背景模型進行比對,若比對成功就把該像素點作為背景像素點,并且更新模型;否則就把該像素點作為前景像素點。
(a)原視頻圖像(b)視頻圖像經(jīng)GMM匹配后圖像(c)定位后所選定的手勢區(qū)域
圖2 GMM手勢定位實驗圖
1.2灰度化處理
將彩色圖像轉(zhuǎn)換成灰度圖后,能減小后續(xù)的圖像處理計算量。使用
(3)
對定位后的彩色視頻圖像進行計算,即將RGB三通道圖像的各通道平均值作為圖像的灰度值。
1.3粗糙手勢輪廓提取
使用Sobel算子提取粗糙手勢輪廓,Sobel算子進行輪廓提取的計算式為:
(4)
梯度G的計算式
(5)
梯度方向θ的計算式
θ=arctan(Gy/Gx)
(6)
I表示原始圖像;Gx及Gy分別表示經(jīng)橫向及縱向輪廓提取的圖像。
1.4連續(xù)手勢輪廓提取
在得到粗糙手勢輪廓的基礎(chǔ)上,將實現(xiàn)手勢的連續(xù)輪廓提取,分為三部分內(nèi)容,如圖3所示。
圖3 連續(xù)手勢輪廓提取的流程圖
從圖3中可以看出,對比GMM結(jié)果,去除背景輪廓目的是減少后續(xù)輪廓遍歷的時間和后續(xù)輪廓連接的數(shù)目,同時有利于降低輪廓的誤識別率;輪廓遍歷是為了找出粗糙輪廓中所有不連續(xù)的輪廓;根據(jù)斷點的不同結(jié)構(gòu),輪廓連接使用不同方法進行連接,形成完整、連續(xù)的輪廓。
(1) 背景輪廓去除。經(jīng)過GMM定位后,手勢區(qū)域便可確定下來,由于這樣的手勢區(qū)域中還可能存在冗余背景物體,那么使用Sobel算子從該區(qū)域中提取的輪廓也會包含冗余背景輪廓。為了去除冗余背景輪廓,將Sobel算子提取的輪廓和GMM算法定位的結(jié)果進行比對,以去除冗余的背景輪廓,處理結(jié)果如圖4所示。對比圖4(c)、(d)可見:在圖4(d)中,圖4(c)的背景物體輪廓已經(jīng)被去除,粗糙手勢輪廓在一定程度上被提純了。
(a)手勢區(qū)域(b)經(jīng)由GMM算法定位后的手勢區(qū)域圖(c)使用Sobel算子提取的粗糙輪廓(d)經(jīng)由圖4(b)、(c)比對的結(jié)果
圖4 背景物體輪廓去除試驗結(jié)果
(2) 輪廓遍歷。將粗糙輪廓中的像素點位置分為3種情況:孤立像素,端點像素,中間像素。分別如圖5(a)、(b)、(c)所示。
(a)孤立像素(b)端點像素(c)中間像素
圖5 粗糙輪廓像素點位置分類
圖5中黑色點表示粗糙輪廓上的像素。圖5(a)中以像素點A為中心的8連通區(qū)域范圍內(nèi)未存在一個像素點和A相鄰,那么稱A這樣的像素點為孤立像素。圖5(b)中以像素點A為中心的8連通區(qū)域中有且僅有一個像素點B和A相鄰,那么稱A這樣的像素點為端點像素。圖5(c)中以像素點A為中心的8連通區(qū)域中有2個或超過2個(B,C,D)像素點和A相鄰,那么稱A這樣的像素點為中間像素。
為了找到所有輪廓,采用深度優(yōu)先搜索算法[14]進行遍歷。首先選取輪廓上任意點作為遍歷的起始點,然后判斷輪廓上的像素點是否都已經(jīng)被訪問過,如果已經(jīng)訪問完畢,那么輪廓搜索結(jié)束,所有輪廓都被存儲在結(jié)構(gòu)體中,在后續(xù)遍歷所有輪廓時只要讀取該結(jié)構(gòu)即可。如果還有未被遍歷的像素點存在,那么判斷該點是否為孤立像素,為孤立像素則直接丟棄,重新選擇一個點開始遍歷。如果判斷為不是孤立點,那么接著判斷該點否為端點像素。如果是端點像素,那么存儲到對應(yīng)的變量中;如果不是端點像素,那么該點就是中間像素,把該點的相應(yīng)信息寫到對應(yīng)的變量中。在遍歷完輪廓上的所有像素點后,得到了包含不連續(xù)手勢輪廓在內(nèi)的所有輪廓,選擇最長的輪廓,去除其他輪廓,得到含有斷點的手勢輪廓。
(3) 輪廓連接。為了得到連續(xù)性輪廓,對上述粗糙輪廓進行斷點(每條輪廓的端點,即端點像素)連接。在進行該步驟前首先對端點像素的斜率進行求解,由于端點處斜率可能會發(fā)生突變,故從端點像素開始每隔5個像素點進行一次斜率的求解。假設(shè)該端點的坐標(biāo)為A(x1,y1),前一點像素坐標(biāo)為B(x2,y2),那么這兩點的斜率k為:
(7)
當(dāng)滿足如下3個條件之一時停止斜率的求解:① 在經(jīng)過一定次數(shù)斜率求解后,斜率變化不大。這表示該端點在手指的中間位置,該點的斜率可用求解斜率的平均值來代替,端點位置如圖6(a)所示;② 經(jīng)過一定次數(shù)斜率求解后,每個斜率和前一次所求斜率相比差值都比較大,這說明該端點在手指之間的彎曲部分,那么該點斜率直接使用第一次所求解的斜率,端點位置如圖6(b)所示;③ 前后兩次計算斜率一正一負(fù),這說明端點附近出現(xiàn)拐點,那么該點斜率的值根據(jù)①、②來確定,端點位置如圖6(c)所示。
(a)端點位于手指中間處(b)端點位于手指輪廓彎曲處(c)端點位于手指尖處
圖6 端點位置示意圖
斷點連接的流程如圖7所示。首先在以端點A的像素坐標(biāo)為中心的32×32矩形區(qū)域中搜索,搜索結(jié)果中如果存在端點像素B,若該點像素的斜率和點A的斜率相近,那么該點的斷點類型為圖8(a)所示,對應(yīng)圖6(a)的斷點,這樣的斷點在一條較直的線段上,直接連接兩個端點不會改變手勢輪廓形狀,連接效果如圖8(b)所示。
如果兩個端點的斜率相差較大,說明兩個端點之間為一條曲線,如圖8(c)所示,對應(yīng)圖6(b)和(c),如果直線連接則會破壞輪廓原有形狀,如圖8(d)所示。此時采取下述方法進行輪廓的連接:在該區(qū)域多次使用Sobel算子進行輪廓提取,動態(tài)的調(diào)整閾值以曲線連接端點A和端點B,其連接結(jié)果如圖8(e)所示。
圖7 斷點連接的流程圖
(d)(e)
圖8 斷點分布情況及不同連接方法
為了驗證所提算法的視覺處理效果,采用Visual Studio做為驗證平臺,用OpenCV計算機視覺庫對視頻圖像進行處理[15]。從中選取了10組不同手勢圖片,使用傳統(tǒng)的Canny算子、Sobel算子和最長輪廓法[16]進行手勢輪廓提取,不同方法處理后的圖像如圖9所示。
圖9 不同算法處理結(jié)果對比
從圖9可以看出,使用Canny算子和Sobel算子提取的手勢輪廓不僅包含冗余背景輪廓,而且輪廓還會出現(xiàn)斷點。Canny算子和Sobel算子對膚色、背景、光照強度很敏感,導(dǎo)致算子的閾值選取比較困難,因此對于不同的場景需要人為調(diào)整閾值。圖9(d)為最長輪廓算法提取的輪廓,缺失很多手勢信息。圖9(e)為所提算法得到的手勢輪廓,得到未包含冗余背景信息的、連續(xù)的輪廓。
為了進一步對實驗結(jié)果進行驗證,使用兩個指標(biāo)對處理結(jié)果進行分析:輪廓完整性和輪廓純凈性。
輪廓完整性表示的是使用各種算法提取輪廓中包含真實輪廓像素點的數(shù)目與真實輪廓像素點數(shù)目的比值,計算方法為:
(8)
式中:Icr即衡量輪廓完整性的指標(biāo),該值越趨近于1說明輪廓越完整。n1表示算法提取的輪廓包含真實輪廓像素點的數(shù)目,N表示真實輪廓像素點的數(shù)目。
輪廓純凈性表示的是使用各種算法提取的輪廓中不屬于真實物體輪廓的像素點數(shù)目與真實輪廓像素點數(shù)目的比值,計算方法為:
Ipr=n2/N
(9)
式中:Ipr即衡量輪廓純凈性的指標(biāo),該值越小說明提取的輪廓越純凈。n2表示不屬于真實輪廓像素點的數(shù)目,N表示真實輪廓像素點的數(shù)目。
其中真實輪廓使用Photoshop 軟件得到。針對圖9中的10幅圖像,不同算法處理后圖像的輪廓完整性和輪廓純凈性如表1和表2所示。從表1可以看出,所提輪廓提取算法得到的手勢輪廓完整性可達到90%,而使用最長輪廓提取算法提取的輪廓完整性就比較低。雖然使用Sobel和Canny算子提取的輪廓完整性也較高,但從表2可以看出,Sobel和Canny算子提取的輪廓純凈性較差,包含了很多冗余背景輪廓。所以,綜上分析可以看出:所提算法得到的輪廓完整性和純凈性都較好,在處理后圖像上(見圖9)表現(xiàn)為沒有斷點、具有較少的不屬于真實物體輪廓的像素點數(shù)目。
表1 不同輪廓提取算法的手勢輪廓完整性 %
表2 不同輪廓提取算法的手勢輪廓純凈性 %
本文提出了一種可去除視頻圖像中冗余背景的手勢連續(xù)輪廓提取算法。通過GMM算法定位視頻圖像中的手勢位置,然后利用Sobel算子進行粗糙輪廓提取,并與GMM定位后圖像做比對,以去除圖像中冗余背景。在此基礎(chǔ)上進行輪廓遍歷找到手勢輪廓,并根據(jù)斷點的不同分布,采用不同策略進行輪廓連接。與現(xiàn)有輪廓提取算法相比,所提算法能夠獲得較優(yōu)的視覺效果,同時能夠獲得較高的輪廓完整性和較好的輪廓純凈性。所提輪廓提取算法可為三維圖像重建和模式識別提供較好的預(yù)處理方案。
[1] 孫曉,潘汀,任福繼.基ROI-KNN卷積神經(jīng)網(wǎng)絡(luò)的面部表情識別[J].自動化學(xué)報, 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機器學(xué)習(xí)的手勢識別算法[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].紅外與毫米波學(xué)報, 2010, 29(5): 383-388.
[14] 龔建華.深度優(yōu)先搜索算法及其改進[J].現(xiàn)代電子技術(shù),2007(22):90-92.
[15] 趙巨峰,高秀敏,崔光芒.結(jié)合生產(chǎn)線的視覺檢測實驗系統(tǒng)設(shè)計[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
國家自然科學(xué)基金面上項目”CIS像素RTS噪聲的時變物理統(tǒng)計建模與多維非均勻抑制方法研究”(61372156)
張 鈺(1978-),女,內(nèi)蒙古人,博士,副教授,碩士生導(dǎo)師,研究方向:圖像信號處理,先后主持國家基金項目2項、浙江省基金項目1項,發(fā)表SCI/EI收錄論文16篇。Tel.:15824482396; E-mail:zy2009@hdu.edu.cn