閆若怡 熊丹 于清華 肖軍浩 盧惠民
摘 要:在空地協(xié)同背景下,地面目標(biāo)的移動(dòng)導(dǎo)致其在無人機(jī)視角下外觀會(huì)發(fā)生較大變化,傳統(tǒng)算法很難滿足此類場景的應(yīng)用要求。針對(duì)這一問題,提出基于并行跟蹤和檢測(cè)(PTAD)框架與深度學(xué)習(xí)的目標(biāo)檢測(cè)與跟蹤算法。首先,將基于卷積神經(jīng)網(wǎng)絡(luò)(CNN)的目標(biāo)檢測(cè)算法SSD作為PTAD的檢測(cè)子處理關(guān)鍵幀獲取目標(biāo)信息并提供給跟蹤子;其次,檢測(cè)子與跟蹤子并行處理圖像幀并計(jì)算檢測(cè)與跟蹤結(jié)果框的重疊度及跟蹤結(jié)果的置信度;最后,根據(jù)跟蹤子與檢測(cè)子的跟蹤或檢測(cè)狀態(tài)來判斷是否對(duì)跟蹤子或檢測(cè)子進(jìn)行更新,并對(duì)圖像幀中的目標(biāo)進(jìn)行實(shí)時(shí)跟蹤。在無人機(jī)視角下的視頻序列上開展實(shí)驗(yàn)研究和對(duì)比分析,結(jié)果表明所提算法的性能高于PTAD框架下最優(yōu)算法,而且實(shí)時(shí)性提高了13%,驗(yàn)證了此算法的有效性。
關(guān)鍵詞:并行跟蹤和檢測(cè);目標(biāo)跟蹤;深度學(xué)習(xí);相關(guān)濾波;無人機(jī)
中圖分類號(hào): TP242.62
文獻(xiàn)標(biāo)志碼:A
Abstract: In the context of air-ground robot collaboration, the apperance of the moving ground object will change greatly from the perspective of the drone and traditional object tracking algorithms can hardly accomplish target tracking in such scenarios. In order to solve this problem, based on the Parallel Tracking And Detection (PTAD) framework and deep learning, an object detecting and tracking algorithm was proposed. Firstly, the Single Shot MultiBox detector (SSD) object detection algorithm based on Convolutional Neural Network (CNN) was used as the detector in the PTAD framework to process the keyframe to obtain the object information and provide it to the tracker. Secondly, the detector and tracker processed image frames in parallel and calculated the overlap between the detection and tracking results and the confidence level of the tracking results. Finally, the proposed algorithm determined whether the tracker or detector need to be updated according to the tracking or detection status, and realized real-time tracking of the object in image frames. Based on the comparison with the original algorithm of the PTAD on video sequences captured from the perspective of the drone, the experimental results show that the performance of the proposed algorithm is better than that of the best algorithm with the PTAD framework, its real-time performance is improved by 13%, verifying the effectiveness of the proposed algorithm.
Key words: parallel tracking and detection; object tracking; deep learning; correlation filter; drone
0 引言
隨著計(jì)算機(jī)視覺技術(shù)的發(fā)展,目標(biāo)檢測(cè)與跟蹤技術(shù)被廣泛應(yīng)用到各個(gè)領(lǐng)域,如無人機(jī)的軍事偵察、監(jiān)控、打擊,電力巡檢,街景拍攝等。目標(biāo)跟蹤作為計(jì)算機(jī)視覺領(lǐng)域的核心問題之一,大量的關(guān)于目標(biāo)檢測(cè)與跟蹤的相關(guān)成果已經(jīng)被提出和發(fā)表[1-3]。根據(jù)跟蹤過程有無目標(biāo)檢測(cè)的參與,可將現(xiàn)有的跟蹤方法分為兩類: 基于生成模型的目標(biāo)跟蹤方法和基于判別模型的目標(biāo)跟蹤方法。基于生成模型的跟蹤方法一般首先構(gòu)建目標(biāo)的外觀模型,然后通過擬合該模型在圖像中找到最相似的區(qū)域作為目標(biāo)區(qū)域;基于判別模型的跟蹤方法將目標(biāo)跟蹤問題考慮為一個(gè)二分類問題,通過構(gòu)建分類器來區(qū)分跟蹤目標(biāo)和背景,與僅利用目標(biāo)外觀信息的生成模型不同,基于判別模型的跟蹤子對(duì)目標(biāo)和目標(biāo)周圍環(huán)境都進(jìn)行建模。也就是說,目標(biāo)檢測(cè)可以看作是目標(biāo)跟蹤的一個(gè)組成部分,主要是對(duì)目標(biāo)狀態(tài)的初始化,基于視覺的目標(biāo)檢測(cè)與跟蹤框架如圖1所示。
在基于目標(biāo)檢測(cè)的跟蹤算法中,為訓(xùn)練出合適的分類器,依靠在線學(xué)習(xí)的方式需要大量的計(jì)算資源,因此在實(shí)際目標(biāo)跟蹤的應(yīng)用中很難達(dá)到實(shí)時(shí)性要求?;谂袆e式的目標(biāo)跟蹤方法能夠以較高幀率實(shí)現(xiàn)對(duì)目標(biāo)的實(shí)時(shí)跟蹤,但是當(dāng)目標(biāo)模板存在漂移,尤其是當(dāng)跟蹤的目標(biāo)從相機(jī)視野中消失時(shí)常常會(huì)丟失目標(biāo)且不能重新搜尋并跟蹤目標(biāo)。因此,研究人員提出將跟蹤和檢測(cè)作為兩個(gè)模塊運(yùn)行用于長時(shí)間的未知目標(biāo)跟蹤。近年來主流的目標(biāo)檢測(cè)與跟蹤算法:跟蹤學(xué)習(xí)檢測(cè)(Tracking-Learning-Detection, TLD)框架[4-5]在長時(shí)間的目標(biāo)跟蹤方面具有較高的準(zhǔn)確度和魯棒性,但是在實(shí)時(shí)性方面仍有待提高。受到并行跟蹤和建圖(Parallel Tracking And Mapping, PTAM)的啟發(fā),熊丹[6]提出了并行跟蹤與檢測(cè)(Parallel Tracking And Detection,PTAD)框架,將跟蹤與檢測(cè)放在兩個(gè)線程運(yùn)行,大大提高了跟蹤算法的實(shí)時(shí)性;而且該框架提供了開放接口,能夠集成整合不同的目標(biāo)跟蹤和檢測(cè)算法,實(shí)現(xiàn)對(duì)移動(dòng)目標(biāo)的檢測(cè)和跟蹤,并能比較和測(cè)試不同目標(biāo)跟蹤和檢測(cè)算法的性能。
在PTAD框架中,需要對(duì)給定的第一幀圖像中的運(yùn)動(dòng)目標(biāo)進(jìn)行標(biāo)記,實(shí)現(xiàn)跟蹤算法的初始化,顯然預(yù)標(biāo)記的訓(xùn)練樣本并不充足;并且為提高跟蹤算法實(shí)時(shí)性,PTAD框架的檢測(cè)模塊跳過了一些圖像幀,加大了目標(biāo)外觀變化對(duì)跟蹤算法性能的影響。實(shí)驗(yàn)證明在無人機(jī)的視角下,當(dāng)運(yùn)動(dòng)目標(biāo)因移動(dòng)而導(dǎo)致目標(biāo)外觀發(fā)生變化時(shí),算法的跟蹤框無法隨目標(biāo)外觀自適應(yīng)調(diào)整,跟蹤的準(zhǔn)確度會(huì)降低;隨著目標(biāo)在視野中由于角度的變化造成外觀的較大變化時(shí),甚至可能丟失目標(biāo)。文獻(xiàn)[6]提出的基于PTAD框架的目標(biāo)跟蹤算法需要人工給定第一幀,手動(dòng)標(biāo)定帶來的不確定性會(huì)影響后續(xù)跟蹤,且不適用于無人機(jī)平臺(tái)。為了解決上述問題,同時(shí)提高跟蹤算法的精度和實(shí)時(shí)性,本文將深度學(xué)習(xí)算法引入到PTAD框架中,提出基于PTAD和深度學(xué)習(xí)的目標(biāo)檢測(cè)與跟蹤算法,并通過對(duì)比實(shí)驗(yàn)驗(yàn)證了這一算法的可行性。
1 PTAD算法框架
從uav123數(shù)據(jù)集[7]中提取部分連續(xù)的圖像幀(如圖2所示為第111~119幀)可以看出,目標(biāo)跟蹤過程中,運(yùn)動(dòng)目標(biāo)(汽車)的外觀和運(yùn)動(dòng)環(huán)境的變化是緩慢漸進(jìn)的,很少發(fā)生連續(xù)圖像幀突變的情況,因此在基于視覺的檢測(cè)與跟蹤算法框架中,檢測(cè)模塊不需要對(duì)圖像序列中每一幀的跟蹤狀態(tài)進(jìn)行判斷并對(duì)跟蹤模塊進(jìn)行校正。為了提高算法的運(yùn)行速度、節(jié)省計(jì)算資源,熊丹[6]提出了PTAD算法框架。PTAD框架分成跟蹤和檢測(cè)兩部分,在兩個(gè)線程內(nèi)獨(dú)立完成任務(wù):一個(gè)線程以較高的速度處理連續(xù)圖像幀實(shí)現(xiàn)目標(biāo)跟蹤;另一個(gè)線程進(jìn)行在線半監(jiān)督學(xué)習(xí)訓(xùn)練分類器,從而更新目標(biāo)模型并檢測(cè)跟蹤的目標(biāo)。
PTAD框架中的跟蹤模塊和檢測(cè)模塊并行處理,其中跟蹤模塊通過目標(biāo)在圖像序列前后幀之間的位置關(guān)系對(duì)目標(biāo)進(jìn)行定位,可以看成是PTAD框架的前端。跟蹤子計(jì)算資源需求少且實(shí)時(shí)性較好,但如果跟蹤失敗,它無法靠自身恢復(fù)跟蹤或初始化。檢測(cè)模塊分為分類和學(xué)習(xí)兩個(gè)部分,采用在線半監(jiān)督學(xué)習(xí)算法為檢測(cè)模塊更新分類器,當(dāng)跟蹤模塊丟失目標(biāo)或出現(xiàn)大尺度漂移時(shí),檢測(cè)模塊可以幫助其重新初始化和校正,這一部分看成是PTAD框架的后端。PTAD框架的架構(gòu)如圖3所示。
基于PTAD框架的目標(biāo)跟蹤過程如下:首先對(duì)第一幀圖像中的目標(biāo)進(jìn)行人工標(biāo)定,訓(xùn)練初始分類器,并初始化跟蹤模塊。接下來整個(gè)框架的執(zhí)行流程可以劃分成一系列結(jié)構(gòu)相同的執(zhí)行塊(如圖3中粗實(shí)線框所示)。每個(gè)執(zhí)行塊中的第一幀為關(guān)鍵幀,檢測(cè)子和跟蹤子會(huì)處理所有的關(guān)鍵幀。檢測(cè)子處理關(guān)鍵幀后得到檢測(cè)框的置信度以及檢測(cè)框處剪切的圖像塊,并根據(jù)這個(gè)置信度判斷檢測(cè)模塊的檢測(cè)狀態(tài)。跟蹤子處理關(guān)鍵幀得到跟蹤框、跟蹤框處剪切的圖像塊和跟蹤狀態(tài),這些結(jié)果會(huì)輸入到檢測(cè)模塊得到跟蹤的置信度,而跟蹤子繼續(xù)處理圖像幀(僅由跟蹤子處理的幀稱為跟蹤幀,如圖3中細(xì)虛線框所示),檢測(cè)子將跳過這些幀,這也是PTAD框架的特點(diǎn)之一。它們處理的結(jié)果經(jīng)過整合為檢測(cè)子提供更加可靠的訓(xùn)練樣本,用于更新檢測(cè)模塊中的分類器,這樣訓(xùn)練出來的分類器的誤分率較低。每個(gè)執(zhí)行塊具體執(zhí)行流程如圖4所示,其中KF、TFs分別為關(guān)鍵幀和跟蹤幀,tBox、tState分別為跟蹤子中的跟蹤框和跟蹤狀態(tài),dBox、dState分別為檢測(cè)子的檢測(cè)框和檢測(cè)狀態(tài),finalBox為框架輸出的跟蹤結(jié)果框。
2 基于PTAD和深度學(xué)習(xí)的目標(biāo)跟蹤算法
2.1 基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法
傳統(tǒng)目標(biāo)檢測(cè)算法存在明顯的弊端,基于滑動(dòng)窗口的區(qū)域選擇策略沒有針對(duì)性,導(dǎo)致出現(xiàn)窗口冗余且計(jì)算復(fù)雜度高的問題,因此基于候選區(qū)域的深度學(xué)習(xí)目標(biāo)檢測(cè)算法被提出,大大降低了計(jì)算復(fù)雜度且獲取的候選窗口的質(zhì)量要高于滑動(dòng)窗口。Girshick等[10]設(shè)計(jì)了基于區(qū)域選擇的卷積神經(jīng)網(wǎng)絡(luò)(Regions with Convolutional Neural Network features, R-CNN)目標(biāo)檢測(cè)框架, 用候選區(qū)域和卷積神經(jīng)網(wǎng)絡(luò)代替了傳統(tǒng)目標(biāo)檢測(cè)算法,使得目標(biāo)檢測(cè)取得了重大突破。為解決R-CNN算法檢測(cè)速度慢且占用大量內(nèi)存資源的問題, He等[11]提出空間金字塔池化網(wǎng)絡(luò)(Spatial Pyramid Pooling in Deep Convolutional Networks, SPP-NET),減少了每幀圖像需要提取的特征,避免了大量的重復(fù)計(jì)算,并可以對(duì)不同大小的圖像產(chǎn)生相同大小長度的表示特征;但是整個(gè)框架與R-CNN一樣仍然有步驟繁瑣的缺點(diǎn)。Girshick[12-13]團(tuán)隊(duì)又先后提出了Fast R-CNN和Faster R-CNN,將候選區(qū)域和卷積神經(jīng)網(wǎng)絡(luò)統(tǒng)一到一個(gè)網(wǎng)絡(luò)中,使用端對(duì)端學(xué)習(xí)的方式進(jìn)行目標(biāo)檢測(cè),雖然無法達(dá)到實(shí)時(shí),但也較大地提高了精度和運(yùn)行速度。為了達(dá)到目標(biāo)檢測(cè)的實(shí)時(shí)性,基于單個(gè)網(wǎng)絡(luò)的實(shí)時(shí)目標(biāo)檢測(cè)框架(You Only Look Once, YOLO)[14]和基于單網(wǎng)絡(luò)多層次預(yù)測(cè)框(Single Shoot multibox Detector, SSD)的目標(biāo)檢測(cè)[15]算法被提出,它們是基于回歸方法的深度學(xué)習(xí)目標(biāo)檢測(cè)算法。這類方法使用了回歸的思想,將目標(biāo)檢測(cè)作為回歸問題求解,訓(xùn)練和檢測(cè)都在一個(gè)單獨(dú)的網(wǎng)絡(luò)中,沒有分類部分,即給定輸入圖像后,直接在圖像的多個(gè)位置上回歸出這個(gè)位置的目標(biāo)邊框及目標(biāo)類別和置信度。實(shí)驗(yàn)結(jié)果表明,在VOC數(shù)據(jù)集上進(jìn)行目標(biāo)檢測(cè),SSD(512×512)算法的mAP(mean Average Precision)更高,YOLOv2算法的運(yùn)行速度更快,SSD(300×300)算法的mAP和運(yùn)行速度介于上述兩種算法之間[16]。
2.2 SSD算法
SSD算法是一種直接預(yù)測(cè)目標(biāo)邊界框(bounding box)坐標(biāo)和類別的目標(biāo)檢測(cè)算法,它沒有生成候選區(qū)域的過程。算法的主網(wǎng)絡(luò)結(jié)構(gòu)基于VGG16進(jìn)行修改,將兩個(gè)全連接層改成卷積層再增加4個(gè)卷積層構(gòu)造網(wǎng)絡(luò)結(jié)構(gòu),修改后的網(wǎng)絡(luò)結(jié)構(gòu)圖如圖5所示。
當(dāng)針對(duì)不同大小的物體檢測(cè)時(shí),相比Faster R-CNN算法選擇多尺度的候選區(qū)域進(jìn)行計(jì)算,SSD算法則利用不同卷積層的多個(gè)特征圖(feature map)自然地得到多尺度的檢測(cè)結(jié)果。SSD算法的核心是提出了默認(rèn)框(default box)的概念(如圖6所示), 算法同時(shí)采用高層和低層的feature map作檢測(cè),網(wǎng)絡(luò)中有8×8和4×4兩種大小的feature map,在feature map的每個(gè)小格上都有一系列固定大小的框。 圖5中的五個(gè)卷積層(每一層的default box的數(shù)量是給定的)與兩個(gè)3×3的卷積核進(jìn)行卷積,對(duì)每個(gè)default box得出預(yù)測(cè)所有物體類別的置信度和偏移??梢钥闯?,default box在不同的feature map有不同的尺寸,在同一個(gè)feature map又有不同的長寬比,因此基本上可以覆蓋輸入圖像中各種形狀和大小的目標(biāo)。從圖5及上述描述中可知,圖像經(jīng)過網(wǎng)絡(luò)中的feature map能夠生成8732個(gè)default box,從而實(shí)現(xiàn)對(duì)不同尺寸的目標(biāo)進(jìn)行更為準(zhǔn)確的檢測(cè)。最后經(jīng)過非極大值抑制算法得到結(jié)果框bounding box。