隗寒冰,陳堯,賈志杰,賴鋒
(1.重慶交通大學(xué)車輛與汽車工程學(xué)院,400074,重慶;2.東風(fēng)汽車集團有限公司技術(shù)中心,430030,武漢)
作為智能汽車環(huán)境感知的關(guān)鍵技術(shù),行人、車輛和交通標(biāo)識等目標(biāo)檢測算法已受到廣泛關(guān)注,在此基礎(chǔ)上開發(fā)的車道偏離、前撞預(yù)警等駕駛員輔助系統(tǒng)也已得到應(yīng)用,但在道路擁堵、目標(biāo)遮擋、光照突變和陰雨天氣等復(fù)雜城市環(huán)境應(yīng)用時仍面臨嚴(yán)峻挑戰(zhàn)。
較早的行人、車輛和交通標(biāo)識檢測方法均建立在目標(biāo)輪廓特征基礎(chǔ)上,如Gavrila等將行人外形、尺寸和對稱性等輪廓信息作為先驗知識,篩選出行人待選區(qū)域后對各待選區(qū)域進行識別[1-2];Srinivasa等利用sobel算子檢測出橫、縱向邊緣后根據(jù)尺寸等先驗條件進行過濾得到候選邊緣,然后經(jīng)分級過濾、直線型過濾得到最終邊緣[3];Bertozzi、Broggi等在此基礎(chǔ)上增加了邊緣對稱性判別[4-5];Estable等利用顏色、形狀、直方圖特征對候選區(qū)域交通標(biāo)識進行檢測[6],此類方法雖檢測效率高,但受光照、陰影、遮擋等影響明顯;Bertozzi、Ouyang采用基于特征模板配準(zhǔn)方法,同樣受遮擋限制[7-8];也有研究采用基于目標(biāo)特征和分類器以解決光照等環(huán)境影響[9-10],如Gabor、邊緣對稱性、輪廓等不同特征與SVM、adaboost等分類器結(jié)合,但復(fù)雜環(huán)境下的算法準(zhǔn)確度急劇下降。
近年來,基于深度學(xué)習(xí)的目標(biāo)識別算法逐漸成為研究熱點[11]。如Girshick采用自適應(yīng)ROI區(qū)域和R-CNN深度網(wǎng)絡(luò)進行圖像特征提取[12],并采用SVM分類器進行分類,不足之處是每個候選區(qū)域都需要前向卷積計算,無法滿足實時性要求;雖然Girshick隨后對此進行了改進,但全連接層制約了圖像尺度縮放[13];為同時滿足尺度縮放及實時性要求,Ren等利用全卷積神經(jīng)網(wǎng)絡(luò)(RPN)獲取圖像候選區(qū)域,并利用離線交替訓(xùn)練得到Fast-R-CNN網(wǎng)絡(luò)識別目標(biāo)[14];Rdemon等設(shè)計的YOLO算法遵循了Google Net的設(shè)計思想,將RPN和檢測網(wǎng)絡(luò)融合以實現(xiàn)端到端的目標(biāo)識別[15-16],該網(wǎng)絡(luò)離線訓(xùn)練速度較快,但在線檢測實時性較差;Liu、Janathan等對網(wǎng)絡(luò)設(shè)計細節(jié)進行了優(yōu)化并提出SSD方法,將YOLO的方法推廣到多尺度[17-18];為保證信息的完整性,Janathan、Paszke、Zhao等提出了基于反向卷積的上采樣方法以保護圖像邊界[18-20];Zhao還提出了一種實時性強的語義分割網(wǎng)絡(luò)(ICNet)[21],但像素級語義分割的訓(xùn)練數(shù)據(jù)較少,語義邊界難以準(zhǔn)確獲取、結(jié)果容易過擬合等問題仍制約著其實際應(yīng)用。
為提高算法實時性,基于隨機集概率密度模型[22-23]、特征數(shù)據(jù)關(guān)聯(lián)[24-27]和運動信息配準(zhǔn)的多目標(biāo)跟蹤算法相繼出現(xiàn),其中楊峰采用經(jīng)典粒子濾波算法[22],Okuma等在此基礎(chǔ)上對粒子的初始化分布和相似度判別進行了優(yōu)化[23],這一類方法在高速工況多目標(biāo)長時跟蹤具有較好效果,但對于城市工況效果不佳。Andriyenko、Mallick采用了數(shù)據(jù)關(guān)聯(lián)方法將多目標(biāo)跟蹤問題轉(zhuǎn)化為全局最優(yōu)問題,為提升數(shù)據(jù)關(guān)聯(lián)性能引入軌跡約束[24-25];Howard等還采用了目標(biāo)特征及其組成分對關(guān)聯(lián)數(shù)據(jù)結(jié)果進行優(yōu)化[26-27],這類方法雖然可實現(xiàn)道路擁擠時的多目標(biāo)跟蹤,但在多目標(biāo)隨機出現(xiàn)和消失時跟蹤漏警率上升。融合跟蹤、學(xué)習(xí)和檢測的TLD算法[28]將方差分類器、隨機蕨分類器和最近鄰分類器串聯(lián),然后采用光流法進行目標(biāo)跟蹤,能有效解決單一目標(biāo)長時間跟蹤問題,但采用的隨機蕨分類器需要在線訓(xùn)練導(dǎo)致算法實時性低,計算耗時長達每幀500 ms,特別是無法用于目標(biāo)突然出現(xiàn)或者消失的場景。
本文針對道路擁擠、目標(biāo)遮擋、光照突變等城市復(fù)雜環(huán)境下的多目標(biāo)檢測和跟蹤問題,提出了基于網(wǎng)狀分類器與融合歷史軌跡的多目標(biāo)檢測與跟蹤算法。受TLD在線學(xué)習(xí)反饋思想啟發(fā),利用在線學(xué)習(xí)的機制對分類器進行反饋訓(xùn)練,以滿足長時間跟蹤的周圍環(huán)境變化需求。本文算法考慮各目標(biāo)之間的遮擋關(guān)系,采用多尺度滑動窗口對待檢圖像進行掃描,網(wǎng)狀分類器的檢測結(jié)果通過目標(biāo)融合器按照遮擋關(guān)系進行融合;其次根據(jù)歷史檢測結(jié)果,通過短軌跡生成、長軌跡生成和軌跡可靠性判別生成歷史軌跡庫,該歷史軌跡庫用于預(yù)測和融合新的檢測結(jié)果;然后利用檢測跟蹤結(jié)果更新網(wǎng)狀分類器中的標(biāo)準(zhǔn)差分類器、最近鄰分類器和歷史軌跡庫信息;最后迭代上述步驟直至實現(xiàn)復(fù)雜環(huán)境下的多目標(biāo)長時跟蹤。
車輛、行人和交通標(biāo)識均可視為區(qū)域級剛性目標(biāo),可采用相同檢測器與不同特征結(jié)合的方法實現(xiàn)多目標(biāo)檢測。本文以Boost分類器為基礎(chǔ),設(shè)計了一種網(wǎng)狀多目標(biāo)分類器,以實現(xiàn)對圖像中行人、車輛和交通標(biāo)識的檢測。
常用于目標(biāo)檢測的圖像特征有PCA特征、LBP特征、Haar特征、HOG特征、小波特征、shift特征、紋理特征、不變矩特征等。HOG特征可用來描述局部目標(biāo)的表象和形狀,適用于行人、車輛等輪廓復(fù)雜且具有一定規(guī)律的剛性目標(biāo)。HOG特征表示如下
(1)
式中:αk(x,y)表示第k個方向?qū)?yīng)的角度值;N(k)表示邊緣梯度G(x,y)在第k個方向出現(xiàn)的次數(shù)總和;(xc,yc)表示圖像樣本中心點坐標(biāo),Cx(k)、Cy(k)分別為第k個方向上G(x,y)在x、y方向上分量的矢量和。
彩色直方圖特征用于描述彩色圖像色彩分布的統(tǒng)計規(guī)律,適用于交通標(biāo)識等顏色差異明顯的剛性目標(biāo)。彩色直方圖可分別用R、G、B這3個通道的直方圖進行描述,其定義為
(2)
式中:xi、xj分別為R、G、B通道下第i和j個像素值,i,j∈(0,255);P(xi)表示R、G、B通道下像素值xi出現(xiàn)的概率;N(·)表示R、G、B各通道下相應(yīng)像素值之和。
行人、車輛、交通標(biāo)識等剛性目標(biāo)的正樣本特征應(yīng)集中在某一范圍ζ內(nèi),可利用特征概率密度對Boost分類器初始權(quán)重進行優(yōu)化。將正樣本任意特征列向量視為離散性隨機變量,分布在r個區(qū)間上并服從概率分布,其概率分布函數(shù)為
(3)
式中:P為各區(qū)間ζr的概率。
選取樣本分布概率ωr對Boost分類器任意特征列的初始權(quán)值Dn(f)進行分配。對于任意特征列j,在第n次迭代時的弱分類器為
(4)
式中:Fj(fi)是特征列j上第fi個樣本取值;偏置pj取值為1或-1;tj表示特征列j在第n次迭代時的訓(xùn)練閾值。
第n次迭代時最優(yōu)偏置和閾值[29]為
(5)
式中:m表示特征列j的樣本數(shù);yi表示第i個訓(xùn)練樣本標(biāo)簽。
第n次迭代誤差函數(shù)Rn可表示為
(6)
經(jīng)過多次迭代,更新樣本權(quán)重使誤差函數(shù)Rn取極小值
(7)
式中:Zn為常數(shù)。
最終生成的強分類器Hf為
(8)
式中:T為最大迭代次數(shù);δn為分類器的分類誤差。
式(8)得到的強分類器只能在準(zhǔn)確率上滿足目標(biāo)檢測需求,而誤檢率和實時性上表現(xiàn)較差??蓪⒍鄠€Boost分類器連接起來構(gòu)成Cascade級聯(lián)分類器,以解決單個Boost分類器誤檢率高、實時性差的問題。Cascade分類器原理如圖1所示。
T:真;F:假圖1 Cascade分類器原理圖
Cascade分類器中每個待檢圖像只有通過當(dāng)前層強分類器才可進入下層,位于Cascade起始位置的強分類器作用是快速過濾負樣本,降低平均檢測時間,中間層強和最后層分類器用于提升算法精度。如第1過濾器只過濾2個特征和50%非目標(biāo)樣本,共檢測99.8%目標(biāo)樣本,第2過濾器只過濾10個特征和50%非目標(biāo)樣本,共檢測99.8%目標(biāo)樣本,依次類推。Cascade分類器訓(xùn)練過程中的正負樣本比例取值在1∶4到1∶6之間。若比例過小,分類器會過度重視正樣本,降低負樣本權(quán)重,提高了分類器誤警率;若比例過大,分類器會過度重視負樣本,降低分類器準(zhǔn)確率。
圖2 網(wǎng)狀分類器原理示意圖
將標(biāo)準(zhǔn)差分類器和最近鄰分類器設(shè)置為輔助分類器。前者用于快速過濾圖中負樣本,后者用于判別檢測結(jié)果是否為誤檢。標(biāo)準(zhǔn)差分類器可用待檢窗口標(biāo)準(zhǔn)差與訓(xùn)練正樣本集的標(biāo)準(zhǔn)差之間的差值表示。最近鄰分類器用待檢窗口特征矩陣F與正負樣本集特征矩陣S的巴氏距離s+、s-定義
(9)
(10)
式中:ω為設(shè)定閾值。
借鑒Kalal的不同類型檢測器串聯(lián)思想[28],設(shè)計一種由標(biāo)準(zhǔn)差分類層、Cascade分類層、最近鄰分類層3層組成的網(wǎng)狀分類器。該分類器主要針對行人、后端車輛、左側(cè)車輛、右側(cè)車輛、正方形交通標(biāo)識、圓形交通標(biāo)識和三角形交通標(biāo)識等7種典型情況進行多目標(biāo)識別,網(wǎng)狀分類器具體結(jié)構(gòu)如圖2所示。
合理假設(shè)圖像中不可能在同一位置同時出現(xiàn)不同類型的交通標(biāo)識或車輛,置信度判別模塊只選取置信度最高的一個目標(biāo)輸出。考慮到道路擁擠時可能存在的多種目標(biāo)遮擋現(xiàn)象,網(wǎng)狀分類器利用遮擋關(guān)系判別器對多目標(biāo)輸出結(jié)果進行判別,然后輸出檢測結(jié)果。按照目標(biāo)大小和出現(xiàn)位置,存在車輛遮擋車輛、行人遮擋車輛、交通標(biāo)識遮擋車輛、交通標(biāo)識遮擋行人和行人遮擋行人等5種遮擋關(guān)系。
為提高算法實時性,根據(jù)目標(biāo)圖像的成像規(guī)律符合相機近大遠小透視規(guī)律的特點,本文提出了一種多尺度滑動窗檢測方法。該方法的基本思想是行人、車輛只能位于地面行駛,則運動軌跡成像規(guī)律可用過消失點的直線近似表示,位于空中的交通標(biāo)識的成像規(guī)律可用直線近似表示。多尺度遍歷掃描具體過程如下:①離線標(biāo)記多組目標(biāo)矩形框,記錄各種目標(biāo)在不同中心點下的尺寸大小,生成中心點與尺寸的歷史數(shù)據(jù)圖;②滑動窗口檢測時,各待檢測目標(biāo)根據(jù)離線生成的歷史數(shù)據(jù)圖選取最佳尺寸窗口進行檢測。掃描過程如圖3所示,其中L1、L2、L3和L4表明目標(biāo)運動軌跡。
首先根據(jù)目標(biāo)在圖像中的位置、尺寸、置信度、類型和特征5個參數(shù),建立相應(yīng)的短軌跡相似度模型,并對多目標(biāo)進行管理以將幀間目標(biāo)連接成為短軌跡;然后根據(jù)短軌跡的運動特性,利用速度和預(yù)測目標(biāo)重疊度建立相應(yīng)的長軌跡相似度模型,并對各軌跡進行管理,以將短軌跡連接成為長軌跡;其次根據(jù)長軌跡插值求出丟失目標(biāo),生成歷史軌跡信息庫;最后將新檢測目標(biāo)與歷史軌跡關(guān)聯(lián)、歷史軌跡預(yù)測、歷史軌跡更新依次循環(huán),最終實現(xiàn)多目標(biāo)長時跟蹤。
wij=PzPsPcPgPf
(11)
式中:Pz表示位置相似度,用中心點坐標(biāo)距離定義;Ps表示尺寸相似度,用目標(biāo)尺寸定義;Pc表示置信度相似度,用目標(biāo)輸出置信度定義;Pf為特征矩陣相似度,用特征矩陣巴氏距離的指數(shù)定義;Pg為類型相似度,相同類型取1,不同類型則取0。
(12)
(13)
(14)
(15)
根據(jù)式(11)計算結(jié)果,可得到協(xié)相似度矩陣對于t和t+Δt時刻的所有目標(biāo)進行管理。依次按照相似度大小對目標(biāo)依次連接,直至符合連接閾值的目標(biāo)均已連接完成,過程如圖4所示,對應(yīng)歷史短軌跡生成結(jié)果見表1。
圖4 歷史短軌跡生成原理
令短軌跡的起點為“頭”,終點為“尾”,“頭”和“尾”附近的點稱為“頭、尾相關(guān)點”,只有一個點稱為“孤立點”。同一軌跡起點的圖像幀號不大于其終點的圖像幀號,且起點和終點僅能連接1個目標(biāo)。軌跡連接過程總是從起點到終點,被連接短軌跡的起點必須大于連接軌跡的終點。
表1 歷史短軌跡生成結(jié)果
參考目標(biāo)點生成歷史短軌跡的方法,Δt時間內(nèi)所有歷史長軌跡中的任意兩短軌跡之間的相似度qij可用正逆向預(yù)測速度差值、預(yù)測位置重疊度、預(yù)測目標(biāo)特征矩陣相似度來定義
qij=PvPoPf
(16)
(17)
圖5 歷史長軌跡生成原理
式中:Δξ表示歷史短軌跡i的末端與歷史短軌跡j的起始之間間隔幀數(shù)。預(yù)測位置重疊度相似度Po則定義為
(18)
Pf定義同式(15)。
根據(jù)式(16)計算結(jié)果,可得到協(xié)相似度矩陣,并對Δt時間內(nèi)所有軌跡進行管理。根據(jù)協(xié)相似度矩陣,依次按照相似度大小對軌跡及其可連接依次連接,直至符合連接閾值的軌跡均已連接完成,最后通過線性插值計算出丟失幀目標(biāo)。最終生成的歷史長軌跡如圖6所示,每一條歷史長軌跡均對應(yīng)于相機坐標(biāo)系下的長時跟蹤目標(biāo)。如圖6中1、3、5箭頭所指軌跡為場景中交通標(biāo)志牌目標(biāo)跟蹤軌跡,2、4、6箭頭所指軌跡為車輛目標(biāo)跟蹤軌跡。
圖6 歷史長軌跡與目標(biāo)的對應(yīng)關(guān)系
為提高長軌跡生成質(zhì)量,應(yīng)對生成的長軌跡進行可靠性驗證。其可靠度用歷史長軌跡長度l、檢測比例d、軌跡目標(biāo)置信度c三者定義
C=ClCdCc
(19)
式中:長度置信度Cl用二值函數(shù)定義,當(dāng)歷史長軌跡長度l小于設(shè)定閾值時Cl取0,否則取1;檢測比例置信度Cd用歷史長軌跡中檢測目標(biāo)與插值目標(biāo)的比值定義;檢測置信度用軌跡中最大幾個目標(biāo)置信度c的均值確定,若軌跡可靠度小于設(shè)定閾值,則被判定為噪聲。
將生成的歷史軌跡與在線更新相結(jié)合,通過反復(fù)迭代檢測、預(yù)測、學(xué)習(xí)、更新過程實現(xiàn)多目標(biāo)的長時跟蹤,其過程如圖7所示。
圖7 歷史軌跡下的長時跟蹤原理
算法對前γ幀圖像只做檢測計算,按2.1~2.3節(jié)所述生成歷史軌跡。從第γ+1幀起,執(zhí)行檢測、預(yù)測、學(xué)習(xí)、更新運算。第γ+1幀中,若檢測器檢測結(jié)果可與歷史軌跡連接,則將檢測結(jié)果融入長軌跡,同時對標(biāo)準(zhǔn)差分類器和最近鄰分類器的域值和權(quán)重值系數(shù)進行學(xué)習(xí)和更新;若結(jié)果無法融入任何軌跡,則被視為孤立點。連接完成后,若第γ+1幀仍有檢測結(jié)果未能成功連接到歷史軌跡,則通過該檢測結(jié)果的當(dāng)前運動軌跡信息預(yù)測目標(biāo)在下一幀中所在的位置。軌跡不能無限延長,每隔Δγ幀歷史軌跡庫進行一次更新,生成最近Δγ幀的歷史軌跡。如此迭代計算,直至實現(xiàn)多目標(biāo)長時跟蹤。
為驗證算法準(zhǔn)確性,選取涵蓋直行、十字路口轉(zhuǎn)向、校園內(nèi)部道路等多種工況的山地城市環(huán)境進行實驗。實驗器材選用普通USB相機,分辨率為1 280像素×720像素,圖像采樣頻率25 Hz,相機安裝車內(nèi)高度1.35 m。車載工控機處理器為i5-4210 M,主頻2.60 GHz,內(nèi)存8 GB。
圖8所示為樹蔭和立交橋造成光照突變的城市道路多目標(biāo)檢測跟蹤結(jié)果。圖8中交通標(biāo)識、車輛和行人檢測與跟蹤結(jié)果均用矩形框表示。
(a)行人、標(biāo)志牌多目標(biāo)檢測跟蹤結(jié)果
(b)車輛目標(biāo)檢測跟蹤結(jié)果圖8 典型城市道路多目標(biāo)檢測跟蹤結(jié)果
圖8a中歷史軌跡段對應(yīng)的第593、697、778和830幀均為雨天城市路段密集人群下的多目標(biāo)檢測和跟蹤結(jié)果。圖8b中歷史軌跡段對應(yīng)的第2、40、190和390幀均為城市路段極其擁堵情況下的多目標(biāo)檢測和跟蹤結(jié)果。可以看出,在存在遮擋的情況下,算法仍可有效實現(xiàn)多目標(biāo)的檢測和長時跟蹤,最長跟蹤時長可達到2 min。
(a)光照突變、成像距離變化場景(b)行人重疊遮擋場景圖9 兩種算法利用KITTI標(biāo)準(zhǔn)數(shù)據(jù)集檢測結(jié)果的對比
為對算法性能進行客觀評價,利用公開數(shù)據(jù)庫KITTI提供的不同算法目標(biāo)檢測結(jié)果進行對比,見表2??梢钥闯?基于單一分類器的傳統(tǒng)檢測算法如LSVM等的準(zhǔn)確率均在50%~58%范圍,誤檢率較高,其原因是對于城市道路中較多出現(xiàn)的車輛、行人目標(biāo)檢測,基于特征識別和單一分類器的傳統(tǒng)方法容易受到環(huán)境因素干擾。在深度學(xué)習(xí)網(wǎng)絡(luò)基礎(chǔ)上開發(fā)的iDST-VC、RV-CNN等算法雖然準(zhǔn)確率均超過了90%,但這些算法為了提高準(zhǔn)確性均采用了較深的網(wǎng)絡(luò)結(jié)構(gòu),對硬件資源的要求苛刻,在使用GPU計算的前提下計算速度僅為4 s/幀,顯然無法應(yīng)用于智能車實際道路環(huán)境感知。本文算法的平均準(zhǔn)確率在77.17%~81.32%之間,雖然低于深度學(xué)習(xí)算法,但相對于LSVM等傳統(tǒng)算法有明顯提升。更為重要的是,該算法在未采用GPU硬件加速下的平均單幀時間僅為0.05 s,說明該算法在實時性和準(zhǔn)確性之間取得較好的平衡,能夠滿足車載嵌入式處理器上的實時應(yīng)用要求。
表2 不同算法的性能對比結(jié)果
圖9給出了本文算法與同樣采用傳統(tǒng)特征識別和分類器的LSVM-MDPM-us算法的比較結(jié)果。場景涵蓋了城市工況經(jīng)常遇到的車輛和行人密集、目標(biāo)交錯重疊、陰影干擾和光線突變等情況。圖9a為各種光照突變和成像距離變化等條件下的算法對比結(jié)果,圖9b為場景中出現(xiàn)多個重疊行人目標(biāo)的檢測結(jié)果,圖中黑色矩形框表示LSVM-MDPM-us算法檢測結(jié)果,白色矩形框表示多目標(biāo)檢測跟蹤算法結(jié)果??梢钥闯?在各場景下本文算法均可有效實現(xiàn)多目標(biāo)長時檢測跟蹤,而LSVM-MDPM-us算法明顯準(zhǔn)確率較低,均未檢測或跟蹤到多個目標(biāo)。
目標(biāo)重疊、陰影干擾和光線突變等復(fù)雜城市工況下,智能車輛多目標(biāo)檢測和跟蹤準(zhǔn)確率下降,是制約其實際應(yīng)用的最大挑戰(zhàn)。受TLD多目標(biāo)檢測跟蹤算法啟發(fā),本文提出了一種基于網(wǎng)狀分類器與融合歷史軌跡的多目標(biāo)檢測與跟蹤算法。根據(jù)網(wǎng)狀分類器檢測結(jié)果,通過短軌跡生成、長軌跡生成和軌跡可靠性判別生成歷史軌跡庫;然后利用檢測跟蹤結(jié)果對網(wǎng)狀分類器中的標(biāo)準(zhǔn)差分類器、最近鄰分類器和歷史軌跡信息進行更新,直至實現(xiàn)多目標(biāo)長時跟蹤。實車實驗結(jié)果表明,該算法在目標(biāo)遮擋、光照突變等復(fù)雜城市環(huán)境下均可實現(xiàn)多目標(biāo)長時間檢測跟蹤。KITTI樣本平均準(zhǔn)確率在77.17%~81.32%之間,單幀圖像平均耗時0.05 s,具有較好的實時應(yīng)用前景。