李芳慧 裴騰達
(大連大學信息工程學院 大連 116622)
目前人臉識別技術已經(jīng)在社會諸多領域上得到了廣泛應用,為社會的安全以及經(jīng)濟發(fā)展帶來了巨大的便利。傳統(tǒng)的人臉識別技術主要以淺層結構模型為主,它們在處理圖像、視頻、語音等高維數(shù)據(jù)方面表現(xiàn)較差,特征提取難以滿足需求,而深度學習技術彌補了這一缺陷[1]。深度學習采用深層神經(jīng)網(wǎng)絡模型,即具有特殊訓練方式的包含多個隱藏層的神經(jīng)網(wǎng)絡[2]。1989 年LeCun 提出了真正意義上的適用于深度學習訓練的算法——卷積神經(jīng)網(wǎng)絡(Convolutional Neural Networks,CNN)[3]。CNN因其具有獨特的結構優(yōu)勢,在圖像分類、圖像檢索、人臉識別等領域得到了廣泛應用[4]。目前比較成功的CNN網(wǎng)絡模型有AlexNet[5]、GoogleNet[6]、VGGNet[7]、ResNet[8]等。CNN 網(wǎng)絡對輸入圖像進行分類識別,然而在含有噪聲干擾的環(huán)境下,采集到的圖像質量差,使得網(wǎng)絡的效果大幅度降低。
在卷積神經(jīng)網(wǎng)絡中,池化層的重要作用是實現(xiàn)特征降維、提取關鍵信息并丟棄冗余信息。然而,傳統(tǒng)的池化操作只是對數(shù)據(jù)進行簡單的粗處理,如最大池化法只極端的保留最大值元素,很容易引進噪聲;平均池化法取池化窗口內的均值,弱化了最大值關鍵元素。對此,國內外許多研究學者提出了較為有效的改進方法。2013 年Rob Fergus 等[9]提出了隨機池化(Stochastic pooling)方法,在池化窗口內對特征圖數(shù)值進行歸一化,按照特征圖歸一化后的概率值大小隨機采樣選擇。2018 年Wei 等[10]提出了局部加權平均池化方法,通過給池化元素添加可學習的權重來實現(xiàn)更有效的特征提取。本文算法考慮了圖像像素點的噪聲影響,提出了融合改進模糊二值模式的加權池化方法,減少干擾信息逐層累積傳遞。
近年來,局部二值模式(Local Binary Pattern,LBP)[11]的特征提取算法在人臉識別的應用中取得了顯著的成果,但仍存在對光照變化較敏感,以及對含噪聲紋理圖像特征表述能力不足等問題[12]。為增強LBP 算法對圖像干擾的穩(wěn)定性,Iakovidis等[13]引入數(shù)學中的模糊邏輯理論,提出了模糊局部二值模式(Fuzzy Local Binary Pattern,F(xiàn)LBP)算法,并在超聲圖像實驗中獲得了不錯的分類效果。
FLBP的算法過程為:取3×3窗口內的8個鄰域像素值依次與中心像素值作差,若差值大于某特定閾值,則編碼為0或1,否則將該點編碼為不確定位u,其公式表達為
其中tp是一個預定義的閾值,Zp是鄰域像素與中心像素的灰度差,u 代表不確定位。對于不確定位,編碼為0 或1 的概率可利用隸屬度模糊函數(shù)來確定,計算公式如下:
p(u=1)表示編碼為1 的概率,p(u=1)表示編碼為0 的概率。統(tǒng)計編碼值即可得出圖像的局部特征。FLBP雖然能夠在一定程度上提高算法的抗噪性能,但如果中心像素點為噪聲點,則以該點為基準的編碼計算將失去其意義。因此本文借鑒自適應中值濾波[14]的思想,提出了自適應中值的改進FLBP 算法,根據(jù)干擾噪聲的灰度值通常常遠大于或遠小于鄰域像素值的特性先判斷中心像素點是否為噪聲點,若是則用中值替換,然后再進行編碼以提高算法抗噪性。過程如圖1所示。
圖1 自適應中值的改進FLBP算法示意圖
左圖為原像素分布,右圖為改進后的像素分布。從編碼結果中可以看出,經(jīng)改進FLBP 算法計算出的編碼更豐富,具有更強的圖像特征描述能力,并能有效的剔除突發(fā)噪聲點,提高算法抗噪性。
為降低特征維度,Ojala 等將編碼結果簡化為等價模式和非等價模式,其中等價模式的數(shù)量達到90%以上,能夠代表大部分信息,可以視為圖像的關鍵特征[15]。在正常的人臉圖像中,等價模式出現(xiàn)的頻率遠高于非等價模式,且這些小部分出現(xiàn)的非等價模式通常是由噪音導致的。因此本文算法基于等價模式理論,取該像素點屬于等價模式的概率和為權重值,該權重反應了像素點信息的重要程度,計算過程如圖2所示。
圖2 權重計算
在編碼的循環(huán)二進制值串中,0-1 或1-0 的跳變次數(shù)小于2 的編碼結果都屬于等價模式。如圖中11110000 的變化次數(shù)為2 次,所以屬于等價模式。根據(jù)式(2)和式(3),可以計算出編碼為11110000 的概 率值為p(u1=1,u2=0)= 0.3×0.8 =0.24,即該點的權重為0.24。
池化層是深度學習中一個較為重要的概念。本文提出的加權池化方法依據(jù)各像素點信息大小的差異,賦予其不同的權重值,并對輸入特征圖進行加權池化操作。加權池化過程如圖3所示。
圖3 加權池化過程
1)取圖像的3×3 窗口,利用改進的FLBP 算法進行編碼計算,得到中心像素點對應的權值;2)重復步驟1),可生成一張與原圖對應的權重圖;3)取權重圖3×3 窗口內的值,按比例重新分配,確保其值總和為1;4)將原像素值與權值進行加權求和,得出池化輸出結果;5)以步長為2 的重疊池化窗口遍歷整個輸入圖像,可最終得出池化輸出結果。
本文使用的實驗平臺為CPU,Windows10 操作系統(tǒng),平臺搭載的測試軟件為Matlab R2018a。本文選取ORL 數(shù)據(jù)庫進行人臉圖像可視化測試,該數(shù)據(jù)庫包含40人,每人含有10張不同姿態(tài)、角度和表情的人臉照片。為防止網(wǎng)絡過擬合,增加數(shù)據(jù)多樣性,在實驗使用人臉圖像前,進行了一定的數(shù)據(jù)增強以擴充數(shù)據(jù)集。圖4 直觀地比較了LBP 算法和本文所提加權FLBP算法的特征提取效果圖。
圖4 第一行為正常人臉圖像,第二行為LBP特征提取圖,第三行為加權FLBP特征提取圖
從圖中可以直觀地看出,LBP 算法能夠提取出人臉的大致輪廓;而利用改進的加權FLBP 算法可以更為突出的提取出人臉的關鍵特征,對于越重要的特征,權重分配越大,顏色越亮。為進一步驗證改進算法的特征提取能力,本文分別使用兩種算法提取特征向量,并結合KNN 分類器[16],對人臉圖像進行分類識別。以2∶8 的比例將人臉圖像分為訓練集和驗證集,取實驗10 次的平均結果,其中LBP算法的分類識別率為87%,加權FLBP 算法的分類識別率為91%,所提算法比LBP 算法識別率高出4%,具有更好的特征提取效果。
為驗證所提算法在卷積神經(jīng)網(wǎng)絡中的降噪性能,本文設計了CNN-7 和AlexNet 網(wǎng)絡模型,并將加權算法融合在池化層中,與最大池化方法對比識別率。CNN-7 參考LeNet 網(wǎng)絡結構框架,共包含3層卷積層、2 層池化層、2 層全連接層,重疊池化窗口步長為2,初始學習率為0.01。采用隨機梯度下降算法,ReLU 激活函數(shù),Softmax 分類器。實驗的訓練集、驗證集和測試集分別以7∶2∶1 的比例將數(shù)據(jù)庫進行隨機劃分,測試集中分別添加了不同程度的椒鹽噪聲和高斯噪聲。
從表1 和表2 的實驗結果中可以看出,當噪聲密度為0 時,即測試集不含噪聲的情況,加權池化網(wǎng)絡的識別率與最大池化網(wǎng)絡相差不大,但隨著兩種噪聲的密度不斷增加,加權池化方法優(yōu)于最大池化方法的效果越來越明顯,當椒鹽噪聲密度為0.3時,最大池化方法識別率已經(jīng)降到50%以下,基本失去識別能力,而本文提出的加權池化方法識別率比最大池化高11.5%,差距達到最大。
表1 CNN-7網(wǎng)絡中所提加權池化法與最大池化法對椒鹽噪聲的降噪比較(識別率/%)
表2 CNN-7網(wǎng)絡中所提加權池化法與最大池化法對高斯噪聲的降噪比較(識別率/%)
Alexnet遷移網(wǎng)絡移去原有Alexnet預訓練網(wǎng)絡中最后三層,并添加適合本人臉識別任務的全連接層softmax 層和分類輸出層。相比使用隨機初始化權重從頭訓練網(wǎng)絡的方式更加方便高效。網(wǎng)絡處理數(shù)據(jù)的最小批尺寸為10,最大訓練Epoch設置為10,初始學習率設置為0.01。測試集組分別添加了6種不同程度的椒鹽噪聲和高斯噪聲。
從表3 和表4 中可以明顯地看出Alexnet 遷移網(wǎng)絡結合最大池化方法的抗噪性能不強,但采用所提算法的網(wǎng)絡識別率較為穩(wěn)定,且總體效果要比最大池化高很多。再次驗證了提出算法的優(yōu)越性。
表3 AlexNet網(wǎng)絡中所提加權池化法與最大池化法對椒鹽噪聲的降噪比較(識別率/%)
表4 AlexNet網(wǎng)絡中所提加權池化法與最大池化法對高斯噪聲的降噪比較(識別率/%)
本文提出了一種改進的模糊二值模式算法,并將其應用在卷積神經(jīng)網(wǎng)絡的池化層中,采用加權池化的方式替代傳統(tǒng)的池化方法。實驗表明該方法能夠有效提升噪聲環(huán)境下的人臉識別率,具有一定的降噪能力。雖然本文方法能夠提升卷積神經(jīng)網(wǎng)絡的抗噪性能,但同時存在計算復雜度較高,時間開銷略大的不足。因此設計出更加簡單有效的抗噪性卷積神經(jīng)網(wǎng)絡是下一步的研究重點。