梁曉曦,蔡曉東,王 萌,庫(kù)浩華
(桂林電子科技大學(xué) 信息與通信學(xué)院,廣西 桂林 541004)
近幾年,卷積神經(jīng)網(wǎng)絡(luò)在計(jì)算機(jī)視覺(jué)方向成為了最流行的技術(shù)方法.在人臉識(shí)別任務(wù)中,相較于提取手工特征的傳統(tǒng)算法[1],卷積神經(jīng)網(wǎng)絡(luò)避免了復(fù)雜的特征選擇問(wèn)題,同時(shí)能達(dá)到更好的識(shí)別準(zhǔn)確率.
目前,針對(duì)人臉識(shí)別任務(wù),提出了眾多基于卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Networks,CNN)的人臉特征提取網(wǎng)絡(luò)和方法.文獻(xiàn)[2]的視覺(jué)幾何組織(Visual Geometry Group,VGG)網(wǎng)絡(luò)擁有一定的深度,具有良好的特征提取能力,但是該網(wǎng)絡(luò)參數(shù)過(guò)多,不容易收斂和優(yōu)化.文獻(xiàn)[3]的Deepface首先采用了比較復(fù)雜的3D人臉建模技術(shù)和逐塊的仿射變換進(jìn)行人臉對(duì)齊,然后使用卷積神經(jīng)網(wǎng)絡(luò)提取特征,同時(shí)使用了大量的訓(xùn)練數(shù)據(jù).
通常,基于卷積神經(jīng)網(wǎng)絡(luò)的特征提取網(wǎng)絡(luò)使用分類(lèi)損失(softmax loss)來(lái)進(jìn)行特征學(xué)習(xí),這種方式可以學(xué)習(xí)到可分離的特征,但是特征的區(qū)分性不強(qiáng).后來(lái)出現(xiàn)了一些度量學(xué)習(xí)的方法來(lái)解決特征區(qū)分性不強(qiáng)的問(wèn)題,使得在訓(xùn)練的過(guò)程中縮小類(lèi)內(nèi)距離,增加類(lèi)間距離.文獻(xiàn)[4]的DeepID2在網(wǎng)絡(luò)中加入了對(duì)比損失(contrastive loss)來(lái)聯(lián)合分類(lèi)損失進(jìn)行監(jiān)督訓(xùn)練,但是該方法需要大量的正負(fù)樣本,而樣本的生成有很大的隨機(jī)性,容易影響網(wǎng)絡(luò)的性能.文獻(xiàn)[5]的FaceNet使用了一種三重?fù)p失(triplet loss),所有訓(xùn)練樣本都是三元組數(shù)據(jù).雖然該方法有不錯(cuò)的準(zhǔn)確率,但是對(duì)于樣本的需求量太大.而三元組的選擇處理過(guò)程也比較耗時(shí),網(wǎng)絡(luò)性能也比較不穩(wěn)定.文獻(xiàn)[6]的Center face使用了中心損失(center loss)加權(quán)結(jié)合分類(lèi)損失的方式進(jìn)行訓(xùn)練,但是中心損失僅僅作用于類(lèi)內(nèi)距離的壓縮,而對(duì)類(lèi)間距離并沒(méi)有作用.
基于上述討論,筆者提出一種基于嵌套殘差卷積神經(jīng)網(wǎng)絡(luò)和角度度量的人臉識(shí)別方法,通過(guò)改進(jìn)網(wǎng)絡(luò)結(jié)構(gòu)和特征區(qū)分學(xué)習(xí)方式提高人臉識(shí)別的準(zhǔn)確率.使得在合適的選定度量空間下,學(xué)習(xí)到的特征滿(mǎn)足最小的類(lèi)間距離大于最大的類(lèi)內(nèi)距離.同時(shí)能在保持較高準(zhǔn)確率的情況下,具有較低的復(fù)雜度.
為了提升人臉識(shí)別的準(zhǔn)確率,可通過(guò)加深卷積神經(jīng)網(wǎng)絡(luò)的方式來(lái)提升網(wǎng)絡(luò)的性能.因?yàn)榫矸e神經(jīng)網(wǎng)絡(luò)能夠提取各維度的特征,網(wǎng)絡(luò)的層數(shù)越多,則能夠提取到不同維度的特征越豐富.并且,越深的網(wǎng)絡(luò)提取的特征越抽象,越具有語(yǔ)義信息.但是隨著網(wǎng)絡(luò)層數(shù)的加深,會(huì)出現(xiàn)梯度彌散或梯度爆炸,使得隨機(jī)梯度下降算法的優(yōu)化變得更加困難,導(dǎo)致訓(xùn)練難以收斂,模型也達(dá)不到好的學(xué)習(xí)效果,層數(shù)過(guò)多時(shí)也會(huì)導(dǎo)致訓(xùn)練誤差加大.文獻(xiàn)[7]提出了一種捷徑連接的方式增加了一個(gè)恒等映射,這種結(jié)構(gòu)可以很好地解決模型性能的退化問(wèn)題,并且不會(huì)產(chǎn)生額外的參數(shù),也不會(huì)增加計(jì)算復(fù)雜度,同時(shí)卻可以大大增加模型的訓(xùn)練速度、提高訓(xùn)練效果.為了控制模型的大小,使用小卷積核的堆疊來(lái)替代大卷積核,可有效地減少模型的參數(shù)數(shù)量.
圖1 嵌套殘差模塊的結(jié)構(gòu)
殘差網(wǎng)絡(luò)通過(guò)捷徑連接傳播信息只是在殘差模塊的相鄰層,而文中提出了一種新穎的嵌套殘差卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),通過(guò)額外的捷徑連接可以在不相鄰的模塊間傳播信息,因此可以增強(qiáng)網(wǎng)絡(luò)的學(xué)習(xí)能力.該網(wǎng)絡(luò)主要由嵌套殘差模塊和縮減卷積構(gòu)成.縮減卷積是一種卷積層,它的尺寸為 3×3,步長(zhǎng)為2,填充為1.所以每經(jīng)過(guò)一個(gè)縮減卷積,特征圖的尺寸就會(huì)減少一半.由于池化層在下采樣的過(guò)程會(huì)損失過(guò)多信息,所以文中采用縮減卷積替代池化層來(lái)減小特征圖的尺寸.嵌套殘差模塊的結(jié)構(gòu)如圖1所示.
該模塊使用了3×3的小卷積核,同時(shí)使用一個(gè)1×3和一個(gè)3×1的卷積并聯(lián)的方式,可以加速計(jì)算,增加了網(wǎng)絡(luò)的非線性.合并層則進(jìn)行了多層次多特征圖的相加融合,能夠得到更豐富的特征,因此能獲得更高準(zhǔn)確率.假設(shè)輸入為x,兩個(gè)虛線框的為映射F和G,則最終輸出為x+F(x)+G[F(x)],令網(wǎng)絡(luò)模塊關(guān)系映射H(x)=x+F(x)+G[F(x)],而擬合殘差映射F和G比擬合原始映射H(x)要容易得多.該嵌套殘差模塊增加了網(wǎng)絡(luò)的深度,并且通過(guò)捷徑連接解決了深度網(wǎng)絡(luò)存在的問(wèn)題,同時(shí)具有良好的特征提取能力.
文中的嵌套殘差卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)如圖2所示,由4個(gè)縮減卷積和4個(gè)嵌套殘差模塊相間堆疊而成,最后連接一個(gè)512維的全連接層作為特征輸出層.其網(wǎng)絡(luò)結(jié)構(gòu)細(xì)節(jié)如表1所示.
表1 文中提出的人臉特征提取網(wǎng)絡(luò)的具體細(xì)節(jié)
在應(yīng)對(duì)人臉識(shí)別這種具有類(lèi)內(nèi)多樣性和類(lèi)間復(fù)雜性的任務(wù)時(shí),基于分類(lèi)損失的卷積神經(jīng)網(wǎng)絡(luò)往往難以達(dá)到理想的效果.因此文中使用了一種基于改進(jìn)分類(lèi)損失的角度度量損失[8]方法,首先對(duì)權(quán)值進(jìn)行標(biāo)準(zhǔn)化,然后再使用角度度量的方式優(yōu)化網(wǎng)絡(luò),從而實(shí)現(xiàn)了最大類(lèi)內(nèi)距離小于最小類(lèi)間距離的識(shí)別標(biāo)準(zhǔn).
這里以二維空間作為例子.在softmax映射空間中,當(dāng)出現(xiàn)類(lèi)間距離較小的情況時(shí),特征的區(qū)分性不強(qiáng),余弦距離度量方式會(huì)出現(xiàn)偏差,如圖3所示.特征點(diǎn)a和c的余弦距離若是大于a和b的余弦距離,則就會(huì)判斷a和c為一類(lèi),然而事實(shí)是a和b才是一類(lèi).為了解決此問(wèn)題,使用了基于權(quán)值標(biāo)準(zhǔn)化的角度度量方法,如圖4所示.固定w1和w2的值,此時(shí)要判斷x屬于哪一類(lèi),只需要比較α和θ的大小,由于α小于θ,所以x屬于類(lèi)A.
原始的分類(lèi)損失是一個(gè)交叉熵?fù)p失L,可表示為
(1)
其中,M是訓(xùn)練樣本的數(shù)量,xi是第i類(lèi)的特征向量,yi為xi的標(biāo)簽,Wj和Wyi是最后全連接層的權(quán)值矩陣W的第j列和第yi列,b是指最后一層全連接層的偏置,θj,i是向量Wj和xi之間的角度.
(2)
其中,Lm指經(jīng)過(guò)權(quán)值標(biāo)準(zhǔn)化后的損失函數(shù).
此時(shí)特征歸類(lèi)決策只取決于角度,通過(guò)訓(xùn)練能使得卷積神經(jīng)網(wǎng)絡(luò)學(xué)習(xí)到基于角度分布的特征.
在此基礎(chǔ)上,引入角度間距變量k(k>1),k越大,其特征區(qū)分性越強(qiáng),但是訓(xùn)練也會(huì)更加困難.因?yàn)楸举|(zhì)上存在類(lèi)內(nèi)的較大差異性和類(lèi)間的高度相似性,而k的增大,意味著類(lèi)間角度間隔變大,類(lèi)內(nèi)角度需要壓縮的更小,所以訓(xùn)練難度也會(huì)增大.最終的角度度量損失函數(shù)La可表示為
(3)
如圖5所示,其中特征提取網(wǎng)絡(luò)就是1.1小節(jié)的嵌套殘差卷積神經(jīng)網(wǎng)絡(luò),文中就是在特征提取網(wǎng)絡(luò)的最后一層全連接分類(lèi)層進(jìn)行了權(quán)值標(biāo)準(zhǔn)化,然后使用角度度量損失進(jìn)行訓(xùn)練優(yōu)化網(wǎng)絡(luò).
圖5 基于角度度量方法的卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)
文中實(shí)驗(yàn)平臺(tái)的配置包括Intel i5-4460(4x3.2 GHz處理器)、8 GB內(nèi)存、GTX980Ti顯卡以及 Ubuntu14.04操作系統(tǒng),并且使用文獻(xiàn)[9]的快速特征嵌入的卷積(Convolutional Architecture for Fast Feature Embedding,CAFFE)深度學(xué)習(xí)框架作為實(shí)驗(yàn)運(yùn)行環(huán)境.
2.1.1 訓(xùn)練庫(kù)與測(cè)試庫(kù)
文中使用的訓(xùn)練庫(kù)是經(jīng)過(guò)篩選后文獻(xiàn)[10]的中國(guó)科學(xué)院自動(dòng)化研究所網(wǎng)絡(luò)人臉數(shù)據(jù)庫(kù),去除了部分錯(cuò)誤樣本和重復(fù)樣本,總共包含了 10 572 個(gè)人,共 453 201 張人臉圖片.
文獻(xiàn)[11]中的人臉標(biāo)記(Labeled Faces in the Wild,LFW)數(shù)據(jù)庫(kù)包含 5 749 個(gè)人,總共 13 233 張人臉圖片.文中是在LFW數(shù)據(jù)庫(kù)上進(jìn)行測(cè)試,測(cè)試結(jié)果是基于LFW數(shù)據(jù)庫(kù)的 6 000 對(duì)人臉驗(yàn)證任務(wù),包括 3 000 對(duì)正樣本和 3 000 對(duì)負(fù)樣本.
2.1.2 預(yù)處理與測(cè)試方法
文中首先對(duì)訓(xùn)練庫(kù)和測(cè)試庫(kù)都進(jìn)行文獻(xiàn)[12]的多任務(wù)級(jí)聯(lián)卷積神經(jīng)網(wǎng)絡(luò)預(yù)處理,包括人臉檢測(cè),人臉關(guān)鍵點(diǎn)(包括兩個(gè)眼睛中心,一個(gè)鼻尖,兩個(gè)嘴角)定位兩個(gè)步驟.然后根據(jù)人臉關(guān)鍵點(diǎn)進(jìn)行仿射變換校正,最終將圖片尺寸裁剪為 112× 96.測(cè)試時(shí)提取圖片原圖和水平翻轉(zhuǎn)圖的特征,聯(lián)合作為最終的比對(duì)特征,并通過(guò)余弦距離計(jì)算特征相似度.
2.2.1 中心損失與角度度量損失的對(duì)比分析
文中基于resnet-27[6]和提出的嵌套殘差卷積神經(jīng)網(wǎng)絡(luò)進(jìn)行了相關(guān)度量方法的對(duì)比試驗(yàn),結(jié)果如表2所示.
表2 中心損失與角度度量損失的在LFW數(shù)據(jù)庫(kù)上的結(jié)果對(duì)比
由表2的序號(hào)(1)、(2)和序號(hào)(3)、(5)可以看出,經(jīng)過(guò)權(quán)值標(biāo)準(zhǔn)化和角度度量后,在LFW上的測(cè)試準(zhǔn)確率會(huì)有所提高,說(shuō)明角度度量方式有助于提高特征的區(qū)分性,增強(qiáng)網(wǎng)絡(luò)的性能.通過(guò)表2的序號(hào)(4)、(5)可以看出,使用角度度量損失的方法優(yōu)于使用中心損失,在LFW上有更高的測(cè)試準(zhǔn)確率,可以保證最小的類(lèi)間距離大于最大的類(lèi)內(nèi)距離,使網(wǎng)絡(luò)能提取出區(qū)分性更強(qiáng)的特征.
2.2.2 角度度量損失的性能與代價(jià)分析
文中針對(duì)上節(jié)中提出的序號(hào)(3)、(5)兩個(gè)網(wǎng)絡(luò)進(jìn)行實(shí)驗(yàn)對(duì)比,實(shí)驗(yàn)環(huán)境是在上節(jié)中提及的條件下,結(jié)果如表3所示.
表3 文中提出的兩個(gè)網(wǎng)絡(luò)的收斂速度與訓(xùn)練耗時(shí)對(duì)比
在嵌套卷積神經(jīng)網(wǎng)絡(luò)的基礎(chǔ)上,使用角度度量后,收斂速度會(huì)有所放慢,需要多迭代 2 000 次,增加了9%.使用角度度量后,計(jì)算復(fù)雜度略微提高,達(dá)到相同的 20 000 迭代次數(shù)時(shí)所需耗時(shí)僅僅增加 298 s,增加了4.3%.雖然使用角度試驗(yàn)后達(dá)到收斂時(shí)所需耗時(shí)增加了 832 s,但是能夠在較高準(zhǔn)確率的情況下繼續(xù)提高了2.63%的識(shí)別精度.
2.2.3 文中方法與其他方法的比較與分析
將文中方法同其他方法進(jìn)行了對(duì)比,結(jié)果如表4所示.首先相對(duì)于使用分類(lèi)損失的方法如DeepFace和VGG,文中方法使用了角度度量損失,能提取出區(qū)分性更強(qiáng)的人臉特征,人臉驗(yàn)證任務(wù)的準(zhǔn)確率也更高.然后,與基于對(duì)比損失的DeepID2的方法相比,文中方法在準(zhǔn)確率方面略低0.12%,但是文中方法僅僅使用了單個(gè)網(wǎng)絡(luò),相較于DeepID2使用的25個(gè)網(wǎng)絡(luò),具有更小的復(fù)雜度.最后與WebFace[10]相比,文中方法使用了更少的人臉關(guān)鍵點(diǎn),并且識(shí)別準(zhǔn)確率高了1.3%.
表4 文中方法與其他方法在LFW數(shù)據(jù)庫(kù)上的結(jié)果對(duì)比
文中提出了一種基于嵌套殘差卷積神經(jīng)網(wǎng)絡(luò)和角度度量的人臉識(shí)別方法.其中,嵌套殘差卷積神經(jīng)網(wǎng)絡(luò)具有良好的學(xué)習(xí)能力,能夠提取更加豐富的人臉特征.而基于權(quán)值標(biāo)準(zhǔn)化的角度度量方法能夠使得學(xué)習(xí)到的特征滿(mǎn)足最大的類(lèi)內(nèi)距離小于最小的類(lèi)間距離,以此增強(qiáng)特征的區(qū)分性.在LFW數(shù)據(jù)庫(kù)人臉驗(yàn)證任務(wù)上的實(shí)驗(yàn)結(jié)果表明,文中方法與其他方法相比,在具有較高準(zhǔn)確率的同時(shí),其在網(wǎng)絡(luò)數(shù)量和關(guān)鍵點(diǎn)數(shù)目上也有明顯的優(yōu)勢(shì).未來(lái)的研究可考慮使用更深的網(wǎng)絡(luò)來(lái)提取特征,進(jìn)一步可結(jié)合更多的度量學(xué)習(xí)方法來(lái)提升識(shí)別的精度.除此之外,因?yàn)樵趯?shí)際的應(yīng)用當(dāng)中,行人處在自然動(dòng)態(tài)狀態(tài)下,抓拍難以獲得正面的清晰人臉,因此對(duì)提取特征的有效性要求更高,未來(lái)的工作可以側(cè)重于研究如何提取有效的特征.