盛智勇,張 翔,曲洪權(quán),鮑金玉
(北方工業(yè)大學(xué)電子信息工程學(xué)院,北京 100144)
近年來(lái),隨著經(jīng)濟(jì)的發(fā)展和城市化步伐的加快,交通需求量日益增加,汽車(chē)保有量顯著增長(zhǎng).就江蘇省而言,2015年高速公路日均車(chē)流量達(dá)240萬(wàn)輛[1].在交通環(huán)境不斷惡化的情況下,僅靠簡(jiǎn)單的人力難以進(jìn)行有效的管理和維護(hù),道路交通的智能化監(jiān)測(cè)就顯得尤為重要.傳統(tǒng)的車(chē)輛檢測(cè)技術(shù)有3種:感應(yīng)線圈檢測(cè)技術(shù)[2]、微波車(chē)輛檢測(cè)技術(shù)[3]和紅外車(chē)輛檢測(cè)技術(shù)[4].隨著圖像處理技術(shù)、機(jī)器學(xué)習(xí)理論和大數(shù)據(jù)的發(fā)展,基于視頻的車(chē)輛檢測(cè)技術(shù)在不同的環(huán)境條件下都表現(xiàn)出越來(lái)越好的實(shí)時(shí)監(jiān)測(cè)效果.但基于現(xiàn)有視頻圖像處理技術(shù)的攝像機(jī)的監(jiān)控位置固定,只能拍攝某個(gè)或幾個(gè)車(chē)道[5],很難同時(shí)檢測(cè)上/下行路段信息,且晃動(dòng)的支架會(huì)使攝像機(jī)位置偏移,嚴(yán)重影響檢測(cè)效果,筆者擬在不干擾正常路政監(jiān)控的條件下,設(shè)計(jì)一套基于智能球機(jī)的視頻車(chē)輛檢測(cè)系統(tǒng).該系統(tǒng)具有調(diào)整檢測(cè)行駛車(chē)輛空間域的功能,可以根據(jù)不同的道路覆蓋范圍進(jìn)行相應(yīng)的空間區(qū)域調(diào)整,通過(guò)監(jiān)控范圍內(nèi)的每個(gè)目標(biāo)車(chē)輛,獲得目標(biāo)車(chē)輛的行駛速度、行駛方向和當(dāng)前道路的路況信息等.
視頻車(chē)輛檢測(cè)系統(tǒng)主要是通過(guò)對(duì)路政監(jiān)控視頻的每一幀圖像進(jìn)行目標(biāo)車(chē)輛的特征提取,從而識(shí)別車(chē)輛,判定車(chē)輛大小、行駛時(shí)間和所有軌跡點(diǎn)數(shù)據(jù).利用這些數(shù)據(jù)及攝像頭位置、角度信息可以計(jì)算出目標(biāo)車(chē)輛的原始數(shù)據(jù),包括檢測(cè)路段、時(shí)間、車(chē)速和車(chē)頭時(shí)距/間距等.將固定時(shí)間間隔的所有目標(biāo)車(chē)輛原始數(shù)據(jù)輸入交通數(shù)據(jù)匯總模型,就可以得到不同匯集度下的道路交通信息.原始數(shù)據(jù)和匯總數(shù)據(jù)都會(huì)實(shí)時(shí)存入數(shù)據(jù)庫(kù)以便客戶端讀取和進(jìn)行數(shù)據(jù)可視化處理.此外,由于所使用的是路政球機(jī)監(jiān)控?cái)z像頭,路政工作人員會(huì)不定時(shí)地調(diào)整,導(dǎo)致攝像頭的角度和焦距發(fā)生改變,因此路段檢測(cè)時(shí)系統(tǒng)會(huì)開(kāi)啟攝像頭復(fù)位定時(shí)器,在固定時(shí)間間隔后訪問(wèn)攝像頭控制平臺(tái),將攝像頭調(diào)回預(yù)置位.視頻車(chē)輛檢測(cè)系統(tǒng)的平臺(tái)結(jié)構(gòu)如圖1所示.
圖1 視頻車(chē)輛檢測(cè)系統(tǒng)的平臺(tái)結(jié)構(gòu)Fig. 1 Platfrom Structure of the Video Vehicle Detection System
視頻車(chē)輛檢測(cè)系統(tǒng)以C#作為開(kāi)發(fā)語(yǔ)言,結(jié)構(gòu)上包括服務(wù)端和客戶端2個(gè)部分.服務(wù)端又劃分成若干個(gè)小功能模塊,包括命名管道[6]通信模塊、特征提取算法模塊、軌跡數(shù)據(jù)處理模塊、數(shù)據(jù)匯總模塊、數(shù)據(jù)存儲(chǔ)模塊和輔助功能模塊.系統(tǒng)功能模塊總體框架如圖2所示.
圖2 系統(tǒng)功能模塊總體框架Fig. 2 Overall System Framework of Function Module
服務(wù)端是實(shí)時(shí)檢測(cè)視頻、存儲(chǔ)及處理交通數(shù)據(jù)的核心模塊.開(kāi)啟系統(tǒng)服務(wù)端,首先會(huì)訪問(wèn)數(shù)據(jù)庫(kù),判斷數(shù)據(jù)庫(kù)是否連接成功;連接成功后進(jìn)入服務(wù)端交互界面,選擇要檢測(cè)的路段,點(diǎn)擊相應(yīng)按鈕后,服務(wù)端模塊啟動(dòng)特征提取算法模塊.因?yàn)橐曨l車(chē)輛檢測(cè)系統(tǒng)是用C#語(yǔ)言編寫(xiě),檢測(cè)算法模塊是用C++語(yǔ)言編寫(xiě),所以涉及到系統(tǒng)內(nèi)部的跨語(yǔ)言、跨線程的數(shù)據(jù)通信,從而啟動(dòng)特征提取算法模塊時(shí),會(huì)通過(guò)命名管道模塊在C++端和C#端同時(shí)創(chuàng)建命名管道連接.C#端訪問(wèn)數(shù)據(jù)庫(kù),獲取攝像頭信息,將攝像頭信息按模板順序依次轉(zhuǎn)為bit格式送入管道;C++端接收數(shù)據(jù),將bit格式的攝像頭信息按模板轉(zhuǎn)換為原格式的數(shù)據(jù)送入算法模塊.與此同時(shí),C++端調(diào)用VLC的SDK(軟件開(kāi)發(fā)包)用以獲取實(shí)時(shí)視頻碼流,將碼流以MAT格式存放到內(nèi)存中,隨后送入檢測(cè)算法.
檢測(cè)算法首先對(duì)輸入的圖像進(jìn)行顏色空間歸一化處理,然后提取其HOG特征,并對(duì)提取的特征進(jìn)行分類檢測(cè).檢測(cè)出目標(biāo)車(chē)輛后,將車(chē)輛的中心點(diǎn)作為軌跡點(diǎn)通過(guò)命名管道回傳給C#端.軌跡數(shù)據(jù)處理模塊根據(jù)軌跡點(diǎn)的坐標(biāo)和檢測(cè)時(shí)間計(jì)算出車(chē)輛速度,并緩存這些軌跡點(diǎn)信息,便于計(jì)算車(chē)頭時(shí)距/間距等信息.數(shù)據(jù)匯總模塊利用系統(tǒng)緩存的原始數(shù)據(jù),在不同時(shí)間間隔將間隔內(nèi)的數(shù)據(jù)匯總為不同密集度下的路段信息,并實(shí)時(shí)存入數(shù)據(jù)庫(kù).
客戶端模塊在開(kāi)啟后每5 s掃1次數(shù)據(jù)庫(kù),以獲取實(shí)時(shí)數(shù)據(jù)并顯示在客戶端界面.為了確保系統(tǒng)的穩(wěn)定性和可維護(hù)性,筆者設(shè)置了日志管理機(jī)制.當(dāng)系統(tǒng)因程序內(nèi)部問(wèn)題發(fā)生異常和錯(cuò)誤時(shí),程序會(huì)自動(dòng)將錯(cuò)誤信息存在配置文件中,維護(hù)人員可以通過(guò)日志快速定位問(wèn)題所在,使系統(tǒng)在短時(shí)間內(nèi)恢復(fù)正常運(yùn)行.
2.1.1 命名管道通信模塊 因視頻車(chē)輛檢測(cè)系統(tǒng)中車(chē)輛的檢測(cè)模塊用C++編寫(xiě),整個(gè)系統(tǒng)框架用C#實(shí)現(xiàn),故存在跨語(yǔ)言、跨進(jìn)程的通信,而基于命名管道的通信機(jī)制能夠很好地解決系統(tǒng)進(jìn)程間通信的問(wèn)題.命名管道是通過(guò)網(wǎng)絡(luò)來(lái)完成進(jìn)程間的通信,它屏蔽了底層的網(wǎng)絡(luò)協(xié)議細(xì)節(jié).將命名管道作為一種網(wǎng)絡(luò)編程方案時(shí),它實(shí)際上建立了一個(gè)C/S通信體系,并在其中可靠地傳輸數(shù)據(jù).命名管道提供了2種基本通信模式,即字節(jié)模式和消息模式.在字節(jié)模式中,數(shù)據(jù)以連續(xù)的字節(jié)流的形式在客戶機(jī)和服務(wù)器之間流動(dòng);在消息模式中,客戶機(jī)和服務(wù)器通過(guò)一系列不連續(xù)的數(shù)據(jù)單位進(jìn)行數(shù)據(jù)的收發(fā),每次在管道上發(fā)出一條消息后,必須作為一條完整的消息讀入.視頻車(chē)輛檢測(cè)系統(tǒng)中C#端命名管道是唯一有權(quán)創(chuàng)建命名管道的進(jìn)程,也只有它才能接受C++端管道的連接請(qǐng)求,而C++端管道只能與一個(gè)現(xiàn)成的C#端命名管道建立連接,并通過(guò)字節(jié)模式發(fā)送連續(xù)的字節(jié)流傳遞實(shí)時(shí)數(shù)據(jù).C#與C++通信流程如圖3所示.
圖3 C#與C++通信流程Fig. 3 C# and C++ Communication Process
圖4 單次寫(xiě)入管道的數(shù)據(jù)格式Fig. 4 Data Format for Single Writing Pipe
筆者在借鑒Socket通信方式,對(duì)命名管道通信進(jìn)行了一些調(diào)整.當(dāng)程序啟動(dòng)時(shí)服務(wù)端檢測(cè)線程會(huì)調(diào)用CreateNamedPipe函數(shù)來(lái)創(chuàng)建一個(gè)名為PipeServer的命名管道;CreateNamedPipe函數(shù)成功返回后,服務(wù)端進(jìn)程得到一個(gè)指向一個(gè)命名管道實(shí)例的句柄;隨后,C#服務(wù)端進(jìn)程調(diào)用ConnectNamedPipe函數(shù)來(lái)等待C++端的連接請(qǐng)求,當(dāng)該函數(shù)返回時(shí),C++端和C#端之間就建立了命名管道連接.建立連接之后,線程讀取數(shù)據(jù)庫(kù)中的攝像頭參數(shù)信息,并將其轉(zhuǎn)換為字節(jié)的類型寫(xiě)入管道.單次寫(xiě)入管道的數(shù)據(jù)格式如圖4所示.
寫(xiě)入管道前,命名管道通信模塊會(huì)獲取數(shù)據(jù)庫(kù)中的攝像頭參數(shù)信息.先計(jì)算string類型的數(shù)據(jù)長(zhǎng)度,存儲(chǔ)為整型并寫(xiě)入比特?cái)?shù)組,再向比特?cái)?shù)組寫(xiě)入string類型數(shù)據(jù)和整型數(shù)據(jù).當(dāng)C++端讀取到管道中的比特?cái)?shù)組后,根據(jù)C#端寫(xiě)入的數(shù)據(jù)格式還原原始數(shù)據(jù),進(jìn)而送入算法模塊.在檢測(cè)識(shí)別之后,將計(jì)算得到的車(chē)輛軌跡信息在C++端寫(xiě)入管道,由C#端讀取并送入軌跡數(shù)據(jù)處理模塊.
2.1.2 特征提取算法模塊 視頻車(chē)輛檢測(cè)系統(tǒng)通過(guò)命名管道的通信方式,將特征提取算法模塊與數(shù)據(jù)處理模塊獨(dú)立開(kāi)來(lái)進(jìn)行通信交互.特征提取模塊先對(duì)獲取的視頻流作預(yù)處理,再提取視頻中車(chē)輛檢測(cè)的ROI區(qū)域,對(duì)該區(qū)域進(jìn)行HOG特征提取,并根據(jù)提取的特征檢測(cè)出跟蹤圖像的軌跡信息.特征提取算法模塊流程如圖5所示.
在視頻流的預(yù)處理中,VLC獲取實(shí)時(shí)傳輸?shù)腞TSP視頻碼流,并將其放入內(nèi)存緩沖區(qū).通過(guò)dumux模塊分解碼流中的視頻和音頻,隨后將分解出來(lái)的音/視頻流分別送往音/視頻解碼器中進(jìn)行解碼,并判斷解碼的幀圖像分辨率是否達(dá)到預(yù)設(shè)分辨率,圖像分辨率高于預(yù)設(shè)分辨率時(shí)需要對(duì)圖像進(jìn)行壓縮處理.
經(jīng)過(guò)視頻幀圖像的預(yù)處理后,人為劃定視頻的ROI檢測(cè)區(qū)域(圖6).ROI檢測(cè)區(qū)域是檢測(cè)跟蹤的實(shí)際檢測(cè)區(qū)域,區(qū)域內(nèi)會(huì)顯示車(chē)輛的矩形檢測(cè)框和跟蹤軌跡.將ROI檢測(cè)區(qū)域內(nèi)的圖像數(shù)據(jù)輸入HOG特征提取算法,與此同時(shí)保存檢測(cè)算法的參數(shù).
圖5 特征提取算法模塊流程Fig. 5 Module Process of Feature Extraction Algorithm
圖6 ROI檢測(cè)區(qū)域Fig. 6 ROI Detection Area
圖7 特征提取算法流程Fig. 7 Feature Extraction Algorithm Process
實(shí)際應(yīng)用中,道路中的光照情況是不斷變化的,包括明暗、方向和陰影的改變,這對(duì)檢測(cè)算法的光學(xué)形變適應(yīng)性提出了很高的要求.首先,對(duì)于HOG描述子,因?yàn)橹惶崛D像的局部特征,所以它對(duì)圖像幾何的和光學(xué)的形變都能保持良好的不變性.其次,在粗空域抽樣、精細(xì)的方向抽樣和較強(qiáng)的局部光學(xué)歸一化等條件下,算法允許目標(biāo)車(chē)輛有角度的變化,這些細(xì)微的變化不影響檢測(cè)效果,可以忽略.LBP特征描述圖像局部紋理特征的算子,具有旋轉(zhuǎn)不變性和灰度不變性等顯著的優(yōu)點(diǎn).Haar特征只對(duì)一些簡(jiǎn)單的圖形結(jié)構(gòu)(如邊緣和線段)較敏感,故只能描述特定走向(水平、垂直和對(duì)角)的結(jié)構(gòu).因此,HOG特征是最符合視頻車(chē)輛檢測(cè)系統(tǒng)的特征提取的方法.HOG特征檢測(cè)算法[7]是表征圖像局部梯度方向和梯度強(qiáng)度分布特性的描述符,它是利用邊緣方向的分布來(lái)表示目標(biāo)車(chē)輛的外形輪廓,通過(guò)特征向量檢測(cè)目標(biāo)位置.特征提取算法流程如圖7所示.
HOG特征向量中隱含了特征提取算法模塊與檢測(cè)窗口之間的空間位置關(guān)系,根據(jù)位置關(guān)系可以確定目標(biāo)車(chē)輛在該幀圖像中的坐標(biāo)信息.將圖像坐標(biāo)信息保存在數(shù)組中,在判斷同一目標(biāo)移出檢測(cè)區(qū)域后,再將該目標(biāo)的軌跡信息通過(guò)命名管道送入軌跡數(shù)據(jù)處理模塊.
圖8 軌跡信息處理流程Fig. 8 Process of Trajectory Information Processing
2.1.3 軌跡數(shù)據(jù)處理模塊 視頻車(chē)輛檢測(cè)系統(tǒng)處理的數(shù)據(jù)包括每隔5 s刷新的上/下行車(chē)流量、上/下行平均速度、路段的平均車(chē)頭時(shí)距/間距,這些參數(shù)需要根據(jù)每個(gè)目標(biāo)車(chē)輛的平均速度和兩車(chē)間的時(shí)間及距離來(lái)計(jì)算.首先,從軌跡信息數(shù)組中獲取目標(biāo)車(chē)輛軌跡持續(xù)時(shí)間和軌跡在圖像坐標(biāo)中出現(xiàn)的距離,通過(guò)數(shù)據(jù)庫(kù)中的攝像頭位置和角度信息計(jì)算圖像檢測(cè)區(qū)域?qū)?yīng)世界坐標(biāo)系的實(shí)際距離,由軌跡持續(xù)時(shí)間和實(shí)際距離計(jì)算目標(biāo)車(chē)輛速度;然后,對(duì)5 s內(nèi)所有車(chē)輛的平均速度求算數(shù)平均值,得到路段平均車(chē)速;最后,利用當(dāng)前的車(chē)輛時(shí)刻和緩存的前車(chē)時(shí)刻計(jì)算車(chē)頭時(shí)距,由車(chē)輛速度和車(chē)頭時(shí)距計(jì)算車(chē)頭間距.軌跡信息處理流程如圖8所示.
為了展示檢測(cè)效果,客戶端播放檢測(cè)視頻時(shí)會(huì)實(shí)時(shí)顯示目標(biāo)車(chē)輛跟蹤畫(huà)框,同時(shí)在檢測(cè)框的左上角顯示車(chē)流量,該車(chē)流量為檢測(cè)算法開(kāi)啟到現(xiàn)在統(tǒng)計(jì)的車(chē)流總量.其中,軌跡點(diǎn)為檢測(cè)框的中心點(diǎn),能直觀地展示車(chē)輛行駛路徑和檢測(cè)穩(wěn)定性.
2.1.4 數(shù)據(jù)匯總模塊 不同匯集度的路段統(tǒng)計(jì)數(shù)據(jù)對(duì)道路規(guī)劃管理和通行能力評(píng)估有重要意義,因此視頻車(chē)輛檢測(cè)系統(tǒng)需要利用目標(biāo)車(chē)輛的信息進(jìn)行不同密集度下的數(shù)據(jù)匯總,并將這些數(shù)據(jù)存儲(chǔ)在數(shù)據(jù)庫(kù)中.客戶需要查詢時(shí),可以在客戶端訪問(wèn)數(shù)據(jù)庫(kù),檢索所需數(shù)據(jù).
交通量是在給定時(shí)間間隔內(nèi),通過(guò)一條車(chē)道、道路某一點(diǎn)或某一斷面的車(chē)輛總數(shù).交通量可以按年、日、小時(shí)或不足 1 h的時(shí)間間隔來(lái)計(jì)量.在視頻車(chē)輛檢測(cè)系統(tǒng)中,車(chē)流增量為單位時(shí)間內(nèi)車(chē)輛的累計(jì)數(shù)量,即交通應(yīng)用中的交通量.
流率是在給定的不足 1 h的時(shí)間間隔(通常為 15 min)內(nèi),車(chē)輛通過(guò)一條車(chē)道、道路某一點(diǎn)或某一斷面的當(dāng)量小時(shí)流率.視頻車(chē)輛檢測(cè)系統(tǒng)中每隔5 min統(tǒng)計(jì)1次流率,即5 min內(nèi)觀測(cè)到的車(chē)輛數(shù)除以觀測(cè)時(shí)間(單位h).考慮到在通行能力分析中高峰流率至關(guān)重要,因此在匯總1 h數(shù)據(jù)時(shí),存儲(chǔ)的流率為每隔5 min計(jì)算出的流率的最大值,即高峰流率,在匯總1 d數(shù)據(jù)時(shí)存儲(chǔ)1 d內(nèi)的高峰流率.
圖9 原始數(shù)據(jù)存儲(chǔ)流程Fig. 9 Raw Data Storage Process
2.1.5 數(shù)據(jù)存儲(chǔ)模塊 視頻車(chē)輛檢測(cè)系統(tǒng)所計(jì)算的數(shù)據(jù)包括目標(biāo)車(chē)輛信息和軌跡信息,以及不同匯集度下的路段信息都會(huì)實(shí)時(shí)存入數(shù)據(jù)庫(kù).在存儲(chǔ)目標(biāo)車(chē)輛原始數(shù)據(jù)時(shí),由于系統(tǒng)是每隔5 s提取1次特征進(jìn)行分析,因此在2個(gè)相鄰的5 s交替時(shí),會(huì)有同一輛車(chē)的行駛軌跡分布于2個(gè)5 s中,這就需要系統(tǒng)能自動(dòng)分辨是否為同一車(chē)輛的軌跡信息,并將已經(jīng)存入數(shù)據(jù)庫(kù)中的上一個(gè)5 s的信息更新為完整的目標(biāo)車(chē)輛數(shù)據(jù).原始數(shù)據(jù)存儲(chǔ)流程如圖9所示.
圖10 客戶端模塊工作流程Fig. 10 Client Module Working Process
客戶端模塊是一個(gè)面向用戶的交互界面.用戶可以在客戶端中選擇路段,查看實(shí)時(shí)檢測(cè)跟蹤畫(huà)面,同時(shí)可以查詢?nèi)范螌?shí)時(shí)信息和歷史信息.客戶端提供了攝像頭云臺(tái)控制功能,便于調(diào)整攝像頭角度和焦距,同時(shí)檢測(cè)區(qū)域也可以根據(jù)實(shí)際需求手動(dòng)更改.用戶點(diǎn)擊“開(kāi)始檢測(cè)”按鈕后,程序會(huì)自動(dòng)調(diào)用檢測(cè)算法模塊.首先利用VLC模塊接收視頻碼流并解碼,然后根據(jù)從數(shù)據(jù)庫(kù)中獲取的攝像頭信息進(jìn)行特征提取,最后將提取出的軌跡點(diǎn)通過(guò)命名管道送給客戶端控件實(shí)時(shí)顯示.當(dāng)客戶需要查看多路檢測(cè)信息時(shí),程序會(huì)從數(shù)據(jù)庫(kù)中讀取服務(wù)端計(jì)算的多路檢測(cè)結(jié)果,在客戶端以5 s為間隔刷新顯示.客戶端模塊的工作流程如圖10所示.
客戶端操作界面如圖11所示.客戶端開(kāi)啟后可以選擇某路段來(lái)查看檢測(cè)效果,檢測(cè)目標(biāo)用不同顏色的矩形框跟蹤顯示,同時(shí)利用分析所得的數(shù)據(jù)繪制折線圖,直觀地了解當(dāng)前時(shí)段流量的趨勢(shì)和整體路段的車(chē)速分布.用戶點(diǎn)擊“路段信息”按鈕后,可以查看服務(wù)器監(jiān)測(cè)的所有路段信息.歷史數(shù)據(jù)功能可以按不同匯集度來(lái)查詢歷史數(shù)據(jù).
客戶端采用的是Winform開(kāi)發(fā)框架,該框架能夠減少系統(tǒng)開(kāi)發(fā)過(guò)程中編寫(xiě)界面的代碼量和工作量,Model自動(dòng)生成、界面和控件自動(dòng)生成、簡(jiǎn)單的邏輯自動(dòng)生成,都極大地提升了系統(tǒng)開(kāi)發(fā)效率.同時(shí),開(kāi)發(fā)過(guò)程中可以自己定義、重寫(xiě)控件和UI.客戶端的重點(diǎn)是數(shù)據(jù)可視化,對(duì)于Winform而言,數(shù)據(jù)管理有很大的優(yōu)勢(shì)和便捷性,可以很方便地顯示由服務(wù)端處理的實(shí)時(shí)數(shù)據(jù),并對(duì)數(shù)據(jù)進(jìn)行操作.
圖11 客戶端操作界面Fig. 11 Client Interface of Vehicle Detection System
視頻車(chē)輛檢測(cè)系統(tǒng)在江蘇省徐州市公路處針對(duì)一系列復(fù)雜情況進(jìn)行了測(cè)試并長(zhǎng)時(shí)間運(yùn)行.運(yùn)行環(huán)境配置列于表1.由于系統(tǒng)服務(wù)器需要同時(shí)檢測(cè)4~6路視頻,因此在測(cè)試階段先考慮CPU使用率和內(nèi)存使用率(表2).
表1 系統(tǒng)運(yùn)行環(huán)境配置Table 1 Operating Enviroment Configuration of System
表2 系統(tǒng)的性能Table 2 System Performance
由表2可知:在同時(shí)檢測(cè)6路視頻的情況下,CPU使用率相對(duì)于檢測(cè)1路視頻沒(méi)有呈直線上升趨勢(shì),反而在增加檢測(cè)路段時(shí)每一路所增加的消耗有所降低;內(nèi)存使用率僅比未開(kāi)啟系統(tǒng)時(shí)增加1%;單幀檢測(cè)時(shí)間也在允許范圍內(nèi)變化.這說(shuō)明系統(tǒng)的性能及穩(wěn)定性完全滿足公路處的實(shí)際需求.
在系統(tǒng)整體功能完善后,筆者作了大量的現(xiàn)場(chǎng)測(cè)試和對(duì)比.選取徐州市G104三環(huán)段k786.7下行路段,使用視頻車(chē)輛檢測(cè)系統(tǒng)、車(chē)流量統(tǒng)計(jì)平臺(tái)[9]和路政測(cè)速槍以0.5 h為間隔統(tǒng)計(jì)流量和檢測(cè)車(chē)速.為了確保統(tǒng)計(jì)結(jié)果的精準(zhǔn)性,在不同的路段和時(shí)段重復(fù)檢測(cè)25次,再求算數(shù)平均值,得到流量統(tǒng)計(jì)準(zhǔn)確率和車(chē)速檢測(cè)準(zhǔn)確率(表3).
表3 3種檢測(cè)方法的流量統(tǒng)計(jì)和車(chē)速檢測(cè)的準(zhǔn)確率Table 3 Comparison of Accuracy in Vehicle Flow and Speed Detection by Three Methods %
由于車(chē)流量統(tǒng)計(jì)平臺(tái)不具備其他道路信息統(tǒng)計(jì)功能,包括不同時(shí)間顆粒度下的上/下行車(chē)速、流量、密度、車(chē)頭時(shí)距/間距和車(chē)道占有率的檢測(cè)與匯總,因此無(wú)法獲得車(chē)速檢測(cè)準(zhǔn)確率.由表3可知:相比于車(chē)流量統(tǒng)計(jì)平臺(tái),視頻車(chē)輛檢測(cè)系統(tǒng)的流量統(tǒng)計(jì)準(zhǔn)確率更高;相比于路政測(cè)速槍,視頻車(chē)輛檢測(cè)系統(tǒng)的車(chē)速檢測(cè)準(zhǔn)確率更高.
在不影響正常路政監(jiān)控工作的情況下,筆者設(shè)計(jì)了一套基于智能球機(jī)的視頻車(chē)輛檢測(cè)系統(tǒng).先利用提取出的HOG特征確定車(chē)輛軌跡,再利用軌跡信息計(jì)算車(chē)輛和路段整體信息,成功實(shí)現(xiàn)了實(shí)時(shí)交通視頻處理和交通數(shù)據(jù)交互,有效提高了道路管理能力和路政應(yīng)急效率.
值得注意的是,雖然視頻車(chē)輛檢測(cè)系統(tǒng)總體性能滿足路政需求,但是也存在漏檢或誤檢的情況.漏檢的主要原因是,車(chē)流量較大時(shí)車(chē)與車(chē)之間的間距很小,車(chē)輛有遮擋現(xiàn)象,此時(shí)相鄰的2輛車(chē)可能被檢測(cè)成同一目標(biāo),系統(tǒng)只計(jì)數(shù)1次,導(dǎo)致統(tǒng)計(jì)的車(chē)流量比實(shí)際流量小.誤檢的主要原因是,某車(chē)較長(zhǎng)時(shí)其后車(chē)廂與車(chē)頭的特征極相似,此時(shí)可能會(huì)判定這是2輛不同的車(chē).筆者會(huì)針對(duì)漏檢和誤檢的情況進(jìn)一步完善系統(tǒng),以提高檢測(cè)的準(zhǔn)確率和穩(wěn)定性.