龔琳茜
(南京理工大學(xué)計(jì)算機(jī)科學(xué)與工程學(xué)院 南京 210094)
在視頻序列中選中目標(biāo)人員,并在序列中進(jìn)行持續(xù)的身份識(shí)別與跟蹤,可以被用于安防、交通、城市治安等領(lǐng)域,具有廣闊的應(yīng)用前景。而深度學(xué)習(xí)作為一種工具,具有強(qiáng)大的特征表達(dá)能力,被廣泛應(yīng)用于這類視覺(jué)目標(biāo)檢測(cè)、識(shí)別與跟蹤的應(yīng)用中。
目標(biāo)身份識(shí)別與跟蹤的前提是穩(wěn)定的目標(biāo)檢測(cè)。目前,先進(jìn)的目標(biāo)檢測(cè)算法有基于區(qū)域生成網(wǎng)絡(luò)(RPN)的Fast-RCNN[1]、Faster-RCNN[2]等,和去除區(qū)域生成而降低了計(jì)算成本的YOLO[3~6]系列算法。其中,YOLO 系列算法在準(zhǔn)確性與實(shí)時(shí)性中都取得了顯著的效果。最新的模型YOLOv4 在MS COCO數(shù)據(jù)集上在65 FPS的實(shí)時(shí)率下取得了43.5%的平均精度[6]。本文的目標(biāo)檢測(cè)與提取方法將基于YOLOv4進(jìn)行。
身份識(shí)別基于對(duì)目標(biāo)人員區(qū)別于其他人員的特征。本文基于深度殘差網(wǎng)絡(luò)ResNet[7]進(jìn)行候選目標(biāo)特征提取,經(jīng)過(guò)在人員識(shí)別數(shù)據(jù)集上的訓(xùn)練,模型能夠?qū)⒛繕?biāo)人員與其他候選目標(biāo)的關(guān)聯(lián)性加以度量。通過(guò)候選目標(biāo)特征與預(yù)提取的模板目標(biāo)特征的關(guān)聯(lián),達(dá)成前后幀的目標(biāo)持續(xù)跟蹤。
如圖1 所示,本文基于YOLOv4 對(duì)視頻序列進(jìn)行目標(biāo)檢測(cè),提取出所有疑似的候選目標(biāo)人員。基于ResNet 訓(xùn)練目標(biāo)身份識(shí)別網(wǎng)絡(luò),提取所有司儀人員的深層特征,對(duì)其到目標(biāo)特征模板進(jìn)行距離度量,區(qū)分目標(biāo)人員與其他偽目標(biāo),達(dá)到身份識(shí)別與跟蹤的效果。
圖1 整體網(wǎng)絡(luò)結(jié)構(gòu)示意圖
目標(biāo)檢測(cè)算法應(yīng)用特征提取網(wǎng)絡(luò)進(jìn)行淺層基礎(chǔ)特征的提取,常用的特征提取網(wǎng)絡(luò)有AlexNet[8],VGG[9],ResNet[7],DarkNet[4]等。本文的目標(biāo)檢測(cè)方法基于目前在實(shí)時(shí)性與準(zhǔn)確性上達(dá)到折中效果的深度學(xué)習(xí)網(wǎng)絡(luò)YOLOv4[6]。前作YOLOv3使用Dark?Net53 作為基礎(chǔ)特征提取網(wǎng)絡(luò),引入了殘差模塊[7]和Bottleneck[10]結(jié)構(gòu)以解決深層傳遞模型參數(shù)時(shí)梯度消失的問(wèn)題。在一塊Titan X 顯卡上獲得了57.9 AP50的成績(jī)。
YOLOv4 在前作使用的DarkNet53 的基礎(chǔ)上提出了CSPDarknet53作為特征提取網(wǎng)絡(luò),在每組殘差模塊上加上CSP[11]結(jié)構(gòu)。如圖2 所示,CSP 結(jié)構(gòu)將該層的特征映射過(guò)程分為兩個(gè)部分,第一個(gè)部分將經(jīng)過(guò)取消了Bottleneck的DarkNet網(wǎng)絡(luò)層模塊,另一部分則直接或經(jīng)過(guò)簡(jiǎn)單卷積層后,到達(dá)下一個(gè)網(wǎng)絡(luò)層級(jí)進(jìn)行結(jié)合。這樣的網(wǎng)絡(luò)設(shè)計(jì)成功減少了參數(shù)規(guī)模,使訓(xùn)練難度降低,并能加快神經(jīng)網(wǎng)絡(luò)的前向推理的速度。使得YOLOv4 在前作的基礎(chǔ)上,獲得了更好的實(shí)時(shí)性能。
圖2 CSP模塊示意圖
YOLOv4 使用Mish[12]激活函數(shù)代替前作使用的Leaky ReLU[13]激活函數(shù)。Leaky ReLU 的定義如下:
相較于Leaky ReLU,Mish 激活函數(shù)保證了每一點(diǎn)的平滑,從而使下降效果較其更佳。Mish激活函數(shù)定義如下:
通過(guò)基礎(chǔ)特征提取網(wǎng)絡(luò)提取到了一些相關(guān)的淺層特征,對(duì)這部分淺層特征進(jìn)行增強(qiáng)是目標(biāo)檢測(cè)中關(guān)鍵的步驟。YOLOv4 使用的一些特征增強(qiáng)技巧如下:
SPP[14]:SPP是空間金字塔池化技巧,可以使網(wǎng)絡(luò)進(jìn)行多尺度特征提取,使得輸入為任意尺寸時(shí),仍然生成固定大小的圖片。
SAM[15]:SAM是一種卷積的注意力機(jī)制模塊,結(jié)合了空間和通道的注意力機(jī)制,YOLOv4 將空間范圍的注意力機(jī)制改為點(diǎn)范圍的注意力機(jī)制。
PAN[16]:PAN是一種基于提議的實(shí)例分割框架下的路徑聚合網(wǎng)絡(luò)。如圖3所示,在YOLOv4中,將融合的方法由和改為乘積。
圖3 YOLOv4對(duì)PAN的改進(jìn)
另外,YOLOv4 沿用了前作的檢測(cè)頭,其提取特征主要目的是區(qū)別不同目標(biāo)的種類,因而無(wú)法直接進(jìn)行身份識(shí)別判斷。在目標(biāo)人員識(shí)別的應(yīng)用場(chǎng)景中,YOLO 檢測(cè)的目標(biāo)類別被設(shè)定為人類,并在視頻序列中檢測(cè)出候選人員,以進(jìn)行后續(xù)的人員身份識(shí)別。
盡管YOLO 使用的DarkNet系列網(wǎng)絡(luò)在目標(biāo)檢測(cè)上具有更強(qiáng)大的性能,其在圖像分類領(lǐng)域不是最優(yōu)的特征提取網(wǎng)絡(luò)。本文綜合考慮算法的實(shí)時(shí)性和精度,基于ResNet 訓(xùn)練身份識(shí)別網(wǎng)絡(luò)。在不同深度的ResNet 上進(jìn)行訓(xùn)練實(shí)驗(yàn)的結(jié)果表明,該方法具有有效性。
由于網(wǎng)絡(luò)的加深會(huì)造成梯度爆炸和梯度消失的問(wèn)題,常規(guī)的卷積神經(jīng)網(wǎng)絡(luò)收斂速度變慢,且分類準(zhǔn)確率表現(xiàn)相對(duì)較差。ResNet[7]將計(jì)算機(jī)視覺(jué)領(lǐng)域常用的殘差表征的概念,進(jìn)一步應(yīng)用在了CNN模型當(dāng)中。如圖4 所示的殘差模塊,使用多個(gè)有參網(wǎng)絡(luò)層來(lái)學(xué)習(xí)輸入、輸出之間的參差。
圖4 ResNet的兩種基本網(wǎng)絡(luò)結(jié)構(gòu)
本文基于ResNet 訓(xùn)練身份識(shí)別網(wǎng)絡(luò)作為基礎(chǔ)的特征提取器。具體地說(shuō),基于ResNet-18 網(wǎng)絡(luò)結(jié)構(gòu),提取目標(biāo)檢測(cè)網(wǎng)絡(luò)輸出的候選人類目標(biāo)的特征表示,并要求該特征表示具有區(qū)別人員身份的獨(dú)特性。ResNet-18的基本網(wǎng)絡(luò)結(jié)構(gòu)如圖5所示。
圖5 ResNet18的網(wǎng)絡(luò)基本結(jié)構(gòu)
不同于一般圖像分類的特征騎去網(wǎng)絡(luò),使用交叉熵?fù)p失作為后向傳播的點(diǎn),結(jié)合中心損失[18]作為訓(xùn)練網(wǎng)絡(luò)的基礎(chǔ)。中心損失函數(shù)的作用是減少分類結(jié)果的類內(nèi)差異,增大其類內(nèi)樣本的相似性。
交叉熵?fù)p失函數(shù)的具體定義如下:
中心損失函數(shù)的具體定義如下:
使用中心損失函數(shù)作為訓(xùn)練人員身份識(shí)別網(wǎng)絡(luò)的損失函數(shù),使得特征提取網(wǎng)絡(luò)的輸出特征在類內(nèi)距離減小,是人員識(shí)別有效的手段。對(duì)于特征提取網(wǎng)絡(luò)的獨(dú)特的特征輸出,進(jìn)行與目標(biāo)人員特征模板的距離度量,可以判斷目標(biāo)身份,達(dá)到目標(biāo)判斷與跟蹤的目的。
對(duì)數(shù)據(jù)庫(kù)中未知的人員進(jìn)行持續(xù)的身份識(shí)別與跟蹤時(shí),一個(gè)有效的距離度量是必要的。本文使用均方誤差和作為所有目標(biāo)特征與所有疑似目標(biāo)特征之間距離的度量。
使用預(yù)訓(xùn)練的ResNet-18 和ResNet-50 做前向推理時(shí)的實(shí)時(shí)性比較結(jié)果顯示,在檢測(cè)識(shí)別正確率差距較小的情況下,使用ResNet-18 在一塊英偉達(dá)1080Ti 顯卡上的跟蹤幀率達(dá)到平均50fps,使用ResNet-50 幀率為25fps,使用ResNet-18 的總和效果更佳。
表1 不同網(wǎng)絡(luò)框架識(shí)別結(jié)果對(duì)比
本文在常見(jiàn)的動(dòng)態(tài)跟蹤場(chǎng)景中可能出現(xiàn)的情況下進(jìn)行了實(shí)驗(yàn),分別有:1)多個(gè)偽目標(biāo)同時(shí)存在時(shí),算法對(duì)唯一目標(biāo)的識(shí)別;2)目標(biāo)被其他偽目標(biāo)遮擋后,數(shù)幀之內(nèi)回到視野中時(shí)的識(shí)別;3)在目標(biāo)走出視野后,數(shù)幀之內(nèi)又回到視野中時(shí)的識(shí)別。如圖6 所示,在多個(gè)偽目標(biāo)存在時(shí),可以對(duì)唯一目標(biāo)進(jìn)準(zhǔn)確的識(shí)別;在目標(biāo)被偽目標(biāo)遮擋后回到視野中時(shí),可以恢復(fù)對(duì)目標(biāo)的識(shí)別;在目標(biāo)被出視野后回到視野中時(shí),可以恢復(fù)對(duì)目標(biāo)的識(shí)別。
圖6 多種情況下的識(shí)別跟蹤效果示意圖
本文在相同的場(chǎng)景下,試驗(yàn)了核相關(guān)濾波算法KCF[19]與基于深度學(xué)習(xí)的算法GOTURN[20]算法,如圖7、8 所示。在目標(biāo)在被遮擋后在視野中消失的情況下,本文方法的表現(xiàn)更佳。
圖7 KCF在視野消失場(chǎng)景下的跟蹤表現(xiàn)
圖8 GOTURN在視野消失場(chǎng)景下的跟蹤表現(xiàn)
目標(biāo)人員身份識(shí)別與跟蹤有廣泛的應(yīng)用前景。本文針對(duì)在各種目標(biāo)丟失場(chǎng)景下的恢復(fù)問(wèn)題,提出了將目標(biāo)檢測(cè)與身份識(shí)別結(jié)合的跟蹤網(wǎng)絡(luò)。實(shí)驗(yàn)表明,其在目標(biāo)由于視野限值或遮擋后消失的情況下具有有效性。