江詩(shī)明+徐偉+吳智量+林樹雄
摘 要: 為了實(shí)時(shí)識(shí)別各種車型的超載車輛,該系統(tǒng)基于開源計(jì)算機(jī)視覺庫(kù)(OpenCV),先根據(jù)車輛照片庫(kù)建立車型分類器,然后使用數(shù)字?jǐn)z像機(jī)拍攝進(jìn)入監(jiān)控區(qū)域的車輛,在視頻中使用分類器識(shí)別車型,根據(jù)所識(shí)別得到的車型去查詢數(shù)據(jù)庫(kù)獲得該車型的核載,再通過動(dòng)態(tài)稱重技術(shù)獲得車輛的實(shí)際載重,及時(shí)判別車輛是否超載。此方法可避免過去使用統(tǒng)一重量衡量不同車型是否超載的弊端,并可同時(shí)免線圈測(cè)量車速。測(cè)試結(jié)果表明系統(tǒng)能快速準(zhǔn)確地識(shí)別出車型。配合動(dòng)態(tài)稱重系統(tǒng),就能實(shí)時(shí)得出所通過的車輛是否超載,對(duì)公路養(yǎng)護(hù)和道路交通安全有相當(dāng)大的實(shí)用意義。
關(guān)鍵詞: 超載監(jiān)測(cè); 視頻識(shí)別; OpenCV; 動(dòng)態(tài)稱重
中圖分類號(hào): TN98?34; TP277 文獻(xiàn)標(biāo)識(shí)碼: A 文章編號(hào): 1004?373X(2014)04?0049?04
Monitoring system for overload vehicles
JIANG Shi?ming, XU Wei, WU Zhi?liang, LIN Shu?xiong
(School of Physics & Electronic Engineering, Guangzhou University, Guangzhou 510006, China)
Abstract: This system based on the open source computer vision library (OpenCV) is used to execute the real?time identification of overloading vehicles with different vehicle models. A vehicle model classifier is established according to the vehicle photo library, and then the vehicles entering the monitored area are recorded by a digital camera. The vehicle models are identified in video recognition by the classifier. The rated load of a vehicle model is obtained by querying the database, and then the actual load of the vehicle running across the monitoring area is measured by the dynamic weighing technology for judging if the vehicle is overloaded immediately. This approach can avoid the demerit of the previous one that uses the unified weight to estimate whether vehicles with different models are overloaded or not. In addition, it can also avoid the coil measurement of speed. Testing results show that the system can quickly and accurately identify a vehicle model, and can promptly determine whether the vehicle is overloaded by means of dynamic weighing system. It has considerable practical value for road maintenance and road traffic safety.
Keywords: overload monitoring; video identification; OpenCV; dynamic weighing
超載車輛的危害很大,主要表現(xiàn)在加速道路損壞和危害道路交通安全,人們都深知其危害性,所以治理超載一直是公路監(jiān)管部門的工作重點(diǎn)。傳統(tǒng)的自動(dòng)超載信息系統(tǒng)都是使用統(tǒng)一標(biāo)準(zhǔn),對(duì)所有車輛都應(yīng)用同一個(gè)整車重量劃分是否超載,這樣會(huì)遺漏部分實(shí)際上已經(jīng)超過該車型核載的超載車輛。實(shí)際上,這部分車輛對(duì)道路交通同樣造成嚴(yán)重影響。鑒于此,本系統(tǒng)首先識(shí)別出車輛的車型,再查詢得到該車型的核載重量,對(duì)比實(shí)測(cè)重量,便得知是否超載。理論上能夠適用于所有車型。
利用攝像機(jī)較長(zhǎng)的視域,附加設(shè)計(jì)了一個(gè)測(cè)速系統(tǒng),能方便地得出超速數(shù)據(jù),以便作為超速監(jiān)測(cè)和供給動(dòng)態(tài)稱重系統(tǒng)作參考。
1 系統(tǒng)構(gòu)成
1.1 系統(tǒng)方案
系統(tǒng)主要工作過程為:車輛駛?cè)霐z像機(jī)監(jiān)視范圍,視頻流通過以太網(wǎng)傳輸?shù)胶笈_(tái)處理系統(tǒng),處理系統(tǒng)通過處理視頻識(shí)別出車輛的車型,然后根據(jù)車型從數(shù)據(jù)庫(kù)中查出相應(yīng)的核載重量;同時(shí),安裝在地面的動(dòng)態(tài)稱重設(shè)備測(cè)出車輛的實(shí)際載重。兩個(gè)數(shù)據(jù)對(duì)比即可得出車輛是否超載。系統(tǒng)流程如圖1所示。
為了加快處理速率,在程序設(shè)計(jì)過程中多處使用了多線程并行處理。
1.2 OpenCV及其分類器介紹
傳統(tǒng)的圖像處理軟件大多為Matlab,用于開發(fā)算法最為快捷,但是其處理速度慢,難以跟上視頻處理的需求,所以選用了Intel牽頭開發(fā)的開源計(jì)算機(jī)視覺庫(kù)(OpenCV)。新版的OpenCV已經(jīng)在易用性上已經(jīng)接近Matlab,再加上其開源性,很多算法均已公開,加快了開發(fā)進(jìn)程。另外,目前OpenCV已經(jīng)提供C,C++,Python等語(yǔ)言接口,且支持Windows,Linux,Android和IOS等主流平臺(tái),資源相當(dāng)豐富。對(duì)于計(jì)算機(jī)平臺(tái),OpenCV支持多線程并行計(jì)算和圖形處理器(GPU)計(jì)算,這將能大大加快計(jì)算速率,用其開發(fā)本系統(tǒng)的demo是首選。
圖1 系統(tǒng)流程圖
為了從視頻流中識(shí)別出車型,需要使用分類器[1]。所謂分類器,是利用樣本的特征進(jìn)行訓(xùn)練,得到一個(gè)級(jí)聯(lián)分類器。分類器訓(xùn)練完成后,就可以應(yīng)用于目標(biāo)檢測(cè)。分類器的級(jí)聯(lián)是指最終的分類器是有幾個(gè)簡(jiǎn)單分類器級(jí)聯(lián)組成。每個(gè)特定的分類器所使用的特征用形狀、感興趣區(qū)域中的位置以及比例系數(shù)來定義(如圖2所示)。
圖2 特征分類
首先使用弱分類器分出貨車和客車等車型,然后再分出大中小型貨車,最后再精確分類,獲得準(zhǔn)確的車型。新版本的OpenCV已經(jīng)支持多種特征的分類器,如SVM,LBP,PBM等。因?yàn)橄到y(tǒng)實(shí)時(shí)性要求較高,這里選取訓(xùn)練和分類速率都較高的LBP特征分類器。
1.3 訓(xùn)練分類器
使用分類器的需要首先訓(xùn)練,即讓分類器“認(rèn)識(shí)”目標(biāo),為了訓(xùn)練分類器,需要準(zhǔn)備樣本,樣本包括正樣本和負(fù)樣本。正樣本即包含目標(biāo)的灰度圖片,而且每張圖片都要?dú)w一化大小,負(fù)樣本則不要求歸一化,只需要比正樣本大即可(使得可以在負(fù)樣本中滑動(dòng)窗口檢索)。
OpenCV提供了專門的工具opencv_createsample.exe用以整理訓(xùn)練樣本的原始數(shù)據(jù),只需準(zhǔn)備好正、負(fù)樣本,歸一化然后轉(zhuǎn)成灰度圖,再使用兩個(gè)描述文件分別記錄這些樣本集合,然后輸入opencv_createsample.exe程序即可整理出原始數(shù)據(jù)。為了準(zhǔn)備正樣本,借助OpenCV提供的HighGUI模塊,在此專門編寫了一個(gè)GUI截圖工具,界面如圖3所示。為了能從不同角度識(shí)別車輛,準(zhǔn)本正樣本時(shí)需要準(zhǔn)備從一定角度范圍描述車輛的樣本。
圖3 GUI截圖工具界面
接下來就是訓(xùn)練分類器,這部分工作直接關(guān)系到系統(tǒng)的魯棒性。同樣,OpenCV提供了專門工具訓(xùn)練分類器,既有舊版也有新版,為了有更多特性,在此選擇新版本的訓(xùn)練程序opencv_traincascades.exe。
由于這是基于統(tǒng)計(jì)的方法,要對(duì)大量數(shù)據(jù)進(jìn)行處理,如果選擇Haar特性,訓(xùn)練周期會(huì)比較長(zhǎng),不利于系統(tǒng)的搭建,所以選擇用LBP特性訓(xùn)練分類器。從機(jī)器性能方面考慮訓(xùn)練時(shí)間,使用英特爾線程構(gòu)建模塊(TBB)重新編譯OpenCV,就能得到多核加速,且有利于接下來的程序性能。分類器分為三級(jí),分別為:貨車、客車分類器,大、中、小型貨車分類器和具體車型分類器。由于客車按載客數(shù)區(qū)分是否超載,車輛總重不會(huì)對(duì)公路造成嚴(yán)重?fù)p壞,所以本系統(tǒng)無需對(duì)客車作出具體車型區(qū)分。但若然具體管理部門需要統(tǒng)計(jì)車型信息,可以進(jìn)一步加上客車車型分類器。實(shí)際使用時(shí),由于要應(yīng)對(duì)車輛車身的噴漆變化或者小范圍合法改裝等情況,分類器的分類除了在系統(tǒng)籌建的時(shí)候大規(guī)模訓(xùn)練外,在系統(tǒng)運(yùn)行時(shí)也應(yīng)繼續(xù)訓(xùn)練分類器,增加統(tǒng)計(jì)數(shù)據(jù),使得識(shí)別結(jié)果更加精確。
1.4 識(shí)別車型及獲得核定載重
訓(xùn)練好分類器后,最直觀的測(cè)試方法是直接輸入測(cè)試視頻,檢查識(shí)別效果。新版本OpenCV提供一個(gè)C++類CascadeClassifier,該類封裝了基本的目標(biāo)識(shí)別操作,使得只需要使用該類的實(shí)例加載訓(xùn)練好的XML文件,然后逐幀檢測(cè)即可。若發(fā)現(xiàn)目標(biāo),結(jié)果將會(huì)存放在C++標(biāo)準(zhǔn)模板庫(kù)(STL)容器vector中。但直接對(duì)每幀圖像使用CascadeClassifier::detectMultiScale方法將會(huì)大大加重系統(tǒng)的工作量并且在多車輛的情況下無法區(qū)分開各車輛,為此,首先需要發(fā)現(xiàn)車輛,然后區(qū)分不同的車輛目標(biāo),再對(duì)每一個(gè)目標(biāo)單獨(dú)進(jìn)行分類識(shí)別。
具體的主要操作的順序?yàn)椋?/p>
(1) 系列的圖像預(yù)處理操作,降低圖像噪音。
(2) 圖像差分,發(fā)現(xiàn)車輛輪廓[2],得到運(yùn)動(dòng)掩碼。圖像差分有兩種主要方式,分別是幀間差分和背景差分。幀間差分速度快,但容易產(chǎn)生空洞,且無法分離出緩慢運(yùn)動(dòng)的車輛;背景差分速度慢,但分離效果好。考慮到如果車輛是緩慢進(jìn)入測(cè)速區(qū),則稱重?cái)?shù)據(jù)可靠性高,而且沒有超速,進(jìn)入識(shí)別點(diǎn)的效果好,所以選擇幀間差分,這里使用能有效減小前景空洞的三幀差分算法[2]。
(3) 結(jié)合運(yùn)動(dòng)掩碼更新歷史運(yùn)動(dòng)圖像、計(jì)算歷史運(yùn)動(dòng)圖像的梯度。
(4) 分割運(yùn)動(dòng)目標(biāo),得到一輛一輛的車,并跟蹤。為區(qū)分開圖像中的每一輛車,需要對(duì)其進(jìn)行標(biāo)記,這里使用的方法為:
[Mkx,y=ID ifMk-1x,y≠0&k-1≠10 ifMk-1x,y=0 ]
式中:Mk(x,y)為分割出來的單獨(dú)車輛目標(biāo)的第k幀感興趣區(qū)域矩形。這種方法雖然魯棒性較好,但是因?yàn)橹貜?fù)計(jì)算量大,運(yùn)算速度有限,所以在確定每輛車的ID后,使用OpenCV提供的更為快速的Camshift算法[3]繼續(xù)跟蹤。
(5) 計(jì)算每輛車的運(yùn)動(dòng)方向。這部分關(guān)系到運(yùn)動(dòng)目標(biāo)篩選,在部分場(chǎng)合,攝像機(jī)的視野可能會(huì)涉及逆向車道。在這種情況下,可以通過篩選符合主要行駛方向的車輛來排除其他車輛或無關(guān)運(yùn)動(dòng)目標(biāo)的干擾。
(6) 車輛進(jìn)入測(cè)速區(qū),開始測(cè)速。
(7) 車輛離開測(cè)速區(qū),結(jié)束測(cè)速并計(jì)算速度。使用TBB進(jìn)行并行分類識(shí)別車型。由于OpenCV新版矩陣結(jié)構(gòu)Mat的所有操作使用原子操作,大大減輕了多線程編程的工作量,所以這里使用多線程并行操作是最佳選擇。
(8) 根據(jù)所安裝動(dòng)態(tài)稱重系統(tǒng)的車速要求,判斷是否需要引導(dǎo)車輛到檢測(cè)站進(jìn)行檢查。
1.5 獲得實(shí)際載重
在視頻分析中發(fā)現(xiàn)車輛后,對(duì)比動(dòng)態(tài)測(cè)重模塊中測(cè)得的實(shí)際載重。這里需要把應(yīng)用場(chǎng)合分為兩種情況:高速測(cè)重和低速測(cè)重,至于高低速的閥值,這根據(jù)不同動(dòng)態(tài)稱重系統(tǒng)的性能而定[4],在系統(tǒng)安裝時(shí)根據(jù)動(dòng)態(tài)稱重系統(tǒng)參數(shù)設(shè)置即可。由于目前高速測(cè)重技術(shù)的精度未達(dá)到作為證據(jù)的要求,所以在高速測(cè)重的場(chǎng)合,所得車重?cái)?shù)據(jù)只能作為初步判斷,若初步發(fā)現(xiàn)車輛超載,需要進(jìn)一步引導(dǎo)車輛到大型地磅再次靜態(tài)測(cè)量,并作其他處理。在低速測(cè)重場(chǎng)合,測(cè)得的動(dòng)態(tài)數(shù)據(jù)可靠,可直接作為證據(jù)使用。所以系統(tǒng)的運(yùn)行需要測(cè)速模塊的配合。
無論高速場(chǎng)合與低速場(chǎng)合,本系統(tǒng)都能實(shí)現(xiàn)視頻測(cè)速功能,可以直接用作超速抓拍系統(tǒng),降低了公路部門的重復(fù)投入成本。
1.6 測(cè)速方法
測(cè)速測(cè)量車輛通過測(cè)速區(qū)所用的時(shí)間,然后用測(cè)速區(qū)長(zhǎng)度除以時(shí)間而粗略估計(jì)得到。考慮到攝像機(jī)視域限制,設(shè)定的測(cè)速區(qū)域并不長(zhǎng),只有20 m左右,而且速度是用于參考載重信息是否有效的,所以無需太精確,因而可認(rèn)為車輛是直線經(jīng)過測(cè)速區(qū)域的。測(cè)速區(qū)的長(zhǎng)度需在系統(tǒng)安裝時(shí)手工進(jìn)行長(zhǎng)度映射。另外,確定通過測(cè)速區(qū)域的時(shí)間差使用幀率和幀計(jì)數(shù)得出,這樣在多線程處理的情況下,可以排除系統(tǒng)時(shí)鐘和處理速率的干擾,得出準(zhǔn)確時(shí)間差。
2 測(cè)量結(jié)果
為快速測(cè)試系統(tǒng)性能,直接使用測(cè)試視頻替代攝像機(jī)輸入。使用微軟Visual Studio 2010 MFC + OpenCV 2.44 編寫一個(gè)即時(shí)處理程序,界面如圖4所示。
圖4 運(yùn)行在Windows平臺(tái)上的系統(tǒng)
測(cè)試使用一臺(tái)Intel Core i5M處理器(主頻2.3 GHz+智能變頻技術(shù))、6 GB內(nèi)存、操作系統(tǒng)為Windows 7 64 b的普通筆記本計(jì)算機(jī),測(cè)試代碼尚未使用圖形處理器(GPU)計(jì)算,但代碼在識(shí)別部分應(yīng)用了TBB進(jìn)行多核并行加速計(jì)算。
測(cè)試視頻共兩段,分別在兩個(gè)不同的場(chǎng)景拍攝,第一段只有一輛公交車,場(chǎng)景較為簡(jiǎn)單;第二段則是多車多人環(huán)境,并且有車輛并行的情況,場(chǎng)景較為復(fù)雜,干擾較多。
第一段視頻主要用于測(cè)試系統(tǒng)的極限性能,在測(cè)試開始前,先用轉(zhuǎn)碼工具把同一段視頻轉(zhuǎn)成不同幀率和分辨率的幾段視頻,其中視頻的寬高比不變。輸入視頻測(cè)試后的結(jié)果如表1所示。
視頻原始長(zhǎng)度為6 s,雙斜線為該場(chǎng)景的稱重和測(cè)速區(qū)域。
測(cè)試結(jié)果表明:系統(tǒng)能實(shí)時(shí)處理標(biāo)清視頻流,但對(duì)高清視頻還需進(jìn)一步優(yōu)化。
第二段視頻主要測(cè)試系統(tǒng)的車型識(shí)別能力,測(cè)試數(shù)據(jù)如圖5所示。
表1 輸入視頻測(cè)試后結(jié)果
圖5 多車并行時(shí)能夠準(zhǔn)確區(qū)分
第二段視頻夾雜較多無關(guān)目標(biāo),如行人、抖動(dòng)的樹枝橫向行駛的車輛等,其中雙白線之間區(qū)域?yàn)楸緢?chǎng)景的稱重測(cè)速區(qū)域。
通過測(cè)試,可以看出無關(guān)目標(biāo)能被全部排除,體現(xiàn)了車輛篩選很好的魯棒性。視頻中共通過9輛汽車,所有車輛均本正確識(shí)別車型。
3 結(jié) 語(yǔ)
通過測(cè)試數(shù)據(jù)可以看出,本系統(tǒng)提出的車型識(shí)別算法能適應(yīng)不同場(chǎng)景和一定的環(huán)境變化,具有較高的效率和魯棒性。隨著計(jì)算機(jī)及其他數(shù)字信號(hào)處理(DSP)設(shè)備的信息處理能力不斷提高,應(yīng)用實(shí)時(shí)視頻處理技術(shù)促進(jìn)智能交通的能力將更大更穩(wěn)定。若本系統(tǒng)能真正應(yīng)用在智能交通系統(tǒng)上,有望對(duì)遏制道路超載超速現(xiàn)象做出貢獻(xiàn)。
參考文獻(xiàn)
[1] LIENHART Rainer, MAYDT Jochen. An extended set of Haar?like features for rapid object detection [J]. IEEE ICIP, 2002 (1): 900?903.
[2] 徐衛(wèi)星,王蘭英,李秀娟.一種基于OpenCV實(shí)現(xiàn)的三幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)算法研究[J].計(jì)算機(jī)與數(shù)字工程,2011(11):141?144.
[3] BRADSKI G R. Computer vision face tracking for use in a perceptual user interface [EB/OL]. [2010?12?02]. http:// www.wenku.baidu.com/view/f442b24be45c3b3567ec8b2b.
[4] 張波,魯新光,鄧鐵六,等.動(dòng)態(tài)車輛稱重物理模型與提高動(dòng)態(tài)稱重準(zhǔn)確度研究[J].計(jì)量學(xué)報(bào),2009(5):426?430.
[5] 唐雙發(fā).基于OpenCV的車輛視頻檢測(cè)技術(shù)研究[D].武漢:華中科技大學(xué),2009.
[6] 詹群峰.基于OpenCV的視頻道路車輛檢測(cè)與跟蹤[D].廈門:廈門大學(xué),2009.
[7] 郭旭,張麗杰.運(yùn)動(dòng)目標(biāo)檢測(cè)視頻監(jiān)控軟件的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(8):200?207.
[8] 周品,李曉東.Matlab數(shù)字圖像處理[M].北京:清華大學(xué)出版社,2012.
[9] 陳勝勇,劉盛.基于OpenCV的計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)[M].北京:科學(xué)出版社,2008.
[10] 劉瑞禎,于仕琪.OpenCV教程基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2007.
[11] 范伊紅,彭海云,張?jiān)?基于SVM 的車型識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(5):296?297.
[12] 李慶忠,陳顯華,王立紅.一種視頻運(yùn)動(dòng)目標(biāo)的檢測(cè)與識(shí)別方法[J].模式識(shí)別與人工智能,2006,19(2):238?243.
[13] [美]REINDERS J, 聶雪軍. Intel Threading Building Blocks編程指南[M].北京:機(jī)械工業(yè)出版社,2009.
[14] 劉慧英,王小波.基于OpenCV的車輛輪廓檢測(cè)[J].科學(xué)技術(shù)與工程,2010,10(12):2987?2991.
無論高速場(chǎng)合與低速場(chǎng)合,本系統(tǒng)都能實(shí)現(xiàn)視頻測(cè)速功能,可以直接用作超速抓拍系統(tǒng),降低了公路部門的重復(fù)投入成本。
1.6 測(cè)速方法
測(cè)速測(cè)量車輛通過測(cè)速區(qū)所用的時(shí)間,然后用測(cè)速區(qū)長(zhǎng)度除以時(shí)間而粗略估計(jì)得到。考慮到攝像機(jī)視域限制,設(shè)定的測(cè)速區(qū)域并不長(zhǎng),只有20 m左右,而且速度是用于參考載重信息是否有效的,所以無需太精確,因而可認(rèn)為車輛是直線經(jīng)過測(cè)速區(qū)域的。測(cè)速區(qū)的長(zhǎng)度需在系統(tǒng)安裝時(shí)手工進(jìn)行長(zhǎng)度映射。另外,確定通過測(cè)速區(qū)域的時(shí)間差使用幀率和幀計(jì)數(shù)得出,這樣在多線程處理的情況下,可以排除系統(tǒng)時(shí)鐘和處理速率的干擾,得出準(zhǔn)確時(shí)間差。
2 測(cè)量結(jié)果
為快速測(cè)試系統(tǒng)性能,直接使用測(cè)試視頻替代攝像機(jī)輸入。使用微軟Visual Studio 2010 MFC + OpenCV 2.44 編寫一個(gè)即時(shí)處理程序,界面如圖4所示。
圖4 運(yùn)行在Windows平臺(tái)上的系統(tǒng)
測(cè)試使用一臺(tái)Intel Core i5M處理器(主頻2.3 GHz+智能變頻技術(shù))、6 GB內(nèi)存、操作系統(tǒng)為Windows 7 64 b的普通筆記本計(jì)算機(jī),測(cè)試代碼尚未使用圖形處理器(GPU)計(jì)算,但代碼在識(shí)別部分應(yīng)用了TBB進(jìn)行多核并行加速計(jì)算。
測(cè)試視頻共兩段,分別在兩個(gè)不同的場(chǎng)景拍攝,第一段只有一輛公交車,場(chǎng)景較為簡(jiǎn)單;第二段則是多車多人環(huán)境,并且有車輛并行的情況,場(chǎng)景較為復(fù)雜,干擾較多。
第一段視頻主要用于測(cè)試系統(tǒng)的極限性能,在測(cè)試開始前,先用轉(zhuǎn)碼工具把同一段視頻轉(zhuǎn)成不同幀率和分辨率的幾段視頻,其中視頻的寬高比不變。輸入視頻測(cè)試后的結(jié)果如表1所示。
視頻原始長(zhǎng)度為6 s,雙斜線為該場(chǎng)景的稱重和測(cè)速區(qū)域。
測(cè)試結(jié)果表明:系統(tǒng)能實(shí)時(shí)處理標(biāo)清視頻流,但對(duì)高清視頻還需進(jìn)一步優(yōu)化。
第二段視頻主要測(cè)試系統(tǒng)的車型識(shí)別能力,測(cè)試數(shù)據(jù)如圖5所示。
表1 輸入視頻測(cè)試后結(jié)果
圖5 多車并行時(shí)能夠準(zhǔn)確區(qū)分
第二段視頻夾雜較多無關(guān)目標(biāo),如行人、抖動(dòng)的樹枝橫向行駛的車輛等,其中雙白線之間區(qū)域?yàn)楸緢?chǎng)景的稱重測(cè)速區(qū)域。
通過測(cè)試,可以看出無關(guān)目標(biāo)能被全部排除,體現(xiàn)了車輛篩選很好的魯棒性。視頻中共通過9輛汽車,所有車輛均本正確識(shí)別車型。
3 結(jié) 語(yǔ)
通過測(cè)試數(shù)據(jù)可以看出,本系統(tǒng)提出的車型識(shí)別算法能適應(yīng)不同場(chǎng)景和一定的環(huán)境變化,具有較高的效率和魯棒性。隨著計(jì)算機(jī)及其他數(shù)字信號(hào)處理(DSP)設(shè)備的信息處理能力不斷提高,應(yīng)用實(shí)時(shí)視頻處理技術(shù)促進(jìn)智能交通的能力將更大更穩(wěn)定。若本系統(tǒng)能真正應(yīng)用在智能交通系統(tǒng)上,有望對(duì)遏制道路超載超速現(xiàn)象做出貢獻(xiàn)。
參考文獻(xiàn)
[1] LIENHART Rainer, MAYDT Jochen. An extended set of Haar?like features for rapid object detection [J]. IEEE ICIP, 2002 (1): 900?903.
[2] 徐衛(wèi)星,王蘭英,李秀娟.一種基于OpenCV實(shí)現(xiàn)的三幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)算法研究[J].計(jì)算機(jī)與數(shù)字工程,2011(11):141?144.
[3] BRADSKI G R. Computer vision face tracking for use in a perceptual user interface [EB/OL]. [2010?12?02]. http:// www.wenku.baidu.com/view/f442b24be45c3b3567ec8b2b.
[4] 張波,魯新光,鄧鐵六,等.動(dòng)態(tài)車輛稱重物理模型與提高動(dòng)態(tài)稱重準(zhǔn)確度研究[J].計(jì)量學(xué)報(bào),2009(5):426?430.
[5] 唐雙發(fā).基于OpenCV的車輛視頻檢測(cè)技術(shù)研究[D].武漢:華中科技大學(xué),2009.
[6] 詹群峰.基于OpenCV的視頻道路車輛檢測(cè)與跟蹤[D].廈門:廈門大學(xué),2009.
[7] 郭旭,張麗杰.運(yùn)動(dòng)目標(biāo)檢測(cè)視頻監(jiān)控軟件的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(8):200?207.
[8] 周品,李曉東.Matlab數(shù)字圖像處理[M].北京:清華大學(xué)出版社,2012.
[9] 陳勝勇,劉盛.基于OpenCV的計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)[M].北京:科學(xué)出版社,2008.
[10] 劉瑞禎,于仕琪.OpenCV教程基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2007.
[11] 范伊紅,彭海云,張?jiān)?基于SVM 的車型識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(5):296?297.
[12] 李慶忠,陳顯華,王立紅.一種視頻運(yùn)動(dòng)目標(biāo)的檢測(cè)與識(shí)別方法[J].模式識(shí)別與人工智能,2006,19(2):238?243.
[13] [美]REINDERS J, 聶雪軍. Intel Threading Building Blocks編程指南[M].北京:機(jī)械工業(yè)出版社,2009.
[14] 劉慧英,王小波.基于OpenCV的車輛輪廓檢測(cè)[J].科學(xué)技術(shù)與工程,2010,10(12):2987?2991.
無論高速場(chǎng)合與低速場(chǎng)合,本系統(tǒng)都能實(shí)現(xiàn)視頻測(cè)速功能,可以直接用作超速抓拍系統(tǒng),降低了公路部門的重復(fù)投入成本。
1.6 測(cè)速方法
測(cè)速測(cè)量車輛通過測(cè)速區(qū)所用的時(shí)間,然后用測(cè)速區(qū)長(zhǎng)度除以時(shí)間而粗略估計(jì)得到。考慮到攝像機(jī)視域限制,設(shè)定的測(cè)速區(qū)域并不長(zhǎng),只有20 m左右,而且速度是用于參考載重信息是否有效的,所以無需太精確,因而可認(rèn)為車輛是直線經(jīng)過測(cè)速區(qū)域的。測(cè)速區(qū)的長(zhǎng)度需在系統(tǒng)安裝時(shí)手工進(jìn)行長(zhǎng)度映射。另外,確定通過測(cè)速區(qū)域的時(shí)間差使用幀率和幀計(jì)數(shù)得出,這樣在多線程處理的情況下,可以排除系統(tǒng)時(shí)鐘和處理速率的干擾,得出準(zhǔn)確時(shí)間差。
2 測(cè)量結(jié)果
為快速測(cè)試系統(tǒng)性能,直接使用測(cè)試視頻替代攝像機(jī)輸入。使用微軟Visual Studio 2010 MFC + OpenCV 2.44 編寫一個(gè)即時(shí)處理程序,界面如圖4所示。
圖4 運(yùn)行在Windows平臺(tái)上的系統(tǒng)
測(cè)試使用一臺(tái)Intel Core i5M處理器(主頻2.3 GHz+智能變頻技術(shù))、6 GB內(nèi)存、操作系統(tǒng)為Windows 7 64 b的普通筆記本計(jì)算機(jī),測(cè)試代碼尚未使用圖形處理器(GPU)計(jì)算,但代碼在識(shí)別部分應(yīng)用了TBB進(jìn)行多核并行加速計(jì)算。
測(cè)試視頻共兩段,分別在兩個(gè)不同的場(chǎng)景拍攝,第一段只有一輛公交車,場(chǎng)景較為簡(jiǎn)單;第二段則是多車多人環(huán)境,并且有車輛并行的情況,場(chǎng)景較為復(fù)雜,干擾較多。
第一段視頻主要用于測(cè)試系統(tǒng)的極限性能,在測(cè)試開始前,先用轉(zhuǎn)碼工具把同一段視頻轉(zhuǎn)成不同幀率和分辨率的幾段視頻,其中視頻的寬高比不變。輸入視頻測(cè)試后的結(jié)果如表1所示。
視頻原始長(zhǎng)度為6 s,雙斜線為該場(chǎng)景的稱重和測(cè)速區(qū)域。
測(cè)試結(jié)果表明:系統(tǒng)能實(shí)時(shí)處理標(biāo)清視頻流,但對(duì)高清視頻還需進(jìn)一步優(yōu)化。
第二段視頻主要測(cè)試系統(tǒng)的車型識(shí)別能力,測(cè)試數(shù)據(jù)如圖5所示。
表1 輸入視頻測(cè)試后結(jié)果
圖5 多車并行時(shí)能夠準(zhǔn)確區(qū)分
第二段視頻夾雜較多無關(guān)目標(biāo),如行人、抖動(dòng)的樹枝橫向行駛的車輛等,其中雙白線之間區(qū)域?yàn)楸緢?chǎng)景的稱重測(cè)速區(qū)域。
通過測(cè)試,可以看出無關(guān)目標(biāo)能被全部排除,體現(xiàn)了車輛篩選很好的魯棒性。視頻中共通過9輛汽車,所有車輛均本正確識(shí)別車型。
3 結(jié) 語(yǔ)
通過測(cè)試數(shù)據(jù)可以看出,本系統(tǒng)提出的車型識(shí)別算法能適應(yīng)不同場(chǎng)景和一定的環(huán)境變化,具有較高的效率和魯棒性。隨著計(jì)算機(jī)及其他數(shù)字信號(hào)處理(DSP)設(shè)備的信息處理能力不斷提高,應(yīng)用實(shí)時(shí)視頻處理技術(shù)促進(jìn)智能交通的能力將更大更穩(wěn)定。若本系統(tǒng)能真正應(yīng)用在智能交通系統(tǒng)上,有望對(duì)遏制道路超載超速現(xiàn)象做出貢獻(xiàn)。
參考文獻(xiàn)
[1] LIENHART Rainer, MAYDT Jochen. An extended set of Haar?like features for rapid object detection [J]. IEEE ICIP, 2002 (1): 900?903.
[2] 徐衛(wèi)星,王蘭英,李秀娟.一種基于OpenCV實(shí)現(xiàn)的三幀差分運(yùn)動(dòng)目標(biāo)檢測(cè)算法研究[J].計(jì)算機(jī)與數(shù)字工程,2011(11):141?144.
[3] BRADSKI G R. Computer vision face tracking for use in a perceptual user interface [EB/OL]. [2010?12?02]. http:// www.wenku.baidu.com/view/f442b24be45c3b3567ec8b2b.
[4] 張波,魯新光,鄧鐵六,等.動(dòng)態(tài)車輛稱重物理模型與提高動(dòng)態(tài)稱重準(zhǔn)確度研究[J].計(jì)量學(xué)報(bào),2009(5):426?430.
[5] 唐雙發(fā).基于OpenCV的車輛視頻檢測(cè)技術(shù)研究[D].武漢:華中科技大學(xué),2009.
[6] 詹群峰.基于OpenCV的視頻道路車輛檢測(cè)與跟蹤[D].廈門:廈門大學(xué),2009.
[7] 郭旭,張麗杰.運(yùn)動(dòng)目標(biāo)檢測(cè)視頻監(jiān)控軟件的設(shè)計(jì)與實(shí)現(xiàn)[J]. 計(jì)算機(jī)技術(shù)與發(fā)展,2010,20(8):200?207.
[8] 周品,李曉東.Matlab數(shù)字圖像處理[M].北京:清華大學(xué)出版社,2012.
[9] 陳勝勇,劉盛.基于OpenCV的計(jì)算機(jī)視覺技術(shù)實(shí)現(xiàn)[M].北京:科學(xué)出版社,2008.
[10] 劉瑞禎,于仕琪.OpenCV教程基礎(chǔ)篇[M].北京:北京航空航天大學(xué)出版社,2007.
[11] 范伊紅,彭海云,張?jiān)?基于SVM 的車型識(shí)別系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].微計(jì)算機(jī)信息,2007,23(5):296?297.
[12] 李慶忠,陳顯華,王立紅.一種視頻運(yùn)動(dòng)目標(biāo)的檢測(cè)與識(shí)別方法[J].模式識(shí)別與人工智能,2006,19(2):238?243.
[13] [美]REINDERS J, 聶雪軍. Intel Threading Building Blocks編程指南[M].北京:機(jī)械工業(yè)出版社,2009.
[14] 劉慧英,王小波.基于OpenCV的車輛輪廓檢測(cè)[J].科學(xué)技術(shù)與工程,2010,10(12):2987?2991.