向 洋,董林鷺,宋 弘,余坤鍵
(四川輕化工大學 自動化與信息工程學院,四川 自貢 643000)
人工智能開啟了新時代的紀元,讓人們感受到科技發展給生活方式帶來了巨大變化。其中,人工智能這個大課題中較為重要的一節就是機器對人臉的識別能力[1],如目前最新奇的人臉支付,再到安裝了人臉識別系統的門禁[2]等等。如何讓機器像人一樣準確地識別出人臉經過了漫長的發展[3]。在獲得人臉的訓練樣本時質量并非都是理想的,其中有光照、姿態、是否有遮擋物等因素的影響[4-5]。在訓練樣本較多時這樣的影響相對不明顯。訓練樣本較少時將會嚴重影響機器對人臉識別的準確度,出現小樣本問題[6]。一些學者提出了利用人臉的原始樣本圖像生成虛擬樣本增加訓練樣本的數量。如Xu等人[7]提出利用原始人臉樣本生成鏡像人臉來提高識別率,Xu等人[8]利用原始人臉樣本生成對稱人臉來提高識別率,Wu等人[9]提出(PC)2A調節不同參數獲得虛擬人臉,楊明中等人將鏡像人臉、對稱人臉、原始人臉通過權值為1的融合算法提升識別率[10]。項曉麗[11]利用原始樣本與鏡像樣本權值融合,采用協同表示分類器識別取得了較好的識別率。徐艷[12]提出原始樣融合虛擬平均臉和虛擬對稱臉構成新的訓練樣本,利用模糊決策方法進行分類。
在面對小樣本等問題時,不光對訓練樣本進行研究,對識別的算法也有研究,目前最常用的識別算法有兩種。第一種是稀疏表示分類器(sparse representation based classification,SRC)[13],由Wright等于2009年提出的一種利用訓練人臉的稀疏線性組合表示測試樣本人臉的算法,達到對人臉的識別能力。該算法識別率高,但是由于所需訓練樣本數量較多,運算量較大,處理時間無法滿足實際工程的要求。第二種是協同表示分類器(collaborative representation based classification,CRC)[14],由張磊等提出的一種利用正則化范數最小化技術。該方法具有運算時間快,所需樣本相對較少等優點。這里利用該算法來驗證文中提出的方法對提高人臉識別率的有效性。
在小樣本問題上,用原始人臉圖像生成虛擬樣本,是提高識別率的一種快捷且有效的方法。這里主要介紹利用原始人臉圖像生成水平鏡像圖像和左軸對稱圖像的原理。
水平鏡像圖生成原理:以人臉圖像的中軸線為中心,像素點的行位置保持不變,列位置從左到右相互交換,將原始人臉圖像中像素點位置定義為f(x1,y1),用M、N分別表示該矩陣的行與列,f(x2,y2)表示鏡像處理后得到的像素點位置。表達式如下:
(1)
左軸對稱虛擬樣本的原理與水平鏡像的生成原理類似,區別在于將中軸線右半部分的像素值歸零得到f'(x1,y1),再對f'(x1,y1)鏡像處理得到f'(x2,y2),最后將f'(x1,y1)與f'(x2,y2)相加得到左軸對稱圖f(x3,y3)。
對單樣本生成虛擬樣本加權混合后,利用Canny算子[15]提取混合樣本人臉輪廓的邊緣信息。具體步驟如下:
(1)對加權混合后的人臉進行高斯濾波處理。減少高斯噪聲對邊緣信息提取過程中造成的影響。高斯濾波表達式如下所示:
(2)
其中,δ表示高斯曲線標準差。
(2)計算出圖像的梯度像素梯度幅值及其方向值,分別用M(x,y)、θ(x,y)表示,數學表達式如下所示:
(3)
(4)
其中,Gx、Gy的數學表達式如下所示:
Gx=
(5)
Gy=
(6)
其中,f(x,y)表示人臉圖像中某一點的像素值。
(3)對計算出的M(x,y)值做非極大值抑制處理,目的是細化邊緣上的像素點。邊緣提取的原理是對人臉圖像中相鄰兩個像素點的值變化較大的點作為輪廓的邊緣點,但這樣得到的邊緣點比較粗糙。
(4)針對步驟(3)中粗糙的邊緣點,設定高閾值K1和低閾值K2進一步準確判斷出邊緣點。當步驟(3)中確定的邊緣點的像素值大于K1時,判斷該點為邊緣點。反之,小于K2時,判斷該點為非邊緣點。介于K1、K2之間時,再判斷該點周圍是否有確定的邊緣點,若有就認為該點是為了保證邊緣連續的點確定為邊緣點,反之為非邊緣點。
由于存儲技術的限制,將一幅人臉生成多幅虛擬樣本,再按不同比例的權重融合到一幅人臉圖像中組成混合樣本并提取其邊緣信息,再將混合樣本與邊緣信息融合,這樣處理既讓一幅人臉圖像盡可能地包含更多的特征信息,同時也節省了存儲空間。
用f(x1,y1)表示原始人臉圖像,f(x2,y2)表示水平鏡像人臉圖像,f(x3,y3)表示軸對稱人臉圖像,融合過程數學表達式如下:
H(x,y)=w1f(x1,y1)+w2f(x2,y2)+w3f(x3,y3)
(7)
其中,H(x,y)表示混合樣本,w1、w2、w3表示各自的權重,滿足以下情況:
(8)
得到混合樣本后提取其邊緣信息,將兩者相加融合到一幅人臉圖像中,數學表達式如下:
R(x,y)=H(x,y)+nC(x,y)
(9)
其中,C(x,y)表示混合樣本的邊緣提取圖像,n表示圖像的灰度值范圍0~255,文中n取0、20、60、255。R(x,y)表示混合樣本與其邊緣信息融合后的圖像,如圖1所示,其中第一行是原始人臉圖,第二行是虛擬樣本權值都為0.3的混合人臉圖,第三行是混合人臉圖融合了其邊緣信息并且邊緣信息圖的灰度值為60。

圖1 融合后的虛擬樣本
為了驗證文中方法的有效性,采用協同表示分類器CRC來獲得不同權值情況下的人臉識別準確率。以人臉庫ORL、FERET、AR作為實驗對象。其中ORL人臉庫是由劍橋大學AT& T實驗室創建,包含了40個不同人的人臉,每個人有10幅包含不同姿態的圖像共400幅,部分人臉如圖2所示。FERET人臉庫的特點是該人臉庫大多數為西方人且表情變化單一,包含了200個不同人的人臉,每個人有7幅圖像共1 400幅,部分人臉如圖3所示。

圖2 ORL人臉庫部分人臉

圖3 FERET人臉庫部分人臉
AR人臉圖包含了100個不同人的人臉,每個人有13幅包含不同表情、光照、遮擋的圖像共1 300幅,部分人臉如圖4所示,在實驗之前人臉庫全部轉換為深度為8 bit的灰度圖。以Matlab2013a為仿真軟件,處理器是英特爾i7-4770、頻率3.40 GHz,運行內存為16 GB的平臺上得到實驗結果。

圖4 AR人臉庫部分人臉
實驗主要驗證了由原始單樣本和其生成的虛擬樣本(水平鏡像圖、左軸對稱圖)、虛擬樣本在權值之和等于1構成的混合樣本、權值之和大于1構成的混合樣本、權值之和小于1構成的混合樣本,等幾種新構成的不同樣本,分別融合不同灰度值(255、60、20)的邊緣信息,得到的單樣本下的人臉的識別率。其中ORL人臉庫與FERET人臉庫每類樣本選前三幅分別作為單樣本實驗對象研究,AR人臉庫分別選擇第1、7、8、11作為單樣本實驗對象研究。
分析實驗數據可知,生成的虛擬樣本單獨作為訓練樣本時,會嚴重破壞原始人臉樣本的信息結構,使得識別率下降,其中對鏡像虛擬樣本破壞最嚴重。對應樣本與其提取的邊緣信息融合后相加的邊緣的灰度值為255時,在人臉有遮擋情況時識別率提升3%左右,但在無遮擋或遮擋部分較少時會使對應樣本信息結果被破壞造成識別率下降。當邊緣信息灰度值取60或20時能使對應的樣本識別率提升1%~2%。
對于姿態變化豐富的ORL人臉庫,原始人臉圖像與虛擬樣本加權融合,從ORL人臉庫的實驗結果可得,當權值之和為1時,識別率提升1%~7%。權值之和大于1時,識別率提升1%~9%。權值之和小于1時,識別率提升1%~6%。對于變化單一的FERET人臉庫,權值之和為1時,識別率提升2%~10%。而權值之和大于1時,識別率最高可提升2%~12%。權值之和小于1時,識別率提升1%~12%。
對于表情豐富、有遮擋和光照影響的AR人臉庫,將無遮擋物和光照影響的人臉生成虛擬樣本混合后權值之和大于1或等于1時加上其灰度值為20的邊緣信息,識別率提升3%左右。權值之和小于1時,會破壞人臉結構信息造成識別率下降。將只受到光照影響的人臉生成虛擬樣本混合后權值之和小于1時識別率有略微提升,其他權值相加情況都會降低識別率。將受到小部分遮擋的人臉生成虛擬樣本混合后權值之和大于1時,識別率能提升2%左右,其他權值相加情況只能略微提升識別率,將遮擋大部分的人臉生成虛擬樣本混合后權值之和大于1加上其邊緣信息識別率能提升3%左右,其他權值相加情況會破壞人臉結構信息造成識別率下降。
實驗結果表明,虛擬樣本混合的權值之和大于1時,提升識別率效果最優。虛擬樣本混合的權值之和等于1時,提升識別率效果次之。虛擬樣本混合的權值之和小于1時,對識別率有提升效果,但是提升效果與前兩種情況相比最差。
在實際工程應用當中,采集到的人臉圖像質量有好有壞,如在身份證、證件照等人臉圖像的采集質量是無遮擋、表情等因素影響的,但是在監控取證時獲得的人臉圖像,就會有各種不確定的因素影響。因此針對不同情況下單樣本人臉識別率的提升應考慮不同的權值之和與不同的灰度值邊緣相加,融合得到新的訓練單樣本來提升識別率。
實驗結果表明,權值之和大于1且與灰度值變化的邊緣信息相加對大部分小樣本問題的人臉識別率有提升效果。