龔 昊 伍雪冬 金 釗
(江蘇科技大學電子信息學院 鎮(zhèn)江 212001)
人臉識別作為生物識別技術的研究熱點,具有非接觸、便捷可靠等優(yōu)點,正日益應用于金融安全、交通通行、信息安全等領域。雖然過去幾十年在人臉識別這一領域的研究取得了很大的突破,但還存在很多挑戰(zhàn)需要解決,比如人臉的表情、姿態(tài)等變化都會引起識別率的下滑。其中對人臉識別準確率影響最大的是光照因素,通常光源照射角度的不同、光源強弱不同都會導致生成圖像灰度的急劇變化,從而識別率大大降低。因此解決復雜條件下光照對人臉識別產(chǎn)生的影響顯得尤為重要[1]。
許多學者提出了解決人臉識別中光照問題的算法。Brasri和 Ramamoorthi[2]提出了球面諧波模型,這是一種空間建模的方法,其基本思想是任意光照下郎伯凸表面圖像可以由9個球面諧波基圖像近似表示[3~4],這種方法雖然提高了復雜光照下的人臉識別率,但需要進行三維建模,計算量大,在實際應用中很少使用。Belhumeur等[5]提出光照錐法,該方法利用至少7張人臉圖像重建每個姿態(tài)的人臉光照錐,算法復雜度高,難以達到實時性要求。光照歸一化的方法如直方圖均衡[6]、伽馬校正[7]、同態(tài)濾波[8]雖然能夠達到實時性要求,但在光照條件變化較大時效果不佳,一般作為光照預處理步驟獨立進行。楊燕和樊林慶[9]提出一種基于光照變換的Gabor小波人臉識別算法,在同態(tài)濾波的基礎上改用高斯函數(shù)對圖像進行濾波,然后提取人臉圖像的Gabor小波特征[10]進行人臉識別,雖然識別率較高,但提取Gabor小波特征耗時較長,無法實時處理圖像。周巍[11]等提出分塊完備局部二值模式(B-CLBP)特征的人臉識別算法,該算法提取局部特征進行識別,忽略了圖像的整體信息[12]。范守科和朱明[13]提出一種基于加權分塊稀疏表示的光照魯棒性人臉識別算法,通過去除DCT系數(shù)[14]的低頻部分來移除光照變化分量。Ishiyama[15]構(gòu)建了任意光照下的人臉3D形狀數(shù)據(jù)模型,該模型描述人臉的形狀、紋理和光照等特征,在光照變化時擬合模型并進行匹配,雖然取得了不錯的效果,但人臉特征采集過程復雜,難以實際應用。
近幾年,有學者將Retinex理論運用到人臉識別中來解決光照問題[16]。該方法提取人臉的光照不變特征進行訓練和識別,包括單尺度Retinex算法、多尺度Retinex算法。這些算法實現(xiàn)簡單,計算便捷,對光照具有較強的魯棒性,但在強側(cè)光照射時,單(多)尺度Retinex算法處理后的圖像會出現(xiàn)“光暈”現(xiàn)象,從而影響識別率。針對Retinex算法產(chǎn)生“光暈”的現(xiàn)象,本文提出一種改進的光照不變?nèi)四樧R別算法,將局部標準差變換應用到Retinex算法中,利用局部標準差變換的光照不變性,有效地解決了強側(cè)光照射下的“光暈”問題,提高了識別率。
Retinex(retina和 cortex的合成)是 Edwin.H.Land于1963年提出的一種圖像增強方法[17],其基本原理是,物體的顏色不是由反射光線的強度決定的,而是由物體反射紅、藍、綠色光的能力決定的。因其在邊緣增強、顏色恒常和動態(tài)壓縮中具有良好的平衡性[18],使Retinex算法得到廣泛應用和發(fā)展。
一幅圖像S(x,y)由兩部分構(gòu)成:反射圖像R(x,y)和亮度圖像(也稱入射圖像)L(x,y)。原理圖如圖1所示。
從圖1所看到的圖像即為相機所采集的圖像S(x,y),它和入射圖像L(x,y)、反射圖像R(x,y)之間存在關系:


圖1 Retinex原理圖
其中L(x,y)是入射光圖像,它直接決定了圖像中像素所能達到的動態(tài)范圍。R(x,y)是反射光圖像,即圖像的內(nèi)在屬性,在人臉識別過程中對應的就是光照不變特征。SSR算法的基本思想就是在原始圖像中,通過某種方法去除或者降低入射圖像L(x,y)的影響,保留物體本質(zhì)的反射屬性R(x,y)。對式(1)兩邊取對數(shù),得到:

由文獻[19]知 L(x,y)可以近似地表示為F(x,y)*S(x,y)。所以上式可以變?yōu)?/p>

其中r(x,y)為輸出圖像,*為卷積符號,F(xiàn)(x,y)為中心環(huán)繞函數(shù),可以表示為

c表示為高斯環(huán)繞尺度,λ表示一個尺度,它的取值滿足以下條件:

具體步驟如下:
1)先將讀取的人臉圖像S(x,y)進行對數(shù)變換得到對數(shù)域人臉圖像S(即公式(2)中S(x,y))。
2)將原人臉圖像S(x,y)和高斯函數(shù)F(x,y)做卷積,并且對結(jié)果取對數(shù)得到L(即公式(3)中l(wèi)og[F(x,y)*S(x,y)],其中c和λ滿足公式(5))。
3)將上兩步得到的S和L作差得到公式(3)中r(x,y),最后做尺度變換將r(x,y)映射到0-255的灰度范圍內(nèi),就是單尺度Retinex算法處理得到的結(jié)果。
由于高斯環(huán)繞尺度c較小時可以增強圖像暗區(qū)域細節(jié),但會導致顏色失真較大,反之c較大時顏色失真較小,但圖像暗區(qū)域細節(jié)增強效果不佳,因此人們便將單尺度Retinex算法改進為多尺度Retinex算法。

多尺度Retinex算法其實就是利用不同高斯環(huán)繞尺度c對圖像進行卷積,也就是單尺度Retinex算法的線性加權求和,其表達式為其中k表示中心環(huán)繞函數(shù)的個數(shù),為了保證MSR同時具有低、中、高尺度的優(yōu)點(不同尺度對應高斯環(huán)繞尺度c取不同值時高斯函數(shù)對圖像低頻部分濾除效果不同,c較小時增強暗區(qū)域細節(jié),c較大時顏色失真小),k一般取3。wi表示不同中心環(huán)繞函數(shù)的加權系數(shù),為均衡三個尺度,wi通常取1/3。而Fi(x,y)是高斯環(huán)繞尺度c取不同值時的高斯函數(shù),通過實驗c通常取15、80、120(即低、中、高尺度)時效果較好。圖2和圖3分別是Feret和Yale-B人臉庫上的處理效果。

圖2 MSR處理前后Feret人臉圖

圖3 MSR處理前后Yale-B人臉圖
多尺度Retinex算法處理后的人臉圖像在光照變化強烈時仍會有“光暈”的現(xiàn)象,為了處理這個現(xiàn)象,本文提出在多尺度Retinex處理后進行基于局部標準差變換來削弱強烈光照變化帶來的影響。
對于一個像素而言,其四周的8個像素構(gòu)成了其領域。如圖4所示。

圖4 3*3鄰域
定義它的局部標準差為


對上式等式兩邊同時除以icenter,則有:

由式(9)可以看出局部標準差與中心像素的比值是一個與光照分量無關的量,因此可以進一步削弱MSR算法處理之后產(chǎn)生的“光暈”現(xiàn)象。在計算過程中,可能出現(xiàn)中心像素為0從而使分母為0的情況。為了避免這個情況,將像素值為0的中心像素近似看作像素值為1。采用arctan函數(shù)對進行歸一化處理,在這個過程中可以先將乘一個負系數(shù)因子來調(diào)節(jié)比例,再進行歸一化得到LSDF(LSDF即是表征人臉圖像的值,LSDF∈[-π/2,0]):

因為計算LSDF是為了方便之后進行PCA降維和識別,并不能作為像素值顯示圖像,為觀察加入局部標準差變換前后效果,作如下處理:

fx(i,j)是處理后x處的像素值,mx(i,j)是像素點x處鄰域及中心點的均值,D為整幅圖像像素均值,σx(i,j)即公式(7)中的局部標準差LSD,x(i,j)是處理前x處的像素值。經(jīng)過局部標準差變換前后效果如圖5所示。

圖5 局部標準差變換處理前后Yale-B人臉圖
可以看到經(jīng)過局部標準差變換處理后,明顯削弱了陰影影響,并且人臉五官特征得到加強。
該算法首先對讀取圖像進行MSR算法處理,然后對得到的圖像用高斯濾波去噪,接著計算去噪后的圖像除邊緣像素點外每個像素點的局部標準差,利用式(10)得到最終人臉圖像的光照不變特征值LSDF。為了降低數(shù)據(jù)維度,本文采用PCA降維的方法對得到的人臉光照不變特征值進行降維,并用最近鄰分類器對降維后特征值進行分類識別。具體流程圖如圖6所示。

圖6 復雜光照條件下人臉識別流程圖
為了驗證本文算法對光照變化的魯棒性,分別在光照變化較大的Yale-B和Extend Yale-B人臉庫上對算法進行測試,并與文獻[21]中提到的MSR、SQI、INPS和Vu算法進行了比較。
Yale-B人臉庫共包含10個人的9種不同姿態(tài)的人臉圖像,每種姿態(tài)又有64種不同光照情況,按照 光 照 方 向 分 成(0°~12°)、(13°~25°)、(26°~50°)、(51°~77°)和(>77°)5個子集。
Extend Yale-B在Yale-B人臉庫的基礎上添加了28個人,Extend Yale-B人臉庫共包含38個人的多姿態(tài)多光照人臉圖像,和Yale-B人臉庫一樣按光照方向分為5個子集。

圖7 本文算法處理前后Extend Yale-B人臉圖像及灰度直方圖
本文設計了2個實驗,實驗1以Yale-B子集1的所有人臉圖片作為訓練集,其余子集的圖片作為測試樣本進行測試。
在進行MSR算法時,高斯環(huán)繞尺度c分別取15、80、120,加權系數(shù) wi=1/3,高斯濾波模板尺寸取[5,5],濾波器標準差取1.6,局部標準差變換中ε=2 15,實驗結(jié)果如表1所示。

表1 Yale-B子集1作為訓練集的識別率(%)
實驗2以Extend Yale-B子集1的所有人臉圖片作為訓練集,其余子集作為測試集,各參數(shù)選取和實驗1相同,結(jié)果如表2所示。
由圖7可見本文算法處理后大幅降低灰度值分布在0~40像素的數(shù)目,削弱了光照陰影影響。在Yale-B和Extend Yale-B人臉庫上實驗結(jié)果也表明:與其他算法相比,本文算法有效提高了復雜光照下的人臉識別率。

表2 Extend Yale-B子集1作為訓練集的識別率(%)
通過計算鄰域像素與中心像素的局部標準差LSD體現(xiàn)了圖像的局部特征,式(9)表明局部標準差與中心像素的比值具有光照不變性,利用比值的光照不變性可以進一步削弱光照的影響。將局部標準差與中心像素比值作為人臉圖像的特征既能突出體現(xiàn)圖像的局部差異,又能進一步削弱光照影響,因此在多尺度Retinex算法之后引入局部標準差變換能在Yale-B和Extend Yale-B人臉庫上取得更好的識別率。
針對光照對人臉識別產(chǎn)生的影響,本文提出一種改進多尺度Retinex算法。在MSR算法的基礎上,利用像素局部標準差與中心像素比值具有光照不變性進一步削弱“光暈”、“陰影”造成的影響,并結(jié)合PCA降維方法和最近鄰分類器對提取的特征進行降維和分類,在Yale-B和Extend Yale-B人臉庫上取得比較好的效果。但也存在:計算中心像素局部標準差時忽略了圖像邊緣信息及計算中心像素和鄰域差異時忽略梯度方向性等不足,這些方面還有待我們接下來做進一步深入研究。