溫博閣
(大連交通大學(xué) 交通運(yùn)輸工程學(xué)院,遼寧 大連 116028)*
隨著近年來人工智能神經(jīng)網(wǎng)絡(luò)的爆發(fā)式發(fā)展,在圖像識(shí)別領(lǐng)域,結(jié)合人工智能方法的目標(biāo)追蹤屬于剛剛興起的研究方向,其應(yīng)用場(chǎng)景十分廣闊.智能追蹤算法可以極大地提高各個(gè)領(lǐng)域的效率,目前很多的跟蹤技術(shù)是基于卡爾曼濾波的算法.卡爾曼濾波被廣泛應(yīng)用于無人機(jī)、自動(dòng)駕駛、衛(wèi)星導(dǎo)航等領(lǐng)域,但通過卡爾曼濾波的預(yù)測(cè)值沒法應(yīng)對(duì)復(fù)雜環(huán)境下目標(biāo)追蹤所帶來的挑戰(zhàn).因此為了更好地追蹤效果,大部分使用卡爾曼濾波的方法都借助了更為先進(jìn)的設(shè)備,如激光雷達(dá),深度攝像頭等.得益于雷達(dá)生成的3D點(diǎn)云,深度攝像頭的像素深度信息,利用卡爾曼濾波將需要追蹤的點(diǎn)云與目標(biāo)區(qū)域相結(jié)合,進(jìn)而得到穩(wěn)定的追蹤區(qū)域.但是缺點(diǎn)也十分明顯,激光雷達(dá)成本不菲,其可靠性也難以達(dá)到工業(yè)產(chǎn)品7×24全天運(yùn)行要求.
基于這種情況,引入深度學(xué)習(xí)的方法,讓普通攝像頭在追蹤方面也達(dá)到激光雷達(dá)和深度攝像頭的水平就成了研究的熱點(diǎn).其中最著名的就是相關(guān)濾波KCF[1]方法,自其提出以來,優(yōu)秀的追蹤算法就開始不斷涌現(xiàn),但相關(guān)濾波方法有很多不足的地方,如HOG特征不能很好地體現(xiàn)被追蹤物體特征,導(dǎo)致追蹤精度出現(xiàn)問題.隨著深度神經(jīng)網(wǎng)絡(luò)的不斷完善,深度神經(jīng)網(wǎng)絡(luò)替換濾波的追蹤方法也涌現(xiàn)出來,如DCF[2],Siamese[3],SINT[4]等相關(guān)算法將傳統(tǒng)KCF的濾波過程替換成基于深度神經(jīng)網(wǎng)絡(luò)的過程.
本文提出一種基于深度可分離卷積的神經(jīng)網(wǎng)絡(luò)來進(jìn)行實(shí)時(shí)的多目標(biāo)追蹤,還可利用神經(jīng)網(wǎng)絡(luò)大規(guī)模訓(xùn)練樣本的能力提取更加準(zhǔn)確的特征,提高了整體追蹤的準(zhǔn)確度.除此之外,一般的追蹤網(wǎng)絡(luò)需要給定追蹤目標(biāo)的初始坐標(biāo),而本文提出的網(wǎng)絡(luò)通過增加目標(biāo)追蹤的分支,滿足了在各種環(huán)境和光照的變化下端到端的準(zhǔn)確追蹤.
多目標(biāo)追蹤神經(jīng)網(wǎng)絡(luò)主要由四個(gè)部分組成,
分別為殘差層(Resnet),瓶頸層(Bottleneck),檢測(cè)層(Detections),深度可分離卷積層(Depthwise),如圖1所示.
圖1 多目標(biāo)追蹤神經(jīng)網(wǎng)絡(luò)總體架構(gòu)
本文的殘差層基于Resnet50[5]的網(wǎng)絡(luò)結(jié)構(gòu)進(jìn)行修改,使其輸出可以滿足檢測(cè)層和瓶頸層的輸入要求.其結(jié)構(gòu)如圖2所示.
圖2 殘差層結(jié)構(gòu)圖
殘差層的網(wǎng)絡(luò)主要由卷積(Conv),批標(biāo)準(zhǔn)化(BN),激活函數(shù)(ReLU)以及殘差塊(Block)組成.其中殘差塊是由三個(gè)部分的卷積批處理激活函數(shù)ReLU組成.每組的卷積核大小、通道數(shù)、步長如表1所示.
表1 Resnet50網(wǎng)絡(luò)具體參數(shù)
檢測(cè)層網(wǎng)絡(luò)修改了YOLOv2[7](Redmon, Joseph, Farhadi, Ali)網(wǎng)絡(luò)在物體位置檢測(cè)的分支.YOLOv2在物體檢測(cè)方面使用了Darknet-19作為骨干網(wǎng)絡(luò)提取特征.本文使用了修改后的殘差層作為骨干網(wǎng)絡(luò)提取特征,可以有效地降低網(wǎng)路的運(yùn)算量,提升處理速度.改進(jìn)了其檢測(cè)分支,通過三層特征堆疊,可以有效檢測(cè)大中小物體.通過向上采樣與原特征相加來引入殘差方法避免梯度爆炸發(fā)生.檢測(cè)層的結(jié)構(gòu)如圖3所示.
圖3 檢測(cè)層結(jié)構(gòu)
瓶頸層負(fù)責(zé)將殘差網(wǎng)絡(luò)輸出進(jìn)行調(diào)整.為了在全尺度上都可以精確地跟蹤物體,殘差網(wǎng)絡(luò)輸出一個(gè)金字塔特征矩陣,每一層矩陣代表不同尺度下圖像的特征.瓶頸層的輸入分別是殘差層Block*4,Block*6,Block*3層的輸出,每一層的特征圖大小不一,通過卷積對(duì)特征圖進(jìn)行統(tǒng)一并融合[8],利用最后一個(gè)卷積對(duì)不同尺度的特征進(jìn)行融合并降維,得到一個(gè)多尺度的特征矩陣,其結(jié)構(gòu)如圖4所示.
圖4 瓶頸層結(jié)構(gòu)
深度可分離卷積層主要目的是將需要追蹤的目標(biāo)進(jìn)行特征提取并比對(duì)接下來每一幀中與其特征匹配度最高的位置,由此可以推斷當(dāng)前時(shí)刻,追蹤目標(biāo)的位置.其結(jié)構(gòu)示意圖如圖5所示.
圖5 深度可分離卷積層結(jié)構(gòu)
Depthwise卷積可以將輸入特征與原有特征進(jìn)行互相關(guān)卷積,輸出響應(yīng)特征圖代表了圖片中與待追蹤物體特征的相關(guān)性分布.通過Depthwise卷積后的特征圖大小為25*25*檢測(cè)物體數(shù)量,每個(gè)位置還有5種預(yù)先設(shè)置的先驗(yàn)框(Anchor number[9]),其寬長比為{1∶3,1∶2,1∶1,2∶1,3∶1}.因此每張?zhí)卣鲌D上共有25*25*5*檢測(cè)物體數(shù)量個(gè)先驗(yàn)框,每個(gè)先驗(yàn)框與物體坐標(biāo)位置的偏差用4個(gè)坐標(biāo)表示,對(duì)于原始anchor,用A表示,真實(shí)坐標(biāo)框用G表示,尋找一種變換F使其可以通過平移與縮放近似等于真實(shí)坐標(biāo):
其中:FC2為F函數(shù),(x,y,w,h)分別表示中心點(diǎn)坐標(biāo)和寬高,代表先驗(yàn)框的坐標(biāo).通過F映射為新坐標(biāo),使其更接近真實(shí)坐標(biāo)G.
FC1為置信度函數(shù),用來表示先驗(yàn)框中有目標(biāo)物體的情況,共2組,分別對(duì)應(yīng)存在物體和不存在物體的概率.
網(wǎng)絡(luò)訓(xùn)練分為兩個(gè)部分,一個(gè)部分是圖片作為輸入,殘差層與檢測(cè)層組成的檢測(cè)分支,輸出圖片中不同物體的坐標(biāo)與分類;另一部分將殘差層的輸出作為輸入,瓶頸層和深度可分離卷積層作為追蹤分支,輸出每一個(gè)物體的追蹤坐標(biāo).檢測(cè)分支的偏差由三部分組成,分別是坐標(biāo)偏差、置信度偏差和分類偏差.其中坐標(biāo)偏差為:
其中,N為特征圖尺寸,本文中有三種尺寸125、63、31.bool為每一個(gè)特征圖中包含物體的可能,包含為1,不包含為0.Ax、Ay、Aw、Ah為網(wǎng)絡(luò)輸出的預(yù)測(cè)中心坐標(biāo)和寬高.Gx、Gy、Gw、Gh為真實(shí)中心坐標(biāo)和寬高.
置信度偏差為:
BCE是binary cross entropy,P、Q分別為真實(shí)物體存在和預(yù)測(cè)置信度的概率.
分類偏差為:
其中,C為物體類別,本文中使用了COCO數(shù)據(jù)集進(jìn)行訓(xùn)練,因此C為80,p(c)、q(c)分別為各類的真實(shí)值和預(yù)測(cè)輸出的概率.
追蹤分支的偏差值為位置偏差:
|Ax-Gx|+|Ay-Gy|+|Aw-Gw|+|Ah-Gh|
其中,Ax,Ay,Aw,Ah為網(wǎng)絡(luò)輸出的預(yù)測(cè)中心坐標(biāo)和寬高.Gx、Gy、Gw、Gh為真值的中心坐標(biāo)和寬高.兩個(gè)部分都選擇了SGD作為優(yōu)化器.
本文中使用了VOT-2016數(shù)據(jù)集進(jìn)行訓(xùn)練和測(cè)試,使用VOT官方工具包中的測(cè)試方法對(duì)網(wǎng)絡(luò)進(jìn)行評(píng)估.
VOT的測(cè)試指標(biāo)有EAO、Accuracy 、Robustness三個(gè)指標(biāo),其中Accuracy用作評(píng)價(jià)跟蹤網(wǎng)絡(luò)準(zhǔn)確性,數(shù)值越大則準(zhǔn)確度越高.Robustness用作評(píng)價(jià)跟蹤網(wǎng)絡(luò)跟蹤目標(biāo)的穩(wěn)定性,數(shù)值越大,穩(wěn)定性越差.EAO是VOT-2015提出的,其目的是描述一個(gè)追蹤網(wǎng)絡(luò)同時(shí)擁有好的recall和accuracy.測(cè)試結(jié)果如表2所示.本文的多目標(biāo)追蹤網(wǎng)絡(luò)在EAO中,Accuracy和Robustness均取得了不錯(cuò)的結(jié)果,在追蹤多目標(biāo)的情況下仍比一部分單目標(biāo)追蹤網(wǎng)絡(luò)實(shí)時(shí)性要好.
表2 VOT數(shù)據(jù)集測(cè)試結(jié)果與其他主流算法對(duì)比
(1)本文針對(duì)在線視頻中多目標(biāo)的追蹤方法進(jìn)行了研究,提出一種在線的、實(shí)時(shí)的多目標(biāo)追蹤神經(jīng)網(wǎng)絡(luò).通過一個(gè)骨干網(wǎng)絡(luò)將檢測(cè)與追蹤兩個(gè)分支融合為一個(gè)網(wǎng)絡(luò),在降低了運(yùn)算量的同時(shí),使得網(wǎng)絡(luò)同時(shí)擁有目標(biāo)檢測(cè)與目標(biāo)追蹤的能力;
(2)根據(jù)骨干網(wǎng)絡(luò)的特征,使用了改進(jìn)的目標(biāo)檢測(cè)網(wǎng)絡(luò),使其滿足于對(duì)多種目標(biāo)地辨別.檢測(cè)網(wǎng)絡(luò)通過金字塔特征堆疊方式,增強(qiáng)了對(duì)大中小物體的檢測(cè).通過向上采樣與原特征相加來引入殘差方法避免梯度爆炸發(fā)生;
(3)骨干網(wǎng)絡(luò)的特征和檢測(cè)分支的結(jié)果同時(shí)作為追蹤網(wǎng)絡(luò)的輸入,利用深度可分離卷積對(duì)不同特征相關(guān)性的判斷,使其具備了對(duì)多目標(biāo)追蹤的能力.同時(shí)因?yàn)椴捎靡粋€(gè)骨干網(wǎng)絡(luò)和雙分支的結(jié)構(gòu),保證了網(wǎng)絡(luò)可以實(shí)時(shí)地運(yùn)行于各種在線視頻;
(4)本文中使用的方法在公開數(shù)據(jù)集的測(cè)試中,在EAO和Accuracy中都超過了主流的追蹤算法,同時(shí)處理速度也得到了保證,證明了深度可分離卷積在沒有增加太多計(jì)算量的情況下,有效地提高了特征提取的能力.