黃鎵輝,彭 力,謝林柏
物聯(lián)網(wǎng)技術(shù)應(yīng)用教育部工程研究中心(江南大學 物聯(lián)網(wǎng)工程學院),江蘇 無錫 214122
近年來人工智能高速發(fā)展,日常生活也越來越離不開科技的幫助,隨著生活水平的不斷提高,人均車輛占有比例也是逐步升高,道路交通的管理面臨著更加嚴峻的考驗。車輛檢測與跟蹤是實現(xiàn)智能車輛和高級駕駛輔助系統(tǒng)環(huán)境感知的重要環(huán)節(jié),同時也是交通部門能有效獲得道路信息并加以制定管理策略的有效保障。通過對道路攝像機拍攝的視頻圖像進行目標車輛的檢測、跟蹤及相關(guān)行為分析,能很好完成交通參數(shù)的采集和相關(guān)的交通管理與控制。隨著多旋翼無人機技術(shù)的成熟,無人機(unmanned aerial vehicle,UAV)視頻已經(jīng)能夠用于道路交通調(diào)查,同時相關(guān)的法律法規(guī)日益完善,低空管制逐漸放開,無人機的應(yīng)用場景也愈發(fā)多樣化。相比于傳統(tǒng)的道路攝像頭,無人機拍攝能規(guī)避部分檢測死角,提供更加廣闊的拍攝范圍,并且能夠?qū)崟r追蹤特定目標,提供很高的機動性,在特定場合下有著不可替代的作用,也更加符合現(xiàn)在環(huán)境對科技的要求。
常用的車輛跟蹤算法根據(jù)車輛模型的建立方式不同,可以分為生成類方法和判別類方法。生成類方法在第一幀中對目標車輛按制定的方法建立模型,然后在跟蹤處理幀中搜索對比與目標車輛模型相似度最高的區(qū)域作為目標區(qū)域進行跟蹤,包括卡爾曼濾波[1]、粒子濾波[2]、均值漂移(mean-shift)[3],還有加入了顏色特征的ASMS(scale-adaptive mean-shift)[4]等。這類方法雖然對車輛特征刻畫較為細致,但沒有考慮車輛背景信息,在目標車輛發(fā)生變化或者遮擋情況下容易出現(xiàn)跟蹤失敗現(xiàn)象。判別類方法將車輛跟蹤看作是一個二元分類問題,同時提取目標車輛和背景信息用來訓練分類器,將目標從圖像序列背景中分離出來,從而得到當前幀的目標位置。
判別類方法包括相關(guān)濾波、深度學習等方法。相關(guān)濾波算法采用構(gòu)造相關(guān)濾波器方法,在下一幀將濾波器與預測位置進行濾波,選擇響應(yīng)最大值作為目標新位置。最早有基于輸出結(jié)果的最小均方誤差濾波器的MOSSE(minimum output sum of squared error filter)[5],提出核檢測的循環(huán)結(jié)構(gòu)的CSK(circulant structure of tracking-by-detection with kernels)[6],通過對樣本進行循環(huán)移位獲得大量樣本,引入顏色特征的CN(color names)算法[7],再到核相關(guān)濾波(kernel correlation filter,KCF)[8],采用方向梯度直方圖(histogram of oriented gradients,HOG)特征代替CSK 中灰度特征。后來隨著神經(jīng)網(wǎng)絡(luò)的不斷發(fā)展,深度學習類方法逐漸興起。MDNet[9]和DeepTracking[10]等深度學習類算法雖然有著較高的精度,但速度很慢,無法達到實時性要求,對硬件的要求也較高。
與固定視頻相比,無人機視頻同時記錄了無人機的傾斜、旋轉(zhuǎn)和漂移等運動,因此無法直接應(yīng)用固定視頻場景下的車輛檢測和跟蹤算法。深度學習類算法雖然精度很高,但是速度上達不到較高的實時要求,核相關(guān)濾波類算法能夠在可接受的精度下達到較高的速度,適合在車輛跟蹤這個領(lǐng)域應(yīng)用。本文針對道路車流量調(diào)查的實時性、高精度等實際要求,提出了一種無人機場景下的車輛檢測和跟蹤方法。對輸入的圖像分別使用HOG 特征和顏色特征進行特征提取供濾波器使用、學習。得到特征之后,根據(jù)相關(guān)濾波器的學習規(guī)則學習得到濾波模板,使用給定公式更新模板。基于上一幀學習到的位置,使用給定大小的目標框標出大致的目標位置,然后使用學習得到的兩個濾波器模板對目標分別學習,按照一定的權(quán)重相結(jié)合,確定目標新的位置。最后使用實際的無人機拍攝的視頻作為檢測素材,對算法進行實驗驗證。
無人機(UAV)是無人駕駛飛機的簡稱,它是利用無線電遙控設(shè)備和自備的程序控制裝置的不載人飛機,機上無駕駛倉,但有自動駕駛儀。
與有人駕駛飛機相比,無人機更適合骯臟、危險的任務(wù)。無人機按應(yīng)用領(lǐng)域,可分為軍用與民用。目前在航拍、農(nóng)業(yè)、測繪、偵查搜捕、交通管理等領(lǐng)域的應(yīng)用,大大地拓展了無人機本身的用途。相比傳統(tǒng)的攝像機場景,無人機拍攝場景具有更高的機動性,能實時跟蹤目標,基本不受場地影響,同時由于視角廣,畫幅較大,能從圖像中獲得更多的信息。
傳統(tǒng)的相關(guān)濾波算法是固定尺度的,當目標車輛在運動過程中尺度發(fā)生變化時,背景信息對模型的干擾加大,容易產(chǎn)生模型漂移。因此,提升跟蹤算法適應(yīng)目標尺度變化的能力,也可以有效提高跟蹤的準確性。
為了提高車輛跟蹤算法的準確性和適應(yīng)目標尺度變化的能力,在KCF 算法框架上,提出帶有區(qū)分尺度空間跟蹤器的核相關(guān)濾波跟蹤算法。本文引入了兩個相關(guān)濾波器,定義為位置濾波器和尺度濾波器,前者進行當前幀目標的定位,后者進行當前幀目標尺度的估計。兩個濾波器是相對獨立的,從而可以選擇不同的特征種類和特征計算方式來訓練和測試。
位置方面算法通過學習得到一個相關(guān)濾波器,用這個濾波器來確定目標在下一幀的位置。濾波器使用一組灰度圖像塊f1,f2,…,ft作為訓練樣本,對應(yīng)的濾波器的響應(yīng)輸出為g1,g2,…,gt。最佳相關(guān)濾波器ht需要滿足下式:
其中,fj、gj、ht均為M×N的矩陣,*代表循環(huán)相關(guān),第二個等號根據(jù)Parseval 定理得出。大寫字母代表相應(yīng)的離散傅里葉變換(discrete Fourier transform,DFT)。輸出gj是高斯型的函數(shù),峰值位于中心處。上式最小化結(jié)果可得:
這個方法一是運算簡潔,基本都是矩陣運算;二是引入快速傅里葉大幅度加快運算效率,滿足了對速度的需求。在得到上述相關(guān)濾波器后,對于新的一幀中的候選輸入樣本z,求相關(guān)得分y:
y取最大響應(yīng)值時對應(yīng)的位置z為新的目標位置。考慮到許多圖像的特征為多維度的,設(shè)f為特征,f有d維,fl為其中的第l維,l的取值為1 到d。建立最小化代價函數(shù)(cost function):
其中,l表示特征的某一維度,λ是正則項系數(shù),求解得到H如下:
同樣將H拆分為分子A和分母B,分別進行迭代更新:
其中,η表示學習率,對于新來的一幀圖像中的圖z,它的響應(yīng)得分為y,計算方法如下:
尺度方面采用一個一維的相關(guān)濾波器去估計目標在圖片中的尺度。訓練樣本f從目標中心扣取。假設(shè)當前幀的目標大小為P×R,尺度為S,選取目標中心大小為anP×anR的窗口標記為Jn。其中a表示一個尺度因子,n的取值范圍如下:n∈,尺度等級為n的訓練樣本f是Jn的d維的特征描述子。
具體過程為先獲得大小為M×N的圖像塊P,以圖像塊的正中間為中心,截取不同尺度的圖片,得到一系列的不同尺度的圖像,針對每個圖像求其特征描述子,g是高斯函數(shù)構(gòu)造的輸出響應(yīng),大小為1×S,中間值最大,向兩端依次減小。選取33 個尺度,每一個維度的特征fl為一個1×S的向量,對f的每一個維度的特征做一維的離散傅里葉變換,得到Fl,對g做一維的離散傅里葉變換得到G,經(jīng)過式(5)得到濾波器模板H。
圖1 為不同尺度的特征提取后的輸出響應(yīng),合適的尺度才會產(chǎn)生較高的響應(yīng),過大和過小的尺度都會導致響應(yīng)變低。
Fig.1 Multi-scale feature extraction圖1 多尺度特征提取
把位置濾波器和尺度濾波器相結(jié)合變成一個三維的濾波器,濾波器的大小為M×N×S,M和N分別代表濾波器的高(height)和寬(width),S代表尺度的數(shù)量。首先在目標周圍的矩形區(qū)域中計算特征金字塔。構(gòu)造金字塔時應(yīng)使目標在估計尺寸下的大小為M×N。對于一幀新的圖片,通過獲取S個尺度上的特征組成一個M×N×S的特征金字塔,使用三維高斯函數(shù)作為相應(yīng)的響應(yīng)g,根據(jù)式(6)更新濾波器,根據(jù)式(7)計算各個響應(yīng)的得分,選取得分最高的作為新一幀中目標的最佳位置和最佳尺度。
有些車輛運動過程中速度較快,導致產(chǎn)生較大的形變,造成檢測器在對目標車輛模板進行匹配時置信度大大降低,產(chǎn)生干擾,從而導致采集的樣本訓練出來的相關(guān)濾波器的判別能力急劇下降,造成跟蹤失敗。為了改善這一現(xiàn)象,本文加入了對形變不太敏感的顏色特征增加濾波器的魯棒性,采用統(tǒng)計顏色特征方法。
之前常用的CN 特征也是顏色特征,但是屬于模板類特征,仍然在相關(guān)濾波框架中,具有相關(guān)濾波的固有缺陷,而像素級顏色概率響應(yīng)不受這一影響,能正確檢測快速變形和快速運動情況。在跟蹤過程中預先探測出與目標相似的干擾區(qū)域,與正確的目標區(qū)域加權(quán)結(jié)合,這樣能夠有效降低傳統(tǒng)顏色特征方法常出現(xiàn)的“漂移”現(xiàn)象。
由于產(chǎn)生式混合判別式模型準確性高,決定使用基于貝葉斯定理的顏色直方圖,首先可以得到每一幀圖像中每個像素點對應(yīng)的顏色區(qū)間,然后根據(jù)貝葉斯公式得到在搜索區(qū)域內(nèi)屬于目標區(qū)域的概率:
其中:
對干擾區(qū)域同樣運用此方法得出公式,將目標區(qū)域和干擾區(qū)域相結(jié)合后能得到下列公式:
在搜索區(qū)域里密集地采樣候選目標區(qū)域,并且計算每個候選區(qū)域的模型得分和相似性度量。因為與目標區(qū)域相似的干擾區(qū)域必然也會獲得高分,所以可以高效地同時得到新的目標區(qū)域和視覺相似的干擾區(qū)域。如果一個候選區(qū)域大于一定閾值,那么它屬于干擾區(qū)域。為了防止由于目標尺度增大而導致干擾區(qū)域與目標部分重疊選擇了具有二義性的干擾區(qū)域,采用迭代非最大值抑制策略。在獲得了新的目標區(qū)域和一系列干擾區(qū)域后更新目標模型,這樣可以抑制背景和識別出的干擾區(qū)域,從而減小了在下一幀或之后幀漂移的幾率。根據(jù)公式:
將顏色模板得到的特征和HOG 模板得到的特征加權(quán)結(jié)合,生成新的特征樣本,其中λhog與λdat的值可以根據(jù)給定的視頻素材調(diào)整。當給定的素材多為灰度圖像,顏色特征效果不明顯時可以提高HOG 特征的比重。如果為彩色圖像,則適當提高顏色特征所占比重,對于一般的彩色視頻序列,在經(jīng)過多次對比實驗后分別取λhog、λdat為0.7 和0.3,此時算法能夠達到較為不錯的跟蹤結(jié)果,其中顏色特征對比HOG 特征起到輔助作用。
算法整體流程如圖2:獲得第一幀圖像后使用HOG 特征對目標圖片進行特征提取供濾波器進行使用和學習。得到特征之后,根據(jù)相關(guān)濾波器的學習規(guī)則學習得到濾波模板,使用給定公式更新模板。同時使用顏色特征對濾波模板進行學習,按照給定的更新公式對學習到的模板進行更新。得到下一幀圖像后基于上一幀學習到的位置P處,使用尺度大小不同的目標框標出大致目標位置所在,然后使用學習得到的兩個濾波器模板對目標分別學習,然后得到對應(yīng)的模板匹配得分,使用給定的規(guī)則對兩個模板得分加權(quán)結(jié)合,得到最終的匹配得分,找到得分最高的目標框即為這一幀目標所在的位置,重復這個步驟直至跟蹤結(jié)束。
Fig.2 Algorithm flowchart圖2 算法整體流程圖
實驗算法采用Matlab 編程,在Windows10 系統(tǒng)下運行,處理器為Intel i5-6500,主頻是3.20 GHz,內(nèi)存是8 GB,軟件平臺是Matlab R2018a。
在OTB100[11-12]和UAV[13]數(shù)據(jù)集提供的28 段車輛運動視頻中,對提出的算法(Proposed)與8 個算法進行比較。該28 段視頻中包含光照陰影、運動模糊、尺度變化、障礙物遮擋等多種影響因素。UAV 數(shù)據(jù)集中的18 段視頻均為無人機拍攝,為驗證算法可靠性提供保證。OTB100 作為跟蹤領(lǐng)域的benchmark 數(shù)據(jù)集,其中包含了許多車輛跟蹤時可能發(fā)生的場景,包括目標物遮擋、模糊、光照變化、尺度變化等,對驗證算法的跟蹤效果提供了幫助。為保證實驗的公正性,所用對比算法的代碼均由原論文作者開源提供。
對比實驗中采用的算法評價標準為OTB 數(shù)據(jù)集使用的OPE(one-pass evaluation)標準,根據(jù)第一幀中對目標的標注位置進行初始化,然后在該序列中運行算法直至結(jié)束。實驗采用距離精度(distance precision,DP)和成功率曲線下的面積(area under the curve,AUC)這兩個指標來衡量跟蹤算法的準確性。距離精度的定義是追蹤算法估計的目標位置的中心點與人工標注的目標的中心點兩者的距離小于給定閾值的視頻幀的百分比,閾值設(shè)定為20 個像素點。中心位置誤差為算法跟蹤的目標中心與實際目標中心的歐氏距離,可表示為:
式中,(xT,yT)是跟蹤算法預測的目標中心,(xG,yG)是真實的目標中心。
成功率則先計算重合率得分(overlap score,OS),設(shè)定追蹤算法得到的bounding box(記為a),與groundtruth 給的box(記為b),按照公式OS=|a?b|/|a?b|得到結(jié)果,|·|表示區(qū)域的像素數(shù)目。
當某一幀的OS大于設(shè)定的閾值時,則該幀被視為成功的,總的成功的幀占所有幀的百分比即為成功率,閾值設(shè)定為0.5。
車輛跟蹤算法不僅要求有較高的精度,還要有一定的實時性,從這兩方面結(jié)合來看才能全面地評判一個算法。由圖3 所得,本文算法在距離精度這項數(shù)據(jù)上為0.808,位列所有算法第一,較SRDCF(spatially regularized discriminative correlation filter)[14](0.761)、RPT(reliable patch trackers)[15](0.696)、DSST(discriminative scale space tracker)[16](0.711)分別提高了6.17%、16.09%和13.64%。由圖4 得,在成功率這項數(shù)據(jù)上本文算法為0.827,也位列所有算法第一,較SRDCF(0.763)、RPT(0.694)、DSST(0.683)分別提高了8.39%、19.16%和21.08%。通過表1 可以看到CSK、KCF、CN 這三個算法雖然有著很高的FPS,但是由于缺乏對尺度的適應(yīng),導致跟蹤精度較低,CT(compressive tracking)[17]和Struck[18]雖然FPS 也不低,但是精度不高,而SRDCF、RPT雖然有著較高的精度,但是FPS 很低,無法達到實時要求。本文算法在高精度的同時FPS也達到了58,具備較為優(yōu)秀的實時性。
Fig.3 Distance precision curve of each algorithm圖3 各算法距離精度曲線
Fig.4 Success rate curve of each algorithm圖4 各算法成功率曲線
Table 1 Comprehensive performance of each algorithm表1 各算法的綜合性能
圖5 為本文算法(Proposed)、KCF、CN、DSST 這四種算法在部分視頻序列下的跟蹤效果。(a)為OTB數(shù)據(jù)集中Car1 的序列,由于是灰度視頻,顏色作用不明顯,目標車輛在進入樹蔭后CN 算法跟丟而剩下三個算法還能夠正確跟蹤。(b)為OTB 數(shù)據(jù)集中CarDark 的序列,由于是晚上拍攝,光照效果并不理想,其他三種算法在跟蹤一段時間后跟蹤框都有一定程度的偏移,只有本文算法能夠較為準確地跟蹤。(c)為OTB 數(shù)據(jù)集中BlurCar4 的序列,視頻中目標車輛劇烈抖動導致畫面模糊,旁邊還有車輛干擾,本文算法能夠準確跟蹤目標車輛,而DSST 算法和KCF 算法在抖動時跟蹤框出現(xiàn)偏移,CN 算法受到路燈車燈干擾也有一定程度偏移。(d)為UAV 數(shù)據(jù)集中Car18 的序列,由于車速較快,目標車輛產(chǎn)生快速尺度變化,KCF 和CN 無法適應(yīng)尺度變化導致跟丟,DSST 雖然可以適應(yīng)尺度變化,但是序列中尺度變化太快,跟蹤效果并不好。本文算法引入了顏色特征,能夠正確地跟蹤到目標車輛,跟蹤效果最好。(e)為UAV 數(shù)據(jù)集中Car8 的序列,其中目標車輛先倒車再向前,也兼具尺度變化和形狀變化,KCF 和CN 也是過早跟丟目標,DSST 算法不能完美適應(yīng)劇烈的尺度變化,跟蹤框偏移,本文算法的跟蹤效果最好。(f)為UAV 數(shù)據(jù)集中Car1 的序列,車輛逐漸遠離鏡頭,尺度縮小,同時還有其他車輛干擾,KCF 和CN 并不能適應(yīng)尺度變化,導致跟蹤框相對目標車輛過大,獲得的背景干擾更大,跟蹤框有一定程度的偏移,本文算法和DSST算法有較好的跟蹤效果,本文算法更為精確。
針對無人機場景下的車輛跟蹤問題,結(jié)合核相關(guān)濾波提出一種改進的車輛跟蹤算法。引入?yún)^(qū)分尺度空間跟蹤器,用兩個濾波器分別對目標的位置和尺度進行估計,快速確定目標相關(guān)信息。針對目標車輛因快速形變而導致跟蹤效果不佳的問題,又加入統(tǒng)計顏色特征方法增加濾波器的魯棒性。本文算法有效解決了車輛目標尺度變化導致的模型漂移問題,并能夠結(jié)合顏色信息進一步提高相關(guān)濾波模板的準確性,對于車輛目標運動過程中的光照變化、運動模糊等影響因素具有較高穩(wěn)定性。但當目標車輛消失在畫面一段時間后再出現(xiàn)時,由于缺乏相關(guān)的重檢測機制,無法再次跟蹤到目標,這將會是下一階段的研究方向。