高錦風(fēng),陳玉,魏永明?,李劍南
(1 中國科學(xué)院空天信息創(chuàng)新研究院, 北京 100094; 2 中國科學(xué)院大學(xué), 北京 100049)
人臉識別作為一種重要的非接觸身份獲取技術(shù),在安檢安防、用戶認(rèn)證、疑犯追蹤以及電子商務(wù)等多領(lǐng)域具有重要意義[1]。當(dāng)前對于人臉識別的研究已相對成熟,但大多是基于固定攝像頭采集的靜態(tài)圖片。在無人機(jī)嫌疑人員實(shí)時跟蹤這樣的動態(tài)場景中由于受無人機(jī)飛行高度調(diào)整、角度變換等的影響,識別精度被大幅度降低。隨著無人機(jī)的迅速發(fā)展,無人機(jī)因其小巧易控在工農(nóng)業(yè)及軍事領(lǐng)域得到廣泛使用,基于無人機(jī)平臺的人臉識別研究具有重要意義。
人臉識別過程由人臉檢測和人臉匹配[2]兩個階段構(gòu)成。人臉檢測就是通過一些基于統(tǒng)計或者知識的方法預(yù)測人臉是否存在并定位人臉位置;人臉匹配是通過一對一或者一對多地對檢測出的人臉進(jìn)行判定[3]。當(dāng)前人臉識別的方法主要有基于人臉整體的識別方法和基于人臉部件的特征分析方法[4]。近幾年,隨著軟硬件技術(shù)的快速發(fā)展,深度學(xué)習(xí)已經(jīng)成為基于整體人臉識別方法中炙手可熱的選擇。深度學(xué)習(xí)卷積神經(jīng)網(wǎng)絡(luò)通過多卷積層自動學(xué)習(xí)人臉整體特征,不僅實(shí)現(xiàn)人臉的自動檢測以及識別,而且受專家經(jīng)驗(yàn)影響小,精度以及檢測速度都可以很好地支持實(shí)際應(yīng)用。
當(dāng)前深度學(xué)習(xí)目標(biāo)檢測主流的網(wǎng)絡(luò)可分為單步式基于回歸網(wǎng)絡(luò)和兩步式基于候選區(qū)域的網(wǎng)絡(luò)。其中兩步式網(wǎng)絡(luò)以Fast-RCNN[5]、Faster-RCNN[6]、Mask-RCNN[7]等典型網(wǎng)絡(luò)為代表;單步式網(wǎng)絡(luò)以經(jīng)典的YOLO[8-10](you only look once)系列為代表。單步式網(wǎng)絡(luò)由于將整個檢測過程視為回歸問題而大大縮短了檢測時間。雖然精度相對于兩步式網(wǎng)絡(luò)有所下降,但實(shí)時性更強(qiáng),精度也足以滿足實(shí)際應(yīng)用需要。YOLOv3[10]是YOLO系列中廣泛使用的網(wǎng)絡(luò),高劉雅等[11]在YOLOv3的基礎(chǔ)上提出輕量級注意力機(jī)制的網(wǎng)絡(luò)實(shí)現(xiàn)了人臉的準(zhǔn)確檢測,準(zhǔn)確率達(dá)到94.08%。潘浩然[12]通過改進(jìn)YOLOv3的損失函數(shù)改善YOLOv3的錯檢漏檢問題,實(shí)現(xiàn)了人臉的高精度檢測。Facenet[13]是如今主流的人臉識別算法,通過在歐式空間中對比人臉特征之間的距離來判定二者之間的相似度以完成人臉匹配。Facenet與MTCNN[14](multi-task convolutional neural network)的結(jié)合使用是經(jīng)典的人臉識別組合。劉長偉[15]利用MTCNN結(jié)合Facenet進(jìn)行人臉識別,在LFW(labled faces in the wild)數(shù)據(jù)集上實(shí)現(xiàn)了99%的準(zhǔn)確率。李林峰等[16]結(jié)合MTCNN和Facenet設(shè)計實(shí)現(xiàn)了人臉識別考勤系統(tǒng)。這些研究主要識別靜態(tài)正面人臉,能較好發(fā)揮MTCNN關(guān)鍵點(diǎn)檢測的優(yōu)勢。對于本文的無人機(jī)應(yīng)用場景,MTCNN受無人機(jī)的拍攝角度影響很難發(fā)揮正臉檢測的優(yōu)勢,YOLOv3基于回歸的檢測方式能更好應(yīng)對這種應(yīng)用場景。但YOLOv3存在的低召回率以及邊框位置回歸不準(zhǔn)的問題[11-12]仍有待進(jìn)一步改進(jìn)。
本文采取改進(jìn)后的YOLOv3進(jìn)行人臉檢測,檢測結(jié)果經(jīng)過人臉對齊后以160×160大小輸入Facenet網(wǎng)絡(luò)中進(jìn)行人臉匹配。研究針對YOLOv3漏檢以及預(yù)測框定位精度差的問題,對YOLOv3的特征提取網(wǎng)絡(luò)以及損失函數(shù)進(jìn)行改進(jìn)。同時還對基于Widerface[17]數(shù)據(jù)集以及自制數(shù)據(jù)集進(jìn)行了改進(jìn)前后模型的訓(xùn)練和測試,通過與MTCNN算法進(jìn)行對比從而驗(yàn)證改進(jìn)模型的有效性以及準(zhǔn)確性。
Widerface[17]是人臉識別研究中最常用的開源人臉基準(zhǔn)數(shù)據(jù)集,其中涉及61個事件類別。對于每個事件類別,訓(xùn)練數(shù)據(jù)占40%,驗(yàn)證數(shù)據(jù)占10%,測試數(shù)據(jù)占50%。Widerface數(shù)據(jù)集中場景豐富,人臉在大小、光照、位置、表情等方面具有多樣性。但該數(shù)據(jù)集以歐美人臉為主,單獨(dú)使用該數(shù)據(jù)集無法滿足國內(nèi)人臉檢測需求。因此實(shí)驗(yàn)中還使用無人機(jī)獲取的視頻數(shù)據(jù),通過提取幀、含重疊裁剪等預(yù)處理操作獲得4 334張416×416的人臉圖片,并對其進(jìn)一步劃分為訓(xùn)練、驗(yàn)證及測試集。具體每部分?jǐn)?shù)據(jù)見表1。
表1 人臉檢測所用數(shù)據(jù)集Table 1 Datasets used in face detection
實(shí)驗(yàn)還使用了中國科學(xué)院自動化所制作的開源人臉數(shù)據(jù)集CASIA-FaceV5,該數(shù)據(jù)集由2 500張480×640的圖片構(gòu)成,共有500個人物目標(biāo)。只包含一個室內(nèi)場景,并在照明、是否佩戴眼鏡、表情等方面有變化。
YOLOv3[10]是YOLO(you only look once)系列中比較經(jīng)典的網(wǎng)絡(luò),因其速度快、精度高被廣泛應(yīng)用于各類目標(biāo)檢測任務(wù)中。YOLOv3以Darknet53作為特征提取網(wǎng)絡(luò),性能相對于采用Darknet19的YOLOv2[9]有較大提升。YOLOv3用5個步長為2的卷積實(shí)現(xiàn)5次下采樣獲得在13×13尺度上的預(yù)測。同時通過類似特征金字塔的上采樣方式實(shí)現(xiàn)2次上采樣并結(jié)合融合策略得到26×26以及52×52尺度的預(yù)測,實(shí)現(xiàn)多尺度預(yù)測。此外YOLOv3采用邏輯回歸預(yù)測對象類別。雖然YOLOv3在目標(biāo)檢測任務(wù)中優(yōu)勢明顯,但存在召回率低以及預(yù)測框定位不準(zhǔn)確等問題。
針對召回率低的問題,采用SE-ResNeXt[18]代替Darknet53中的ResNet[19],通過引入“基數(shù)”維度增加操作數(shù),同時保證模型復(fù)雜度不會增加。避免采用加深或者增加通道數(shù)提升模型性能所帶來的傳播梯度問題。此外,模型中還通過加入SEnet[18](squeeze-and-excitation networks)引入注意力機(jī)制,有選擇性地利用學(xué)到的特征,在充分利用有用特征的基礎(chǔ)上抑制無用特征。改進(jìn)后的模型將SEnet置于ResNeXt[20]的跳層連接之前,并且“基數(shù)”維度選用16。改進(jìn)后的模型的詳細(xì)結(jié)構(gòu)見圖1。
圖1 改進(jìn)后YOLOv3的結(jié)構(gòu)Fig.1 The structure of the improved YOLOv3
YOLOv3的損失函數(shù)由位置損失、類別損失及置信度損失3部分組成。位置損失主要針對預(yù)測框和真值框中心點(diǎn)坐標(biāo)及長寬的差距進(jìn)行懲罰。預(yù)測框使用交并比(intersection over union,IOU)指導(dǎo)回歸,雖然這個指標(biāo)比較經(jīng)典,但當(dāng)預(yù)測框和真值框存在包圍關(guān)系或者不相交時,無法提供優(yōu)化方向。CIOU[21](complete-IoU loss)在IOU、GIOU[22](generalized intersection over union)和DIOU[21](distance-IoU loss)的基礎(chǔ)上綜合考慮預(yù)測框和真值框之間的重疊面積、中心點(diǎn)間的距離、長寬比的一致性,在兩框的各種位置關(guān)系情況下都可以提供優(yōu)化方向。CIOU的計算如下
(1)
式中:Op和Ol分別表示預(yù)測框和真值框的中心點(diǎn),l表示兩框中心點(diǎn)之間的歐式距離,c表示包含兩框的最小外接矩形對角線的長度。α是平衡比例的系數(shù),υ用于衡量預(yù)測框與真值框長寬比的一致性,計算公式如下:
(2)
(3)
其中:wt,ht為真值框的長寬,wp,hp為預(yù)測框的長寬。已有研究表明[22],回歸損失可以直接作為YOLOv3的位置損失,從而取代二值交叉熵及均方根誤差等方法。改進(jìn)后的位置損失如下
CIOUloss=Confidence(2-w×h)(1-CIOU).
(4)
Facenet[13]是Google提出的常用的人臉匹配方法,采用端對端的方式直接對輸入圖像進(jìn)行判定。其摒棄了通過Softmax進(jìn)行分類的方式,而是采用三元組在Triplet Loss的指導(dǎo)下直接對比圖像特征向量之間的歐式距離,從而判定人臉圖像的相似性。該模型可用于對比兩張人臉是否屬于同一個人、確定輸入人臉身份以及聚類輸入人臉找出屬于同一個人的人臉。模型詳細(xì)結(jié)構(gòu)見圖2,本文采用輸入為160×160的Inception ResNet v1網(wǎng)絡(luò)做為主體網(wǎng)絡(luò)。在Triplet Loss的指導(dǎo)下不斷減小類內(nèi)人臉特征向量之間的歐式距離,擴(kuò)大類間人臉特征向量之間的距離,最終得到人臉的特征向量(embeddings)。
圖2 Facenet的結(jié)構(gòu)Fig.2 The structure of Facenet
實(shí)驗(yàn)在一臺搭載了RTX2080Ti獨(dú)立顯卡(運(yùn)行內(nèi)存11 GB),i9-9900k處理器的Windows10操作系統(tǒng)上進(jìn)行。并采用Tensorflow和Keras框架。實(shí)驗(yàn)分為人臉檢測和人臉匹配2部分,其中人臉檢測中YOLOv3以及改進(jìn)后的模型采用adam優(yōu)化器,批處理量為8,初始學(xué)習(xí)率為10-3。學(xué)習(xí)率在驗(yàn)證損失20期(epochs)不變時下降為1/10,直到變?yōu)?0-6。當(dāng)實(shí)驗(yàn)達(dá)到500期或者驗(yàn)證損失在50期內(nèi)不變時,學(xué)習(xí)將停止。人臉檢測圖片的輸入大小為416×416。人臉匹配圖片的輸入為160×160,批處理為1 000。
為了測試模型效果,實(shí)驗(yàn)中使用評估指標(biāo)召回率[23](recall,R,指在所有確實(shí)為真的樣本中,被判為的真的占比),精度[23](precision,P,指在所有系統(tǒng)判定的真的樣本中,確實(shí)是真的的占比),F1分?jǐn)?shù),平均精確度(average precision,PA)[24]及FPS(指每秒傳輸?shù)膸瑪?shù),當(dāng)FPS達(dá)到30時可以認(rèn)為接近實(shí)時處理)對實(shí)驗(yàn)用到的模型進(jìn)行評估。其中P,R,F(xiàn)1計算見下式:
(5)
(6)
(7)
深度卷積神經(jīng)網(wǎng)絡(luò)需要大量數(shù)據(jù)支撐訓(xùn)練,模型首先采用數(shù)據(jù)量充足的Widerface數(shù)據(jù)集進(jìn)行預(yù)訓(xùn)練,后又基于自制的無人機(jī)人臉數(shù)據(jù)集進(jìn)行優(yōu)化訓(xùn)練,并對訓(xùn)練好的模型進(jìn)行測試。從表2可以看出改進(jìn)后的YOLOv3的召回率,F(xiàn)1分?jǐn)?shù)及平均精確度(PA)相對原始YOLOv3都有提升,但參數(shù)量反而有所下降。實(shí)現(xiàn)了在不增加模型參數(shù)量的同時提升模型檢測性能。雖然檢測速度相比原始YOLOv3有所下降,但實(shí)時性仍能較好滿足實(shí)際應(yīng)用需要。此外,雖然改進(jìn)后的YOLOv3的參數(shù)相比MTCNN較多,但PA提升9.49%,且檢測速度約是MTCNN的3倍。為了更直觀地測試3個模型,圖3顯示了3個模型對無人機(jī)影像上人臉的檢測結(jié)果。其中紅色框?yàn)槟P蜋z測框,黃色框與綠色框分別對應(yīng)漏檢和錯檢的人臉,可見改進(jìn)后的YOLOv3的錯檢和漏檢情況更少,檢測能力及對人臉的魯棒性更強(qiáng)。
表2 3個模型人臉檢測的指標(biāo)評估Table 2 Face detection index evaluation of the three models
Facenet提供CASIA-WebFace和VGGFace2兩種預(yù)訓(xùn)練模型,本文結(jié)合遷移學(xué)習(xí)的思想,采用VGGFace2預(yù)訓(xùn)練模型。目標(biāo)人臉經(jīng)過檢測得到人臉的預(yù)測邊框,基于這個邊框進(jìn)行人臉對齊,并統(tǒng)一歸一化為160×160大小,輸入Facenet后對比目標(biāo)人臉與模板人臉的特征向量以確定人臉對象的身份。為了反映改進(jìn)后的YOLOv3對不同人臉圖像的可區(qū)分性,實(shí)驗(yàn)對比了改進(jìn)后的YOLOv3,YOLOv3及經(jīng)典的MTCNN計算得到的A,B 2個目標(biāo)的不同圖片的歐氏距離。以1為不同目標(biāo)人物人臉歐氏距離的閾值(2張人臉的歐氏距離高于該閾值,則認(rèn)為2張人臉屬于2個不同的人;低于該閾值則認(rèn)為2張人臉屬于同一個人)。表3顯示改進(jìn)后的YOLOv3與MTCNN對清晰的正臉圖像均可以實(shí)現(xiàn)很好的區(qū)分(見圖4(a)、4(b)、4(e)、4(f)),但YOLOv3計算的A_1和B_1的歐式距離異常。對于人臉模糊以及拍攝角度較大產(chǎn)生的非正臉圖像(見圖4(c)、4(d)、4(f)、4(g)),改進(jìn)后的YOLOv3及YOLOv3僅有一對歐氏距離異常,但MTCNN有3對異常值。這表明改進(jìn)后的YOLOv3的檢測性能、區(qū)分能力及魯棒性更強(qiáng)。
圖4 與歐氏距離計算相關(guān)的圖像Fig.4 Images related to Euclidean distance calculation
表3 3個模型計算得到的A、B目標(biāo)不同人臉圖像的歐式距離(加粗?jǐn)?shù)字表明異常)Table 3 Euclidean distance between different face images of people A and B calculated by three models(Bold values indicate values that are not in the normal range)
為了反映改進(jìn)后的YOLOv3結(jié)合Facenet的人臉識別效果,利用亞洲人臉圖像數(shù)據(jù)集CASIA-FaceV5測試改進(jìn)后的YOLOv3,YOLOv3及MTCNN分別與Facenet結(jié)合的人臉識別性能。實(shí)驗(yàn)共測試了CASIA-FaceV5數(shù)據(jù)集中2 500張人臉圖像,其中改進(jìn)后的YOLOv3+Facenet實(shí)現(xiàn)了全部圖像正確檢測和對齊,并正確識別了其中1 863張人臉,得到74.52%的準(zhǔn)確率(表4)。相對YOLOv3+Facenet的71.16% 的準(zhǔn)確率和MTCNN+Facenet的66.2%的準(zhǔn)確率,改進(jìn)后的YOLOv3+Facenet的準(zhǔn)確率均有提升。表明改進(jìn)后的YOLOv3結(jié)合Facenet的組合在人臉識別任務(wù)中性能更優(yōu)。除此之外,YOLOv3+Facenet和MTCNN+Facenet在對齊率上也低于改進(jìn)后的YOLOv3+Facenet,這也反映出改進(jìn)后的YOLOv3的檢測能力更強(qiáng)。為了更直觀地反映3個模型組合在無人機(jī)影像上的人臉識別效果,圖5顯示了3個模型組合對圖3放大區(qū)域的人臉識別結(jié)果。通過與正確目標(biāo)身份對比可知,改進(jìn)后的YOLOv3+Facenet實(shí)現(xiàn)了兩張圖像中目標(biāo)身份的正確識別,而YOLOv3+Facenet對C的身份識別有誤,MTCNN+Facenet對D的身份識別有誤??梢姼倪M(jìn)后的YOLOv3與Facenet結(jié)合的識別效果最好。
圖5 3個模型結(jié)合Facenet對無人機(jī)影像的人臉識別結(jié)果Fig.5 Face recognition results of UAV images based on the three models combined with Facenet
表4 3個模型組合對CASIA-FaceV5數(shù)據(jù)集人臉的識別結(jié)果對比Table 4 Comparison of face recognition results of the three model combinations on CASIA-FaceV5 dataset
圖3 3個模型對無人機(jī)影像人臉檢測結(jié)果Fig.3 UAV image face detection results of the three models
CASIA-FaceV5數(shù)據(jù)集是正面拍攝的人臉關(guān)鍵點(diǎn)清晰的數(shù)據(jù)集,實(shí)際應(yīng)用中無人機(jī)影像由于拍攝高度、遮擋及飛行速度等一系列因素的影響會存在面部遮擋,人臉模糊以及關(guān)鍵點(diǎn)不明顯的俯視人臉情況的存在。為測試3個模型組合對遮擋及模糊情況的魯棒性,圖6顯示了3個模型組合對人臉清晰,存在遮擋和存在模糊情況的無人機(jī)影像的人臉識別效果。從圖中可以看出,對于面部清晰的人臉,如圖6(a)和6(d)所示,3個模型組合都可以實(shí)現(xiàn)正確的識別;但對于面部有遮擋、部分模糊以及人臉關(guān)鍵點(diǎn)不清晰的情況,分別如圖6(b)、6(c)和6(e)所示,改進(jìn)后的YOLOv3+Facenet可以實(shí)現(xiàn)正確識別,而MTCNN+Facenet均無法正確識別,YOLOv3+Facenet對模糊情況的識別錯誤??梢姼倪M(jìn)后的YOLOv3+Facenet對實(shí)際無人機(jī)應(yīng)用面臨的模糊及遮擋情況具有更強(qiáng)的魯棒性。
圖6 3個模型組合對不同質(zhì)量的無人機(jī)影像的人臉識別結(jié)果Fig.6 Face recognition results of the three model combinations on UAV images with different qualities
無人機(jī)因其小巧易控以及飛行可調(diào)等優(yōu)點(diǎn)在應(yīng)急救援以及嫌疑人員追蹤等應(yīng)用場景發(fā)揮著重要作用,應(yīng)用于無人機(jī)影像的高精度人臉識別技術(shù)能更好地發(fā)揮無人機(jī)的作用。隨著軟硬件性能的提升,深度學(xué)習(xí)得到了快速發(fā)展,卷積神經(jīng)網(wǎng)絡(luò)以其較高的精度和較少的人為干擾成為目標(biāo)檢測領(lǐng)域的熱門研究方法。
Facenet與MTCNN的結(jié)合是比較經(jīng)典也比較常用的人臉檢測識別組合,但在無人機(jī)應(yīng)用場景下拍攝高度造成的影像非正臉的情況難以發(fā)揮MTCNN關(guān)鍵點(diǎn)檢測的優(yōu)勢,導(dǎo)致錯檢漏檢現(xiàn)象嚴(yán)重,難以滿足實(shí)際應(yīng)用需要。本文探究在無人機(jī)應(yīng)用場景下的高精度人臉識別方法,以改進(jìn)的YOLOv3進(jìn)行人臉檢測,再結(jié)合Facenet實(shí)現(xiàn)人臉識別。實(shí)驗(yàn)證明改進(jìn)YOLOv3結(jié)合Facenet對人臉的區(qū)分能力更強(qiáng),檢測及識別精度更高,同時對于無人機(jī)影像存在的遮擋、模糊等情況的魯棒性也更高。除此之外,改進(jìn)后的YOLOv3相對原始YOLOv3不僅精度和召回率得到提升,而且模型參數(shù)量有所減少。在無人機(jī)影像人臉檢測中的漏檢和錯檢現(xiàn)象也輕于原始YOLOv3,因此對于YOLOv3的改進(jìn)也是有效的。
本文既采用了數(shù)據(jù)量豐富的公開數(shù)據(jù)集,也結(jié)合了基于無人機(jī)影像的自制數(shù)據(jù)集,不僅避免了過擬合問題,也豐富了當(dāng)前的開源人臉數(shù)據(jù)集。此外,隨著今后自制數(shù)據(jù)集容量的不斷積累擴(kuò)充,模型的訓(xùn)練還將實(shí)現(xiàn)進(jìn)一步完善,檢測以及識別性能也將得到進(jìn)一步提升。