陳長武 曹 林 郭亞男 杜康寧
(北京信息科技大學光電測試技術(shù)及儀器教育部重點實驗室 北京 100101) (北京信息科技大學信息與通信工程學院 北京 100101)
隨著社會科技和民眾生活水平要求的不斷提高,人們迫切希望自己的生活環(huán)境更加智能化、更加安全化。與此同時,生物特征識別技術(shù)、機器學習和深度學習得到快速的發(fā)展,高速度高性能的計算機出現(xiàn),人臉識別技術(shù)得到了前所未有的重視,其在視頻監(jiān)控、門禁系統(tǒng)、網(wǎng)絡應用等各個方面得到了廣泛的實際應用。隨著人們的需求和應用場景的增加以及現(xiàn)實生活中人臉圖像具有多種表達形式,例如光學圖像、近紅外圖像[1]、熱紅外圖像、線條畫圖像[2]、素描圖像等,使得異質(zhì)人臉識別[3]成為了人臉識別領(lǐng)域中的研究熱點。異質(zhì)人臉識別旨在完成不同模態(tài)的兩幅人臉圖像之間的匹配,目前最困難的異質(zhì)人臉識別情景之一是將光學圖像與根據(jù)目標的目擊者描述獲得的素描圖像相匹配,即素描人臉識別[4]。素描人臉識別最早提出于刑偵領(lǐng)域中,警方在處理刑偵案件時,通常很難獲得犯罪嫌疑人的面部照片,唯一可用的信息是目擊者對嫌疑人面部的口頭描述,可供畫家繪制犯罪嫌疑人的面部素描,進而搜索和匹配照片數(shù)據(jù)庫中的個體,并與證人進行校驗,從而確定犯罪嫌疑人的身份。
目前被設計用于素描人臉識別的算法可以分為兩大類:模態(tài)內(nèi)算法和模態(tài)間算法[3]。模態(tài)內(nèi)算法通過將照片(素描)轉(zhuǎn)換成素描(照片),然后使用在該模態(tài)下設計的面部識別器將合成素描(照片)與原始素描(照片)進行匹配,從而減少了模態(tài)差距。然而,僅當原始素描圖像在外觀上與原始照片非常相似時,這些方法才有較好的性能,此外,模態(tài)內(nèi)算法所使用的面部識別器的性能還取決于生成圖像的質(zhì)量。模態(tài)間算法通過將兩種不同模態(tài)的圖像特征劃分為公共空間,然后使用分類器進行識別,模態(tài)間方法旨在學習能夠同時最大化類間差異和最小化類內(nèi)差異的分類器,較模態(tài)內(nèi)方法,降低了復雜度。由于素描圖像和光學圖像之間存在較大的模態(tài)差異,直接使用模態(tài)間方法取得的識別精度相對較低。并且,由于素描人臉圖像難以獲得,現(xiàn)有的素描人臉數(shù)據(jù)較少,上述兩種方法在訓練較少數(shù)據(jù)時,均存在易過擬合的問題。
為了解決上述問題,本文提出一種基于域自適應均值網(wǎng)絡(Domain Adaptation Mean Networks,DAMN)的素描人臉識別方法。具體地,針對較少的訓練數(shù)據(jù)易過擬合的問題,域自適應均值網(wǎng)絡設計了一種針對素描人臉識別的元學習訓練策略,將學習水平從數(shù)據(jù)提升到任務,在訓練過程中,每個任務針對前一個任務,都存在新的類,極大地增強了模型的綜合泛化能力;在每個任務中,為提取判別性特征來提升識別率,域自適應均值網(wǎng)絡引入了適合素描人臉識別的均值損失,通過將光學圖像和素描圖像映射到同一個度量空間中,均值損失模擬圖像樣本之間的距離分布,使得同類的樣本特征彼此靠近,異類的樣本特征彼此遠離。最后,為了減少在訓練過程中光學圖像和素描圖像間存在的模態(tài)間差異,域自適應均值網(wǎng)絡引入了一個域自適應模塊,通過不斷降低二者之間的最大平均差異來優(yōu)化網(wǎng)絡。
元學習[5-7]又稱為“學會學習(Learning to Learn)”,即利用以往的知識經(jīng)驗來進行新任務的學習,具有學會學習的能力。元學習將學習水平從數(shù)據(jù)提升到任務[8],通過從一組標記的任務中學習,而不是傳統(tǒng)深度學習中的從一組標記的樣本數(shù)據(jù)中學習,從而實現(xiàn)在一定量的訓練數(shù)據(jù)的情況下快速學習新類的分類器。現(xiàn)有的元學習可分為三大類,第一類為基于優(yōu)化的元學習方法,Ravi等[9]提出基于LSTM的元學習優(yōu)化器,元學習器在考慮單個任務的短期記憶的同時,也考慮了全部任務的長期記憶,直接通過優(yōu)化算法來提升泛化性能;第二類為基于模型的元學習方法,Finn等[10]提出了Model-Agnostic元學習方法,該方法旨在尋找給定神經(jīng)網(wǎng)絡的權(quán)重配置,使得在幾個梯度下降更新步驟中有效地針對小樣本問題進行微調(diào);第三類是基于度量學習的元學習方法,通過模擬樣本之間的距離分布,使同一類的樣本彼此靠近,不同類的樣本彼此遠離。Vinyals等[11]提出了匹配網(wǎng)絡(Matching Networks),該網(wǎng)絡使用一種注意機制,通過學習嵌入已標記的樣本集(支持集)來預測未標記點(查詢集)的類。
國內(nèi)外研究人員對基于度量學習的元學習方法進行了大量研究,并且提出了許多基于該方法的圖像識別方法,廣東大學的Wang等[12]提出了孿生網(wǎng)絡(Siamese Networks),通過從數(shù)據(jù)中學習一個相似性度量,用學習到的度量去比較和匹配新的未知類別的樣本;阿姆斯特丹大學的Garcia等[13]提出了圖神經(jīng)網(wǎng)絡(Graph Neural Network),該方法定義了一個圖神經(jīng)網(wǎng)絡,端到端地學習信息傳遞的關(guān)系型任務,將每個樣本看做圖的節(jié)點,該方法不僅學習節(jié)點的嵌入,也學習邊的嵌入。雖然元學習在圖像識別領(lǐng)域取得了重大進展,但仍未被應用到素描人臉識別領(lǐng)域當中。
域自適應均值網(wǎng)絡架構(gòu)如圖1所示,由一個元網(wǎng)絡和域自適應模塊組成。針對現(xiàn)公開的素描人臉圖像數(shù)據(jù)較少,且傳統(tǒng)的深度學習方法在少量訓練數(shù)據(jù)情況下易過擬合,進而導致識別性能受到影響的問題,本文設計元網(wǎng)絡,將學習水平提升至任務,避免了在現(xiàn)有數(shù)據(jù)量不多的情況下易過擬合的問題,并且實現(xiàn)了更好的識別性能。在元網(wǎng)絡中,通過特征提取器,分別得到元任務中的光學圖像和素描圖像的特征向量后,利用二者在特征空間的度量關(guān)系計算得到均值損失。針對素描圖像和光學圖像間的模態(tài)差異的問題,引入了域自適應模塊,通過最小化特征空間中素描圖像和光學圖像之間的最大平均差異,來降低模態(tài)差異對識別性能的影響。
傳統(tǒng)的基于深度學習的素描人臉識別方法,在訓練數(shù)據(jù)較少時,存在易過擬合而導致性能較差的問題,因此本文借鑒經(jīng)典元學習方法原型網(wǎng)絡(Prototypical Networks,PN)[14]的思想,設計如下的訓練策略。
元網(wǎng)絡結(jié)構(gòu)如圖1所示,其中特征提取器f(·)采用18層的殘差網(wǎng)絡ResNet-18[15],主要由四種不同通道大小設置的殘差模塊作為基本結(jié)構(gòu)組合而成。殘差模塊結(jié)構(gòu)如圖2所示,每個殘差模塊堆疊了兩層卷積,兩層卷積的通道數(shù)相同,每個殘差模塊的輸入首先與第一層3×3卷積層進行卷積,然后依次執(zhí)行批量歸一化(Batch Normalization,BN)和激活函數(shù)修正線性單元(Rectified Linear Unit,ReLU),然后輸入到第二層3×3卷積層,再次通過BN層,最后與殘差模塊的輸入相加,再通過ReLU激活層,作為殘差模塊的輸出。ResNet-18網(wǎng)絡結(jié)構(gòu)如表1所示。
圖2 殘差模塊示意圖
表1 ResNet-18網(wǎng)絡結(jié)構(gòu)
(1)
(2)
(3)
與此同時,對Ss執(zhí)行與Sp相同的操作,同樣得到一個平均度量值:
(4)
(5)
對整個查詢集Q的負對數(shù)概率進行最小化作為目標損失函數(shù)即均值損失:
(6)
現(xiàn)有的基于元學習的圖像識別方法均針對同域圖像間的識別,即在訓練過程中支持集和查詢集為同種模態(tài)的圖像。在本文設計的訓練策略中,支持集由光學圖像或者素描圖像構(gòu)成,查詢集由光學圖像和素描圖像構(gòu)成,而光學圖像通過數(shù)碼設備拍攝得到,而素描圖像是通過畫家繪制得到,二者之間存在著較大的模態(tài)差異,導致深度網(wǎng)絡模型學習的二者之間的特征表示存在著較大的差異。為了減少模態(tài)差異對識別性能的影響,本文設計域自適應模塊,將素描圖像集和光學圖像集作這兩個分布,分別作為源任務和目標任務,在訓練過程中,不斷降低二者之間的最大平均差異來提高網(wǎng)絡的性能。
最大平均差異[16]最早提出用于兩個樣本之間的檢測問題,以判斷兩個分布是否相同。通過尋找在樣本空間上的連續(xù)函數(shù)f,求兩個分布的樣本在f上的函數(shù)值的均值,通過把兩個均值作差得到兩個分布對應于f的平均差異(Mean Discrepancy,MD)。尋找一個f使得這個平均差異有最大值,便得到了最大平均差異,若這個值小于設定的閾值,則表示兩個分布之間相同,否則,表示兩個分布不相同。在本文中,最大平均差異損失實際上是用于評估具有特征映射函數(shù)f(·)和核函數(shù)k(·,·)的再生核希爾伯特空間H(Reproducing Kernel Hilbert Space,RKHS)中兩個不同分布之間的相似性的距離度量:
(7)
式中:pp和ps分別對應每個“episode”中光學圖像和素描圖像的分布。將均值運算代入得:
(8)
式中:N為每個“episode”中的光學圖像的數(shù)量和素描圖像的數(shù)量。式(4)展開并將其中的點積進行核函數(shù)計算得:
(9)
其中:k(x,y)為高斯核函數(shù):
(10)
在本文中,k(x,y)為五種不同的高斯核函數(shù)之和,即有五個不同的高斯核參數(shù)σi(i=1,2,…,5)。其中σ1計算公式為:
(11)
式中:m和n分別為源任務和目標任務中的樣本數(shù)量。σi(i=2,3,…,5)分別為:
σi=σ1×2i-1i=2,3,…,5
(12)
即本文中的k(x,y)為:
(13)
為了平衡域自適應均值網(wǎng)絡的分類性能和降低模態(tài)差異性能,本文將元嵌入模塊中的均值損失和域自適應模塊中的最大平均差異損失集成到一個統(tǒng)一的優(yōu)化問題中:
minLtotal=Lmean+λLmmd
(14)
式中:λ為均值損失和最大平均差異損失間的權(quán)衡超參數(shù)。通過基于端到端梯度的反向傳播算法來優(yōu)化網(wǎng)絡參數(shù),達到目標學習的目的。算法1介紹了每個episode的損失計算流程。
算法1域自適應均值網(wǎng)絡中每個episode損失計算流程
輸入:具有K個類的訓練集Dtrain,每個元任務中的類的數(shù)量N,平衡超參數(shù)λ。
輸出:episode總損失Ltotal=Lmean+λLmmd。
1.{1,2,…,N}←隨機采樣({1,2,…,K}),從K個訓練類中隨機采樣N個類。
5.計算均值損失如式(2)所示。
6.計算最大均值差異損失如式(5)所示。
本文采用UoM-SGFS數(shù)據(jù)庫[17]中的素描圖像和Color FERET數(shù)據(jù)庫[18]中的相應照片來評估本文方法,UoM-SGFS數(shù)據(jù)庫是目前最大的軟件生成的素描數(shù)據(jù)庫,也是唯一一個以全彩色表示所有素描的數(shù)據(jù)庫。為了能夠更好地訓練和測試算法,該數(shù)據(jù)庫被擴充到原來的兩倍,因此包含600個人的1 200幅素描。UoM-SGFS數(shù)據(jù)庫存在兩組:set A包含600對素描-光學人臉圖像,其中素描圖像由EFIT-V生成;set B同樣包含600對素描-光學人臉圖像,其中素描圖像為set A中的素描圖像經(jīng)過圖像編輯程序微調(diào)后得到更加逼真的素描圖像,圖3展示了UoM-SGFS數(shù)據(jù)庫的樣本示例。
圖3 UoM-SGFS數(shù)據(jù)集樣本示例
為了進一步評估本文方法的性能,本文還在extend-PRIP(e-PRIP)數(shù)據(jù)庫[19]上進行了實驗,原始的e-PRIP數(shù)據(jù)庫由不同研究人員創(chuàng)建的四組數(shù)據(jù)組成,兩組由亞洲研究人員使用FACES和Identi-Kit工具繪制而成,一組由印度研究人員使用FACES軟件繪制而成,還有一組由美國畫家使用FACES繪圖工具繪制。本文僅采用了由亞洲研究人員使用Identi-Kit工具繪制的素描圖像,包含AR數(shù)據(jù)庫中的123個人的光學圖像和對應的合成素描。圖4展示了本文采用的e-PRIP數(shù)據(jù)庫的樣本示例。
圖4 e-PRIP數(shù)據(jù)集樣本示例
本文基于上述兩個數(shù)據(jù)庫劃分了三組數(shù)據(jù)集,在第一組數(shù)據(jù)集(S1)中,UoM-SGFS set A分為訓練集和測試集兩部分,訓練集包含450對圖像,測試集包含150對圖像,在測試集中,素描圖像構(gòu)成probe集,照片構(gòu)成gallery集;在第二組數(shù)據(jù)集(S2)中,UoM-SGFS set B分為訓練集和測試集兩部分,具體設置同S1一致,為了更好地模擬現(xiàn)實場景,S1和S2中的gallery集擴充了1 521個人的照片,包括來自MEDS-Ⅱ數(shù)據(jù)庫的509幅照片、來自FEI數(shù)據(jù)庫的199幅照片、來自LFW數(shù)據(jù)庫中的813幅照片。在第三組數(shù)據(jù)集(S3)中,e-PRIP分為訓練集和測試集兩部分,訓練集包含48對圖像,測試集包含75對圖像,在測試集中,素描圖像構(gòu)成probe集,照片構(gòu)成gallery集,表2詳細列出了數(shù)據(jù)集設置。為了保證算法的泛化能力,對三組數(shù)據(jù)集均進行了五重隨機交叉驗證。
表2 實驗數(shù)據(jù)集
1) 預處理:首先使用MTCNN[20]對UoM-SGFS數(shù)據(jù)集和e-PRIP數(shù)據(jù)集中的圖像進行人臉檢測并對齊,僅保留人臉關(guān)鍵點信息,獲得同一尺度的人臉圖像,圖5展示了對UoM-SGFS數(shù)據(jù)集處理后的圖像示例。在訓練和測試時,在輸入模型前需要對經(jīng)過上述操作后的圖像進行進一步處理,包括將圖像統(tǒng)一調(diào)整為256×256大小,圖像填充,圖像隨機裁剪,圖像水平翻轉(zhuǎn),將圖像數(shù)據(jù)轉(zhuǎn)換成PyTorch可用的張量(Tensor)數(shù)據(jù)類型,以及對圖像歸一化處理。
圖5 處理后的UoM-SGFS數(shù)據(jù)集樣本示例
2) 參數(shù)設置:在訓練過程中,總共訓練60×100個元任務,每100個元任務保存一次模型,最終保存了60個訓練模型。根據(jù)多次實驗結(jié)果,針對S1和S2數(shù)據(jù)集,每個元任務“episode”從訓練集中隨機采樣32對圖像,即2.1節(jié)中的N設置為32;針對S3數(shù)據(jù)集,每個元任務“episode”從訓練集中隨機采樣8對圖像,即2.1節(jié)中的N設置為8。特征提取器resnet-18采用初始識別率為0.000 1、動量為0.1、步長為40的Adam優(yōu)化器更新網(wǎng)絡的參數(shù)。均值損失和最大平均差異損失間的權(quán)衡超參數(shù)λ設置為0.01。
在本節(jié)中,我們在S1、S2和S3數(shù)據(jù)集上均進行了3組消融實驗,以評估本文方法中每個部分的貢獻。(1) DAMN without mmd:去掉了最大均值差異損失,采用元學習訓練策略和均值損失訓練網(wǎng)絡。(2) DAMN without ML:去掉了元學習訓練策略和均值損失,采用傳統(tǒng)的深度學習方法和最大均值差異損失對模型進行訓練,每個周期對所有訓練數(shù)據(jù)進行訓練,然后更新參數(shù)重新訓練所有訓練數(shù)據(jù),分類損失采用交叉熵損失,仍保留了最大均值差異損失來降低光學圖像和素描圖像之間的模態(tài)差異。在訓練過程中,總共訓練了50個epoch,batchsize設置為4。(3) baseline:同時去掉了元學習和最大均值差異損失,僅采用傳統(tǒng)的深度學習方法和交叉熵損失對模型進行訓練。baseline在訓練過程中,參數(shù)和DAMN without ML保持一致,總共訓練了50個epoch,batchsize設置為4。三組消融實驗在S1、S2數(shù)據(jù)集上的Rank-1、Rank-10、Rank-50結(jié)果如表3和表4所示,在S3數(shù)據(jù)集上的Rank-10結(jié)果如表5所示,圖6、圖7和圖8分別為在S1、S2、S3數(shù)據(jù)集上的CMC曲線圖??芍?我們完整的方法優(yōu)于所有這些變化,表明每個部分都是必不可少的,并且彼此互補。
表3 在S1數(shù)據(jù)集上的消融實驗結(jié)果(%)
表4 在S2數(shù)據(jù)集上的消融實驗結(jié)果(%)
表5 在S3數(shù)據(jù)集上的消融實驗結(jié)果(%)
圖6 在S1數(shù)據(jù)集上的消融實驗
圖7 在S2數(shù)據(jù)集上的消融實驗
圖8 在S3數(shù)據(jù)集上的消融實驗
通過上述3組消融實驗的實驗結(jié)果,我們發(fā)現(xiàn)將元學習和最大均值差異損失結(jié)合在一起來訓練模型,可以達到最佳效果;消融實驗1和實驗2的準確性均略低于完整的方法,但仍高于baseline,說明元學習算法通過將學習水平從數(shù)據(jù)提升到了任務,在相同數(shù)據(jù)量的情況下,大大提高了網(wǎng)絡模型的綜合泛化能力,從而顯著地提升了識別性能。最大均值差異損失通過降低素描圖像和光學圖像之間的分布差異,從而降低了二者之間的域轉(zhuǎn)移,對識別性能有了一定的提升。
在本節(jié)中,針對S1和S2數(shù)據(jù)集,我們將本文方法與目前最新的方法ET+PCA[21]、EP+PCA[22]、DEEPS[3]、D-RS+CBR[23]和LGMS[24]進行了比較,其中ET+PCA和EP+PCA為模態(tài)內(nèi)方法,DEEPS、D-RS+CBR和LGMS為模態(tài)間方法。表6和表7分別展示了ET+PCA、EP+PCA、DEEPS、D-RS+CBR、LGMS和本文方法在S1和S2數(shù)據(jù)集上的實驗結(jié)果,圖9和圖10分別展示了對應的識別率柱狀圖。顯然,在更具有挑戰(zhàn)性的S1數(shù)據(jù)集上,除了本文算法外的算法性能均較低;模態(tài)間方法無論是在較低的Rank還是較高的Rank上都優(yōu)于模態(tài)內(nèi)方法。CBR和DEEPS均為專門設計用于軟件合成素描與光學圖像之間的匹配方法,其在S1和S2數(shù)據(jù)集上的低識別性能表明UoM-SGFS數(shù)據(jù)集的挑戰(zhàn)性。
表6 在S1數(shù)據(jù)集上的對比實驗結(jié)果(%)
表7 在S2數(shù)據(jù)集上的對比實驗結(jié)果(%)
圖9 在S1數(shù)據(jù)集上的對比實驗
圖10 在S2數(shù)據(jù)集上的對比實驗
在S1和S2數(shù)據(jù)集中,本文方法均優(yōu)于其他方法。在S1數(shù)據(jù)集中,只有本文方法在Rank-10中正確檢索了90%以上的對象,平均匹配率為91.2%,對比方法中性能最好的DEEPS模態(tài)間方法,即使在Rank-50上也無法達到此性能。與DEEPS相比,本文方法在S1數(shù)據(jù)集上的Rank-1上約高出了35百分點,并且在S2數(shù)據(jù)集上的Rank-1上約高出了22百分點,本文方法的優(yōu)越性能表明元學習算法較傳統(tǒng)深度學習算法的優(yōu)勢。
針對S3數(shù)據(jù)集,我們將本文方法與目前最新的方法SSD[25]、Attribute[26]、和Transfer Learning[19]進行了比較,其中:SSD和Attribute為傳統(tǒng)方法;Transfer Learning為深度學習方法。表8展示了SSD、Attribute、Transfer Learning和本文方法在S3數(shù)據(jù)集上的實驗結(jié)果,圖11為對應的CMC曲線圖??梢钥闯?本文方法在Rank-1上的識別性能略低于Attribute方法,但從Rank-2開始,本文方法性能一直優(yōu)于其他三種方法,并且在Rank-10上,本文方法較Attribute方法高出了9百分點,這表明了本文方法的有效性。
表8 在S3數(shù)據(jù)集上的對比實驗結(jié)果(%)
圖11 在S3數(shù)據(jù)集上的對比實驗
為了進一步體現(xiàn)本文方法的優(yōu)越性,我們還將上述三個數(shù)據(jù)集S1、S2、S3在最新的域自適應方法DANN[27]、CDAN[28]和BSP+CDAN[29]上進行了實驗,實驗結(jié)果分別如圖12、圖13、圖14和表9、表10、表11所示。可以看出,本文方法性能優(yōu)于其他三種域自適應方法。
表9 在S1數(shù)據(jù)集上的域自適應方法對比實驗結(jié)果(%)
表10 在S2數(shù)據(jù)集上的域自適應方法對比實驗結(jié)果(%)
表11 在S3數(shù)據(jù)集上的域自適應方法對比實驗結(jié)果(%)
圖12 在S1數(shù)據(jù)集上的域自適應方法對比實驗
圖13 在S2數(shù)據(jù)集上的域自適應方法對比實驗
圖14 在S3數(shù)據(jù)集上的域自適應方法對比實驗
針對現(xiàn)有的素描人臉數(shù)據(jù)量較少和素描圖像與光學圖像間模態(tài)差距大的問題,本文提出基于域自適應均值網(wǎng)絡的素描人臉識別方法。該方法通過設計基于距離度量的元學習方法訓練網(wǎng)絡,將學習水平從數(shù)據(jù)提升至任務,從而提高了網(wǎng)絡的泛化能力。對每個任務,通過在域自適應均值網(wǎng)絡引入均值損失,提取了判別性特征。最后,通過降低素描圖像特征向量和光學圖像特征向量間的最大平均差異,縮小了二者間的分布差異,從而減少了特征之間的模態(tài)差距。在UoM-SGFS數(shù)據(jù)庫和e-PRIP數(shù)據(jù)庫的實驗表明,本文方法可以有效改善素描人臉識別效果。