上海電科智能系統(tǒng)股份有限公司
目前,道路上攝像頭采集了大量交通視頻,交通視頻是智能交通監(jiān)控系統(tǒng)的重要信息來(lái)源。從交通視頻中準(zhǔn)確檢測(cè)出車(chē)輛并持續(xù)進(jìn)行跟蹤,是車(chē)輛行為分析和智能交通監(jiān)控的基礎(chǔ)?;谏疃葘W(xué)習(xí)的目標(biāo)檢測(cè)方法是目前最為準(zhǔn)確的方法,同時(shí)很多基于深度學(xué)習(xí)的跟蹤算法超越了傳統(tǒng)跟蹤算法的性能。
信息技術(shù)在快速的發(fā)展,大量的視頻數(shù)據(jù)得到了有效的存儲(chǔ)。同時(shí),我國(guó)的相關(guān)管理部門(mén)在積極引進(jìn)和改進(jìn)交通視頻監(jiān)控系統(tǒng)[1]。由于視頻監(jiān)控系統(tǒng)建設(shè)時(shí)間的不同,產(chǎn)生大量分辨率各異的視頻。根據(jù)不同監(jiān)控需求,攝像頭拍攝的角度和方向都有很大差異。由于這兩個(gè)原因,獲取到的視頻質(zhì)量良莠不齊給車(chē)輛檢測(cè)和跟蹤帶來(lái)了不少的困難。也是車(chē)輛檢測(cè)和跟蹤在實(shí)際應(yīng)用上表現(xiàn)不佳的重要原因。
基于深度學(xué)習(xí)的目標(biāo)檢測(cè)算法在眾多檢測(cè)算法中異軍突起,是目前精度最高的檢測(cè)算法。深度學(xué)習(xí)方法擺脫了傳統(tǒng)機(jī)器學(xué)習(xí)挑選特征的繁瑣過(guò)程,同時(shí)大幅減少了因角度、遮擋等原因造成的檢測(cè)失敗[2]。檢測(cè)車(chē)輛后對(duì)車(chē)輛進(jìn)行持續(xù)跟蹤是交通視頻監(jiān)控分析,記錄車(chē)輛軌跡等發(fā)揮著重要作用。目前基于傳統(tǒng)機(jī)器學(xué)習(xí)方法和基于深度學(xué)習(xí)方法在跟蹤方面還沒(méi)有分出高低。交通視頻監(jiān)控分析需求十分迫切,找到適合在工程應(yīng)用的車(chē)輛檢測(cè)和跟蹤算法同樣十分迫切。
目標(biāo)檢測(cè)的任務(wù)定義為,從給定圖片中盡可能多地準(zhǔn)確識(shí)別所有的物體,并用矩形框給出物體范圍。在深度學(xué)習(xí)熱潮興起前,研究者通常使用傳統(tǒng)的目標(biāo)檢測(cè)算法完成這一任務(wù)。傳統(tǒng)方法使用滑動(dòng)窗口對(duì)圖片進(jìn)行逐行掃描,對(duì)每個(gè)窗口用預(yù)先訓(xùn)練好的分類器進(jìn)行分類預(yù)測(cè),統(tǒng)計(jì)每個(gè)窗口的分類結(jié)果整合成最終的檢測(cè)結(jié)果,比較經(jīng)典并且推廣到實(shí)際應(yīng)用中的算法有:利用Haar特征和Adaboost算法進(jìn)行人臉識(shí)別,利用HOG特征和SVM分類器進(jìn)行行人重識(shí)別等等。
自從2012年Krizhevsky等人基于CNN設(shè)計(jì)的AlexNet模型獲得了當(dāng)年ILSVRC的冠軍開(kāi)始,基于深度卷積神經(jīng)網(wǎng)絡(luò)的模型成為了圖像識(shí)別與檢測(cè)領(lǐng)域的首選之一。首先使用深度學(xué)習(xí)方法進(jìn)行目標(biāo)檢測(cè)并取得很大進(jìn)展的方法是Sermanet 等人在 2013年提出的Overfeat ,他們開(kāi)始嘗試使用CNN提取圖片,利用多尺度滑動(dòng)窗口算法進(jìn)行檢測(cè)[3]。Ross Girshick 等人在2014年提出的R-CNN完整地結(jié)合了Selective Search區(qū)域選擇、CNN特征提取、SVM目標(biāo)分類三步,這一算法為后續(xù)深度學(xué)習(xí)在目標(biāo)檢測(cè)中的推廣奠定了基礎(chǔ)[4]。2015年,Ross Girshick等人在R-CNN的基礎(chǔ)上改進(jìn),提出了 Fast R-CNN ,F(xiàn)ast R-CNN在速度和精度上較R-CNN有了很大提升,其中提出的ROI pooling結(jié)構(gòu)有效解決了不同尺寸的圖像需要縮放到同一尺寸的問(wèn)題,同時(shí)將分類損失和邊框回歸損失結(jié)合統(tǒng)一訓(xùn)練[5]。在此之后,為了解決候選框提取這一時(shí)間瓶頸,F(xiàn)aster R-CNN提出了RPN進(jìn)行候選框提取,這一網(wǎng)絡(luò)的引入使Faster R-CNN在檢測(cè)速度上獲得了巨大提升[6]。上述方法進(jìn)行目標(biāo)檢測(cè)時(shí),將區(qū)域提取和目標(biāo)檢測(cè)分成兩步進(jìn)行計(jì)算,檢測(cè)速度經(jīng)過(guò)優(yōu)化雖然有了大幅度提升,但最快速度也很難達(dá)到10FPS。為了繼續(xù)提高單張圖片的目標(biāo)檢測(cè)速度,YOLO、SSD[7][8]等算法將區(qū)域提取和目標(biāo)檢測(cè)兩步整合到一起進(jìn)行計(jì)算,它們將候選框定位問(wèn)題轉(zhuǎn)化為坐標(biāo)偏移量的回歸問(wèn)題進(jìn)行處理,將坐標(biāo)回歸部分直接加入分類網(wǎng)絡(luò)中進(jìn)行計(jì)算,這一思路的引入和實(shí)現(xiàn)在檢測(cè)精度沒(méi)有很大損失的前提下,將圖片的檢測(cè)速度提升到了40FPS以上。
目標(biāo)跟蹤技術(shù)是計(jì)算機(jī)視覺(jué)領(lǐng)域的熱點(diǎn)之一,具有廣泛的實(shí)際應(yīng)用前景。跟蹤可簡(jiǎn)單定義為對(duì)一個(gè)場(chǎng)景中的物體運(yùn)動(dòng)時(shí)的平面圖像中軌跡的估計(jì),即為在同一段視頻中不同幀的跟蹤目標(biāo)分配一致的標(biāo)簽。目標(biāo)跟蹤的目的[9]是定位每一幀視頻圖像中目標(biāo)的位置,從而獲得目標(biāo)運(yùn)動(dòng)軌跡。目標(biāo)跟蹤可以依據(jù)目標(biāo)類型分為點(diǎn)目標(biāo)跟蹤和區(qū)域目標(biāo)跟蹤兩種情況,交通視頻中應(yīng)用較多的是區(qū)域目標(biāo)跟蹤,區(qū)域目標(biāo)跟蹤可分為基于特征點(diǎn)檢測(cè)的方法、基于背景相減的幀差法、基于分割思想的方法等。
①基于特征點(diǎn)檢測(cè)的目標(biāo)跟蹤方法。主要特點(diǎn)是不隨光照和照相機(jī)視角的改變而改變,常用特征點(diǎn)包括 Moravec特征,Harris,KLT和SIFT[10]。
②基于幀差法的目標(biāo)跟蹤方法[11]。通過(guò)找出構(gòu)造的背景模型中每幀差一進(jìn)行跟蹤。
③基于分割思想的目標(biāo)跟蹤方法[12]。圖像分割算法的目的是有感知地將圖像分成相似的區(qū)域,在目標(biāo)跟蹤領(lǐng)域使用較多的圖像分割主要有Mean-Shift聚集、使用Graph-Cuts 的圖像分割、主動(dòng)輪廓。
④基于監(jiān)督學(xué)習(xí)的目標(biāo)跟蹤方法[13][14]。通過(guò)監(jiān)督學(xué)習(xí)方法從一系列樣本中自動(dòng)學(xué)習(xí)不同的物體視圖,從而進(jìn)行目標(biāo)檢測(cè)跟蹤。不同的目標(biāo)視圖的學(xué)習(xí)不需要一個(gè)完整系列的模版。通過(guò)一系列學(xué)習(xí)樣本,監(jiān)督學(xué)習(xí)方法產(chǎn)生一個(gè)輸入到輸出的映射函數(shù)。對(duì)目標(biāo)檢測(cè),學(xué)習(xí)樣本由成堆的目標(biāo)特征和相關(guān)聯(lián)的目標(biāo)種類組成,樣本數(shù)量手動(dòng)定義。
特征選擇在分類中起著重要的作用,如面積、方向、外觀和直方圖等。一旦特征被選擇,可通過(guò)監(jiān)督學(xué)習(xí)目標(biāo)的不同外觀計(jì)算出一個(gè)超曲面用來(lái)在高維空間中將目標(biāo)類與其他類分離。
通常交通監(jiān)控?cái)z像頭一般架設(shè)在高處,以俯視的角度向地面拍攝。為了更接近實(shí)際應(yīng)用場(chǎng)景,實(shí)驗(yàn)中使用到的交通視頻與實(shí)際應(yīng)用是類似的。
為了對(duì)視頻中的車(chē)輛進(jìn)行檢測(cè),需要大量標(biāo)注好的數(shù)據(jù)放進(jìn)模型進(jìn)行訓(xùn)練。對(duì)于交通監(jiān)控視頻中車(chē)輛檢測(cè)這一場(chǎng)景,以獲取到的若干段固定交通監(jiān)控視頻為基本數(shù)據(jù)構(gòu)建數(shù)據(jù)集進(jìn)行實(shí)驗(yàn)。首先對(duì)每段監(jiān)控視頻每隔固定時(shí)間進(jìn)行圖片采樣,通過(guò)篩選共得到851張圖片,劃分訓(xùn)練集圖片681張,驗(yàn)證集圖片170張。為了更精確地檢測(cè)車(chē)輛,對(duì)視頻中出現(xiàn)的車(chē)輛種類進(jìn)行統(tǒng)計(jì),最終確定對(duì)小轎車(chē)、出租車(chē)、公交車(chē)、大卡車(chē)這四類車(chē)進(jìn)行檢測(cè)。采集到的圖片拍攝角度都是俯視,部分樣本如圖1所示。
實(shí)驗(yàn)使用至強(qiáng)E5-2697 v4型號(hào)處理器,128GB內(nèi)存,英偉達(dá)GTX1080的顯卡,在tensorf l ow計(jì)算框架下進(jìn)行。
Faster R-CNN目標(biāo)檢測(cè)框架是現(xiàn)今準(zhǔn)確度最高的模型框架,而SDD模型框架在保證高精度下大幅提高了檢測(cè)速度。實(shí)驗(yàn)使用采集到的數(shù)據(jù)分別訓(xùn)練faster_rcnn_inception_v2、faster_rcnn_resnet50和SSD_inception_v2這三種模型,然后評(píng)估了這三種方法在交通視頻監(jiān)控中的表現(xiàn),結(jié)果如表1所示。
實(shí)驗(yàn)結(jié)果顯示,faster R-CNN模型在檢測(cè)精度上有明顯優(yōu)勢(shì),ssd模型在檢測(cè)速度上有明顯,以faster R-CNN為模型的框架難以直接用于實(shí)時(shí)檢測(cè),但由于其結(jié)果更為準(zhǔn)確,可以用作輔助標(biāo)注的基準(zhǔn)模型,同時(shí)也可以通過(guò)多模型部署并行計(jì)算的方式處理實(shí)時(shí)視頻流。而直接部署SSD模型雖然正確率較faster RCNN低,但其速度優(yōu)勢(shì)明顯,基本可以用作實(shí)時(shí)視頻流的檢測(cè)。
圖1 圖像數(shù)據(jù)部分樣本和標(biāo)注示例
平均IoU、平均追蹤長(zhǎng)度和FPS,IoU(Intersection over Union)指的是預(yù)測(cè)框與真實(shí)框之間的交并比。實(shí)驗(yàn)中設(shè)置一個(gè)IoU置信度閾值σ,比較預(yù)測(cè)值與真實(shí)值之間的IoU。當(dāng)σ_0<σ時(shí)則認(rèn)為目標(biāo)跟蹤器將目標(biāo)跟丟,在跟丟之前的所有IoU的平均值為平均IoU,表示跟丟之前的平均跟蹤精度。若一個(gè)物體在視頻中共出現(xiàn)N幀,跟丟之前共成功跟蹤n幀,則認(rèn)為n/N為此物體此次跟蹤長(zhǎng)度,所有物體的n/N的平均值作為平均跟蹤長(zhǎng)度,衡量目標(biāo)跟蹤器能準(zhǔn)確跟蹤物體的長(zhǎng)度。FPS指的是目標(biāo)跟蹤器每秒可以處理的圖像幀數(shù),可以衡量跟蹤器的處理速度。
實(shí)驗(yàn)過(guò)程中,對(duì)一段視頻中每個(gè)物體從出現(xiàn)在畫(huà)面開(kāi)始初始化一個(gè)目標(biāo)跟蹤器,持續(xù)對(duì)物體進(jìn)行跟蹤,記錄過(guò)程中獲得的平均IoU、平均追蹤長(zhǎng)度和平均FPS。實(shí)驗(yàn)過(guò)程選取數(shù)據(jù)為一段20秒的交通路口監(jiān)控視頻,共75個(gè)物體需要追蹤。選取的追蹤器為OpenCV庫(kù)中實(shí)現(xiàn)的BOOSTING[15]、MIL[16]、KCF[17]、TLD[18]、MEDIANFLOW[19]和GOTURN[20]算法,其結(jié)果如表2所示。
分析幾種目標(biāo)跟蹤器試驗(yàn)結(jié)果可以看到,在交通視頻目標(biāo)追蹤中由于視角等問(wèn)題,平均追蹤長(zhǎng)度普遍較短,橫向?qū)Ρ劝l(fā)現(xiàn)在此場(chǎng)景中MEDIANFLOW算法在結(jié)果準(zhǔn)確度、追蹤長(zhǎng)度和速度方面均具有較大優(yōu)勢(shì),甚至強(qiáng)于基于深度學(xué)習(xí)的GOTURN算法。
在實(shí)際操作中目標(biāo)檢測(cè)與目標(biāo)跟蹤相結(jié)合,目標(biāo)檢測(cè)的特點(diǎn)是結(jié)果準(zhǔn)確但運(yùn)行速度慢,而目標(biāo)跟蹤的特點(diǎn)是結(jié)果相對(duì)準(zhǔn)確度低但運(yùn)行速度快,因此目標(biāo)檢測(cè)與目標(biāo)跟蹤相結(jié)合是準(zhǔn)確度和速度之間的權(quán)衡,而權(quán)衡參數(shù)主要是目標(biāo)識(shí)別的間隔幀數(shù)F,每F幀進(jìn)行一次目標(biāo)檢測(cè),其后的F-1幀視頻畫(huà)面均采用目標(biāo)跟蹤。實(shí)踐表明F越小,整個(gè)系統(tǒng)的準(zhǔn)確度越高,但運(yùn)行速度越慢。當(dāng)F=1時(shí),系統(tǒng)退化為對(duì)每幀進(jìn)行識(shí)別,準(zhǔn)確度最高,但運(yùn)行速度最慢。若當(dāng)F=1時(shí)的運(yùn)行速度滿足實(shí)時(shí)的要求,則可以不使用目標(biāo)跟蹤。近年來(lái)隨著深度學(xué)習(xí)目標(biāo)檢測(cè)技術(shù)的發(fā)展和成熟,基于Faster R-CNN、YOLO等算法的目標(biāo)識(shí)別正在慢慢將這個(gè)目標(biāo)變作現(xiàn)實(shí)。
車(chē)流行為分析是車(chē)輛檢測(cè)和跟蹤的一個(gè)重要應(yīng)用。使用目標(biāo)檢測(cè)器獲得車(chē)輛的位置,隨后利用跟蹤器對(duì)車(chē)輛位置進(jìn)行持續(xù)跟蹤,記錄車(chē)輛駛?cè)腭偝瞿繕?biāo)區(qū)域的時(shí)間。根據(jù)車(chē)輛駛?cè)腭偝鰰r(shí)間,按時(shí)間段統(tǒng)計(jì)經(jīng)過(guò)車(chē)輛的數(shù)量就能獲得道路使用情況的車(chē)流量數(shù)據(jù)。車(chē)流提取效果如圖2所示。
本文運(yùn)用前文所述的目標(biāo)檢測(cè)和跟蹤算法,選擇上海市內(nèi)環(huán)高架萬(wàn)德路上匝道路段,對(duì)時(shí)間段內(nèi)經(jīng)過(guò)車(chē)輛的檢測(cè)和跟蹤,識(shí)別車(chē)輛的類型和記錄車(chē)輛的運(yùn)動(dòng)軌跡,精細(xì)統(tǒng)計(jì)該路段各類車(chē)輛的行駛情況。本文統(tǒng)計(jì)了一小時(shí)內(nèi)車(chē)流數(shù)量,結(jié)果試驗(yàn)如表3所示。
從實(shí)驗(yàn)結(jié)果可以看出,利用車(chē)輛檢測(cè)和跟蹤方法統(tǒng)計(jì)不同類型的車(chē)流量具有很高的精度,達(dá)到了預(yù)期效果,初步具備了實(shí)際工程推廣的技術(shù)要求。在此研究結(jié)果基礎(chǔ)上,為進(jìn)行更復(fù)雜交通場(chǎng)景的車(chē)流提取具備了條件。如在道路路口中提取左轉(zhuǎn)、右轉(zhuǎn)及直行的機(jī)動(dòng)車(chē)流量,路口斷面的機(jī)動(dòng)車(chē)排隊(duì)長(zhǎng)度等。同時(shí),為后續(xù)非機(jī)動(dòng)車(chē)、行人的精細(xì)化流量提取也奠定了良好條件。上述的車(chē)輛檢測(cè)和跟蹤研究,為計(jì)算交通參數(shù),進(jìn)而信號(hào)調(diào)優(yōu)及交通規(guī)劃提供堅(jiān)實(shí)基礎(chǔ)。復(fù)雜路口的示意圖如圖3所示。
表1 車(chē)輛檢測(cè)結(jié)果
表2 不同跟蹤方法對(duì)比
表3 車(chē)流量統(tǒng)計(jì)結(jié)果
圖2 精細(xì)化車(chē)流提取效果
本文比較了幾種基于深度學(xué)習(xí)的車(chē)輛檢測(cè)方法,且都能很好的應(yīng)對(duì)非正角度的車(chē)輛特征提取,完成對(duì)不同類別車(chē)輛的檢測(cè)。詳細(xì)比較了幾種不同檢測(cè)方法的性能表現(xiàn),SSD方法在保證較好的精度下,F(xiàn)PS在實(shí)驗(yàn)機(jī)器上能達(dá)到35,這方法能保證對(duì)目標(biāo)進(jìn)行實(shí)時(shí)檢測(cè)。
圖3 復(fù)雜交通路口精細(xì)車(chē)流提取示意圖
本文也比較了幾種目標(biāo)跟蹤方法,其中基于深度學(xué)習(xí)的GOTURN方法表現(xiàn)不是特別好,反而是基于傳統(tǒng)方法的MEDIANFLOW精度表現(xiàn)最好,并且FPS最高。傳統(tǒng)觀念認(rèn)為跟蹤的消耗比目標(biāo)檢測(cè)低很多。先識(shí)別出物體再進(jìn)行跟蹤能達(dá)到很好的實(shí)時(shí)性能。通過(guò)分析得出,目標(biāo)檢測(cè)方法基本能滿足交通視頻監(jiān)控對(duì)車(chē)輛監(jiān)控的實(shí)時(shí)性要求,跟蹤方法的用處就不大了。隨著跟蹤方法的發(fā)展,性能越來(lái)越先進(jìn)的跟蹤器將不斷出現(xiàn),在高幀率交通視頻和降低監(jiān)控成本上仍大有作為。
本文利用基于深度學(xué)習(xí)的SSD算法和MEDIANFLOW算法完成了匝道上的不同車(chē)道不同車(chē)輛類型流量計(jì)算,其效果表現(xiàn)出色,總車(chē)流量統(tǒng)計(jì)準(zhǔn)確率達(dá)94.5%,基本能滿足工程上的需要。該方法在復(fù)雜交通環(huán)境下精細(xì)車(chē)流提取也具有很大潛力。