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