鄧宏杰
(西南民族大學(xué)電氣信息工程學(xué)院,成都 610041)
隨著深度學(xué)習(xí)的不斷發(fā)展,人臉識(shí)別作為現(xiàn)代生物信息識(shí)別的一種,在保障個(gè)人信息安全和實(shí)現(xiàn)對(duì)人的身份快速識(shí)別和認(rèn)證的發(fā)展過程中,以其技術(shù)便捷性和信息安全性等特點(diǎn)得到了人們的廣泛認(rèn)可和利用。目前,對(duì)臉部特征提取并分類仍是人臉識(shí)別技術(shù)研究中的重心與難點(diǎn),對(duì)于單個(gè)人臉的表情變化、光照差異、有誤遮擋等都是引起類內(nèi)差距的重要因素。因此對(duì)人臉更加有效的特征提取和魯棒性更強(qiáng)的分類識(shí)別的算法同樣是研究人員的工作重點(diǎn)和挑戰(zhàn)。
隨著深度學(xué)習(xí)相關(guān)技術(shù)的逐漸創(chuàng)新發(fā)展,其在模式識(shí)別,系統(tǒng)辨別等新興技術(shù)領(lǐng)域發(fā)揮出巨大的優(yōu)勢(shì)。且對(duì)比傳統(tǒng)機(jī)器學(xué)習(xí)的識(shí)別方法而言,神經(jīng)網(wǎng)絡(luò)能提供更好的識(shí)別準(zhǔn)確性和效率。基于現(xiàn)階段的技術(shù)發(fā)展,人臉識(shí)別相較于其他生物識(shí)別所具有的獨(dú)特優(yōu)勢(shì),其使用價(jià)值巨大,使得可對(duì)人臉識(shí)別相關(guān)技術(shù)進(jìn)行更深層次的研究。
近年來,卷積神經(jīng)網(wǎng)絡(luò)(CNN)在目標(biāo)檢測(cè)領(lǐng)域得到廣泛的研究與使用,并逐漸成為人臉圖像檢測(cè)技術(shù)與方法的主流。Alex Krizhevsky 等人[1]在此基礎(chǔ)上提出了DCNN(深度卷積神經(jīng)網(wǎng)絡(luò)),該網(wǎng)絡(luò)具有大量參數(shù)和神經(jīng)元,能更好的提取目標(biāo)相應(yīng)特征,可廣泛的運(yùn)用于后續(xù)的人臉檢測(cè)識(shí)別算法。2013 年,Yi Sun 等人[2]將Cascade CNN 運(yùn)用于人臉檢測(cè),基于多網(wǎng)絡(luò)輸出的特征融合,對(duì)人臉面部區(qū)域進(jìn)行深層次的特征提取,使得目標(biāo)關(guān)鍵點(diǎn)的定位精度得到有效提升。Haoxiang Li 等人[3]在該研究的基礎(chǔ)上,將網(wǎng)絡(luò)進(jìn)行層級(jí)連接,以多個(gè)分類器采用級(jí)聯(lián)結(jié)構(gòu)對(duì)圖像特征進(jìn)行分類。2017年,Shuo Yang 等人[4]提出 Faceness-Net,該方法通過根據(jù)面部部位的空間結(jié)構(gòu)和排列方式來對(duì)面部部位的反應(yīng)進(jìn)行評(píng)分,從而找到面部,解決了難以檢測(cè)到嚴(yán)重遮擋和不受環(huán)境約束的姿勢(shì)變化下人臉的難題。Wu Shuzhe 等人[5]為有效解決開放環(huán)境無法進(jìn)行多視圖面部檢測(cè)的問題,提出了一種新穎的漏斗結(jié)構(gòu)級(jí)聯(lián)(Fust)檢測(cè)框架。FuSt 檢測(cè)器可自動(dòng)識(shí)別對(duì)齊并執(zhí)行粗略的多視圖面部預(yù)測(cè),為高精度,低時(shí)間成本的多視圖人臉檢測(cè)任務(wù)提供了一個(gè)理想的解決方案。Li Cuimei 等人[6]提出了基于原始Haar 級(jí)聯(lián)算法并同時(shí)結(jié)合三個(gè)附加弱分類器的人臉檢測(cè)算法。這三個(gè)弱分類器針對(duì)于膚色直方圖匹配、眼睛檢測(cè)和嘴部檢測(cè)。該級(jí)聯(lián)算法易于實(shí)施且能實(shí)現(xiàn)最新的生物識(shí)別性能。隨著R-CNN(Region-based CNN)[7]的提出,目標(biāo)檢測(cè)算法在人臉特征的檢測(cè)和識(shí)別方向得到廣泛應(yīng)用。XudongSun 等人[8]通過特征信息串聯(lián)、硬負(fù)挖掘、多尺度訓(xùn)練、模型預(yù)訓(xùn)練以及關(guān)鍵參數(shù)的正確校準(zhǔn)等多種策略改進(jìn)了Faster RCNN 框架[9]。
在現(xiàn)實(shí)場(chǎng)景下的人臉識(shí)別任務(wù)存在著目標(biāo)遮擋、背景變化多樣等影響因素,且識(shí)別目標(biāo)也存在著相似性與易變性,使得網(wǎng)絡(luò)需在最短時(shí)間內(nèi)迅速對(duì)目標(biāo)進(jìn)行檢測(cè)與分割,屬于在高度不確定性、高度時(shí)間壓力和高度精度需求的目標(biāo)識(shí)別過程。因此,本文專注于提高人臉的檢測(cè)分割精度,以Mask R-CNN[10]為基礎(chǔ),通過對(duì)其網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行重新搭建,引入現(xiàn)階段高性能的模塊,在不增加大量檢測(cè)事件的前提下,提高了人臉的識(shí)別能力。
本文的主要貢獻(xiàn)如下:
(1)將 ResNext-101[11]網(wǎng)絡(luò)作為 Mask R-CNN 的主干網(wǎng)絡(luò),并引入特征金字塔網(wǎng)絡(luò)結(jié)構(gòu),使得模型能夠提取更深層次的特征信息,并對(duì)多尺度的feature map 進(jìn)行預(yù)測(cè),從而訓(xùn)練出更為精準(zhǔn)的檢測(cè)模型。
(2)在RPN 的基礎(chǔ)上將Soft-NMS 替換為Softer-NMS[12],使候選區(qū)域定位更加精準(zhǔn)。
特征作為圖像的核心要素,在進(jìn)行檢測(cè)分類任務(wù)時(shí)至關(guān)重要。卷積神經(jīng)網(wǎng)絡(luò)通過卷積、池化等一系列操作,能夠得到圖像相應(yīng)的特征表示。
1998 年,LeCun 等人[13]通過對(duì) CNN 結(jié)構(gòu)的確立及完善,提出了LeNet-5 網(wǎng)絡(luò)模型。在訓(xùn)練過程中,對(duì)梯度等一系列網(wǎng)絡(luò)參數(shù),通過誤差反向傳播算法的實(shí)現(xiàn)進(jìn)行調(diào)整優(yōu)化,用于實(shí)現(xiàn)對(duì)手寫數(shù)字的識(shí)別。2012 年,A.Krizhevsky 等人[14]設(shè)計(jì)了AlexNet 結(jié)構(gòu)。該模型利用了dropout 技術(shù),在網(wǎng)絡(luò)訓(xùn)練期間隨機(jī)剔除神經(jīng)元,防止網(wǎng)絡(luò)過擬合,同時(shí)激活函數(shù)選擇ReLU 函數(shù),減少函數(shù)計(jì)算量,并引入max-pooling 技術(shù)。這使得與先前的LeNet 相比,AlexNet 的網(wǎng)絡(luò)層數(shù)達(dá)到更深且能處理更高維、復(fù)雜的圖像特征。為了有效地提取更深層的特征,K.Simonyan 等人[15]在 2014 年提出了 VGG,該網(wǎng)絡(luò)基于多個(gè)3×3 卷積核,并將其作為特征提取器來對(duì)高維特征進(jìn)行提取,使訓(xùn)練參數(shù)和運(yùn)算時(shí)間在一定程度上得到了優(yōu)化,能使網(wǎng)絡(luò)層數(shù)達(dá)到16-19 層。而C.Szegedy 等人[16]提出了以bottleneck layer 為核心思想的GoogleNet。Bottleneck layer 主要是使用了 1×1 卷積核,減少了特征的數(shù)量,從而降低了操作復(fù)雜性,節(jié)約了時(shí)間成本。并在后續(xù)的模型中加入Batch-normalized 層,通過計(jì)算高維feature map 的平均值和標(biāo)準(zhǔn)差,將其數(shù)據(jù)分布?xì)w一固定,加速網(wǎng)絡(luò)的訓(xùn)練。作為Mask R-CNN 特征提取的主干網(wǎng)絡(luò)ResNet[17],結(jié)合了VGG和 GoogleNet 要點(diǎn)。不僅引入 BN 層,還將 1×1,3×3,1×1 作為網(wǎng)絡(luò)結(jié)構(gòu)。在此基礎(chǔ)上,保留了豐富的語義信息,且與其他網(wǎng)絡(luò)結(jié)構(gòu)相比,在計(jì)算時(shí)間上達(dá)到了有效的優(yōu)化。
目標(biāo)檢測(cè)(object detection)為現(xiàn)階段CV 領(lǐng)域熱門的任務(wù)。它的基本思路是同時(shí)解決目標(biāo)定位(localization)和識(shí)別(recognition)。對(duì)于 two-stage 算法而言,基于感興趣區(qū)域的R-CNN 系列算法已得到廣泛的應(yīng)用,即先通過算法生成一系列proposal region,再通過CNN對(duì)其進(jìn)行分類與回歸。該算法在檢測(cè)的準(zhǔn)確率和定位精度上與one-stage 算法相比具有一定的優(yōu)勢(shì)。
Ross Girshick 等人于2014 年提出了R-CNN,核心思想是將region proposals 與CNN 相結(jié)合,是第一個(gè)將深度學(xué)習(xí)與目標(biāo)檢測(cè)相結(jié)合的算法,并且該算法在VOC 2012 數(shù)據(jù)集上的測(cè)試結(jié)果超過了以往的所有實(shí)驗(yàn),對(duì)于mAP 這個(gè)指標(biāo)而言,相較于之前提高了30%,并最高達(dá)到了53.3%。Fast R-CNN[18]在其基礎(chǔ)上進(jìn)行改進(jìn),將特征提取對(duì)象為整張圖像,并首次提出了Rol pooling 這一模塊,及將輸出的feature map 歸一為固定尺度大小。同時(shí)允許以end-to-end 的方式訓(xùn)練物體檢測(cè)模型,最后將SVM 分類器替換為Softmax 激活函數(shù),讓網(wǎng)絡(luò)在訓(xùn)練集和測(cè)試集上達(dá)到了更高的precision 和recall 值。相較于 Fast R-CNN,F(xiàn)aster R-CNN 舍棄了原先的Selective Search 模塊,提出并應(yīng)用了區(qū)域建議網(wǎng)絡(luò)(Region Proposal Network,RPN),對(duì)選取好的錨點(diǎn)生成九種尺度的錨框,進(jìn)而將其映射到原圖上得到候選區(qū)域,大大提升了目標(biāo)檢測(cè)的速度。
在本節(jié)中,我們主要介紹Mask R-CNN 的基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu).其中,2.1 節(jié)給出了Mask R-CNN 網(wǎng)絡(luò)的定義2.2 節(jié)描述了網(wǎng)絡(luò)內(nèi)部每個(gè)模塊的結(jié)構(gòu)組成與應(yīng)用。
Mask R-CNN 是由Kaiming He 等人提出的網(wǎng)絡(luò)框架,主要針對(duì)目標(biāo)實(shí)例分割任務(wù)。其實(shí)現(xiàn)流程如圖1所示。該算法是由兩部分組成:檢測(cè)部分和分割部分。與以上目標(biāo)檢測(cè)算法不同的是,Mask R-CNN 的任務(wù)是實(shí)例分割(instance segmentation),需要對(duì)目標(biāo)的每一個(gè)像素點(diǎn)進(jìn)行分類。
Mask R-CNN 在 Faster R-CNN 的基礎(chǔ)上,選擇了能夠更好處理深層次特征的ResNet 網(wǎng)絡(luò)。通過將ResNet50∕101 與FPN 結(jié)合作為特征提取網(wǎng)絡(luò),對(duì)圖像進(jìn)行多層卷積特征提取得到Feature Map,達(dá)到了state-of-the-art 的效果。后續(xù)將 Feature Map 輸入RPN 中,生成可能包含目標(biāo)的候選區(qū)域。并通過RoIAlign 將輸出特征圖固定尺寸,達(dá)到有效的目標(biāo)檢測(cè)效果。
在網(wǎng)絡(luò)實(shí)現(xiàn)的后階段,引入了預(yù)測(cè)目標(biāo)掩膜的mask 分支,即將特征圖輸入全卷積層中生成與目標(biāo)定位相應(yīng)的二值掩碼,與并行的目標(biāo)定位分類相結(jié)合,從而實(shí)現(xiàn)實(shí)例分割,輸出相應(yīng)的人臉圖像。

圖1 Mask R-CNN算法模型框架
RPN(Region Proposal Network,區(qū)域建議網(wǎng)絡(luò))是應(yīng)用于生成proposal region 的一個(gè)框架。它通過以多個(gè)大小比例的錨框?qū)NN 提取特征后的feature map進(jìn)行滑窗,來生成一系列的proposal regions。流程如圖2 所示,以feature map 上每個(gè)點(diǎn)為中心,生成九種尺度的 anchor box,及三種寬高比例(1:1,1:2,2:1)和三種面積比例(128,256,512)。對(duì)其同時(shí)進(jìn)行前后景判斷和bounding box regression,得到 box 類別和 anchor box 到ground truth 的偏移量,由此可初步確定proposal。最后由非極大值抑制法(NMS)去除冗余項(xiàng),得到最終目標(biāo)區(qū)域框。整體結(jié)構(gòu)如圖2 所示。

圖2 區(qū)域建議網(wǎng)絡(luò)
由于傳統(tǒng)的圖像實(shí)例分割未考慮到目標(biāo)周圍像素的可重復(fù)性,直接是將圖像實(shí)例中的一部分作為卷積網(wǎng)絡(luò)的輸入來進(jìn)行訓(xùn)練與預(yù)測(cè),這會(huì)大大降低目標(biāo)檢測(cè)的準(zhǔn)確性。FCN[18]的提出有效地解決了這個(gè)問題,在該網(wǎng)絡(luò)結(jié)構(gòu)中未使用全連接層,網(wǎng)絡(luò)結(jié)構(gòu)如圖3 所示。

圖3 全連接網(wǎng)絡(luò)結(jié)構(gòu)(FCN)
FCN 的不同之處是通過反卷積操作對(duì)最終的特征圖進(jìn)行上采樣,以此獲得相應(yīng)的像素值,使圖像實(shí)現(xiàn)end to end。同時(shí)引入跳級(jí)結(jié)構(gòu),兼顧了圖像的全局特征和局部特征,使得到的預(yù)測(cè)結(jié)果更加精確。在對(duì)feature map 進(jìn)行上采樣的同時(shí),將每個(gè)像素通過Softmax函數(shù)進(jìn)行分類預(yù)測(cè)。最終保存了豐富的位置信息,且實(shí)現(xiàn)了逐像素預(yù)測(cè)。
對(duì)大多數(shù)目標(biāo)檢測(cè)框架而言,RoI pooling 的作用為固定輸入全連接層的特征尺寸,實(shí)現(xiàn)后續(xù)的pixel classification 與 coordinate regression。但通過 RPN 得到的proposal box 的坐標(biāo)值通常為浮點(diǎn)數(shù),這要求RoI Pooling 層需將候選框邊界位置的坐標(biāo)值取整,但該操作會(huì)使候選框與最初采樣點(diǎn)的坐標(biāo)位置有偏差,導(dǎo)致目標(biāo)的檢測(cè)分割精度下降。RoIAlign 是在原有RoI Pooling 的基礎(chǔ)上取消了量化操作,并舍棄了最近鄰插值法而使用雙線性差值法來對(duì)采樣點(diǎn)坐標(biāo)進(jìn)行處理。該方法利用feature map 上距離采樣點(diǎn)最近的四個(gè)像素,來獲取采樣點(diǎn)相應(yīng)的浮點(diǎn)數(shù)像素值。實(shí)現(xiàn)原圖與特征圖像素對(duì)齊,增強(qiáng)檢測(cè)模型準(zhǔn)確性。操作流程如圖4 所示。

圖4 RoIAlign
先對(duì)x 方向進(jìn)行線性插值:

再對(duì)y 方向進(jìn)行線性插值:

雙線性插值法是一種較好的圖像縮放算法,它通過利用采樣點(diǎn)周圍四個(gè)真實(shí)存在的四個(gè)像素點(diǎn),來得到一個(gè)最適應(yīng)目標(biāo)的像素值,解決了Faster R-CNN 中RoI Pooling 對(duì)像素值取整所導(dǎo)致定位不精準(zhǔn)的問題。
FPN(特征金字塔網(wǎng)絡(luò))是 Tsung-Yi Lin 等人[19]提出的。對(duì)于目標(biāo)特征圖而言,低層特征語義信息較為粗略,但目標(biāo)位置精準(zhǔn)。高層特征與之相反。從該角度出發(fā),F(xiàn)PN 通過卷積神經(jīng)網(wǎng)絡(luò)內(nèi)部從下至上各個(gè)層按照順序?qū)ν粓D片進(jìn)行不同維度的特征表示。是一種基于CNN 的多尺度特征提取方法。基本架構(gòu)如圖4所示。
FPN 由三部分組成:
自底向上(Bottom-top):即卷積網(wǎng)絡(luò)的前向過程。通過卷積操作提取各層次特征。
自頂向下(Top-Bottom):由于頂層特征圖語義更為豐富,可通過上采樣(upsampling)達(dá)到圖像超分辨率。
橫向連接:將兩種采樣的相同尺度的feature map進(jìn)行融合。
Mask R-CNN 通過引入FPN,增強(qiáng)了對(duì)圖像信息的表達(dá)輸出能力。通過改進(jìn)了主干網(wǎng)絡(luò)的特征提取方式,使最終輸出的特征更好地表示出輸入圖片各個(gè)維度的信息。

圖5 特征金字塔網(wǎng)絡(luò)
為了實(shí)現(xiàn)更高效的特征提取,本文在Mask R-CNN結(jié)構(gòu)中利用ResNeXt 網(wǎng)絡(luò)。該網(wǎng)絡(luò)不僅繼承了ResNet類似的以通過增加恒等映射來實(shí)現(xiàn)深度遞增的堆疊方式,同時(shí)它以可擴(kuò)展的方式實(shí)現(xiàn)了Inception 中的splittransform-merge 思想。
ResNeXt 提出了一種新的模塊形式——“cardinality”,及轉(zhuǎn)換集合的大小。如圖6 所示該結(jié)構(gòu)的cardinality=32。每一組轉(zhuǎn)換都是相同的拓?fù)浣Y(jié)構(gòu),可擴(kuò)展性強(qiáng)。ResNeXt 對(duì)于先對(duì)特征圖進(jìn)行一系列的轉(zhuǎn)換,最終將處理后的輸出通過相加進(jìn)行融合,在增加準(zhǔn)確率的同時(shí)基本不改變或降低模型的復(fù)雜度,并提高網(wǎng)絡(luò)的表征能力。

圖6 特征金字塔網(wǎng)絡(luò)
非極大抑制算法是用于排除冗余proposal region的算法。原始RPN 中的NMS 是將ground truth 與proposal region 的IOU 值作為選擇項(xiàng),但可能會(huì)發(fā)生包圍框不精確的情況。因此,本文采用了基于KL Loss 的Softer-NMS 算法,流程如圖7。

圖7 Softer-NMS網(wǎng)絡(luò)框架
Yihui He 等人提出了新的損失函數(shù)KL Loss。該算法代替了Smooth L1 Loss 來實(shí)現(xiàn)包圍框回歸。該損失函數(shù)將對(duì)包圍框的損失預(yù)測(cè)結(jié)果呈現(xiàn)出高斯分布,并使其與ground truth 相近。最關(guān)鍵的是以包圍框預(yù)測(cè)的標(biāo)準(zhǔn)差作為置信度,將具有定位置信度(localization confidence)的訓(xùn)練檢測(cè)網(wǎng)絡(luò)。
Softer-NMS 將大于一定重疊度閾值Nt 的候選包圍框根據(jù)置信度加權(quán)平均,避免了候選框在加權(quán)平均后出現(xiàn)形狀異常的情況,提高了目標(biāo)檢測(cè)的定位精度。
損失函數(shù)定義為:

本項(xiàng)目的實(shí)驗(yàn)環(huán)境配置如表1 所示。

表1 實(shí)驗(yàn)環(huán)境配置
本文項(xiàng)目使用的是基于Facebook AI Research 推出的Detectron2 目標(biāo)檢測(cè)平臺(tái)中的相關(guān)模型。使用已在COCO 數(shù)據(jù)集訓(xùn)練過的模型并對(duì)其部分模塊進(jìn)行改進(jìn)。最后,利用該模型在FDDB 數(shù)據(jù)集上進(jìn)行測(cè)試,并且為了檢測(cè)模型的性能,與Faster R-CNN 等算法作對(duì)比。從表2 可以看出,本模型在傳統(tǒng)Mask R-CNN 的基礎(chǔ)上,在對(duì)目標(biāo)檢測(cè)的平均精度上得到了提升。

表2 不同模型性能對(duì)比
本文通過對(duì)傳統(tǒng)的Mask R-CNN 網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行改進(jìn),替換主干網(wǎng)絡(luò)為ResNeXt101,增強(qiáng)了特征提取能力,并在RPN 過程中引入了Softer-NMS 算法。總體而言提高了目標(biāo)檢測(cè)的效率與precision。相較于傳統(tǒng)的Mask R-CNN 模型,本文改進(jìn)的模型不管在訓(xùn)練時(shí)間還是平均檢測(cè)精度,都得到了較好的實(shí)驗(yàn)效果。