趙春暉, 任 杰, 宿 南
(哈爾濱工程大學(xué) 信息與通信工程學(xué)院, 黑龍江 哈爾濱 150001)
智能化交通是計(jì)算機(jī)視覺中最基本、最具挑戰(zhàn)性的任務(wù)之一.車輛跟蹤是智能化交通的重要組成部分,其應(yīng)用場景廣泛,能夠保護(hù)城市公共安全,對違規(guī)、逃逸車輛進(jìn)行及時跟蹤和抓捕,是保持城市交通暢通的有力手段.但在跟蹤過程中,受到惡劣天氣、環(huán)境污染、黑夜等復(fù)雜的拍攝場景影響,導(dǎo)致目標(biāo)與背景相似、局部遮擋、背景模糊、光線變化等諸多問題,使得在跟蹤過程中出現(xiàn)漂移,給車輛跟蹤增加了難度.所以設(shè)計(jì)一個具有高性能的車輛跟蹤器是有挑戰(zhàn)性的[1].
近幾年,為解決目標(biāo)跟蹤問題,出現(xiàn)了多種基于深度卷積網(wǎng)絡(luò)的實(shí)時跟蹤器.孿生網(wǎng)絡(luò)就是其中的重要分支,其本質(zhì)是將目標(biāo)跟蹤建模為一個相似性比較的問題[2].這種方法不需要或幾乎不需要在線訓(xùn)練,能夠節(jié)省大量時間、確保跟蹤器的實(shí)時性.最先使用孿生網(wǎng)絡(luò)框架的是SINT(基于孿生實(shí)例搜索的跟蹤)算法,在一個圖像中抽取非常多的候選目標(biāo),將所有候選目標(biāo)經(jīng)過同一個網(wǎng)絡(luò)去和初始幀作比較,選擇距離最小的就是目標(biāo)的位置,該方法操作簡單,但耗時長、速度慢.2016年提出的SiamFC算法[3]引入了全連接層,通過滑窗去做卷積,大大減少了計(jì)算時間,提高了跟蹤速度.但是其特征提取網(wǎng)絡(luò)簡單,沒有模型更新模塊,導(dǎo)致跟蹤精確度及魯棒性降低.2018年提出的SA-Siam[4](用于實(shí)時目標(biāo)跟蹤的雙分支孿生網(wǎng)絡(luò))利用雙重孿生網(wǎng)絡(luò)和通道注意力機(jī)制提高跟蹤器的泛化能力.2019年提出的SiamRPN++(基于極深孿生視覺跟蹤網(wǎng)絡(luò)的演變)算法[5],將ResNet[6](殘差網(wǎng)絡(luò))作為特征提取網(wǎng)絡(luò),提高了獲取語義特征的能力及跟蹤精度.通過以上方法可以看出,孿生網(wǎng)絡(luò)因?yàn)橛休^好的實(shí)時性,在視覺目標(biāo)跟蹤領(lǐng)域被廣泛應(yīng)用.
本文算法主要針對SiamFC跟蹤器存在的特征提取網(wǎng)絡(luò)簡單、無法解決復(fù)雜場景下目標(biāo)與背景相似、沒有模型更新導(dǎo)致跟蹤器的魯棒性差等問題進(jìn)行改進(jìn).首先,本文算法在孿生網(wǎng)絡(luò)的框架下提出利用VGG16網(wǎng)絡(luò)的covn4-2(第4個卷積的第2層)、covn4-3(第4個卷積的第3層)和FC1(全卷積的第1層)、FC2(全卷積的第2層)這2組卷積層,用特征融合的方式,分別對初始圖片和搜索圖片提取目標(biāo)的表觀特征和語義特征,確保特征的復(fù)雜度和多樣性.其次,對表觀特征和語義特征進(jìn)行權(quán)重分配,獲得更完善的特征圖,可以更有效地解決目標(biāo)與背景相似的問題.最后,通過不斷試驗(yàn)的方法,觀察在不同相似度時本文算法的成功率和精確度,找到成功率和精確度達(dá)到最高值的點(diǎn),確定所在位置的相似度,作為模型更新的閾值,每當(dāng)相似度達(dá)到閾值時,對模型更新一次,既可以避免重復(fù)更新又能提高整體算法的魯棒性.
圖1給出了本文算法的整體流程圖.算法步驟如下:①利用VGG16網(wǎng)絡(luò)的covn4-2、covn4-3和FC1、FC2這2組卷積層,通過特征融合的方式獲取目標(biāo)的表觀特征和語義特征;②對獲取到的表觀特征和語義特征進(jìn)行加權(quán)平均,得到整體特征圖;③對初始圖片和搜索圖片的整體特征圖進(jìn)行相似性比較,找出相似度最大的位置,就是搜索圖片中目標(biāo)所在的位置;④確定位置之后,判斷相似度是否小于0.89,如果是就要進(jìn)行模型更新,用當(dāng)前幀的圖片替換掉初始圖片,再進(jìn)行下一幀圖片的跟蹤,反之,則直接進(jìn)行下一幀圖片的跟蹤;⑤重復(fù)以上步驟直到視頻的最后一幀結(jié)束.
圖1 本文算法整體流程Fig.1 Overall flow chart of the proposed algorithm
SiamFC是將孿生網(wǎng)絡(luò)用在視覺跟蹤上,并且得到了具有很強(qiáng)實(shí)時性的視覺跟蹤算法.SiamFC在初始離線階段把CNN看成一個相似性學(xué)習(xí)問題,然后在跟蹤時對相似性問題在線進(jìn)行簡單估計(jì).用AlexNet[7]網(wǎng)絡(luò)進(jìn)行特征提取,引入了全連接層的結(jié)構(gòu),通過計(jì)算2個輸入的互相關(guān)和插值,可以得到有效的滑動窗口估計(jì).在VOT2016[8]的視覺跟蹤視頻數(shù)據(jù)集上進(jìn)行了端到端的測試,算法非常簡單,實(shí)時性強(qiáng),在多個數(shù)據(jù)集上達(dá)到最優(yōu)的性能.但是SiamFC中特征提取模塊的網(wǎng)絡(luò)簡單,不能獲取更深層次和多樣性的特征,泛化能力弱,不能解決目標(biāo)與背景相似的問題.
本文算法的特征提取網(wǎng)絡(luò)由2個分支組成,專注于不同類型的CNN特征.因?yàn)椴煌瑢由系腃NN特征可以針對不同的跟蹤問題,對單目標(biāo)跟蹤使用所有特征既沒有效率也沒有效果,所以可以利用CNN的不同層特性來制作一個強(qiáng)大的跟蹤器.首先本文采用稀疏表示的方法[9]分析每層輸出的特征圖譜,觀察不同層的CNN特征能夠表達(dá)不同水平的目標(biāo)特征.越深層的特征越抽象,并且具有語義信息,對于形變,目標(biāo)與背景相似,具有很強(qiáng)的魯棒性.而淺層的特征更多的是局部特征,可以描述目標(biāo)的外觀信息.車輛跟蹤過程中,其實(shí)質(zhì)是從眾多背景中區(qū)分出變化的目標(biāo)物體,將語義特征與表觀特征互補(bǔ)結(jié)合,用一個語義分支過濾掉背景,同時用一個表觀特征分支來泛化目標(biāo)的變化,如果一個物體被語義分支判定為不是背景,并且被表觀特征分支判斷為該物體由目標(biāo)物體變化而來,即可認(rèn)為這就是需要被跟蹤的車輛.因此本文算法以孿生網(wǎng)絡(luò)框架在確保跟蹤過程能夠保證實(shí)時性的條件下,使用VGG16網(wǎng)絡(luò)分別輸出covn4-2、covn4-3這2個卷積層的特征和FC1、FC2這2個卷積層的特征.在covn4-2、covn4-3和FC1、FC2兩組網(wǎng)絡(luò)層特征提取之后插入一個完整的融合模塊,也就是加入了一個1*1的卷積和,使得covn4-2和covn4-3的特征融合到一起,獲取目標(biāo)的表觀特征;FC1和FC2的特征融合到一起,獲取目標(biāo)的語義特征.通過改進(jìn)的特征提取網(wǎng)絡(luò)后,利用上采樣處理 FC1、FC2輸出特征圖,使其與 covn4-2、covn4-3層的特征圖尺寸大小相同.最后,對獲取到的表觀特征和語義特征進(jìn)行權(quán)重分配,原因是語義特征對區(qū)分目標(biāo)與背景的變化具有較強(qiáng)的魯棒性,使跟蹤器更通用.為了增強(qiáng)語義分支的識別能力,本文算法添加了加權(quán)平均模塊進(jìn)行權(quán)重分配,所以整體特征圖是由語義特征和表觀特征2個分支的加權(quán)平均構(gòu)成的,公式為
式中:φ()表示特征提取;φ(x)表示初始圖片的整體特征;φ(z)表示搜索圖片的整體特征;φ(s)、φ(s*)分別是初始圖片和搜索圖片的語義特征;φ(a)、φ(a*)分別是初始圖片和搜索圖片的表觀特征;λ為平衡語義特征和表觀特征2個分支重要性的權(quán)重參數(shù).在試驗(yàn)中,λ的大小是由訓(xùn)練集估計(jì)得到的,訓(xùn)練次數(shù)越多,所得到的值越準(zhǔn)確,這就是利用VGG16網(wǎng)絡(luò)通過特征融合獲取表觀特征和語義特征進(jìn)行特征提取的全過程.
目標(biāo)跟蹤問題可以表示為回歸問題,公式為
(3)
式中:矩陣A代表訓(xùn)練樣本的特征向量;向量y是對應(yīng)的標(biāo)簽;‖‖2代表L2正則化;向量w為最優(yōu)濾波器,
w=(ATA+λI)-1ATy.
(4)
由于逆矩陣的計(jì)算需要很高的計(jì)算代價,直接使用式(4)進(jìn)行目標(biāo)跟蹤比較困難.上述問題也可以用對偶形式求解,
w=ATα.
(5)
由式(5)可以看出,對偶形式將特征表示與判別器學(xué)習(xí)分開,α反映了判別器部分.對于基于回歸的跟蹤算法,如KCF[10](基于核相關(guān)濾波器的視覺跟蹤)算法、ECO[11]、C-COT[12],核心問題是如何學(xué)習(xí)α的估計(jì).
作為對比,在孿生網(wǎng)絡(luò)跟蹤器中是學(xué)習(xí)一個函數(shù)f(z,x)來比較大小相同的初始圖像和搜索圖像的特征x和特征z.通過比較初始圖像和搜索圖像中所有的候選框之間的相關(guān)性來實(shí)現(xiàn),其公式為
f(z,x)=φ(z)*φ(x)+b1.
(6)
式中:z為搜索圖片;x為初始圖片;φ()為特征提取;*為互相關(guān);b1為每個像素點(diǎn)的信號值.
通過式(6)可以看出孿生網(wǎng)絡(luò)中的視覺目標(biāo)跟蹤的核心問題是相似性的比較.比較初始圖片和搜索圖片特征圖的相似性大小,如果2個圖像描述相同的對象,則返回一個高分,反之,則返回一個低分.為了找到物體在搜索圖像中的位置,本文利用了快速滑窗技術(shù),在搜索圖片中生成多個候選框,對初始圖片的標(biāo)準(zhǔn)框與所有候選框進(jìn)行詳盡的測試,并選擇與初始圖片最相似的候選框的位置,作為目標(biāo)在搜索圖片中的新位置.
在車輛跟蹤過程中目標(biāo)所處的環(huán)境在不斷地變化, 目標(biāo)也發(fā)生或多或少的變化, 因此一直用第一幀作為對比圖片, 容易造成精確度下降. SaimFC算法因?yàn)闆]有添加模型更新模塊, 導(dǎo)致跟蹤效果隨著時間的增長而變差. 但是如果每次對比之后都更新, 容易引入噪聲等干擾信息,降低成功率. 本文利用重復(fù)試驗(yàn)的方法, 分別在相似度為98%、96%、94%、92%、90%、89%、88%、87%、86%、85%時進(jìn)行一次模型更新, 記錄相應(yīng)的速度、成功率、精確度. 如表1所示,為方便閾值確定,將相似度的百分制換算成小數(shù)制. 可以發(fā)現(xiàn),當(dāng)相似度為0.89時,精確度和成功率最高, 相似度大于或小于0.89,精確度和成功率都會有不同程度的下降, 說明在相似度為0.89時進(jìn)行一次模型更新是最有效的. 所以將相似度為0.89作為模型更新的閾值, 這樣既節(jié)省了重復(fù)多次更新所用的時間, 也提高了算法整體的精確度和魯棒性.
為了驗(yàn)證本文算法的工作效率,采用KITTI[13]公開的車輛運(yùn)動視頻數(shù)據(jù)集及LaSOT[14]中20段車輛運(yùn)動視頻,其中包含了目標(biāo)與背景相似、局部遮擋、形變、快速運(yùn)動、背景雜亂、光照變化等多種目標(biāo)跟蹤過程中可能出現(xiàn)的復(fù)雜情況,采用了分組對比的方法對進(jìn)行詳細(xì)的分析.
本試驗(yàn)采用2個標(biāo)準(zhǔn)評價指標(biāo)[15]:①成功率是計(jì)算跟蹤成功視頻所占視頻的比例,就是對于每幀圖片,計(jì)算被跟蹤圖片中的候選框和groundtruth(標(biāo)準(zhǔn)框)之間的IoU(重疊度),通過評估不同IoU閾值下的成功率,可以得到一個成功率曲線圖;②精確度是跟蹤目標(biāo)的中心位置和手工標(biāo)定的準(zhǔn)確位置之間的平均歐氏距離,就是一個序列中所有幀像素之間的平均中心位置誤差,通過評估不同像素閾值下的精確度,可以得到一個精確度曲線圖.這2個指標(biāo)都可以根據(jù)AUC(曲線下面積)的大小來判斷算法的效果,AUC越大效果越好.
在訓(xùn)練階段采用了ILSVRC15的數(shù)據(jù)集對VGG16網(wǎng)絡(luò)進(jìn)行了預(yù)訓(xùn)練,采用了隨機(jī)梯度下降的優(yōu)化算法,用高斯分布初始化參數(shù),訓(xùn)練50個epoch(循環(huán)),每個epoch有5萬個樣本,學(xué)習(xí)率從10-1降到10-7,語義特征和表觀特征的權(quán)重分配是7∶3,模型更新閾值為0.89,其他參數(shù)與VGG16預(yù)訓(xùn)練網(wǎng)絡(luò)中的參數(shù)相同.
本文算法是在SiamFC算法的基礎(chǔ)上,對SiamFC算法中存在的特征提取網(wǎng)絡(luò)簡單、無模型更新模塊這2個問題進(jìn)行改進(jìn),所以將本文算法中只包含利用特征融合進(jìn)行特征提取這一單一模塊的算法命名為Ours-1,將利用特征融合進(jìn)行特征提取和模型更新2個模塊結(jié)合的算法命名為Ours-2,分別與SiamFC算法進(jìn)行比較.表2是各算法的評價指標(biāo),Ours-1相對于SiamFC算法,其成功率提高了0.118,精確度提高了0.086,說明加入特征融合模塊后算法的總體性能得到提高;Ours-2與SiamFC比較,其成功率提高了0.140,精確度提高了0.117,3種算法的速度沒有太大的差別,說明加入特征融合和模型更新模塊之后的算法在保證實(shí)時性的條件下,提高了跟蹤算法的精確度及魯棒性.
表2 各算法的評價指標(biāo)Table 2 Evaluation indicators of each algorithm
圖2是本文算法與SiamFC算法的跟蹤效果視頻序列,分為3組,分別是清晰場景、陰天、黑夜,每一組的第一行為SiamFC,第二行為本文算法,可以看到SiamFC算法在清晰場景視頻中跟蹤效果很好,而在陰天、黑夜這些目標(biāo)與背景相似的復(fù)雜場景,就會出現(xiàn)跟蹤框在不停的抖動甚至脫離目標(biāo)的情況.本文算法無論是在清晰還是復(fù)雜場景的視頻中都能準(zhǔn)確確定目標(biāo)位置,沒有出現(xiàn)漂移或抖動的情況.說明本文算法能夠解決由陰雨天、黑夜等復(fù)雜的拍攝場景導(dǎo)致的目標(biāo)與背景相似的問題.
(a) 清晰場景(b) 陰天(c) 黑夜
為了確保本文算法的穩(wěn)定性,本文算法與同樣以孿生網(wǎng)絡(luò)為框架的7個優(yōu)秀算法SINT[1]、CFNet[16]、DCFNet[17](用于視覺跟蹤的判別相關(guān)濾波器網(wǎng)絡(luò))、DSiam[18](學(xué)習(xí)動態(tài)孿生網(wǎng)絡(luò)的視覺跟蹤算法)、SINT++[19](基于對抗性正實(shí)例生成的跟蹤算法)、CREST[20](基于卷積殘差學(xué)習(xí)的跟蹤算法)、RASNet[21](基于殘差注意力孿生網(wǎng)絡(luò)的在線視覺目標(biāo)跟蹤)進(jìn)行比較.各算法在車輛跟蹤視頻上的跟蹤性能如表3所示,從表3中可以看到,本文算法(Ours)的精確度為0.843,位列于所有算法的第3位,成功率為0.729,位列于所有算法的第1名.與SINT相比精確度提高了7.5%,成功率提高了15.5%;與DCFNet相比精確度提高了31.6%,成功率提高了29.3%.總體的跟蹤性能在所有對比算法中名列前茅,在具有較高跟蹤性能的同時保證了算法的實(shí)時性.
表3 各算法的性能Table 3 Performance of each algorithm
為了便于觀察,圖3(見封3)中顯示了跟蹤性能存在差異的4種算法(Ours、SINT++、RASNe、DCFNet)的跟蹤效果視頻序列,驗(yàn)證各種算法在陰天、黑夜、雪天、霧霾天、雨天這些受到外界影響導(dǎo)致的復(fù)雜的視頻場景下的跟蹤情況.圖3中紅色框?yàn)楸疚乃惴ǖ臋z測結(jié)果.可以看到在各種復(fù)雜場景和外界干擾下,本文算法的跟蹤框依然緊緊地貼合目標(biāo)車輛,實(shí)現(xiàn)準(zhǔn)確跟蹤,而其他算法均有不同程度的位置偏移.可以看出本文算法不僅可以解決由復(fù)雜拍攝場景造成的目標(biāo)與背景相似的問題,還具有很強(qiáng)的魯棒性.
針對復(fù)雜場景下車輛跟蹤問題,本文提出了以孿生網(wǎng)絡(luò)為框架用特征融合實(shí)現(xiàn)目標(biāo)跟蹤的算法,利用了語義特征和表觀特征的互補(bǔ),解決復(fù)雜場景中目標(biāo)與背景相似的問題.此外,本文還設(shè)計(jì)了更新閾值參數(shù)優(yōu)化模型來實(shí)現(xiàn)算法的間隔更新,從而提高跟蹤算法的魯棒性.試驗(yàn)結(jié)果表明,本文所提算法在公開的車輛視頻數(shù)據(jù)集上的表現(xiàn)要遠(yuǎn)遠(yuǎn)好于其他實(shí)時跟蹤算法.