于 霞, 李召鵬
(沈陽工業(yè)大學(xué) 信息科學(xué)與工程學(xué)院, 遼寧 沈陽 110870)
手形輪廓特征相比于其他手部生物特征具有易提取、易實現(xiàn)、計算量小的特點[1].通常以基本手部形狀特征結(jié)合掌紋、指紋、手掌靜脈紋等信息用于識別特征區(qū)域提取的主要依據(jù).但手形輪廓信息本身唯一性較低,也被用于結(jié)合高度唯一性特征用于特征融合使用[2-3].
移動終端設(shè)備作為便攜式的綜合信息處理平臺,在人們生活中發(fā)揮著越來越重要的作用.隨著智能設(shè)備的高速發(fā)展,自帶攝像功能的移動設(shè)備早已普及,使得在不增加額外設(shè)備開銷的基礎(chǔ)上收集手掌圖片信息成為可能[4].
然而,移動環(huán)境掌紋識別面臨諸多技術(shù)挑戰(zhàn),如受智能設(shè)備資源等條件(如較小的存儲空間、較弱的處理能力)[5]和復(fù)雜的應(yīng)用環(huán)境(背景、光照、手掌擺放姿態(tài)和位置等)的限制[6-7],其尚未形成理想的實用化技術(shù)方案.
現(xiàn)有的手形特征的識別主要是針對手掌和手指的長度、寬度、周長、面積等手掌圖像信息提取后的特征[8],此類特征的提取對所用特征提取算法依賴性較強,不同算法提取出的特征相差較大,且提取精度越高的算法其計算量越大[9].相較于此手掌輪廓的位置信息具有提取方法簡單、特征相對獨立、提取算法開銷較小等優(yōu)點[10-11],但其位置受手掌擺放位置的影響較大.作為識別特征,需對手掌擺放做出嚴(yán)格限制,且識別效果不佳,因此降低了用戶體驗[12].
針對以上問題,本文通過提取手形輪廓位置信息,結(jié)合輪廓質(zhì)心的位置,建立相對于手形輪廓的相對坐標(biāo)系,通過坐標(biāo)變換將輪廓坐標(biāo)變換為獨立于照片拍攝位置的相對坐標(biāo).然后選取相對坐標(biāo)信息80%的數(shù)據(jù)作為訓(xùn)練集,20%的數(shù)據(jù)作為驗證集,應(yīng)用支持向量機模型進行分類訓(xùn)練.通過等間隔選點法,不斷減小選點間隔,增加輸入模型的信息量,尋找最有效的相對位置信息數(shù)量,達到提高模型識別速度的目的,使其更便于應(yīng)用.
傳統(tǒng)手部圖像采集大多采用接觸成像,即手掌或手背接觸圖像采集設(shè)備或位置固定設(shè)備,這樣可能存在感染疾病的風(fēng)險,非接觸成像則可以保證對人體無傷害的需求.隨著智能手機和平板電腦上的圖像采集元件和網(wǎng)絡(luò)的不斷發(fā)展,可以實現(xiàn)不采用任何特殊采集設(shè)備,通過這些通用移動設(shè)備即可方便快速地采集圖像并進行在線識別,既減少特定采集設(shè)備購入的成本,又可以使認(rèn)證更加方便.因此,本文手掌庫為自建數(shù)據(jù)庫,采用手機攝像頭采集,背景基本為單色,采集手勢為4指并攏大拇指向外張開,四指朝上,手部位置在圖像中允許有一定平移.構(gòu)建的手圖像庫共采集100個人的手掌圖片,每人20張,共包含2 000張手掌圖片,經(jīng)過預(yù)處理并歸一化為4 000×3 000像素的圖像,所有圖像為RGB空間下的彩色圖像,手圖像庫樣例如圖1所示.
作為手掌圖像處理的第一步,手掌與背景分割的好壞會影響到后續(xù)基于輪廓的各種操作.同時受手機拍攝圖片質(zhì)量的影響,收集到的圖庫背景較為復(fù)雜.需要使用合適的背景分割算法對圖片進行處理.傳統(tǒng)的手掌分割算法有以下3種.
1) 固定閾值分割法.通過經(jīng)驗設(shè)置手掌與背景圖像的分割閾值,根據(jù)圖像的灰度圖與閾值的比較劃分出手掌區(qū)域與背景區(qū)域.這種方法依賴經(jīng)驗選取閾值,適合背景與手掌相差較大的情況.
2) 膚色分割法.通過對原圖像進行色彩空間轉(zhuǎn)換,對轉(zhuǎn)換后的圖像依據(jù)經(jīng)驗選取出固定閾值,轉(zhuǎn)化為二值圖像實現(xiàn)背景與手掌的分割.該方法通過圖像顏色空間的轉(zhuǎn)換,在一定程度上消除了光照對圖片分割的影響.
3) 最大類間方差法.通過對圖像的灰度圖進行統(tǒng)計處理,尋找使手掌與背景圖像灰度分布最大的閾值對圖像進行二值化分割,是統(tǒng)計上劃分錯誤概率最小的閾值分割法.
同時為使提取到的輪廓位置信息更加準(zhǔn)確,對提取的圖像進行形態(tài)學(xué)處理,使得最后分割出的圖像邊界相對平滑,同時也可以消除背景孤點.
原圖像RGB色彩空間中包含了圖片的亮度、對比度等信息,但這些信息不是分離的.原圖像的RGB數(shù)據(jù)不適合于色彩分割.本文把原圖像的R、G、B通道轉(zhuǎn)化為YCbCr顏色空間圖像,實現(xiàn)色彩和亮度的分離.
假設(shè)對所得空間的亮度通道分級為0,1,2,…,k-1,k,k+1,…,L.其中k為分割手掌與背景的閾值.p(k)為像素亮度在0~k級的概率,μ(k)為0~k級的平均亮度值,E(L)為亮度在0~L等級上的期望.依據(jù)統(tǒng)計學(xué)原理計算在YCbCr顏色空間中的亮度通道上手掌與背景間的類間方差見式(1).
(1)
選取使類間方差最大的k值作為分割閾值可使產(chǎn)生錯誤劃分的概率最小.應(yīng)用該方法劃分圖像的二值圖像結(jié)果見圖2.
(a) 原圖(b) 二值圖(a) 處理前(b)處理后圖2 手形圖像及其二值分割圖Fig.2 Hand shape image and its binarysegmentation diagram圖3 形態(tài)學(xué)處理前后的手掌二值圖像Fig.3 Bindry segmentation diagrams of palm beforeand after morphological processing
觀察劃分背景后的手掌二值圖像,可以發(fā)現(xiàn)其邊緣存在一些毛刺(見圖3(a)),這是由于相機拍攝時光源照射背景產(chǎn)生與膚色相近的陰影所導(dǎo)致的.這種毛刺,在提取輪廓特征點時會對識別效果造成影響,為去除輪廓邊界毛刺,本文采用形態(tài)學(xué)膨脹和腐蝕對二值圖像進行處理.去除手掌輪廓毛刺及部分孤點.
形態(tài)學(xué)膨脹是通過卷積模板對圖像進行掃描,使模板元素與二值圖像做與運算.可以取到連通二值圖像邊界的作用.而腐蝕操作則相反,應(yīng)用卷積模板對圖像進行掃描得出模板覆蓋區(qū)域的最小值,并用這個最小值作為參考點的像素值.
通過連續(xù)使用膨脹與腐蝕可以實現(xiàn)消除噪聲的作用.腐蝕膨脹處理后的二值圖像見圖3(b).
應(yīng)用掃描光柵算法,掃描二值圖像的邊界信息,該算法數(shù)據(jù)組將先掃描手掌圖像,得到若干輪廓,輪廓示意圖如圖4所示.由于圖像二值化后部分圖像存在背景與手掌膚色閾值相似區(qū)域被劃分為二值圖像中的孤島形狀的情況,本文把這些孤島的輪廓定義為內(nèi)部輪廓,它們是邊界數(shù)據(jù)組中的多余輪廓信息,需要過濾處理.
圖4 手形輪廓示意圖Fig.4 Outline sketch of hand shape
采用最大面積過濾法,根據(jù)如下算法對邊界數(shù)據(jù)組進行過濾,進而得到手掌輪廓.
①將第一個輪廓置為備選輪廓.
②遍歷下一個輪廓信息.
③計算每個輪廓內(nèi)部的面積.
④比較當(dāng)前輪廓面積與備選輪廓面積,將面積大的輪廓賦值給備選輪廓.
⑤重復(fù)②、③、④步直到遍歷全部輪廓信息.
⑥輸出最后的備選輪廓作為手掌輪廓.
手掌輪廓提取流程圖見圖5.
圖5 手掌輪廓提取流程圖Fig.5 Flow chart of palm contour extraction
由于提取的手形特征點坐標(biāo)依賴于圖像采集時手相對于整幅圖像的相對位置,手形狀是依據(jù)整幅圖像的原點建立的.當(dāng)手相對于相機移動時, 其坐標(biāo)會發(fā)生顯著變化,將降低依據(jù)手形坐標(biāo)分類算法的魯棒性.本文通過計算手掌輪廓的質(zhì)心坐標(biāo),并以此為原點,對手形輪廓特征點相對于質(zhì)心進行坐標(biāo)變換,從而達到增強手形數(shù)據(jù)相對穩(wěn)定的目的.圖6為手形質(zhì)心坐標(biāo)系示意圖.
圖6 手形質(zhì)心坐標(biāo)系示意圖
首先根據(jù)式(2),依據(jù)手形輪廓計算出手形的質(zhì)心坐標(biāo).式(2)中Contour為手形輪廓數(shù)組,Mij為空間距,Mx為質(zhì)心的X坐標(biāo),My為質(zhì)心的Y坐標(biāo).然后對手形輪廓坐標(biāo)以手形輪廓質(zhì)心為原點進行坐標(biāo)變換,得到手掌輪廓,用于下一步的輪廓特征點的提取.
(2)
原始圖像經(jīng)過預(yù)處理轉(zhuǎn)化為手形二值圖,輪廓提取算法根據(jù)手形二值圖提取出手形輪廓點坐標(biāo)信息,根據(jù)手形坐標(biāo)輪廓信息計算出質(zhì)心坐標(biāo).在高像素圖片下提取的手形信息具有較多的冗余數(shù)據(jù),未壓縮的手形坐標(biāo)占用大量的內(nèi)存,支持向量機模型計算出的大量冗余數(shù)據(jù)會增大計算開銷且無法取得更高的分類效果.
本文提出使用等間隔取點法對輪廓點進行壓縮.選取(5,780)間隔數(shù)量為5的區(qū)間作為測試壓縮區(qū)間.通過從分類正確率和計算開銷2個角度對手形輪廓坐標(biāo)等間隔采樣進行對比測試,其中選取全部數(shù)據(jù)的80%作為支持向量機的訓(xùn)練集,20%作為測試集,得到不同間隔下輪廓坐標(biāo)點的支持向量機分類正確率及所需計算時間的圖像如圖7所示.
圖7 輪廓點選取結(jié)果Fig.7 Selection results of contour points
圖8 輪廓點重構(gòu)圖像Fig.8 Reconstructed image of contour points
從圖7可以看出,支持向量機分類正確率先隨著輪廓點的數(shù)量增加不斷上升,當(dāng)特征點數(shù)量為55個時,訓(xùn)練的支持向量機在測試集上表現(xiàn)的綜合效果最佳,但當(dāng)輪廓點繼續(xù)上升,支持向量機訓(xùn)練結(jié)果趨勢反而逐漸下降,這是由于大量的輪廓點存在冗余數(shù)據(jù),對正確分類產(chǎn)生了干擾.同時計算大量輪廓點增大了計算的復(fù)雜度,其計算開銷也不斷增大.對選取的輪廓坐標(biāo)點進行重構(gòu),重構(gòu)后的圖像見圖8,重構(gòu)結(jié)果顯示當(dāng)特征點數(shù)為55時,分類正確率達到最高值98.25%,當(dāng)特征點數(shù)為50和40時,正確率與之相近,但特征點數(shù)為55時,保留了指尖部位更多相對位置相關(guān)信息.故選擇55個點作為手形分類的特征點,即對所有手掌的手形輪廓進行等間隔取55個輪廓特征點相對于手掌質(zhì)心的坐標(biāo)作為手形輪廓身份識別的特征.
4分類模型
支持向量機(SVM)是一種廣泛應(yīng)用于解決分類和回歸問題的機器學(xué)習(xí)方法.在解決二分類問題時,其基本思想是根據(jù)不同類別屬性數(shù)據(jù)尋找可以將不同類別數(shù)據(jù)區(qū)分開的超平面.該超平面需滿足到不同類別的最近的訓(xùn)練數(shù)據(jù)向量的距離最大.這些約束劃分超平面的數(shù)據(jù)點即為支持向量.當(dāng)支持向量機對數(shù)據(jù)進行預(yù)測時,只需判斷數(shù)據(jù)點在該劃分超平面的哪一側(cè),即可產(chǎn)生預(yù)測分類.支持向量機可以在二分類問題的基礎(chǔ)上擴展解決多分類問題.
手形識別問題即多分類問題,SVM方法為該類問題提供了高效的解決方案.
在手形識別中,以手形的n個相對坐標(biāo)數(shù)據(jù)作為數(shù)據(jù)屬性,以100個人的m個手形作為訓(xùn)練集,假設(shè)存在超平面(w,b)可以將數(shù)據(jù)正確分類.本文用向量(x1j,…,xij,…,xnj) (j=1,2,…,m)表示第j個手的n個特征,對于(x1j,…,xij,…,xnj)∈D,D為訓(xùn)練數(shù)據(jù)集合.設(shè)yi=1表示手形屬于相同類別,則有wTxi+b>0;設(shè)yi=-1表示手形屬于不同類別,則有wTxi+b<0,即可得
(3)
易得兩異類向量之和為
(4)
尋找最大間隔的劃分超平面表達式滿足
也可轉(zhuǎn)化為式(6).
式(6)即為支持向量機的基本型.
可見基本型即是求限制條件下的最優(yōu)解,在實際實現(xiàn)中會求取支持向量機的基本形的拉格朗日法的等價問題.
支持向量機在解決線性分類問題時表現(xiàn)很好, 但在解決復(fù)雜非線性的分類問題時需要借助核函數(shù)對原始數(shù)據(jù)空間進行映射處理, 使其映射到更高的維度空間下. 對于復(fù)雜關(guān)系的數(shù)據(jù)在其原有維度空間下劃分超平面不易求解或無解, 但當(dāng)其通過核函數(shù)映射到高維度空間時求解劃分超平面將變得簡單.
本文對現(xiàn)有4種核函數(shù)進行了分析.
1) 線性核函數(shù). 主要用于線性可分的數(shù)據(jù),其映射后的數(shù)據(jù)維度與原數(shù)據(jù)維度相同,具有計算快,參數(shù)少的特點,作為基礎(chǔ)的核函數(shù)對于非線性問題解決的效果不佳.
2) 高斯核函數(shù). 利用高斯函數(shù)將數(shù)據(jù)映射到更高的維度空間,對于局部聚集的數(shù)據(jù)集合有著很好的效果,參數(shù)較少,可以取得很好的計算性能.
3) 多項式核函數(shù). 應(yīng)用多項式的表征數(shù)據(jù),參數(shù)數(shù)量隨多項式的階數(shù)增加而增加,參數(shù)越多,其計算復(fù)雜度越高.
4) Sigmoid核函數(shù). 當(dāng)采用Sigmoid作為核函數(shù)時,支持向量機等價于多層的神經(jīng)網(wǎng)絡(luò)模型.
綜合參考實際計算性能及手形相對位置點數(shù)據(jù)關(guān)系,本文選用高斯核函數(shù)作為支持向量機的核函數(shù)應(yīng)用數(shù)據(jù)進行訓(xùn)練.
本實驗在Windows 10操作系統(tǒng)、Inter i5 2.5GHz CPU、8GB內(nèi)存、GTX1050Ti GPU條件下進行,機器學(xué)習(xí)采用Scikit-learn框架,圖像預(yù)處理采用OpenCV平臺.
首先統(tǒng)計類別錯誤率,查看是否有特定類別存在錯誤率偏高的情況.以總計100個人,每人20張,共2 000張圖片作為測試集,將100人按0~99編號,作為100個類別,誤差大于1的分類結(jié)果統(tǒng)計如圖9所示.
圖9 類內(nèi)誤差Fig.9 Intra-class error
其中類別63、97在20張測試圖片中分別有分類錯誤9個,錯誤率達到45%,比其他類別錯誤率高.
圖10為錯誤率最高的2個類別的分類結(jié)果的概率分布圖.
從圖10中可以看出,這2類的概率分布相對較均勻,未產(chǎn)生概率極高的類別,同時正確類別仍在概率最大的前5類中.將分類錯誤的類別63和類別97的重構(gòu)點圖像與概率最好的2個類別的圖像進行比較(見圖11),可以看出,類別97的重構(gòu)點圖像與類別30的圖像整體形狀相似,且其質(zhì)心位置也相似.類別63與類別94雖輪廓形狀存在一些差距,但其輪廓特征點相對于質(zhì)心距離近似.
(a) 類別63的預(yù)測概率前五分布(b) 類別97的預(yù)測概率前五分布
圖11 預(yù)測錯誤重構(gòu)點比較Fig.11 Comparison between reconstruction point diagram of prediction errors
以本文自建手掌數(shù)據(jù)庫分割背景后的手掌圖片作為輸入數(shù)據(jù)集,分別用SIFT、二進制魯棒不變尺度特征(BRIEF)、ORB圖像特征提取算法進行識別實驗,實驗中3種算法選取拒真率,認(rèn)假率相等時所對應(yīng)的閾值作為分類閾值,實驗結(jié)果見表1.
表1 對比實驗Table 1 Comparative experiment
實驗結(jié)果表明,相比其他3種特征提取算法,本文方法取得了較高的正確率,并且特征提取時間和訓(xùn)練時間消耗比其他3種算法時間更少,本文方法相比于BRIEF算法,匹配時間略長,但優(yōu)于SIFT和ORB算法.綜上,本文算法在綜合性能上占優(yōu),并取得了最高98.25%的分類正確率.
本文通過手機攝像頭采集100個人的手形圖片建立手形識別數(shù)據(jù)庫,應(yīng)用圖像最大類間方差法分割和腐蝕膨脹對圖像進行二值化及去毛刺的預(yù)處理,根據(jù)手形圖像采集條件最大面積過濾法提取輪廓.使用輪廓質(zhì)心坐標(biāo)建立了獨立于圖像位置的手形輪廓相對坐標(biāo),應(yīng)用高斯核函數(shù)的支持向量機對手形輪廓坐標(biāo)分類,得到手形識別模型.分析實驗數(shù)據(jù),找到綜合準(zhǔn)確率和模型訓(xùn)練時間最優(yōu)的輪廓點個數(shù),以極小訓(xùn)練的時間開銷取得了98.25%的分類正確率.若需進一步提升識別正確率,可以結(jié)合其他手掌特征.