王景中,李萌
手語是聾啞人使用的語言,漢語手指語亦是手語的一種。我國“漢語拼音手指字母圖”中,共有30個不同指式,代表著所有的漢字拼音。研究手語識別可以使聾啞人的生活得到改善。隨著計算機技術(shù)的廣泛應(yīng)用,圖像處理及模式識別技術(shù)的成熟,人機交互已成為一種發(fā)展需要,因此手勢識別又成為多領(lǐng)域多學(xué)科的綜合產(chǎn)物,具有深遠的意義及應(yīng)用前景[1][2]。
由于邊緣信息是圖像最為重要的特征之一,許多學(xué)者都以邊緣檢測為基礎(chǔ)來對手勢識別進行研究。在Hausdorff距離變換空間內(nèi)進行邊緣像素點匹配[3],對手勢邊緣圖像進行歐氏距離變換[4]或是計算邊緣梯度直方圖[5],然后,進行匹配識別,都是直接利用圖像邊緣信息作為特征,但是,受光照等影響下造成邊緣檢測效果不好時,直接影響著識別率,因此,只靠圖像邊緣信息作為特征穩(wěn)定率不高。結(jié)合邊緣檢測和圖像幾何矩的方法[6]進行手勢識別,幾何矩特征具有穩(wěn)定性,但是,這一過程會損失原始的邊緣信息;提取手勢輪廓和凸缺陷[7]作為特征,但是,能應(yīng)用的手勢有限且要求手勢與屏幕平行。
本文研究的是靜態(tài)的漢語拼音30個字母手勢識別,采用圖像處理與識別方法,同時,應(yīng)用圖像的邊緣和輪廓信息,計算多特征匹配識別手勢。
根據(jù)高斯噪聲模型,理想效果的邊緣檢測算子需要滿足3個條件:第一是低失誤概率,即真正的邊緣點盡可能少丟失,同時盡可能避免保留偽邊緣點;第二是高位置精度,檢測的邊緣盡可能接近真實的邊緣;第三是對每一個邊緣點為單像素邊緣。為此邊緣檢測應(yīng)該遵循以下3個準則:
① 信噪比準則
信噪比越大,提取的邊緣質(zhì)量越高。信噪比SNR定義如公式(1):
式中G(x)代表邊緣函數(shù);h(x)代表寬度為ω的濾波器的脈沖響應(yīng);δ代表高斯噪聲的均方差。
② 定位精度準則
邊緣定位精度L定義如公式(2):
式中 G’(x)和 h’(x)分別表示 G(x)和 h(x)的導(dǎo)數(shù),L 越大表明定位精度越高。
③ 單邊緣響應(yīng)準則
為了保證單邊緣只有一個響應(yīng),檢測算子的脈沖響應(yīng)導(dǎo)數(shù)的零交叉點的平均距離D(f’)應(yīng)滿足公式(3):
式中h”(x)為h(x)的二階導(dǎo)數(shù)。
Canny設(shè)計了一個邊緣檢測算法,具體步驟如下:
Step1.首先利用2D高斯濾波模板進行卷積以平滑圖像。Step2.利用微分算子計算梯度的幅值和方向。
Step3.對梯度幅值進行非極大值抑制。即遍歷圖像,結(jié)合梯度方向和梯度強度去除真實邊緣周圍的偽邊緣點。
Step4.使用雙閾值算法檢測和連接邊緣[8]。通過設(shè)定雙閾值使邊緣連貫。
[9]中提出了采用計算圖像邊緣梯度的美國手語(ASL)識別算法,它對比了canny算子,Prewitt算子,Sobel算子,Robert算子和Laplace算子5種邊緣檢測方法,證明了canny算子最適用于手勢的邊緣檢測及識別。
圖像的幾何特征是圖像分析與識別的主要依據(jù)之一?;趲缀翁卣鞯淖R別方法降低了算法的復(fù)雜度,節(jié)省了所需要的存儲空間與時間消耗。由于二值圖像便于獲取、存儲和處理,因此為方便的提取圖像幾何特征,通常需要對圖像進行二值化處理[10]。通過二值圖像可得到圖形輪廓信息,進而可以計算出圖形的質(zhì)心、周長、面積等幾何特征,最終結(jié)合多個特征來有效地提高識別率。
1.2.1 圖像質(zhì)心[11](center of mass)
對一幅2D的連續(xù)圖像,f(x,y)≥0,p+q階矩mpq定義為公式(4):
其中pq為非負的整數(shù),對離散化的數(shù)字圖像,上述變?yōu)楣剑?):
當階數(shù)p + q ≤ 3時,mpq存在著實際物理意義:0階矩(m00)為物體的質(zhì)量;1階矩(m10, m01)表示物體的質(zhì)心;2階矩(m20, m02 , m11)表示旋轉(zhuǎn)半徑;3階矩(m30,m03, m12, m21)描述物體的方位和斜度。這些矩具有平移、旋轉(zhuǎn)、縮放不變的特性,因此在圖像的特征提取和識別上有廣泛的應(yīng)用。利用圖像0階矩和1階矩可得到圖像的質(zhì)心坐標(ic, jc)為公式(6):
1.2.2 面積
面積是圖像總尺寸的度量,是描述圖像區(qū)域大小的最基本的特征,且只與區(qū)域的邊緣有關(guān),與其內(nèi)部灰度值的變化沒有關(guān)系。對于二值圖像,區(qū)域面積最簡單的度量方法是統(tǒng)計目標輪廓中的像素點數(shù)。假設(shè)目標區(qū)域f(x,y)的大小為M*N,用邏輯1表示目標部分,邏輯0表示背景部分,則面積的計算公式如公式(7):
手勢識別系統(tǒng)實現(xiàn)框架流程如圖1所示:
圖1 手勢識別系統(tǒng)實現(xiàn)框架流程圖
如圖1所示,手語識別系統(tǒng)設(shè)計主要分為兩大部分。第一部分:首先是創(chuàng)建手勢樣本集,對樣本集進行圖像處理,特征提取,最后構(gòu)建手勢特征庫。
第二部分是建立在第一部分基礎(chǔ)之上的,針對的是測試集的單張手勢圖像。手勢圖像經(jīng)過同樣的圖像預(yù)處理與特征提取,將得到的手勢特征與手勢庫進行對比計算,從而得到識別結(jié)果。
圖像預(yù)處理包括膚色檢測、二值化、輪廓提取、去除非目標區(qū)域、圖像縮放等處理,可以有效的截取圖像中的手型區(qū)域。
Step1.膚色分割。把RGB空間轉(zhuǎn)換為HSV空間,分別設(shè)置HSV參數(shù)范圍[12],進行膚色檢測與分割。
Step2.圖像二值化。把膚色區(qū)域置為白色,非膚色區(qū)域置為黑色,從而得到二值圖像。
Step3.形態(tài)學(xué)膨脹運算。消除噪聲干擾,平滑圖像。膨脹運算在計算機上的實現(xiàn)可以看成是一種向量運算,即將集合X和集合B都看成向量,則公式如公式(8):
Step4.最大輪廓檢測。根據(jù)得到的二值圖像得到輪廓信息,比較每個輪廓包含形狀的面積,選出具有最大面積的輪廓,記錄下輪廓及其邊界信息。
Step5.得到目標區(qū)域。根據(jù)上一步的記錄的邊界條件,把邊界以外的區(qū)域去除,從而得到手型區(qū)域。對于原圖與二值化過后的手勢圖像都進行區(qū)域分割。如果手型區(qū)域不是圖像中最大的部分,即在復(fù)雜背景下還需要考慮其它方法。
Step6.圖像縮小歸一化。由于每幅圖像的手型區(qū)域大小并不相同,因此要把得到的圖像進行歸一化,把其縮放成64*64大小的位圖,可以減少圖像的數(shù)據(jù)量與冗余度,增強它的平滑度和清晰度,以便進一步處理。
Step7.圖像灰度化。經(jīng)過上述圖像預(yù)處理后,可以得到d大小64*64的灰度圖像。
經(jīng)過圖像預(yù)處理這一過程,可以分別得到大小 64*64的手型區(qū)域的灰度圖像與二值圖像。其中灰度圖像用于后續(xù)特征提取的邊緣檢測,二值圖像用于提取輪廓計算幾何特征。
本文研究的特征以邊緣信息與輪廓信息特征為基礎(chǔ),計算樣本圖像的特征值生成相應(yīng)的特征庫,即邊緣特征庫(記為SL1)與幾何特征庫(記為SL2),具體計算方法如下:
2.2.1 應(yīng)用邊緣信息
將圖像預(yù)處理過后的64*64大小的灰度圖像進行canny邊緣檢測,然后進行2次3*3區(qū)域模板的膨脹運算,使得邊界點擴散至鄰域里。得到膨脹后的圖像作為邊緣模板,是手勢特征庫中的邊緣特征庫SL1。
測試集圖像經(jīng)過邊緣檢測后的圖像 ftest(x,y),與特征庫中的邊緣模板圖像f (x,y)進行邏輯與運算如公式(9):
式中g(shù)(x,y)為運算結(jié)果圖像的二維函數(shù)。
通過邏輯與運算可以得到兩個子圖像的相交子圖像,計算測試集圖像與樣本集圖像邊緣重合比例,作為特征feature1(記為f1),其公式形式如公式(10):
2.2.2 應(yīng)用幾何信息
Step1.將圖像預(yù)處理過后的64*64大小的二值化圖像提取輪廓。
Step2.計算圖像的幾何特征值集合 S,包括:輪廓所包區(qū)域的面積area1,縱向中線右邊的面積area2,圖像的質(zhì)心點坐標pc(x, y),質(zhì)心點與輪廓上點的最遠距離作為半徑r,質(zhì)心點與輪廓的水平割線的長度 d1,質(zhì)心點到左輪廓等高點的距離d2,質(zhì)心點到上輪廓縱向距離d3。上述步驟以手勢u為例,如圖2所示:
圖2 幾何特征提取過程
依照以上步驟將所有樣本的幾何特征集合S寫到XML文件中,作為各種手勢圖像的幾何特征庫(SL2),對于測試集圖像按同樣的過程進行計算,得到幾何特征值集合(記為Stest),然后將Stest與SL2中各個手勢特征集合中特征值逐一計算距離,其整體空間距離為特征feature2(記為f2),公式形式如公式(11)~(18):
其中,
在計算過程中已將所得特征各值進行歸一化至0~1區(qū)間內(nèi),使得特征值標準化,影響率減小。
本手勢識別系統(tǒng)針對漢語拼音30個字母手勢采集了3套手勢庫(3套分別為不同人的手),每套手勢中每個字母手勢錄5張,3套手勢庫共450張手勢圖。圖像格式為BMP圖像,大小為640*480。第一套手勢作為樣本集,其余兩套手勢作為測試集。
在手勢識別系統(tǒng)中,測試集中任意一張圖像按2.2中介紹的特征提取與計算方法,與特征庫中的對于值進行運算,得到 N(特征庫中樣本數(shù)量)個匹配值(match),定義公式如公式(19):
上式中w1與w2為邊緣特征與幾何特征的權(quán)值,且需要滿足|w1|+|w2|=1。由于邊緣重合率f1越大,說明該測試圖像越接近樣本,與樣本幾何特征的空間距離f2越小,說明該測試圖像越接近樣本,故參數(shù)還應(yīng)滿足w1>0,w2<0。
得到的 N個匹配值中,最大值的樣本序號所的對應(yīng)的字母手勢即為識別結(jié)果。
根據(jù)本文算法,針對漢語拼音30個字母手勢做了大量實驗來測試其對識別率的影響。部分字母手勢經(jīng)過圖像預(yù)處理后,得到的手型區(qū)域灰度圖像如圖3所示:
圖3 圖像預(yù)處理之后的手勢圖像
對于用圖像邊緣作為特征來講,無論是將邊緣進行曲線擬合或是計算歐氏距離等,都損失了原始的邊緣信息。本文提出手勢邊緣圖像與樣本邊緣圖像進行邏輯與運算,直接利用了邊緣信息且沒有任何損失。通過與運算得到兩個手勢邊緣的相交子圖像,可以直觀的反應(yīng)出手勢的重合情況。部分邊緣特征庫SL1中的圖像如圖4所示:
圖4 部分邊緣特征庫中的手勢圖像
將測試集圖像進行圖像預(yù)處理,特征提取后,得到其邊緣圖像作為原圖,將樣本集的邊緣特征庫中邊緣圖像作為背景圖像,讓原圖分別與每個背景圖像做與運算。以手勢 G為例,運算效果如圖5所示:
圖5 邊緣圖像與運算的運行結(jié)果
經(jīng)過試驗計算,測試集的手勢 G與樣本特征庫對應(yīng)的手勢G的模板邊緣重合率為80%,對于與G相近的手勢F,其邊緣重合率為 73.16%。因此,邊緣運算可以識別出一定的手勢。對于邊緣相近的圖像可能會出現(xiàn)重合率相近的情況,因此同時計算了圖像的幾何特征來輔助識別。
在實驗結(jié)果中發(fā)現(xiàn)當同一手勢的測試圖像與樣本圖像特征對比時,f1會比f2大一個數(shù)量級,為了平衡兩個特征值之間的數(shù)值差距的產(chǎn)生的影響,所以公式(19)中相應(yīng)的權(quán)值需要滿足|w1|<|w2|。權(quán)值w1與w2取不同的值,對識別率影響較大,因此,需要確定最佳權(quán)值。最佳權(quán)值通過實驗進行確定。不同權(quán)值下測試集中字母手勢識別率如表1所示:
表1 不同權(quán)值下測試集中字母手勢識別結(jié)果比較分析
從表1可以看出,當權(quán)值w1與w2分別為0.3和-0.7時,識別率最佳,達到93.33%。對于測試集2而言,識別率達94.0%。
參考文獻[6]中提到的應(yīng)用幾何矩和邊緣直方圖作為特征來識別30個字母手勢,識別率達到90%。相較而言,本文算法有效的提高了手勢識別率。
本文針對漢語拼音30個字母手勢識別進行研究,提出了基于多特征匹配的識別算法,通過一系列的數(shù)字圖像處理的方法來進行圖像特征提取和分類。實驗證明該方法充分利用了圖像的邊緣和輪廓信息,可以簡單高效地進行手勢識別,對圖像的平移縮放具有穩(wěn)定性。對于光照及手勢過度旋轉(zhuǎn)對識別存在著一定的影響,后續(xù)研究的重點將放在自適應(yīng)的手勢識別系統(tǒng)上。
參考文獻
[1]高偉, 郭瑾, 曾碚凱.手語研究的方向與現(xiàn)狀[J].電子技術(shù)應(yīng)用, 2002, 11: 000.
[2]武霞, 張崎, 許艷旭.手勢識別研究發(fā)展現(xiàn)狀綜述[J].電子科技, 2013, 26(6): 171-174.
[3]張良國, 吳江琴, 高文, 等.基于 Hausdorff 距離的手勢識別[J].中國圖像圖形學(xué)報 (A 輯), 2002, 7(11).
[4]楊全, 王民.基于 Euclidean 距離的手勢識別[J].微計算機信息, 2007, 9: 265-266.
[5]孫麗娟, 張立材.基于邊緣梯度方向直方圖的靜態(tài)手語識別[J].微電子學(xué)與計算機, 2010, 27(3).
[6]何陽清, 葛元, 王林泉.應(yīng)用幾何矩和邊緣檢測的手勢識別算法[J].計算機工程, 2005, 31(15): 165-166.
[7]翁漢良, 戰(zhàn)蔭偉.基于視覺的多特征手勢識別[J].計算機工程與科學(xué), 2012, 34(2): 123-127.
[8]Canny J.A computational approach to edge detection [J].Pattern Analysis and Machine Intelligence, IEEE Transactions on, 1986 (6): 679-698.
[9]Thepade S D, Kulkarni G, Narkhede A, et al.Sign Language Recognition using Color Means of Gradient Slope Magnitude Edge Images [J].Intelligent Systems and Signal Processing (ISSP), 2013, 216 – 220.
[10]馮偉興, 唐墨, 賀波.Visual C++ 數(shù)字圖像模式識別技術(shù)詳解[M].機械工業(yè)出版社, 2010.
[11]王冰, 職秦川, 張仲選, 等.灰度圖像質(zhì)心快速算法[J].計算機輔助設(shè)計與圖形學(xué)學(xué)報, 2004, 16(10):1360-1365.
[12]Zhang X N, Jiang J, Liang Z H, et al.Skin color enhancement based on favorite skin color in HSV color space [J].Consumer Electronics, IEEE Transactions on,2010, 56(3): 1789-1793.