劉向前,閆 娟,楊慧斌,賈茜偉
(上海工程技術(shù)大學(xué) 機(jī)械與汽車工程學(xué)院,上海 201620)
為響應(yīng)當(dāng)前國(guó)家“智慧城市”的號(hào)召,無論是國(guó)營(yíng)企業(yè)還是民營(yíng)企業(yè)都在持續(xù)增加其相關(guān)領(lǐng)域的投入力度[1].近年來,研究者采用攝像設(shè)備對(duì)所采集的視頻序列進(jìn)行實(shí)時(shí)分析,實(shí)現(xiàn)了對(duì)目標(biāo)的精確跟蹤.視頻采集的智能化處理在深度學(xué)習(xí)、機(jī)器視覺及傳感器技術(shù)等交叉領(lǐng)域中受到前所未有的熱議及關(guān)注,這對(duì)采集視頻序列后是否可對(duì)目標(biāo)較準(zhǔn)確、高效地捕獲與跟蹤顯得尤為重要[2?3].
近期已有部分企業(yè)對(duì)目標(biāo)跟蹤技術(shù)領(lǐng)域進(jìn)行了大量試驗(yàn)與研究[4?5],但現(xiàn)有研究大都是通過一些較傳統(tǒng)且單一的方式來處理實(shí)現(xiàn)的,如光流算法、ViBe 算法及YOLO 算法等[6?8].盡管這些算法實(shí)現(xiàn)起來相對(duì)不是很復(fù)雜,在一些特定簡(jiǎn)單的環(huán)境中可以運(yùn)行并可達(dá)到一定效果.然而,跟蹤與檢測(cè)的環(huán)境一旦變得復(fù)雜化,其跟蹤效果就表現(xiàn)得相當(dāng)不理想.另外,采用聚類的Mean Shift算法在一些較特殊的條件下運(yùn)算可以達(dá)到良好的試驗(yàn)效果[9],但由于該算法計(jì)算運(yùn)行復(fù)雜,依賴先驗(yàn)?zāi)繕?biāo)建模且一些參數(shù)需要人為調(diào)節(jié)等因素,使得其在實(shí)際應(yīng)用中困難較多[10].
針對(duì)此類問題,目前大多采用的解決方案是選用光流法[11?12].光流法是一種較經(jīng)典的目標(biāo)跟蹤算法,且該算法不要先驗(yàn)的條件[13],但由于光流法是通過遍歷法來查詢目標(biāo)點(diǎn)的,存在目標(biāo)點(diǎn)偏移現(xiàn)象,使得后續(xù)運(yùn)行處理效率大打折扣[14?15],然而粒子濾波可以很好地提高其運(yùn)行速率.鑒于此,本研究以光流法處理原理為基礎(chǔ),在保證較高準(zhǔn)確性條件下,為提高視頻序列的處理效率和精度,提出基于改進(jìn)光流法的目標(biāo)跟蹤技術(shù).
光流法是當(dāng)前計(jì)算圖像序列稀疏光流點(diǎn)的常見算法策略.此算法對(duì)視頻序列中圖像信息的處理具有較好的能力,且在處理過程中不需要場(chǎng)景信息的事先預(yù)判.其核心思想是縮小視頻序列中圖像的規(guī)格大小,采用查詢序列的灰度并根據(jù)其在時(shí)間軸上的對(duì)應(yīng)變化,通過圖像中目標(biāo)物的形狀架構(gòu)及其運(yùn)動(dòng)關(guān)系來綜合判斷其是否為檢測(cè)跟蹤的目標(biāo).該算法在模型建立時(shí)需要滿足以下條件.
1)亮度保持不變.其目的是便于建立光流法的基本方程,即隨著時(shí)間的改變,盡管相同的光流點(diǎn)也在發(fā)生變化,但它們的亮度是不發(fā)生改變的.
2)位置恒定或者允許有小幅度變化.其目的是滿足圖像灰度對(duì)位置可以求取偏導(dǎo),即隨著時(shí)間變化,圖像點(diǎn)的位置不會(huì)發(fā)生變化或者大幅度的改變.
3)相對(duì)位置保持一致.其目的是保證一個(gè)視頻序列中相鄰近的點(diǎn)投影到圖像上同樣為臨近點(diǎn),并且其點(diǎn)的速度保持一致不變.
金字塔光流法求解圖像序列變換矩陣及當(dāng)前層光流值,并將該值作為初始量向下轉(zhuǎn)移,通過迭代方式,逐層向下迭代,逐層進(jìn)行求解,具體流程如圖1 所示.
圖1 金字塔光流迭代Fig.1 Pyramid optical flow iteration
假設(shè)第t幀圖像點(diǎn)(xt,yt)與其附近區(qū)域內(nèi)點(diǎn)的運(yùn)動(dòng)狀態(tài)相同,則在t+1 幀上存在與(xt,yt)亮度相同的點(diǎn)(xt+1,yt+1).根據(jù)假設(shè)與約束條件可建立方程組為
可將上式簡(jiǎn)化為
其中
將式(2)的左右兩邊同時(shí)乘以AT得到
利用最小二乘原理求解方程式(1)至式(3),可得
式中:I(x)、I(y)分別為特征點(diǎn)I、J的灰度值;u、v分別為特征點(diǎn)I、J的速度;n為光流值;l(n)為計(jì)算殘余誤差.求解殘余誤差值l(n)極小值為
式中:m為附近區(qū)域半徑值.
依據(jù)金字塔光流原理,每次將視頻序列圖像的尺寸縮小0.25,則每一層的速度為U′=0.25u.而對(duì)于每一層,滿足
式中:g為光流估計(jì)值.
隨著逐層次迭代的進(jìn)行,光流值也在逐步減小,當(dāng)最底層的光流值減小到零時(shí),可得g′=由此推算頂層光流值為n=g初+n初.可得
式(7)可簡(jiǎn)化為
視頻圖像處理環(huán)境中,目標(biāo)跟蹤沒有先驗(yàn)的信息,因此須建立一個(gè)濾波器合理對(duì)其進(jìn)行初始化處理[16],以便在跟蹤目標(biāo)進(jìn)入視野時(shí)能夠?qū)崟r(shí)對(duì)目標(biāo)精確檢測(cè),同時(shí)為下一步點(diǎn)光流處理提高效率.
定義粒子濾波器運(yùn)動(dòng)變量G為
式中:x和y分別為視頻序列坐標(biāo)值;vx和vy分別為x坐標(biāo)與y坐標(biāo)的速度.
運(yùn)動(dòng)目標(biāo)中心的預(yù)測(cè)式為
總集合數(shù)定義為
式中:A為必要因素;Mt?1為高斯隨機(jī)噪聲.
為提高粒子濾波的準(zhǔn)確度,引入粒子的權(quán)重值來增加其影響,利用似然函數(shù)可計(jì)算得出各粒子所占的權(quán)值,公式為
式中:σ為標(biāo)準(zhǔn)方差;cp為物體一特征;tp為目標(biāo)一特征.進(jìn)行歸一化運(yùn)算,公式為
綜上對(duì)粒子濾波與光流法特征建模分析可知,光流法能夠檢測(cè)出目標(biāo)物體的絕大部分區(qū)域,但算法運(yùn)算量較大,導(dǎo)致其運(yùn)行效率比較低.基于粒子濾波算法高準(zhǔn)確度及處理速度的特點(diǎn),本研究將優(yōu)化的粒子濾波引入到光流法中,兩者結(jié)合來實(shí)現(xiàn)對(duì)目標(biāo)的檢測(cè)與跟蹤.
在該算法中,先對(duì)視頻序列中的圖像進(jìn)行濾波處理,目的是檢測(cè)目標(biāo)區(qū)域,再利用金字塔光流法進(jìn)行運(yùn)算處理.這樣不僅可以提高檢測(cè)的精準(zhǔn)度,同時(shí)可以減小算法的復(fù)雜度,以此來提高處理的運(yùn)行效率.執(zhí)行流程框圖如圖2 所示.
圖2 改進(jìn)算法執(zhí)行流程Fig.2 Implementation process of improved algorithm
優(yōu)化算法的具體流程為:
1)隨機(jī)選擇視頻序列中n幀及n+1 幀圖像序列進(jìn)行降干擾;
2)對(duì)第n幀與n+1 幀圖像進(jìn)行粒子濾波處理,得到處理后的圖像序列為In(x,y)、In+1(x,y);
3)對(duì)得到的In(x,y)、In+1(x,y)進(jìn)行二值化圖像處理,通過逐位邏輯運(yùn)算,獲取運(yùn)動(dòng)區(qū)域G(x,y);
4)由G(x,y)搭建金字塔模型G′;
5)對(duì)區(qū)域G′求坐標(biāo)x與y的偏導(dǎo)數(shù),計(jì)算式為
本仿真中硬件配置環(huán)境選用Windows 10 為運(yùn)行系統(tǒng),Intel(R) Core(TM) i5-5200U CPU 采用頻率為2.20 GHZ,RAM 為8.0 GB.軟件平臺(tái)為VS2019 +Python3.6+OpenCV4.0.0[17].本研究中視頻序列集選取為公開的人行道上行人及公路上行駛的汽車,樣本通過安裝在行人路口及公路口的攝像頭拍攝得到.
為有效驗(yàn)證算法的正確性、精確性,本研究通過選用公開數(shù)據(jù)集,在不同運(yùn)動(dòng)環(huán)境下對(duì)不同單、多目標(biāo)跟蹤進(jìn)行仿真試驗(yàn),按如下流程進(jìn)行.
首先,在靜態(tài)環(huán)境下選擇多個(gè)目標(biāo)進(jìn)行仿真跟蹤試驗(yàn).選取視頻序列的第36 幀,并分別采用光流法、ViBe 算法、YOLO 算法、卷積神經(jīng)網(wǎng)絡(luò)算法[18]及本文算法,得到試驗(yàn)效果如圖3所示.
圖3 靜態(tài)多目標(biāo)跟蹤試驗(yàn)效果圖Fig.3 Experimental renderings of static multi-target tracking
其次,為驗(yàn)證算法在高速運(yùn)動(dòng)環(huán)境下的效果,本研究采用動(dòng)態(tài)環(huán)境下對(duì)單個(gè)目標(biāo)進(jìn)行仿真跟蹤試驗(yàn).選用的視頻序列為第23 幀,同樣采用光流法、ViBe 算法、YOLO 算法、卷積神經(jīng)網(wǎng)絡(luò)算法及本文算法進(jìn)行試驗(yàn),得到試驗(yàn)效果如圖4 所示.
圖4 動(dòng)態(tài)單目標(biāo)跟蹤試驗(yàn)效果圖Fig.4 Experimental renderings of dynamic single target tracking
同時(shí),為進(jìn)一步驗(yàn)證算法對(duì)多目標(biāo)處理的效果,本研究通過搭建動(dòng)態(tài)環(huán)境下對(duì)多個(gè)目標(biāo)進(jìn)行仿真跟蹤試驗(yàn),選取視頻序列第52 幀,通過本文算法試驗(yàn),仿真得到試驗(yàn)效果如圖5 所示.
圖5 動(dòng)態(tài)多目標(biāo)跟蹤試驗(yàn)效果圖Fig.5 Experimental renderings of dynamic multi-target tracking
仿真結(jié)果見表 1.由表可見,對(duì)于靜態(tài)多目標(biāo)跟蹤,5 種算法的捕獲效果都較好.ViBe 與其他4 種算法相比,表現(xiàn)出的平均速度較高.但是由于運(yùn)行環(huán)境是在靜態(tài)環(huán)境下,人的運(yùn)動(dòng)速度相對(duì)較低,此時(shí)ViBe 算法會(huì)無法去除一些附近的背景,造成進(jìn)一步算法目標(biāo)跟蹤的準(zhǔn)確性下降,卷積神經(jīng)網(wǎng)絡(luò)雖然也可對(duì)目標(biāo)進(jìn)行追蹤,但其追蹤速率比較低,實(shí)際應(yīng)用中跟蹤實(shí)時(shí)性較差.
表1 靜態(tài)環(huán)境多目標(biāo)仿真跟蹤結(jié)果Table 1 Multi-target simulation tracking results in static environment
動(dòng)態(tài)環(huán)境下單目標(biāo)和多目標(biāo)仿真跟蹤結(jié)果見表 2 和表 3.由表可見,在動(dòng)態(tài)單目標(biāo)跟蹤環(huán)境下,5 種算法的處理結(jié)果截然不同,而效果最差的是ViBe 算法,未識(shí)別出一個(gè)目標(biāo)物.由于試驗(yàn)環(huán)境中跟蹤目標(biāo)物較少,在一定程度上增強(qiáng)了ViBe 算法的處理速率.因此,雖然本文算法優(yōu)化后的處理速率仍不及ViBe 算法,但其在綜合處理上的最終效果表現(xiàn)得最優(yōu),且對(duì)于多目標(biāo)跟蹤,本文算法也表現(xiàn)出較好的處理性能,明顯優(yōu)于其他算法.
表2 動(dòng)態(tài)環(huán)境單目標(biāo)仿真跟蹤結(jié)果Table 2 Tracking results of single target simulation in dynamic environment
表3 動(dòng)態(tài)環(huán)境下多目標(biāo)仿真跟蹤結(jié)果Table 3 Multi-target simulation tracking results in dynamic environment
為驗(yàn)證本文算法具有較好的魯棒性,在不同復(fù)雜環(huán)境下目標(biāo)跟蹤效果,本研究選取不同視頻序列下的第126、175、200 及255 幀進(jìn)行目標(biāo)跟蹤試驗(yàn),其跟蹤效果如圖6 所示.
圖6 不同環(huán)境下目標(biāo)跟蹤Fig.6 Target tracking in different environments
跟蹤速率曲線如圖7 所示.分析跟蹤效果圖及跟蹤速率曲線圖表明,本文算法可對(duì)不同復(fù)雜環(huán)境下單、多目標(biāo)進(jìn)行準(zhǔn)確跟蹤,且跟蹤速率較快,表現(xiàn)出較好的跟蹤實(shí)時(shí)性能,同時(shí)驗(yàn)證本文方法較好的魯棒性能.
圖7 不同方法下的跟蹤速率Fig.7 Tracking rate under different methods
為解決傳統(tǒng)光流法目標(biāo)跟蹤偏移及效率低問題,結(jié)合粒子濾波模型提出一種改進(jìn)光流法的視頻目標(biāo)跟蹤技術(shù).由仿真試驗(yàn)及以上敘述,此改進(jìn)的光流法技術(shù)可精準(zhǔn)地實(shí)現(xiàn)在動(dòng)、靜場(chǎng)景下對(duì)單、多目標(biāo)的準(zhǔn)確、高效跟蹤.由于本文算法在進(jìn)行光流法前進(jìn)行了粒子濾波、形心定位處理,使光流法對(duì)后續(xù)圖像序列的處理量大大降低,進(jìn)一步提升運(yùn)行效率及精確性.從仿真結(jié)果準(zhǔn)確性及實(shí)現(xiàn)效果整體上來分析,本文算法表現(xiàn)出的性能明顯優(yōu)于改進(jìn)前,且表現(xiàn)出較好的魯棒性,具有較高實(shí)際應(yīng)用價(jià)值.