任國(guó)印,呂曉琪,3*,李宇豪
(1. 內(nèi)蒙古科技大學(xué) 機(jī)械工程學(xué)院,內(nèi)蒙古 包頭 014010;2. 內(nèi)蒙古科技大學(xué) 信息工程學(xué)院,內(nèi)蒙古 包頭 014010;3. 內(nèi)蒙古工業(yè)大學(xué),內(nèi)蒙古 呼和浩特 010051)
目前,從監(jiān)控?cái)z像機(jī)上獲取目標(biāo)嫌疑人人臉圖像是公安民警的重要技術(shù)手段之一。幾乎所有街道都安裝了高清攝像頭,并且攝像機(jī)的覆蓋范圍很廣。高清監(jiān)控?cái)z像機(jī)每天不停地采集視頻數(shù)據(jù),每天都會(huì)產(chǎn)生大量的離線視頻。以高清攝像機(jī)為例,每秒50~60幀,24 h能夠產(chǎn)生500萬(wàn)幀左右的視頻錄制圖片,這樣一臺(tái)攝像機(jī)錄一個(gè)月的視頻數(shù)據(jù)非常龐大。如果將一個(gè)區(qū)域的所有攝像機(jī)數(shù)據(jù)加起來(lái),就會(huì)更加龐大。對(duì)于刑偵部門來(lái)說(shuō),一幀一幀地對(duì)可疑視頻進(jìn)行人工過(guò)濾,顯然是低效和痛苦的。
人臉識(shí)別一直是圖像識(shí)別中的一個(gè)重要問(wèn)題。首先,人臉識(shí)別的任務(wù)比圖像分類要復(fù)雜得多。在人臉識(shí)別技術(shù)中,最重要的工作是人臉圖片的特征提取[1-3]。直到2013年,人臉識(shí)別還處于手工特征提取階段,主要依靠圖像處理專家對(duì)人臉進(jìn)行仔細(xì)分析,最終得到人臉的特征,也就是構(gòu)建人臉局部描述符。目前,基于深度學(xué)習(xí)的人臉識(shí)別已逐漸取代傳統(tǒng)的人工人臉特征識(shí)別方法,傳統(tǒng)借助人眼來(lái)識(shí)別人臉的方法已經(jīng)不能滿足刑偵部門的需要。
研究和發(fā)展圖像檢索技術(shù)已經(jīng)進(jìn)行了近20年[4-6]。但是目前基于內(nèi)容的人臉圖像檢索系統(tǒng)還很少,主要的瓶頸是檢索精度低和存在語(yǔ)義鴻溝。人臉檢索是人臉識(shí)別和基于內(nèi)容的圖像檢索的結(jié)合,它通過(guò)匹配人臉特征來(lái)搜索現(xiàn)有的人臉照片數(shù)據(jù)庫(kù)[7-10]?;谏疃葘W(xué)習(xí)的圖像識(shí)別和檢索技術(shù)逐漸取代現(xiàn)有方法。為了找到一組與被偵查人面部最為相似的照片,進(jìn)而縮小刑事偵查范圍,協(xié)助刑事偵查人員確定犯罪嫌疑人的身份。目前基于深度學(xué)習(xí)的跨多攝像機(jī)檢索技術(shù)的研究還很少,所以基于深度學(xué)習(xí)的跨多攝像機(jī)的人臉檢索技術(shù)也越來(lái)越迫切[11-14]。
M. Zhang、Y. Zhao和M. Sardogan等人提出了基于CNN的圖像分類方法,它和傳統(tǒng)圖像分類方法相比明顯提高了分類精度[15-17]。特別地,W.Ge等人使用孿生網(wǎng)絡(luò)輸入同一人臉圖像對(duì)(正樣本對(duì))或不同人臉對(duì)(負(fù)樣本對(duì)),每對(duì)訓(xùn)練圖像都有一個(gè)標(biāo)簽。以上兩個(gè)樣本對(duì)完成訓(xùn)練,通過(guò)最小化相似度損失函數(shù),使同一類人臉之間的距離最小,不同類人臉之間的距離最大。盡管這些數(shù)據(jù)集預(yù)處理方法比以往常用的PaSC、LFW、PubFig、FERET、AR和YaleB等基準(zhǔn)數(shù)據(jù)集有了顯著的改進(jìn),但更多的研究者試圖通過(guò)改進(jìn)損失函數(shù)和孿生網(wǎng)絡(luò)的網(wǎng)絡(luò)結(jié)構(gòu)來(lái)探索改進(jìn)的可能性。例如Triplet loss是一種廣泛使用的學(xué)習(xí)損失度量函數(shù),它通過(guò)添加多個(gè)網(wǎng)絡(luò)分支來(lái)提高孿生網(wǎng)絡(luò)的性能[18-19]。三分支孿生網(wǎng)絡(luò)Triplet訓(xùn)練使用Triplet loss,這需要3個(gè)圖像作為輸入。與對(duì)比度損失不同的是,Triplet loss輸入三元組由一對(duì)正采樣對(duì)和一對(duì)負(fù)采樣對(duì)組成。這3幅圖像分別被命名為錨樣本(anchor)、正樣本(positive)和負(fù)樣本(negative)。人臉a和人臉p是一對(duì)正樣本對(duì),人臉a和人臉n是一對(duì)負(fù)樣本對(duì)。三元組可以縮短正樣本對(duì)之間的距離,擴(kuò)大負(fù)樣本對(duì)之間的距離。最后,在特征空間中對(duì)相同的人臉圖像進(jìn)行聚類。通過(guò)類比,Triplet loss只考慮正負(fù)樣本對(duì)之間的相對(duì)距離,而不考慮正樣本對(duì)之間的絕對(duì)距離。W. Chen等人使用四分支孿生網(wǎng)絡(luò)Quadruplet Network和一個(gè)新的損失函數(shù)來(lái)訓(xùn)練局部圖像描述符學(xué)習(xí)模型,該模型可應(yīng)用于孿生網(wǎng)絡(luò)Siamese和三分支孿生網(wǎng)絡(luò)Triplet[20]。四分支孿生網(wǎng)絡(luò)Quadruplet損失函數(shù)產(chǎn)生一個(gè)特征向量,該特征向量使屬于同一類的正圖像之間的距離方差最小化,使屬于同一類的樣本圖像之間的平均距離最小化,并使不同類的圖像之間的平均距離最大化。四分支孿生網(wǎng)絡(luò)損失函數(shù)增加負(fù)樣本的絕對(duì)距離,以確保四分支孿生網(wǎng)絡(luò)不僅在特征空間中擴(kuò)大正樣本和負(fù)樣本,而且使正樣本或負(fù)樣本彼此靠近。
Trihard loss是Triplet loss的一個(gè)改進(jìn)版本。傳統(tǒng)的Triplet loss隨機(jī)抽取訓(xùn)練數(shù)據(jù)中的3幅圖像作為訓(xùn)練輸入。該方法簡(jiǎn)單,但大多數(shù)樣本是易于識(shí)別的簡(jiǎn)單樣本對(duì)。如果大量的訓(xùn)練樣本對(duì)都是簡(jiǎn)單的樣本對(duì),則不利于網(wǎng)絡(luò)學(xué)習(xí)更好的表征。大量的研究發(fā)現(xiàn),使用更難的樣本對(duì)網(wǎng)絡(luò)進(jìn)行訓(xùn)練可以提高網(wǎng)絡(luò)的泛化能力,對(duì)更難的樣本對(duì)進(jìn)行訓(xùn)練的方法有很多種。用一種基于訓(xùn)練批Batch的在線困難樣本抽樣方法,稱為難樣本損失法,即Trihard loss[20]。
Trihard loss通常比傳統(tǒng)的Triplet loss更有效。邊界樣本挖掘損失(Boundary sample mining loss, MSML)是一種度量學(xué)習(xí)方法,它引入了難樣本采樣的思想[21]。Triplet loss只考慮正負(fù)樣本對(duì)之間的相對(duì)距離??傊?,Trihard loss為Batch中的每個(gè)圖像選擇一個(gè)正負(fù)樣本,而MSML損失函數(shù)僅選擇最困難的正樣本對(duì)和最困難的負(fù)樣本對(duì)來(lái)計(jì)算損失。因此,MSML比Trihard更難采樣,可以看作是正樣本對(duì)之間距離的上界和負(fù)樣本對(duì)之間距離的下界。MSML是將正負(fù)樣本對(duì)的邊界分開,因此稱為邊界樣本挖掘損失。一般來(lái)說(shuō),MSML是一種同時(shí)考慮相對(duì)距離和絕對(duì)距離的度量學(xué)習(xí)方法,MSML引入了困難樣本抽樣的思想。
MSML是一種度量學(xué)習(xí)方法,它引入了困難樣本抽樣的思想。
Triplet loss只考慮正負(fù)樣本對(duì)之間的相對(duì)距離。為了引入正負(fù)樣本對(duì)之間的絕對(duì)距離,MSML加上了負(fù)樣本對(duì)比較,形成三元數(shù)模型。MSML損失函數(shù)可定義為公式(1):
Lq=(da,p-da,n1+α)++
(da,p-dn1,n2+β)+,
(1)
如果忽略參數(shù)的影響,可以用更通用的形式公式(2)來(lái)表示MSML損失:
Lq=(da,p-dm,n+α)+,
(2)
其中m和n是一對(duì)負(fù)樣本對(duì),m和a是一對(duì)正負(fù)樣本對(duì)。然后介紹了三孿生損失的難樣本挖掘思想,公式(3)中引入了MSML損失函數(shù):
(3)
其中:a、p、m、n是輸入的所有圖片,a、p是該Batch中最不相似的正樣本對(duì),m、n是該Batch中與a最相似的負(fù)樣本對(duì)??傊?,Trihard loss[22]為網(wǎng)絡(luò)選擇一個(gè)三元難樣本輸入,而MSML loss[23]僅選擇一個(gè)難四元組,即最困難的正樣本對(duì)和困難的負(fù)樣本對(duì)來(lái)計(jì)算損失。所以MSML loss比Trihard loss更難取樣。
在介紹網(wǎng)絡(luò)模型設(shè)計(jì)之前,說(shuō)明模型的輸入是一項(xiàng)必要的工作。首先模型有4個(gè)樣本作為輸入,分別是anchor、positive、negative1、negative2,具體說(shuō)明如下:
anchor:anchor是錨定樣本也就是基準(zhǔn)圖像,一個(gè)隨機(jī)樣本是正樣本還是負(fù)樣本取決于隨機(jī)樣本的分類是否和該錨定樣本同屬一類,如果屬于一類就是正樣本,如果不同類就是負(fù)樣本。
positive:該樣本和錨定樣本同屬一類的樣本,因此稱之為正樣本。
negative: negative1和negative2樣本和錨定樣本不屬于一類樣本,由于本模型需要輸入兩個(gè)負(fù)樣本,因此稱之為negative1和negative2。
而樣本對(duì)泛指兩個(gè)樣本,正負(fù)樣本是指樣本對(duì)中一個(gè)為正樣本和一個(gè)負(fù)樣本,正樣本對(duì)是指樣本對(duì)由兩個(gè)正樣本構(gòu)成,而負(fù)樣本對(duì)是指樣本對(duì)由兩個(gè)負(fù)樣本構(gòu)成。
按照樣本對(duì)的難度可以進(jìn)一步細(xì)劃分為難正樣本對(duì)、難負(fù)樣本對(duì)、難正負(fù)樣本對(duì)。這里的難度是相對(duì)Siamese、Triplet和Trihard輸入樣本的復(fù)雜度而言的。Siamese是隨機(jī)抽取兩個(gè)樣本,Triplet是隨機(jī)抽取兩個(gè)正樣本和一個(gè)負(fù)樣本,Trihard是將兩個(gè)最不像的正樣本和一個(gè)與正樣本最像的負(fù)樣本構(gòu)成一個(gè)三元組。本模型需要輸入4個(gè)樣本,這4個(gè)樣本可構(gòu)成3組樣本對(duì),即難正樣本對(duì)、難負(fù)樣本對(duì)、難正負(fù)樣本對(duì),具體說(shuō)明如下:
難正樣本對(duì)是同屬錨定樣本類的人臉樣本中差別較大的兩張人臉圖片,雖然來(lái)自一個(gè)人但看上去卻像不同人的人臉。
難負(fù)樣本對(duì)是不屬錨定樣本類的人臉樣本中差別較大的兩張人臉圖片,雖然來(lái)自一個(gè)人但看上去卻像不同人的人臉。
難正負(fù)樣本對(duì)是錨定樣本類的人臉樣本和非錨定樣本類的人臉樣本構(gòu)成的樣本對(duì),這兩個(gè)樣本的差別較小,雖然樣本不是一個(gè)人,但這兩張圖片看上去卻像同一個(gè)人的人臉。
本文所述方法基于MSML。為了改進(jìn)MSML損失函數(shù)輸入的復(fù)雜度,從樣本輸入難度上本文模型輸入的難度比以上提到的所有損失函數(shù)的輸入都要大,因此本文模型可以更加充分拉近同類模型間距離而拉遠(yuǎn)不同類別間的距離。
圖1 改進(jìn)的MSML模型結(jié)構(gòu)圖Fig.1 Improved MSML model structure diagram
(1) 網(wǎng)絡(luò)結(jié)構(gòu):本文使用的網(wǎng)絡(luò)如圖1所示。圖像輸入仍然是anchor, positive, negative1, negative2四種樣本,其中positive和anchor是正樣本,negative1和negative2是負(fù)樣本。通過(guò)兩個(gè)卷積層提取圖像特征,形成3對(duì)難樣本。采用3層VGG16網(wǎng)絡(luò)對(duì)困難樣本進(jìn)行訓(xùn)練,完成樣本分類。因此,前3層(1~3層)構(gòu)成兩個(gè)正樣本和一個(gè)負(fù)樣本面對(duì)三分支孿生網(wǎng)絡(luò)T1,后3層(2~4層)構(gòu)成兩個(gè)負(fù)樣本和一個(gè)正樣本面對(duì)三分支孿生網(wǎng)絡(luò)T2,即兩個(gè)平行互相傳遞參數(shù)的三分支孿生網(wǎng)絡(luò),如圖2所示。
圖2 將改進(jìn)的MSML模型看作雙三重網(wǎng)絡(luò)(DTN)Fig.2 Improved MSML model regarded as the double triple networks (DTN)
(2) MSML改進(jìn):從圖2可以看出,四分支孿生網(wǎng)絡(luò)可以看作是兩個(gè)并行的三分支孿生網(wǎng)絡(luò),紅色虛線部分是三分支孿生網(wǎng)絡(luò),藍(lán)色虛線部分也是三分支孿生網(wǎng)絡(luò)。本文的創(chuàng)新之處之一是從這一角度對(duì)MSML的損失函數(shù)進(jìn)行改進(jìn),同時(shí)增加輸入四元組樣本對(duì)難度,輸入最不相似的正樣本對(duì)和最相似的正負(fù)樣本對(duì),同時(shí)負(fù)樣本對(duì)之間挑選同一類別中距離最大的負(fù)樣本對(duì)作為樣本輸入。
MSML在第一層和第二層輸入難正樣本對(duì)(兩個(gè)最不相似的正樣本對(duì)),在第3層和第4層輸入難負(fù)樣本對(duì)(同一個(gè)人的兩個(gè)最不相似的負(fù)樣本對(duì))。正負(fù)樣本對(duì)使用了不同人群最相似的兩張臉。該方法考慮了正樣本距離的上界和負(fù)樣本距離的下界,同時(shí)考慮了相對(duì)距離和絕對(duì)距離。
在雙三重網(wǎng)絡(luò)(DTN)中,每個(gè)三重實(shí)現(xiàn)不同的目標(biāo),而T1和T2通過(guò)Trihard loss計(jì)算正采樣距離和負(fù)采樣距離。這樣可以防止同一張人臉被誤認(rèn)為其他人的臉。T1和T2的功能是計(jì)算具有最難Trihard loss距離,即最不相似的正樣本之間的距離,并擴(kuò)大具有最近Trihard loss距離,即最可能的負(fù)樣本之間的距離。這將使負(fù)樣本與正樣本完全分離。這相當(dāng)于同時(shí)使用Triphard兩次。這樣做使得正負(fù)樣本的模糊邊緣變得逐漸清晰,如圖3所示。
圖3 從邊緣模糊樣本向難樣本和簡(jiǎn)單樣本轉(zhuǎn)換Fig.3 Conversion from margin blurred sample to hard sample and simple sample
雙三分支孿生網(wǎng)絡(luò)(DTN)實(shí)現(xiàn)了不同的目標(biāo),即紅圈區(qū)域變大,綠色區(qū)域也變大,黃色區(qū)域逐漸縮小直到黃圈區(qū)域消失,如圖3所示。
子空間聚類的計(jì)算過(guò)程定義為公式(4)和公式(5):
(4)
(5)
Y. Sun等人[23]認(rèn)為只選擇兩對(duì)樣本來(lái)形成四元組Batch是不合適的,并提出用OHNM通過(guò)聚類來(lái)優(yōu)化Batch。因?yàn)檫@個(gè)正負(fù)Batch也是從整個(gè)樣本中選擇的,所以當(dāng)有太多的人臉樣本時(shí),很難匹配兩個(gè)相似的人臉。這也大幅降低了獲取難樣本的成功率。一個(gè)簡(jiǎn)單的做法是把同一個(gè)人的人臉聚在一起。最后,在每個(gè)聚類空間中發(fā)現(xiàn)難以區(qū)分或非常相似的樣本。雖然特征提取和聚類比較耗時(shí),但在聚類空間中的搜索速度得到了很大的提高,因此提升了整體系統(tǒng)的實(shí)時(shí)性。
聚類子空間的個(gè)數(shù)決定了困難樣本提取的成功率。如果子空間的數(shù)目太少,那么子空間的劃分將與批處理方法非常相似,大量不相似的人臉被聚類成一類;如果子空間數(shù)目太多,會(huì)將同一個(gè)人的人臉圖片劃分到多個(gè)子空間中,這樣挖掘的難度就會(huì)加大。
采用子空間聚類方法對(duì)所有人臉樣本進(jìn)行聚類,將相似的人臉?lè)譃橐唤M。在這些聚類空間中形成一個(gè)四元數(shù)輸入比較容易,挖掘效率較高,如圖4所示。
圖4 聚類子空間中負(fù)樣本和正樣本的選擇Fig.4 Selection of negative and positive samples from cluster subspace
圖5 通過(guò)焦損平衡難陰性正樣品和難負(fù)樣品Fig.5 Balance of hard negative samples and hard positive samples by focal loss
聚焦損失(Focal loss)用來(lái)解決正樣本和負(fù)樣本比例之間的嚴(yán)重不平衡問(wèn)題。Focal loss降低了訓(xùn)練中大量簡(jiǎn)單負(fù)樣本的權(quán)重,這也可以理解為挖掘難樣本,如圖5所示。
Focal loss[24]是交叉熵?fù)p失函數(shù)的改進(jìn),從二分類交叉損失來(lái)看,其表達(dá)如公式(6)所示:
(6)
y′是激活函數(shù)的輸出,所以它介于0和1之間。對(duì)于正樣本,輸出概率越大,損失越小;對(duì)于負(fù)樣本,輸出概率越小,損失越小。當(dāng)y′減小時(shí),交叉熵?fù)p失函數(shù)越小,正樣本的收斂速度越慢,不適合選擇難樣本,損失函數(shù)沒(méi)有參數(shù)控制正負(fù)樣本的比例。
(7)
Focal loss通過(guò)增加困難樣本控制參數(shù)和正負(fù)樣本平衡控制參數(shù),改進(jìn)了交叉熵?fù)p失函數(shù),并用公式(7)計(jì)算了Lfl。
如果α是常數(shù),其中γ>0,則對(duì)于正樣本,如果γ接近1,則所選樣本是簡(jiǎn)單樣本,因此-α(1-y′)γ的值將很小,然后損失函數(shù)的值將較小。如果γ接近0,則采樣困難,損失較大,收斂速度較快。對(duì)于負(fù)樣本來(lái)說(shuō),它將選擇最難的樣本,即如果y′接近0。
如果γ為常數(shù),其中α>0,對(duì)于正負(fù)樣本,平衡控制參數(shù)α是用來(lái)平衡正負(fù)樣本比例,讓正負(fù)樣本本身更加均勻,正樣本比例α越大,負(fù)樣本越少。相反,α越小,正樣本比越小,負(fù)樣本越多。
在現(xiàn)實(shí)中,人臉目標(biāo)可能會(huì)出現(xiàn)在幾個(gè)監(jiān)視區(qū)域。如果要從這些區(qū)域的監(jiān)控視頻中檢索出所有的相似人臉幀,就需要建立一個(gè)具有數(shù)據(jù)交換功能的監(jiān)控網(wǎng)絡(luò)。
因此,有必要實(shí)現(xiàn)多攝像機(jī)信息互聯(lián)和數(shù)據(jù)共享。多攝像機(jī)協(xié)作不僅可以擴(kuò)大監(jiān)控范圍,而且可以從不同角度捕捉人臉信息。如果在攝像機(jī)與服務(wù)器之間連接多個(gè)數(shù)據(jù)通道來(lái)同步人臉特征信息,智能視頻監(jiān)控(IVS)就有可能完成特征交換。在攝像機(jī)之間進(jìn)行人臉特征交換,利用DTN神經(jīng)網(wǎng)絡(luò)對(duì)攝像機(jī)之間的人臉特征相似度進(jìn)行匹配,就可以完成局域網(wǎng)中的多攝像機(jī)人臉識(shí)別和相似人臉檢索。
為了更清楚地描述上述多攝像頭特征同步方法的原理,這里設(shè)置了一個(gè)2.5D虛擬智慧城市場(chǎng)景,如圖6所示。虛擬場(chǎng)景中有10個(gè)主要建筑物,假設(shè)4個(gè)建筑物監(jiān)控范圍內(nèi)有行人經(jīng)過(guò),所以一個(gè)特征中心和4個(gè)建筑物組成一個(gè)特征交換監(jiān)控網(wǎng)絡(luò)。在理想的情況下,我們假設(shè)特征中心沒(méi)有安裝攝像頭,其他4棟普通建筑都有監(jiān)控?cái)z像頭。從圖6可以看出,每臺(tái)監(jiān)控?cái)z像機(jī)都給出了自己的編號(hào)和定位標(biāo)志,分別是A、B、C、D??梢钥吹?,在每棟樓的攝像機(jī)視野范圍內(nèi),只有一名行人經(jīng)過(guò),被拍攝的4名行人也給出了自己的編號(hào)和定位標(biāo)志。其中,A攝像機(jī)拍攝行人1,B攝像機(jī)拍攝行人2,C攝像機(jī)拍攝行人3,D攝像機(jī)拍攝行人4。當(dāng)攝像頭A捕捉到行人1的面部特征時(shí),首先通過(guò)PUSH將其同步到特征中心。同樣,在第一時(shí)間,B、C和D攝像機(jī)分別將行人2、3和4的面部特征通過(guò)PUSH推送到特征中心。特征中心從不同的攝像頭接收到這些面部特征后,首先要做的是打包這些面部特征,并在第一時(shí)間將它們發(fā)送到每個(gè)攝像頭,以完成SHARE共享同步。在從特征中心接收到SHARE完成的命令后,每個(gè)相機(jī)將開始PULL同步,即將其他攝像機(jī)的人臉特征拉到本地,并將其存儲(chǔ)在自己的本地特征庫(kù)中。完成PUSH、SHARE和PULL的同步操作后,每個(gè)攝像頭的特征庫(kù)將保持一致。局部特征庫(kù)中的特征用于匹配捕獲的人臉特征。因此,當(dāng)行人1通過(guò)B、C和D攝像機(jī)的視野時(shí),每個(gè)區(qū)域的監(jiān)控?cái)z像機(jī)都可以識(shí)別和檢索行人1。類似地,每個(gè)攝像機(jī)也可以識(shí)別和檢索行人2、3和4。
圖6 智慧城市數(shù)據(jù)通道特征共享立體圖Fig.6 Stereogram of data channel feature sharing in smart city
4.2.1 訓(xùn)練DTN
(1)人臉訓(xùn)練數(shù)據(jù)集LFW
戶外標(biāo)記人臉(Wild LFW)是人臉識(shí)別中常用的一種測(cè)試集,它提供了生活中自然場(chǎng)景下的人臉圖像,因此識(shí)別起來(lái)會(huì)比較困難,特別是由于多姿態(tài)、光線、表情、年齡、遮擋等因素的影響,甚至同一個(gè)人的照片也有很大的不同。而且有些照片可能有多張人臉,對(duì)于這些多人臉圖像只能選擇圖片中心坐標(biāo)的人臉作為目標(biāo),其他區(qū)域作為背景干擾。目前,LFW數(shù)據(jù)庫(kù)的性能評(píng)價(jià)已成為人臉識(shí)別算法的一個(gè)重要指標(biāo)。
(2)圖片預(yù)處理
采用子空間聚類方法對(duì)LFW數(shù)據(jù)集的所有樣本進(jìn)行聚類,將相似的人臉都聚類到一個(gè)子空間中。在局部聚類空間中選擇訓(xùn)練的Batch樣本對(duì)將更容易、更有效。
在每個(gè)相似的人臉子空間中包含了簡(jiǎn)單樣本和難樣本。所有包含簡(jiǎn)單樣本的子空間都應(yīng)該被剔除。本文采用Focal loss難樣本篩選的方法,剔除簡(jiǎn)單樣本,留下難樣本子空間,從中選取本文網(wǎng)絡(luò)輸入的四元組輸入。這個(gè)四元數(shù)輸入包含3個(gè)難樣本對(duì),一個(gè)是難正樣本,另一個(gè)是難負(fù)樣本,還有一個(gè)難正負(fù)樣本對(duì)。系數(shù)參見公式(4)所示。
樣本方程可以在同一子空間中選取正樣本對(duì)anchor和positive,負(fù)樣本對(duì)negative1和negative2,F(xiàn)ocal loss可以平衡正樣本和負(fù)樣本,解決了正樣本和負(fù)樣本的不平衡問(wèn)題。
4.2.2 使用改進(jìn)的MSML訓(xùn)練DTN
子空間聚類和Focal loss可以解決以下問(wèn)題。子空間聚類方法能更有效地將相似人臉的樣本聚類到一個(gè)子空間中。對(duì)于一個(gè)子空間中的所有Batch,預(yù)測(cè)錯(cuò)誤的Batch交叉熵?fù)p失不會(huì)減少。對(duì)于得分好的樣本,交叉熵?fù)p失將大為減小,而Focal loss使得分好的難樣本的損失增大。同時(shí),該模型將更加注重優(yōu)化樣本數(shù)較少的損失,訓(xùn)練權(quán)重將更加準(zhǔn)確。測(cè)試分類結(jié)果DTN加載訓(xùn)練好的權(quán)值,通過(guò)樣本預(yù)處理將每個(gè)視頻的視頻幀輸入DTN,對(duì)所有人臉進(jìn)行分類。
4.2.3 聯(lián)合人臉圖像檢索
每個(gè)視頻監(jiān)控區(qū)域?qū)⒁獧z索的圖像轉(zhuǎn)換為圖像的深層特征,用于圖像特征匹配,將特征交換和存儲(chǔ)層的人臉特征共享給其他視頻監(jiān)控區(qū)域后,完成聯(lián)合人臉檢索。
LFW數(shù)據(jù)集主要測(cè)試人臉識(shí)別的準(zhǔn)確性。數(shù)據(jù)庫(kù)隨機(jī)抽取6 000對(duì)人臉組成人臉識(shí)別對(duì),其中3 000對(duì)屬于同一個(gè)人,3 000對(duì)屬于不同的人。LFW給出一對(duì)照片,詢問(wèn)測(cè)試中的2張照片是否是同一個(gè)人,然后DTN神經(jīng)網(wǎng)絡(luò)給出是或否的答案。將6 000對(duì)人臉測(cè)試結(jié)果的系統(tǒng)答案與真實(shí)答案進(jìn)行比較,可以得到人臉識(shí)別的準(zhǔn)確率。
DTN在人臉識(shí)別方面有很大的優(yōu)勢(shì)。在LFW人臉數(shù)據(jù)庫(kù)中,人臉識(shí)別的準(zhǔn)確率為99.51%。雖然在精確度上沒(méi)有超越功能強(qiáng)大的Facenet網(wǎng)絡(luò),但DTN也有很好的表現(xiàn)。DTN除了網(wǎng)絡(luò)結(jié)構(gòu)的設(shè)計(jì)外,最重要的是損失函數(shù)的選擇。
本文采用20種損失函數(shù)對(duì)Siamese、Triplet和Quadruplet、DTN網(wǎng)絡(luò)進(jìn)行訓(xùn)練,比較了哪種網(wǎng)絡(luò)模型的損失函數(shù)性能最好。本文的方法1~12從文獻(xiàn)[25]訓(xùn)練精度數(shù)據(jù)中參考,在此基礎(chǔ)上加入各種DTN損失函數(shù),然后從多個(gè)角度分析訓(xùn)練的最優(yōu)結(jié)果。從表1中的20種方法的準(zhǔn)確度可以看出,acc(Siamese) (1)通過(guò)方法1和方法2的橫向?qū)Ρ瓤梢园l(fā)現(xiàn),隨著網(wǎng)絡(luò)分支的增加,人臉識(shí)別的準(zhǔn)確率有了很大的提高。 (2)從方法3到7,可以看到使用難樣本作為輸入提高了Triplet訓(xùn)練精度。然而,當(dāng)用子空間聚類代替Batch OHNM時(shí),其精度不如softmax。這主要是因?yàn)閟oftmax降低了訓(xùn)練難度,使得多分類問(wèn)題更加收斂。Softmax鼓勵(lì)增多在實(shí)際目標(biāo)類別中的特征種類。Softmax鼓勵(lì)在類別之間分離特征,但不鼓勵(lì)太多的特征分離。然而,通過(guò)難Trihard在OHNM上預(yù)先使用子空間聚類,可以大幅提高收斂速度和精度。如果從方法8~11中添加softmax,子空間可以更有效地分離。 (3)在使用OHNM和子空間聚類的訓(xùn)練方法5、6、7的過(guò)程中,過(guò)大子空間會(huì)增加負(fù)樣本干擾,過(guò)小子空間會(huì)分離出相似的人臉圖像,搜索效率會(huì)下降。因此,選擇合適的子空間數(shù)目更為重要。 (4)方法15~17與方法5~7比較,方法8與方法13比較,發(fā)現(xiàn)DTN比Triphard更準(zhǔn)確。 (5)方法9~11和方法8~20表明,在排序方面,F(xiàn)ocal loss優(yōu)于softmax。通過(guò)分析,得出DTN、Batch OHNM、子空間聚類和Focal loss相結(jié)合的分類方法是最佳的分類方法,人臉識(shí)別效果最為準(zhǔn)確。 本文從不同角度對(duì)表1中的20種損失函數(shù)進(jìn)行了比較。將20種方法中最具代表性的3組作為判斷依據(jù),每組中有6種方法。各組分別建立真陽(yáng)性率(TPR)和假陽(yáng)性率(FPR)的ROC曲線。每個(gè)模型都有相似閾值的調(diào)整。曲線越靠近左上方,分類器就越好。如圖7~9所示,每組ROC曲線由6條ROC曲線組成。在FPR都取0.1的情況下,每個(gè)ROC曲線中的red分類器產(chǎn)生更高的TPR。這表明ROC越高,分類器越好。 表1 LFW數(shù)據(jù)集上多種損失函數(shù)訓(xùn)練精度對(duì)比Tab.1 Comparison of training accuracy of various loss functions on LFW data sets 圖7 不同子空間數(shù)DTN的ROC曲線圖Fig.7 ROC for DTN of different subspace numbers 圖7中使用了兩種方法:DTN+MSML+Batch OHNM + Subspace和DTN+MSML+ Batch OHNM+Subspace+Focal loss。為3個(gè)子空間繪制ROC曲線,子空間數(shù)分別為5,10,20。如圖所示,為訓(xùn)練添加焦點(diǎn)損失函數(shù)可以提高分類精度。同時(shí),子空間個(gè)數(shù)的選擇是關(guān)鍵,子空間不能太多或太少。太多的子空間會(huì)使相似的人臉?lè)珠_;子空間數(shù)目太少,許多不相似的人臉被劃分到相似的人臉子空間中,降低了遍歷效率。 圖8 3種不同子空間數(shù)的ROC曲線圖Fig.8 ROC for Triple of different subspace numbers 圖8使用兩種類型的方法:Triple+Batch OHNM+ Subspace和Triple+Batch OHNM+Subspace+Softmax。為3種子空間編號(hào)中的每一種繪制ROC曲線,分別設(shè)置子空間數(shù)為5,10,20。從圖中可以看出,利用Softmax函數(shù)進(jìn)行訓(xùn)練可以提高Triple的分類精度。此外,子空間數(shù)目的選擇也很關(guān)鍵,子空間不能太多或太少。太多的子空間會(huì)使相似的人臉?lè)珠_;子空間數(shù)目太少,許多不相似的人臉被劃分到相似的人臉子空間中,降低了遍歷效率。 圖9 不同網(wǎng)絡(luò)與FaceNet的ROC曲線比較Fig.9 ROC comparison between different networks and FaceNet 圖9將不同網(wǎng)絡(luò)與Facenet在性能上進(jìn)行了比較,結(jié)果表明,雖然DTN的精度比Facenet低,但與其他模型相比,DTN的訓(xùn)練效果有了明顯提高。 本文選取表1中5、6、7、9、10、11、15、16、17、18、19、20的方法在PaSC、LFW、PubFig、FERET、AR and YaleB數(shù)據(jù)集上完成訓(xùn)練和測(cè)試。 在數(shù)據(jù)集PASC、LFW、PubFig、FERET、AR和YaleB中,本文利用這些方法計(jì)算了平均搜索精度ARP的性能評(píng)價(jià)。 采用平均檢索查準(zhǔn)率對(duì)人臉檢索結(jié)果進(jìn)行評(píng)價(jià)。每個(gè)數(shù)據(jù)庫(kù)中的每幅圖像都作為一個(gè)查詢圖像來(lái)檢索所有剩余的圖像,以記錄相應(yīng)網(wǎng)絡(luò)的檢索性能。對(duì)數(shù)據(jù)庫(kù)中所有數(shù)據(jù)的檢索精度和檢索率進(jìn)行平均,得到平均檢索精度(ARP)。 采用Triplet+Batch OHNM+Subspace、Triplet + Batch OHNM + Subspace + Softmax和DTN MSML + OHNM + Batch + Subspace + Focal loss三種訓(xùn)練模式對(duì)PaSC、LFW、PubFig、FERET、AR和YaleB數(shù)據(jù)集的ARP進(jìn)行測(cè)試。 表2使用上述3種訓(xùn)練模式計(jì)算了上述6個(gè)數(shù)據(jù)庫(kù)中平均檢索精度最高的最佳匹配人臉。從表2中可以看出,這3類子空間的ARP在LFW上最高,在YaleB上最低。這是因?yàn)閿U(kuò)展的YaleB增加了很多干擾因素,如光照、姿態(tài)等,在這3種方法中,DTN-MSML+Batch-OHNM+Subspace+Focal方法的性能最好。同樣地,選擇子空間數(shù)為10可以提高訓(xùn)練精度。 表2 最頂層匹配的平均檢索精度(ARP)Tab.2 Average retrieval precision (ARP) for topmost match (%) 通過(guò)以上對(duì)比實(shí)驗(yàn),發(fā)現(xiàn)模型損失函數(shù)的最佳組合為:DTN(MSML)+Batch OHNM+subspace-10+Focal loss。在本節(jié)中,我們將建立該模型的消融實(shí)驗(yàn)[26]。消融實(shí)驗(yàn)的目的是從一個(gè)單獨(dú)角度探討每個(gè)變量的作用。這里以DTN(MSML)為基本模型,控制變量主要包括Batch OHNM、Subspace和Focal loss。我們一次只減少一個(gè)變量來(lái)觀察檢索精度、實(shí)時(shí)性、魯棒性的變化。 5.4.1 控制變量Batch OHNM 從DTN+Batch OHNM+Subspace-10+Focal loss的組合中去除Batch OHNM,選擇隨機(jī)樣本配對(duì)。從表3可以看出,正樣本對(duì)和負(fù)樣本對(duì)沒(méi)有難樣本配對(duì)機(jī)制,使得DTN模型失去了拉開正樣本和負(fù)樣本之間相對(duì)距離的意義,導(dǎo)致檢索率大幅降低。通過(guò)Batch OHNM機(jī)制,可以在DTN模型中加入兩個(gè)不同模式的樣本,使得模型具有異構(gòu)性,大幅提高了檢索精度。然而,由于樣本選擇的困難,預(yù)處理時(shí)間比隨機(jī)樣本時(shí)間長(zhǎng),因此嚴(yán)重影響了實(shí)時(shí)性。 表3 在PaSC、LFW、PubFig、FERET、AR和YaleB上使用DTN+ Subspace-10 + Focal Loss的10個(gè)檢索圖像的ARP。Batch OHNM對(duì)檢索精度和樣品預(yù)處理時(shí)間的影響 5.4.2 控制變量Subspace 從DTN+Batch OHNM+Subspace-10+Focal loss組合中去除子空間(Subspace),不生成聚類子空間。從表4可以看出,沒(méi)有子空間聚類的DTN模型檢索精度大幅降低,焦點(diǎn)丟失無(wú)法找到模糊樣本集,進(jìn)而無(wú)法平衡困難樣本對(duì)的比例。同時(shí),由于沒(méi)有子空間聚類,使得困難樣本的配對(duì)效率低下,導(dǎo)致預(yù)處理速度慢。加入子空間聚類機(jī)制后,可以快速發(fā)現(xiàn)相似樣本,包括相似正樣本和相似負(fù)樣本。但是從表4來(lái)看,太少的聚類子空間劃分會(huì)減慢搜索速度,如子空間為5,而太多的聚類子空間劃分會(huì)丟失出許多相似的樣本對(duì),如子空間為20,子空間為40,這也破壞了樣本的內(nèi)部關(guān)系。因此,選擇合適的聚類子空間數(shù)目是非常重要的。從實(shí)驗(yàn)中可以看出,子空間為10是最好的子空間劃分,而且每個(gè)數(shù)據(jù)集的檢索精度最高,而隨著子空間數(shù)目的增加從更小的范圍內(nèi)搜尋目標(biāo)樣本的時(shí)間明顯降低,因此實(shí)時(shí)性會(huì)有所提高。 表4 10個(gè)使用DTN+批次OHNM+在PaSC、LFW、PUBPIG、FERET、AR和YaleB上使用DTN+批次OHNM+焦耗檢索的圖像的ARP。聚類子空間的數(shù)目對(duì)檢索精度和實(shí)時(shí)性的影響 5.4.3 控制變量Focal loss 從DTN+Batch OHNM+Subspace-10+Focal loss組合中消除Focal loss,這樣做的后果是正、負(fù)樣本既不均衡,也不利于難樣本篩選。從表5可以看出,DTN模型輸入端缺乏難樣本篩選,在很大程度上是從簡(jiǎn)單樣本聚類子空間中選擇樣本對(duì),不能充分發(fā)揮模型的相對(duì)優(yōu)勢(shì)。同時(shí),正樣本與負(fù)樣本之間不平衡,導(dǎo)致正負(fù)樣本混淆,進(jìn)而導(dǎo)致模型訓(xùn)練中的過(guò)擬合問(wèn)題,大幅降低了檢索精度。Focal loss的增加使得難樣本進(jìn)行過(guò)濾成為可能,也可以分離模糊樣本帶來(lái)的過(guò)擬合問(wèn)題。通過(guò)調(diào)整Focal loss函數(shù)參數(shù),發(fā)現(xiàn)當(dāng)α=0.5時(shí),即正負(fù)樣本均衡,訓(xùn)練精度隨樣本難度的增加而提高。然而,當(dāng)樣本數(shù)相等時(shí),訓(xùn)練精度提高,即樣本難度最大時(shí),訓(xùn)練精度提高γ=0.9。樣本不平衡引起的過(guò)擬合問(wèn)題使得檢索精度降低(例如,當(dāng)α=0.1和α=0.9時(shí)),從實(shí)時(shí)性角度未做樣本均衡的輸入會(huì)增加正負(fù)樣本的搜索時(shí)間,影響實(shí)時(shí)性表現(xiàn),而樣本均衡設(shè)置的不好的情況(例如,當(dāng)α=0.1和α=0.9時(shí))也會(huì)使幀頻降低,實(shí)時(shí)性表現(xiàn)不好,只有正負(fù)樣本均衡的情況實(shí)時(shí)性才表現(xiàn)最佳。 以上消融實(shí)驗(yàn)結(jié)果表明,各變量的作用是不可或缺的。同時(shí),每個(gè)變量都有參數(shù)調(diào)整狀態(tài),以達(dá)到最優(yōu)解。從表3、表4和表5中可以得到最佳參數(shù),最佳參數(shù)如下:①選擇批量OHNM預(yù)處理;②子空間為10是子空間聚類的最佳聚類數(shù);③α=0.5,γ=0.9是焦損的最佳參數(shù)。因此在最佳參數(shù)設(shè)置下,本文選擇DTN(MSML)+Batch OHNM+Subspace-10+Focal loss的最佳組合,共同配合提高了檢索精度,且實(shí)時(shí)性可達(dá)28 PFS左右。 表5 10個(gè)使用DTN+批次OHNM+在PaSC、LFW、PUBPIG、FERET、AR和YaleB上使用DTN+批次OHNM+焦耗檢索的圖像的ARP。Focal loss對(duì)檢索精度和實(shí)時(shí)性的影響 為了驗(yàn)證系統(tǒng)的魯棒性,應(yīng)用Silktest測(cè)試工具建立測(cè)試,將系統(tǒng)監(jiān)控?cái)?shù)目和魯棒性之間建立內(nèi)部關(guān)聯(lián)項(xiàng),在最優(yōu)化組合、消除變量Batch OHNM、消除變量Subspace、消除變量Focal loss屬性上評(píng)估系統(tǒng)魯棒性。從圖10測(cè)試結(jié)果中可以看出,隨著監(jiān)控壓力逐漸加大,最優(yōu)解組合的魯棒性表現(xiàn)最優(yōu),而其他每個(gè)變量都將對(duì)魯棒性造成嚴(yán)重影響,其中Focal loss是對(duì)系統(tǒng)魯棒性影響最大的變量。 圖10 系統(tǒng)魯棒性分析圖Fig.10 Robust analysis of the system 本文提出了一種新型網(wǎng)絡(luò)結(jié)構(gòu)DTN。通過(guò)對(duì)Siamese,Triplet和Quadruplet的比較,我們發(fā)現(xiàn)網(wǎng)絡(luò)結(jié)構(gòu)與網(wǎng)絡(luò)分支的通道數(shù)有關(guān)。在分支數(shù)相同的情況下,最重要的是如何設(shè)計(jì)有效損失函數(shù)。本文對(duì)DTN網(wǎng)絡(luò)進(jìn)行了改進(jìn)。網(wǎng)絡(luò)結(jié)構(gòu)是一種雙三分支孿生結(jié)構(gòu),以兩個(gè)樣本對(duì)為輸入,可以拓寬正負(fù)樣本之間的距離,使正負(fù)樣本完全分離。本文設(shè)計(jì)的損失函數(shù)是幾種損失函數(shù)的結(jié)合。為了提高搜索速度,選擇了子空間聚類方法。在DTN網(wǎng)絡(luò)的樣本預(yù)處理階段,為了解決增加訓(xùn)練難度和均衡樣本的問(wèn)題,在訓(xùn)練階段采用了Focal loss函數(shù)?;贛SML,比較了20種方法的網(wǎng)絡(luò)損失。實(shí)驗(yàn)結(jié)果表明,DTN + OHNM + Batch+Subspace+Focal loss具有較高的ARP、ARR和F-score值。因此,該方法的平均檢索精度(ARP)為98.74%,模型訓(xùn)練精度為99.54%,幀率為28 FPS,能夠滿足人臉檢索的實(shí)際應(yīng)用,并且系統(tǒng)考慮了遠(yuǎn)程視頻檢索在刑偵部門遠(yuǎn)程通緝嫌疑人目標(biāo)人臉應(yīng)用中的實(shí)際困難。設(shè)計(jì)了一個(gè)多攝像機(jī)人臉聯(lián)合檢索系統(tǒng),解決了多攝像機(jī)特征共享和特征聯(lián)合的問(wèn)題,實(shí)現(xiàn)了多局域網(wǎng)多攝像機(jī)人臉聯(lián)合檢索。5.2 損失函數(shù)受試對(duì)象工作特征曲線(ROC)綜合比較
5.3 聯(lián)合人臉檢索的有效性分析
5.4 消融實(shí)驗(yàn)
5.5 系統(tǒng)魯棒性測(cè)試
6 結(jié) 論