黃奧云,程賓洋,孫家煒
(四川川大智勝軟件股份有限公司,成都 610045)
近年來(lái),深度神經(jīng)網(wǎng)絡(luò)作為計(jì)算機(jī)視覺(jué)里最熱門(mén)的技術(shù)之一,被廣泛應(yīng)用于圖像分類(lèi)、物體檢測(cè)、人臉識(shí)別等領(lǐng)域,并取得了顯著的成果。文獻(xiàn)[1]提出了基于卷積神經(jīng)網(wǎng)絡(luò)的人臉識(shí)別算法,將一張對(duì)其后的人臉圖片截取后輸入到一個(gè)包含9 個(gè)卷積層的神經(jīng)網(wǎng)絡(luò),最后經(jīng)過(guò)Softmax 輸出結(jié)果。該方法在人臉公開(kāi)數(shù)據(jù)集LFW 上達(dá)到了99.77%的識(shí)別率。文獻(xiàn)[2]采用GoogLeNet 和Triplet Loss,將人臉映射到歐氏空間的特征向量上,計(jì)算人臉特征的間距,最后通過(guò)距離的大小來(lái)判斷人臉的類(lèi)別。該方法在人臉公開(kāi)數(shù)據(jù)集LFW上達(dá)到了99.63%的識(shí)別率。
為了獲得更好的識(shí)別效果,一方面,采用更大的數(shù)據(jù)集,目前公開(kāi)的人臉數(shù)據(jù)集有CASIA-WebFace、CelebFaces+、VGG face dataset 和 MSCeleb-1M,等等;另一方面,設(shè)計(jì)更加優(yōu)秀的深度神經(jīng)網(wǎng)絡(luò)和采用更加合理的訓(xùn)練方法,如文獻(xiàn)[3]提出了Maxout 激活函數(shù),實(shí)現(xiàn)了對(duì)噪聲的過(guò)濾和對(duì)有用信號(hào)的保留,該算法在一個(gè)相對(duì)較小的模型下性能有一定的提升。文獻(xiàn)[4]針對(duì)人臉識(shí)別算法提出了Angular Margin Loss,將角度邊緣置于余弦函數(shù)內(nèi)部,這一約束使得對(duì)整個(gè)分類(lèi)任務(wù)的要求變得更加嚴(yán)苛,此外,該算法還改進(jìn)了ResNet 網(wǎng)絡(luò)結(jié)構(gòu)的block 層,使其更適合訓(xùn)練人臉圖片;數(shù)據(jù)方面,剔除了噪聲數(shù)據(jù),在MegaFace 數(shù)據(jù)集上的識(shí)別率達(dá)到了98.36%。
本文針對(duì)低質(zhì)人臉圖片的識(shí)別,基于深度神經(jīng)網(wǎng)絡(luò)和訓(xùn)練方法,提出了基于卷積內(nèi)部進(jìn)化機(jī)制的殘差網(wǎng)絡(luò)結(jié)構(gòu)與模型加權(quán)的人臉識(shí)別算法。在加深網(wǎng)絡(luò)深度的同時(shí),保持了網(wǎng)絡(luò)的簡(jiǎn)單性,并且采用了內(nèi)部進(jìn)化機(jī)制,對(duì)神經(jīng)元響應(yīng)進(jìn)行了篩選,在網(wǎng)絡(luò)中添加殘差模塊,并引入權(quán)重因子,對(duì)輸出的單個(gè)特征分別賦予不同的權(quán)值,最后對(duì)多特征進(jìn)行加權(quán)融合,提升了識(shí)別性。該算法在公開(kāi)人臉數(shù)據(jù)庫(kù)和多場(chǎng)景人臉數(shù)據(jù)測(cè)試表明,該算法對(duì)光照、人臉姿態(tài)和表情變化、面部遮擋物、年齡變化等低質(zhì)人臉數(shù)據(jù)具有較高的魯棒性。
基礎(chǔ)訓(xùn)練數(shù)據(jù)主要由兩類(lèi)數(shù)據(jù)構(gòu)成,第一類(lèi)數(shù)據(jù)包含各類(lèi)人臉公開(kāi)數(shù)據(jù)集,真實(shí)現(xiàn)場(chǎng)采集人臉圖像,這類(lèi)圖片的特點(diǎn)是雜亂,涵蓋了高分辨率和低分辨率的圖片,各種場(chǎng)景如光照條件、人臉姿態(tài)和表情變化、面部遮擋物、年齡變化等屬性的人臉圖像,這類(lèi)圖像數(shù)據(jù)樣本類(lèi)別較大,從而滿足了在訓(xùn)練過(guò)程中對(duì)各類(lèi)低質(zhì)圖像魯棒性的要求。第二類(lèi)數(shù)據(jù)是法定身份證件低質(zhì)人臉圖像,由法定身份證件低質(zhì)人臉圖像和若干現(xiàn)場(chǎng)采集人臉圖像構(gòu)成,這兩類(lèi)人臉圖像數(shù)量較大,但其缺點(diǎn)是樣本不均勻。
研究表明,要取得更好的識(shí)別精度和魯棒性,基于深度學(xué)習(xí)的人臉識(shí)別的訓(xùn)練數(shù)據(jù)在構(gòu)成上應(yīng)滿足:a.樣本類(lèi)別數(shù)大(基礎(chǔ)數(shù)據(jù)滿足)。b.每類(lèi)樣本的樣本數(shù)均勻(數(shù)量一致)且應(yīng)包含各類(lèi)情況的人臉圖像?;A(chǔ)數(shù)據(jù)不能滿足b 條件,應(yīng)進(jìn)行擴(kuò)充。本研究通過(guò)鏡像圖,添加光照,模糊化,加噪等方法對(duì)基礎(chǔ)數(shù)據(jù)進(jìn)行擴(kuò)充,使得樣本數(shù)均勻且包含多類(lèi)情況下的人臉圖像,其效果圖如圖1 所示。
圖1 人臉數(shù)據(jù)擴(kuò)展處理方法
研究表明,要取得更好的識(shí)別精度和魯棒性,訓(xùn)練數(shù)據(jù)一定要滿足數(shù)據(jù)量大和樣本均勻兩個(gè)要求。之前的研究對(duì)數(shù)據(jù)進(jìn)行了充分的擴(kuò)展,主要包括鏡像、加噪、模糊處理、加光照等,滿足了訓(xùn)練要求。本研究在原有擴(kuò)展數(shù)據(jù)集的基礎(chǔ)上,對(duì)數(shù)據(jù)集進(jìn)行了裁剪。通過(guò)裁剪,去除了訓(xùn)練樣本中的噪聲,使得訓(xùn)練數(shù)據(jù)盡可能干凈,因此減少了噪聲對(duì)識(shí)別率的負(fù)面影響,對(duì)識(shí)別率有一定的提升作用。數(shù)據(jù)裁剪具體的處理步驟為:
(1)以人臉左右眼中心位置為中心進(jìn)行裁剪。
(2)以人臉鼻尖位置為中心進(jìn)行裁剪。
(3)以人臉左右嘴角中心位置為中心進(jìn)行裁剪。
(4)每個(gè)裁剪的類(lèi)別分別對(duì)應(yīng)一種特征子向量。
裁剪人臉數(shù)據(jù)樣本如圖2 所示。
圖2 人臉數(shù)據(jù)裁剪處理方法
卷積神經(jīng)網(wǎng)絡(luò)采用激活函數(shù)來(lái)實(shí)現(xiàn)非線性,主要有 Tanh、Sigmoid、ReLU 函數(shù)等。Tanh 的特點(diǎn)是在特征相差明顯時(shí)的效果會(huì)很好,但在實(shí)際訓(xùn)練數(shù)據(jù)和現(xiàn)場(chǎng)采集數(shù)據(jù)中,由于光照、姿態(tài)、表情、年齡變化等各種原因,往往包含很多模糊的數(shù)據(jù)。Sigmoid 函數(shù)的優(yōu)點(diǎn)是在特征相差比較復(fù)雜或是相差不是特別大時(shí)效果比較好,但該函數(shù)收斂緩慢,反向傳播時(shí),很容易出現(xiàn)梯度消失的情況,從而無(wú)法完成深層網(wǎng)絡(luò)的訓(xùn)練。ReLU 收斂速度快,但很容易出現(xiàn)梯度消失的現(xiàn)象。
達(dá)爾文生物進(jìn)化論認(rèn)為自然選擇是進(jìn)化的主要機(jī)制,通過(guò)進(jìn)化,優(yōu)勢(shì)物種和個(gè)體被保留了下來(lái),弱勢(shì)物種和個(gè)體被淘汰掉。目前,一些傳統(tǒng)的遺傳算法通過(guò)模擬自然選擇和遺傳學(xué)機(jī)理的生物進(jìn)化過(guò)程,從而可通過(guò)模擬自然進(jìn)化過(guò)程來(lái)獲得全局中的最優(yōu)解。
本研究根據(jù)進(jìn)化過(guò)程中的相關(guān)方法,創(chuàng)新性地采用內(nèi)部進(jìn)化機(jī)制來(lái)實(shí)現(xiàn)非線性,將Feature Maps 突變?yōu)槎嘟M神經(jīng)元,在進(jìn)化的過(guò)程中篩選出最佳響應(yīng),最后形成新的Feature Maps;通過(guò)進(jìn)化我們得到的是神經(jīng)元響應(yīng)最佳的結(jié)果,因此使得神經(jīng)網(wǎng)絡(luò)對(duì)優(yōu)勢(shì)特征更加敏感,相對(duì)于 Tanh、Sigmoid、ReLU 等激活函數(shù),基于進(jìn)化機(jī)制能有效去除噪聲信號(hào)并保留有用信號(hào),具有較強(qiáng)的魯棒性和泛化能力,內(nèi)部進(jìn)化機(jī)制原理如圖3 所示。當(dāng)一個(gè)卷積層的輸入用如下式表示時(shí):
其中 n={1,…,2N},W 和 H 分別表示 feature map的寬和高。進(jìn)化機(jī)制將輸入的feature map 突變?yōu)槎鄠€(gè)子feature map,經(jīng)過(guò)內(nèi)部進(jìn)化,最后得到一個(gè)最佳的feature map,其原理可用如下公式表示:
1≤ k ≤ N,1≤ i ≤ H,1≤ j ≤ w ,其中,輸入的卷積層的通道是2N。
通過(guò)進(jìn)化,我們從輸入的feature map 得到了輸入信息的最佳神經(jīng)元。
圖3 內(nèi)部進(jìn)化機(jī)制示意圖
深度學(xué)習(xí)對(duì)于網(wǎng)絡(luò)深度遇到的主要問(wèn)題是梯度消失和梯度爆炸,傳統(tǒng)對(duì)應(yīng)的解決方案則是數(shù)據(jù)的初始化(normalized initialization)和(batch normalization)正則化,但是這樣雖然解決了梯度的問(wèn)題,深度加深了,卻帶來(lái)了另外的問(wèn)題,就是網(wǎng)絡(luò)性能的退化問(wèn)題,深度加深了,錯(cuò)誤率卻上升了,基于以上原因,文獻(xiàn)[5]提出了一種具有殘差結(jié)構(gòu)的深度神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu),該網(wǎng)絡(luò)結(jié)構(gòu)能很好地解決上述激活函數(shù)在網(wǎng)絡(luò)訓(xùn)練時(shí)所帶來(lái)的退化問(wèn)題,并且該結(jié)構(gòu)易于優(yōu)化,提高網(wǎng)絡(luò)的性能?;赗esNet 的基本單元設(shè)計(jì)方法[2],本研究創(chuàng)造性地將兩個(gè)基于進(jìn)化機(jī)制的卷積網(wǎng)絡(luò)層,組成一個(gè)基本的殘差模塊,使得網(wǎng)絡(luò)的性能也提升了。
基于卷積內(nèi)部進(jìn)化機(jī)制的殘差網(wǎng)絡(luò)具體實(shí)現(xiàn)結(jié)構(gòu)如圖4 所示,該結(jié)構(gòu)構(gòu)成深度卷積網(wǎng)絡(luò)的一個(gè)結(jié)構(gòu)層。多個(gè)結(jié)構(gòu)層串聯(lián)(級(jí)聯(lián))構(gòu)成了特征提取的深度卷積神經(jīng)網(wǎng)絡(luò),經(jīng)過(guò)這樣設(shè)計(jì)的深度卷積神經(jīng)網(wǎng)絡(luò),在特征提取方面更加豐富,從而使得識(shí)別準(zhǔn)確率有了大大提升,其特征提取過(guò)程如圖5 所示。
圖4 殘差模型示意圖
圖5 特征提取示意圖
詳細(xì)的神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)共13 個(gè)卷積層,進(jìn)化機(jī)制和池化層連接在兩個(gè)卷積層之間,最后是全連接層并輸出類(lèi)別數(shù),為了防止在訓(xùn)練過(guò)程中出現(xiàn)過(guò)擬合,在全連接層后加入了Dropout 層。訓(xùn)練數(shù)據(jù)集是經(jīng)過(guò)人臉對(duì)齊的大小為150×150 的人臉灰度圖片,訓(xùn)練時(shí),首先將圖片的大小裁剪成96×96,作為卷積層的輸入,最后經(jīng)過(guò)全連接層,輸出一個(gè)256 維的特征,經(jīng)過(guò)Softmax 層最后輸出該人臉圖片所屬類(lèi)別。
為了驗(yàn)證算法的可靠性,本研究基于人臉公開(kāi)數(shù)據(jù)庫(kù)和多場(chǎng)景采集真實(shí)人臉數(shù)據(jù)共440 萬(wàn)人臉數(shù)據(jù),基于公開(kāi)深度學(xué)習(xí)框架PyTorch 訓(xùn)練與測(cè)試。Dropout參數(shù)設(shè)置為0.75,momentum 設(shè)置為0.9,weight decay 設(shè)置為1e-6,初始學(xué)習(xí)率設(shè)置為0.01,之后隨著迭代次數(shù)的增加衰減到1e-5。訓(xùn)練時(shí),分別以眼睛、鼻子、嘴角為中心,裁剪出大小為96×96 的圖片,并對(duì)其進(jìn)行灰度處理,然后分別送入深度神經(jīng)網(wǎng)絡(luò)對(duì)其進(jìn)行訓(xùn)練,最后得到9 個(gè)對(duì)應(yīng)的模型。
研究實(shí)驗(yàn)表明,相對(duì)于深度神經(jīng)網(wǎng)絡(luò)的單模型的特征提取,多模型提取的信息更加豐富和穩(wěn)定[5]。模型融合是用于組合來(lái)自多個(gè)預(yù)測(cè)模型的信息以生成新模型的模型組合技術(shù)。通常,融合后的模型因?yàn)樗钠交院屯怀雒總€(gè)基本模型在其中執(zhí)行得最好的能力,并且抹黑其執(zhí)行不佳的每個(gè)基本模型,所以其最終效果將優(yōu)于每個(gè)單一模型。本研究訓(xùn)練模型按照對(duì)應(yīng)的權(quán)值拼接起來(lái)組成一個(gè)高位度的新模型,經(jīng)過(guò)測(cè)試,相比于單一模型,模型拼接所得到的識(shí)別率較單一模型提升了3-4%左右,該步驟具體流程如圖6 所示。
圖6 模型融合示意圖
為了驗(yàn)證該算法的有效性,分別在公開(kāi)人臉數(shù)據(jù)集和多場(chǎng)景采集數(shù)據(jù)集上進(jìn)行了測(cè)試。
測(cè)試時(shí),人臉特征比對(duì)采用余弦相似度,余弦相似度公式為:
余弦值的范圍在[-1,1]之間,值越趨近于1,代表兩個(gè)向量的方向越接近,為同一個(gè)類(lèi)別的概率越大;越趨近于-1,它們的方向越相反,為同一個(gè)類(lèi)別的概率越小。測(cè)試樣本如圖7 所示。
本文測(cè)試的公開(kāi)人臉數(shù)據(jù)集是LFW 數(shù)據(jù)集。該類(lèi)標(biāo)準(zhǔn)人臉數(shù)據(jù)集共收集了5749 類(lèi)人臉類(lèi)別共計(jì)13233 張人臉數(shù)據(jù)。其中,大約1680 個(gè)人包含兩個(gè)以上的人臉。該數(shù)據(jù)集被廣泛用于測(cè)試人臉識(shí)別算法的性能。
另一部分測(cè)試數(shù)據(jù)集來(lái)自標(biāo)準(zhǔn)身份證件照片和現(xiàn)場(chǎng)采集的人臉數(shù)據(jù)。Test1 數(shù)據(jù)集包含3139 類(lèi)共84245張人臉圖像,該類(lèi)人臉數(shù)據(jù)光照干擾明顯,部分?jǐn)?shù)據(jù)出現(xiàn)面部遮擋物,因此噪聲特別大;Test2 數(shù)據(jù)集包含5996 類(lèi)共19433 張人臉圖像,該類(lèi)人臉數(shù)據(jù)中有一定的年齡跨度,因此該類(lèi)數(shù)據(jù)特征較不明顯;Test3 數(shù)據(jù)集包含299類(lèi)共2298 張人臉圖像,該類(lèi)人臉數(shù)據(jù)的特點(diǎn)是人臉表情變化豐富;Test4 數(shù)據(jù)集包含2380 類(lèi)共23295 張人臉圖像,該類(lèi)人臉數(shù)據(jù)集涵蓋了高分辨率,低分辨率的人臉數(shù)據(jù)。部分測(cè)試數(shù)據(jù)集如圖8 所示。
圖7 測(cè)試樣本
圖8 部分測(cè)試數(shù)據(jù)集
分別測(cè)試了基于內(nèi)部進(jìn)化機(jī)制的深度神經(jīng)網(wǎng)絡(luò)在人臉公開(kāi)數(shù)據(jù)集LFW 上的效果,并與公開(kāi)的當(dāng)今最流行的人臉?biāo)惴y(cè)試結(jié)果做對(duì)比,其結(jié)果如表1 所示。從表中可以看出,本研究所提出的算法效果明顯好于其他算法。其中,Model1 和Model2 表現(xiàn)出了最好的成績(jī),在整個(gè)LFW 數(shù)據(jù)集上的識(shí)別率最高達(dá)到了100%,比現(xiàn)階段公開(kāi)的算法的測(cè)試結(jié)果提高了0.23%。通過(guò)以上對(duì)比可以得出,基于內(nèi)部進(jìn)化的深度神經(jīng)網(wǎng)絡(luò)的性能好于其他網(wǎng)絡(luò)。證明了本算法的可行性和有效性。
表1 不同網(wǎng)絡(luò)結(jié)構(gòu)在LFW 的測(cè)試結(jié)果
單模型和多模型在多場(chǎng)景低質(zhì)采集人臉數(shù)據(jù)集上的測(cè)試結(jié)果如表2 所示。除第一個(gè)測(cè)試數(shù)據(jù)集包含了部分訓(xùn)練數(shù)據(jù)外,其余三個(gè)數(shù)據(jù)集的數(shù)據(jù)均不包括在訓(xùn)練數(shù)據(jù)集內(nèi)。單模型在四個(gè)數(shù)據(jù)集上皆表現(xiàn)出優(yōu)異的成績(jī);融合后,識(shí)別率相較于單模型又提升了1-5%。
表2 低質(zhì)數(shù)據(jù)集測(cè)試結(jié)果
以上測(cè)試結(jié)果表明,相比于其他人臉識(shí)別算法,基于內(nèi)部進(jìn)化機(jī)制的深度卷積神經(jīng)網(wǎng)絡(luò)與模型加權(quán)的人臉識(shí)別算法無(wú)論在標(biāo)準(zhǔn)人臉還是低質(zhì)人臉數(shù)據(jù)都具有較高的識(shí)別率,本算法適用于各類(lèi)場(chǎng)景的人臉識(shí)別,具有較高的魯棒性和實(shí)用性。
本文基于卷積神經(jīng)網(wǎng)絡(luò)設(shè)計(jì)了一種全新的網(wǎng)絡(luò)結(jié)構(gòu),即基于卷積內(nèi)部進(jìn)化機(jī)制的深度卷積殘差網(wǎng)絡(luò)結(jié)構(gòu);同時(shí),在訓(xùn)練和測(cè)試階段提出了特征提取和加權(quán)模型融合的方法。經(jīng)過(guò)測(cè)試,本文提出的算法無(wú)論在公開(kāi)人臉數(shù)據(jù)集或由于光照條件,人臉姿態(tài)和表情變化、面部遮擋物、年齡變化等表現(xiàn)出的低質(zhì)人臉圖像,皆表現(xiàn)出較高的識(shí)別率。測(cè)試結(jié)果表明,本文提出的人臉識(shí)別算法具有較高的魯棒性和實(shí)用性。