曾星宇, 熊顯名,2, 程海博
(1.桂林電子科技大學(xué) 電子工程與自動(dòng)化學(xué)院,廣西 桂林 541004;2.桂林電子科技大學(xué) 廣西高校光電信息處理重點(diǎn)實(shí)驗(yàn)室,廣西 桂林 541004)
隨著視頻監(jiān)控技術(shù)的普及,目前我國(guó)的主要公路已部署了大量視頻監(jiān)控?cái)z像頭。除了利用這些監(jiān)控?cái)z像頭實(shí)時(shí)監(jiān)控道路狀況外,公路管理部門希望能夠利用這些視頻實(shí)現(xiàn)機(jī)動(dòng)車輛的流量檢測(cè),以取代傳統(tǒng)的基于感應(yīng)線圈的流量檢測(cè)方法[1]。
基于視頻的車流量檢測(cè)方法主要分為虛擬線圈法[2-3]和目標(biāo)跟蹤法[4-5],近年來學(xué)者們?cè)诖嘶A(chǔ)上提出了很多改進(jìn)方法。甘玲等[6]提出了根據(jù)車輛位置自動(dòng)生成不同虛擬檢測(cè)線圈的算法,提高了多車道車流量檢測(cè)精度。常志國(guó)等[7]提出了結(jié)合目標(biāo)與檢測(cè)線相對(duì)位置信息的改進(jìn)虛擬線統(tǒng)計(jì)法,減少了計(jì)數(shù)時(shí)的漏檢和誤檢。白天等[1]提出了基于目標(biāo)跟蹤和支持向量機(jī)的方法,減少非車輛目標(biāo)的誤統(tǒng)計(jì),提高了全天候環(huán)境下的車流統(tǒng)計(jì)的準(zhǔn)確率。但是這些方法的檢測(cè)準(zhǔn)確度并不高,車型識(shí)別類型單一。鑒于此,提出一種結(jié)合目標(biāo)跟蹤和遷移學(xué)習(xí)的多車型流量檢測(cè)方法,采用高斯混合模型[7]與背景差分法提取出運(yùn)動(dòng)車輛,利用相鄰幀的車輛中心點(diǎn)位置進(jìn)行車輛跟蹤,結(jié)合遷移學(xué)習(xí)的卷積神經(jīng)網(wǎng)絡(luò)模型,實(shí)現(xiàn)小車、貨車、客車3種車型流量檢測(cè)。
多車型車流量檢測(cè)流程如圖1所示,由運(yùn)動(dòng)車輛提取和車輛計(jì)數(shù)2個(gè)部分組成。
圖1 多車型車流量檢測(cè)流程
運(yùn)動(dòng)車輛提取過程為:先對(duì)視頻圖像進(jìn)行降噪,采用混合高斯模型[8]進(jìn)行背景建模,用背景差分法提取前景圖像,最后利用形態(tài)學(xué)處理提取準(zhǔn)確的運(yùn)動(dòng)車輛。
背景建模是對(duì)圖像中每一個(gè)像素點(diǎn)的顏色值建立K個(gè)高斯模型,用當(dāng)前圖像的每個(gè)像素點(diǎn)與建立的混合高斯模型匹配。若匹配成功,則判定該點(diǎn)為背景點(diǎn),更新該高斯模型參數(shù);若匹配不成功,則判定該點(diǎn)為前景點(diǎn)。
背景建模后用背景差法提取前景圖像。設(shè)t時(shí)刻的背景圖像為b(x,y,t),視頻圖像為I(x,y,t),前景圖像為m(x,y,t),關(guān)系式為
m(x,y,t)=I(x,y,t)-b(x,y,t)。
(1)
背景差分得到的前景圖像存在“孔洞”,需經(jīng)過形態(tài)學(xué)閉運(yùn)算處理,經(jīng)先膨脹后腐蝕操作,可得到準(zhǔn)確的運(yùn)動(dòng)車輛。
運(yùn)動(dòng)車輛提取后,利用目標(biāo)跟蹤和卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)得到的車型分類模型,可實(shí)現(xiàn)多車型流量計(jì)數(shù)。實(shí)現(xiàn)過程為:先對(duì)相鄰幀所有運(yùn)動(dòng)車輛的中心點(diǎn)位置進(jìn)行分析與匹配,建立車輛跟蹤列表。然后判斷當(dāng)前檢測(cè)到的車輛是否已跟蹤,若未跟蹤,則代表該車是首次被檢測(cè),創(chuàng)建信息將其加入到跟蹤列表,若已跟蹤,則對(duì)跟蹤列表中該運(yùn)動(dòng)車輛的信息進(jìn)行更新。最后,對(duì)跟蹤列表的車輛信息進(jìn)行分析,輸入到車型分類模型,按車型統(tǒng)計(jì)流量。
目標(biāo)跟蹤算法能獲取每個(gè)運(yùn)動(dòng)車輛的軌跡,對(duì)軌跡進(jìn)行分析,得到更準(zhǔn)確的車流量。
考慮到視頻相鄰兩幀車輛的位移非常小,且車輛運(yùn)動(dòng)的方向基本恒定[1],因此,通過對(duì)運(yùn)動(dòng)車輛幀間中心點(diǎn)距離與角度分析,對(duì)已檢測(cè)到的運(yùn)動(dòng)車輛在跟蹤列表的信息進(jìn)行更新,對(duì)當(dāng)前幀首次檢測(cè)的運(yùn)動(dòng)車輛在跟蹤列表登記。
視頻第N-1幀,車輛跟蹤列表LN-1中有i輛運(yùn)動(dòng)車輛V,
(2)
(3)
圖2 向量與坐標(biāo)軸夾角
(4)
(5)
(6)
重復(fù)以上過程,對(duì)第N幀所有檢測(cè)到的車輛中心點(diǎn)與N-1幀中車輛跟蹤列表LN-1進(jìn)行匹配。車輛軌跡跟蹤效果如圖3所示。
圖3 車輛軌跡跟蹤效果
為了快速高效地得到車型分類模型[9-10],采用遷移學(xué)習(xí)[11]訓(xùn)練卷積神經(jīng)網(wǎng)絡(luò)。遷移學(xué)習(xí)是將一個(gè)問題A訓(xùn)練好的模型,通過調(diào)整使其適應(yīng)一個(gè)新的問題B的模型訓(xùn)練方法。遷移學(xué)習(xí)訓(xùn)練CNN過程如圖4所示。對(duì)于由公用數(shù)據(jù)集A訓(xùn)練完成的CNN模型,根據(jù)實(shí)際應(yīng)用的數(shù)據(jù)集B進(jìn)行模型局部訓(xùn)練,保留預(yù)訓(xùn)練模型的結(jié)構(gòu)和前N層卷積神經(jīng)網(wǎng)絡(luò)層的參數(shù),僅重新訓(xùn)練該模型M層參數(shù),并對(duì)輸出層的結(jié)構(gòu)進(jìn)行微調(diào),最終得到適應(yīng)分類任務(wù)B的模型。
圖4 遷移學(xué)習(xí)訓(xùn)練CNN過程
采用MobileNet,對(duì)自建的樣本數(shù)據(jù)集進(jìn)行遷移學(xué)習(xí)。保持前面層的參數(shù)和結(jié)構(gòu)不變,只訓(xùn)練最后一層Softmax分類器。對(duì)于給定輸入z,Softmax分類器可得到屬于某一類別的概率,
(7)
其中P(t=c|z),t∈{1,2,,c}表示在給定輸入z時(shí),該數(shù)據(jù)是c分類的概率,最大概率對(duì)應(yīng)的類別為分類結(jié)果。
將數(shù)據(jù)集每張圖像輸入到MobileNet網(wǎng)絡(luò),在網(wǎng)絡(luò)的瓶頸層生成一個(gè)2048維的特征向量,再由這些特征訓(xùn)練新的Softmax分類器的參數(shù),最終得到車型分類模型。
1)在圖像中選取感興趣區(qū)域,作為車輛檢測(cè)與計(jì)數(shù)的區(qū)域。
2)初始化一個(gè)空的車輛跟蹤列表,記錄每一幀圖像幀中的運(yùn)動(dòng)車輛對(duì)象;初始化一個(gè)空的車輛計(jì)數(shù)列表,記錄從視頻開始到結(jié)束所有統(tǒng)計(jì)過的車輛對(duì)象。
3)在檢測(cè)區(qū)域內(nèi),檢測(cè)是否有車輛進(jìn)入。對(duì)于檢測(cè)到的每輛車,計(jì)算該車輛輪廓的外界矩形的中心點(diǎn)坐標(biāo)。
4)將當(dāng)前幀檢測(cè)到的每輛車對(duì)象的中心點(diǎn)與前一幀車輛跟蹤列表中的所有車輛對(duì)象進(jìn)行軌跡分析。若結(jié)果匹配,表示2輛車對(duì)象是同一輛車,則更新跟蹤列表對(duì)應(yīng)車輛對(duì)象的信息;若未匹配,表示當(dāng)前的車輛對(duì)象是首次檢測(cè)到的車輛,未被跟蹤過,在跟蹤列表創(chuàng)建新的車輛對(duì)象,登記該車的信息。
5)當(dāng)車輛跟蹤列表的車輛對(duì)象被匹配10次,輸入到車型分類模型中識(shí)別車型后計(jì)數(shù),并將該車輛對(duì)象加入到車輛計(jì)數(shù)列表;若跟蹤列表中某一車輛最近5幀都未檢測(cè)到,表示該輛車已經(jīng)離開了視頻檢測(cè)區(qū)域,刪除跟蹤列表中該車輛對(duì)象。
6)新來一幀,轉(zhuǎn)至步驟3),直至視頻結(jié)束。
利用廣西高速公路某段監(jiān)控視頻進(jìn)行實(shí)驗(yàn),實(shí)驗(yàn)軟硬件環(huán)境為Xeon E3-1240處理器,12 GB內(nèi)存,Window 7.0操作系統(tǒng),NVIDIA GTX650顯卡,編程環(huán)境為Pycharm與Tensorflow。
訓(xùn)練車型分類模型,需要先建立車型分類數(shù)據(jù)集,其中車型分類樣本從大量監(jiān)控視頻中提取,共1072張圖片。車型分類數(shù)據(jù)集如表1所示,部分車型樣本如圖5所示。
對(duì)一段117 min的監(jiān)控視頻進(jìn)行實(shí)時(shí)檢測(cè)分析,圖6為實(shí)驗(yàn)進(jìn)行至第13、100 min的截圖。
表1 車型分類數(shù)據(jù)集
圖5 部分車型樣本
圖6 實(shí)驗(yàn)過程截圖
人工計(jì)數(shù)與算法計(jì)數(shù)對(duì)比結(jié)果如表2所示。對(duì)于小車,實(shí)際為331輛,算法統(tǒng)計(jì)為320輛,漏統(tǒng)計(jì)13輛(其中9輛被統(tǒng)計(jì)為貨車,4輛未檢測(cè)到),2輛貨車被誤統(tǒng)計(jì)為小車;對(duì)于貨車,實(shí)際為49輛,算法統(tǒng)計(jì)為54輛,漏統(tǒng)計(jì)4輛,9輛小車被誤統(tǒng)計(jì)為貨車;對(duì)于客車,實(shí)際為6輛,算法統(tǒng)計(jì)為7輛,1輛貨車被誤統(tǒng)計(jì)為客車。對(duì)于總的車流量統(tǒng)計(jì),5輛車被完全漏統(tǒng)計(jì),統(tǒng)計(jì)準(zhǔn)確率為98.7%,分類平均準(zhǔn)確率為96.8%。
表2 檢測(cè)結(jié)果
在車流量檢測(cè)方面,本方法與虛擬線圈法[6]、基于支持向量機(jī)的軌跡分析法[1]車流量統(tǒng)計(jì)準(zhǔn)確率對(duì)比如表4所示。本方法車流量檢測(cè)的平均準(zhǔn)確率提高了3%,并且能按車型統(tǒng)計(jì)車流量,更具實(shí)用性。
表3 車流量統(tǒng)計(jì)準(zhǔn)確率對(duì)比
在分類器訓(xùn)練與識(shí)別方面,本方法與VGG16[12]和Fast R-CNN[13]車型分類準(zhǔn)確率對(duì)比如表5所示。在訓(xùn)練樣本數(shù)量小于其他方法情況下,采用遷移學(xué)習(xí)訓(xùn)練的MobileNet與其他CNN模型相比,車型分類的準(zhǔn)確率提高了7%以上。
表4 車型分類準(zhǔn)確率對(duì)比
針對(duì)視頻車流量統(tǒng)計(jì)、車型識(shí)別準(zhǔn)確率不高的問題,提出一種基于目標(biāo)跟蹤與卷積神經(jīng)網(wǎng)絡(luò)遷移學(xué)習(xí)的按車型分類計(jì)數(shù)的車流量檢測(cè)方法。在車流量統(tǒng)計(jì)方面,采用對(duì)車輛幀間中心點(diǎn)以及一段時(shí)間軌跡實(shí)時(shí)分析的目標(biāo)跟蹤方法,統(tǒng)計(jì)準(zhǔn)確率達(dá)98.7%。在車型分類識(shí)別方面,采用遷移學(xué)習(xí)方法,解決了小樣本下MobileNet模型訓(xùn)練困難、識(shí)別率不高的問題,平均準(zhǔn)確率達(dá)96.8%。今后將增加統(tǒng)計(jì)車型種類,進(jìn)一步提高復(fù)雜環(huán)境條件下檢測(cè)方法的準(zhǔn)確率。