黃躍俊, 白 創(chuàng)
(長沙理工大學(xué) 物理與電子科學(xué)學(xué)院,湖南 長沙 410114)
人臉識別技術(shù)作為一門重要的生物特征識別技術(shù),已被廣泛應(yīng)用于身份驗證領(lǐng)域。傳統(tǒng)人臉識別方法多是基于人工特征加分類器的思路,而人工特征屬于淺層表示,不足以表達高維的非線性人臉特征,導(dǎo)致人臉識別精度偏低[1]。由于卷積神經(jīng)網(wǎng)絡(luò)(convolutional neural network,CNN)能通過訓(xùn)練學(xué)習(xí)到深層次的隱性人臉特征,極大地提高了人臉識別準確率,因此,在人臉識別領(lǐng)域得到了廣泛的研究和應(yīng)用[2]。
近年來,Taigman Y等人[3]提出的DeepFace采用尺寸較大的卷積核,引入多個權(quán)重不共享的局部卷積層,增加了特征的多樣性。文獻[4,5]提出的DeepID系列網(wǎng)絡(luò),通過擴大卷積層的通道數(shù)、采用連續(xù)卷積層等來增加網(wǎng)絡(luò)的寬度和深度,同時擴充訓(xùn)練集,使得網(wǎng)絡(luò)性能有了較大的提升。Schroff F等人[6]提出的FaceNet采用三元組損失函數(shù),提高了特征的判別性,但三元組的選擇容易受壞數(shù)據(jù)的影響,導(dǎo)致模型陷入局部最優(yōu)乃至崩潰。
這些卷積網(wǎng)絡(luò)結(jié)構(gòu)雖然通過增加網(wǎng)絡(luò)的層數(shù)能提高人臉識別精度,但網(wǎng)絡(luò)參數(shù)量和計算量也會成倍增加,需要耗費更多的硬件資源和推理時間。針對卷積神經(jīng)網(wǎng)絡(luò)參數(shù)多、計算開銷大及推理時間長的問題,采用了深度可分離卷積(depth separable convolution)和全局平均池化技術(shù)對卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)進行設(shè)計,同時通過加入中心損失優(yōu)化目標函數(shù),提出一種小型、識別精度更高的Small-FRNet(small face recognition network)模型。
圖1為LeNet—5卷積神經(jīng)網(wǎng)絡(luò)。如圖1所示,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)由輸入層、隱含層和輸出層三個部分組成。其中,輸入層為32×32的單通道圖像;隱含層負責對輸入圖像進行特征提取;輸出層則預(yù)測出其所屬類別。
圖1 LeNet—5卷積神經(jīng)網(wǎng)絡(luò)
傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)的隱含層通常由卷積層、池化層和全連接層組成。當卷積步長為1、零填充時,卷積層計算公式為
式中W為k×k的卷積核,b為偏置值,X為M×N的輸入特征圖,H為(M-k+1)×(N-k+1)的輸出特征圖。由式(1)可知,卷積運算包含了繁雜的乘法操作,且當輸入特征圖X和卷積核W越大,更加增加了計算開銷。
同時卷積神經(jīng)網(wǎng)絡(luò)中包含的全連接層雖然能有效地預(yù)測出特征表示的所屬類別,但是其計算量也十分龐大。
綜上所述,傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)存在著運算量大、參數(shù)量多等問題。因此本文采用深度可分離卷積和全局平均池化技術(shù)從網(wǎng)絡(luò)結(jié)構(gòu)上進行改進,并聯(lián)合中心損失(center-loss)作為監(jiān)督信號,提出了一種小型的、識別精度更高的Small-FRNet網(wǎng)絡(luò)。
圖2為Small-FRNet網(wǎng)絡(luò)。該網(wǎng)絡(luò)主要由深度可分離卷積層和全局平均池化層組成。相比傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò),該網(wǎng)絡(luò)采用堆疊的深度可分離卷積層對輸入圖像實現(xiàn)高級特征提取,并以全局池化層作為特征表示層,減少網(wǎng)絡(luò)參數(shù)量和計算量??紤]局部信息會存在丟失,全局平均池化層還增加了與第五層的深度可分離卷積層的連接。此外在訓(xùn)練過程中聯(lián)合了SoftMax損失和中心損失(center-loss)作為監(jiān)督信號,提高網(wǎng)絡(luò)的人臉識別精度。
圖2 Small-FRNet網(wǎng)絡(luò)
表1為Small-FRNet網(wǎng)絡(luò)參數(shù)配置。由表可知,Small-FRNet網(wǎng)絡(luò)的輸入為68×68的RGB三通道人臉圖像,每個卷積層采用了3×3或1×1的小卷積核,且均使用了ReLU激活函數(shù)。同時除DS Conv6卷積層保持不變外,每組卷積層的輸出特征圖大小成倍減少,輸出通道數(shù)則成倍遞增。此外整個網(wǎng)絡(luò)的參數(shù)量約為3.6×106個,計算量約為72.3×106次。
表1 Small-FRNet網(wǎng)絡(luò)的參數(shù)配置
深度可分離卷積是標準卷積的一種分解形式[7,8],它將標準卷積分解成兩部分:Depthwise卷積和Pointwise卷積。圖3展示了將標準卷積分解成Depthwise卷積和Pointwise卷積的過程。Depthwise卷積負責對每個輸入通道采用單個濾波器進行運算(即Filter操作);Pointwise卷積采用1×1卷積組合Depthwise卷積的輸出(即Combine操作)。而標準卷積的Filter和Combine操作是在一個步驟內(nèi)同時完成的。
圖3 標準卷積分解成Depthwise卷積和Pointwise卷積的過程
假設(shè)標準卷積的輸入特征圖F大小為DF×DF,輸入通道數(shù)為M;輸出特征圖G大小也為DF×DF,輸出通道數(shù)為N。且卷積核K大小為DK×DK,步長為1,有填充。則不考慮偏置時,深度可分離卷積層與標準卷積層的計算量之比為
而第一項中N取值往往相對較大,可以忽略。因此,當DK取值為3時,相比于標準卷積層,深度可分離卷積層的計算量能降低9倍。
全局平均池化層是指通過對每個輸入特征圖的整個區(qū)域求均值,以作為對應(yīng)特征圖的輸出[9]。圖4為全連接層與全局平均池化層的對比。假設(shè)輸入特征圖個數(shù)為n,則全局平均池化層輸出特征維度也為n,通過先對輸入特征圖分別進行累加求均值,再送入SoftMax層計算出屬于各個類別的概率值,概率最大的即為所預(yù)測的類別。相比全連接層,全局平均池化層沒有額外參數(shù)和復(fù)雜的乘法,有效地降低了計算開銷;同時全局平均池化層對網(wǎng)絡(luò)結(jié)構(gòu)直接進行了正則化,緩解了過擬合現(xiàn)象。
圖4 全連接層與全局平均池化層的對比
傳統(tǒng)卷積神經(jīng)網(wǎng)絡(luò)使用SoftMax損失函數(shù)作為監(jiān)督信號來進行訓(xùn)練。而對于人臉識別任務(wù)而言,SoftMax損失僅能促進特征的可分離性,并不能提取出具有判別性的特征。因此,本文在SoftMax損失的基礎(chǔ)上,加入中心損失[10],構(gòu)建聯(lián)合監(jiān)督信號作為損失函數(shù)。
假設(shè)訓(xùn)練樣本為xi(i=1,2,...,m),m為迭代時樣本個數(shù),yi為樣本xi所屬類別,cyi為第yi類的類別中心,則中心損失Lossc和聯(lián)合監(jiān)督信號Loss分別為
式中Losss為SoftMax損失;W,b分別為SoftMax層的權(quán)重和偏置;λ為比例系數(shù),用于平衡SoftMax損失和中心損失之間的比例。在訓(xùn)練過程中,SoftMax損失迫使不同類別的特征保持分離;同時中心損失最小化特征與其類別中心之間的距離。因此,在聯(lián)合監(jiān)督信號的作用下,既擴大了類間差異,又減少了類內(nèi)差異,從而提高特征的判別性。
本文基于TensorFlow框架實現(xiàn)Small-FRNet模型,采用CASIA-WebFace人臉庫(包含10 575個人,共494 414張人臉圖片)作為訓(xùn)練數(shù)據(jù)集,按4∶1的比例分成訓(xùn)練集和驗證集,訓(xùn)練過程中將圖片水平翻轉(zhuǎn)、區(qū)域裁剪及尺寸縮放進行數(shù)據(jù)擴增,并在LFW人臉庫(包含5 749個人,共13 233張人臉圖片)上進行測試。實驗中,分別對比分析了深度可分離卷積與標準卷積、全局平均池化層與全連接層及聯(lián)合監(jiān)督信號與SoftMax損失,最后將Small-FRNet模型與其他的人臉模型進行性能比較。
1)深度可分離卷積層與標準卷積層的對比
表2為深度可分離卷積與標準卷積在近似性能下的參數(shù)量和計算量對比。由表可知,在相同網(wǎng)絡(luò)深度和卷積核尺寸下,采用深度可分離卷積層時網(wǎng)絡(luò)識別準確率為89.78 %,相比標準卷積層,僅有略微下降,但其參數(shù)量和計算量分別減少8.5 %和22.3 %。因此,在獲得近似識別精度下可以采用深度可分離卷積替代標準卷積來構(gòu)建卷積神經(jīng)網(wǎng)絡(luò),以減少網(wǎng)絡(luò)的參數(shù)量和計算量。
表2 深度可分離卷積與標準卷積在近似性能下的參數(shù)量和計算量對比
2)全局平均池化層與全連接層的對比
表3為全局平均池化層與全連接層在近似性能下的計算量和參數(shù)量對比。由表可知,相比全連接層,以全局平均池化層作為特征表示層時,全局平均池化層的參數(shù)量和計算量可忽略不計,同時網(wǎng)絡(luò)的識別精度為95.58 %,能獲得近似的識別性能。因此,能采用全局平均池化層作為特征表示層來降低網(wǎng)絡(luò)的參數(shù)和計算量。
表3 全局平均池化層與全連接層在近似性能下的計算量和參數(shù)量對比
3)聯(lián)合監(jiān)督信號與SoftMax損失的對比
聯(lián)合監(jiān)督信號與SoftMax損失在LFW數(shù)據(jù)集上的準確率對比,二者準確率分別為99.25 %和95.68 %。相比單一的SoftMax損失,聯(lián)合SoftMax損失和中心損失作為監(jiān)督信號,提高了網(wǎng)絡(luò)識別精度近4 %。因此,通過在SoftMax Loss基礎(chǔ)上加入中心損失對目標函數(shù)進行優(yōu)化,能有效地提高特征的判別性,改善網(wǎng)絡(luò)的識別精度。
4)Small-FRNet模型與其他模型的性能對比
表4為Small-FRNet模型與其他模型在LFW數(shù)據(jù)集上的準確率對比。由表可知,相比其他模型,Small-FRNet的人臉識別準確率最高,達到了99.38 %,同時該模型的參數(shù)量和計算量最少,相比DeepFace網(wǎng)絡(luò)分別降低了97 %和86 %。因此,通過采用深度可分離卷積、全局平均池化技術(shù)和中心損失等來構(gòu)建卷積神經(jīng)網(wǎng)絡(luò)模型,能有效地減少網(wǎng)絡(luò)的參數(shù)和計算量,提高人臉識別準確率。
表4 Small-FRNet模型與其他模型在LFW數(shù)據(jù)集上的準確率對比
本文提出了一種Small-FRNet模型,采用深度可分離卷積對標準卷積進行分解,減少了網(wǎng)絡(luò)的參數(shù)量和計算量,再以全局平均池化層替代全連接層作為特征表示層,進一步簡化了網(wǎng)絡(luò)結(jié)構(gòu),最后通過聯(lián)合SoftMax損失與中心損失作為監(jiān)督信號對損失函數(shù)進行優(yōu)化,即在SoftMax-loss的基礎(chǔ)上,加入中心損失函數(shù),迫使特征向所屬類別中心聚攏,從而擴大類間差異,縮小類內(nèi)差異,提高了特征的判別性,有利于識別精度的提升。