基于機器視覺的公路車流量檢測系統(tǒng)研究
摘要: 智能交通系統(tǒng)中需要的關(guān)鍵數(shù)據(jù)為道路的占有率、車流量、行車速度等。本文介紹了基于TMS320DM642的數(shù)字圖像車流量檢測系統(tǒng),闡明了該嵌入式視覺系統(tǒng)的硬件組成原理及軟件結(jié)構(gòu)和車流量檢測算法。系統(tǒng)與現(xiàn)有的信號機聯(lián)調(diào)測試,證明其識別率高、體積小、成本低、實時性好,能實時檢測公路的車流量信息。 1、引言 隨著人口數(shù)量的增長,給交通帶來的壓力越來越大,智能交通系統(tǒng)成為近些年研究的熱點。車流量檢測是智能交通的基礎(chǔ)部分,在系統(tǒng)中占有重要地位。目前有多種方法檢測車流量,例如:電磁感應(yīng)裝置法和車流信息的超聲波檢測法。而實際上,前進(jìn)中的車輛速度、種類始終變化,所以普遍存在反射信號不穩(wěn)定,測量誤差大的問題。與以上方法相比,基于視頻的車流量檢測方法具有許多優(yōu)點:1、從視頻圖像中提取可靠信息,完成道路交通的監(jiān)視工作,可提高道路、車輛的自動化程度。2、交通監(jiān)視控制系統(tǒng)中安裝的視頻攝像機比安裝其它傳感器更經(jīng)濟、且破壞性低。3、實際道路交通系統(tǒng)中已經(jīng)安裝了許多攝像機用于道路交通監(jiān)視和控制,可一舉兩得。 現(xiàn)有的傳統(tǒng)視頻檢測方法基于工控機,其算法成熟,且已形成相關(guān)產(chǎn)品。但其也有缺點:1、是由于通用CPU沒有專用的硬件乘法器,故很難實現(xiàn)圖像的時實性處理。2、是采用通用工控機,運行Windows系統(tǒng),成本高,要時刻關(guān)心機器有沒死機,系統(tǒng)有沒感染病毒,操作系統(tǒng)的補丁升級等問題。基于以上兩點,本文提出了基于TMS320DM642(以后簡稱為DM642 )的嵌入式圖像識別方案,解決了存在的問題。 2、車流量檢測系統(tǒng)的原理與組成 2.1車流量檢測系統(tǒng)的工作原理 車流量檢測系統(tǒng)是由視頻采集、車流量數(shù)字視頻信號處理、不同環(huán)境下車流量檢測算法、以及車流量檢測結(jié)果輸出等幾部分組成。數(shù)字圖像采集部分的核心芯片是TVP5150,它可將模擬視頻信號轉(zhuǎn)換為數(shù)字視頻信號。DM642運行圖像算法對采集進(jìn)來的圖像進(jìn)行數(shù)字圖像處理。車流量數(shù)字視頻檢測算法白天主要是使用改進(jìn)后的幀差法進(jìn)行運動檢測,夜間使用車燈檢測法。按照車道將采集到的公路圖像化分為四部分,每部分對應(yīng)一條車道。在每條車道中開設(shè)一個虛擬線圈(指圖像中一個矩形檢測區(qū)域,統(tǒng)稱為虛擬線圈),當(dāng)有車壓過虛擬線圈時會引起虛擬線圈內(nèi)像素值發(fā)生變化。根據(jù)此變化控制I/O口產(chǎn)生每條車道的相應(yīng)脈沖,處理后發(fā)出脈沖給公路交通信號機,控制交通燈,從而達(dá)到實現(xiàn)智能交通的目的。同時,可以通過網(wǎng)絡(luò)將車流量信息傳到監(jiān)控中心。 2.2車流量檢測系統(tǒng)硬件 DM642是德州儀器公司專門為多路視頻輸入輸出設(shè)計的數(shù)字信號處理芯片。其運算功能強大,建立在第二代高性能超長指令字結(jié)構(gòu)上,可以8條指令并行執(zhí)行,使這款芯片非常適用于數(shù)字圖像處理。考慮到實際工作的要求和系統(tǒng)的穩(wěn)定性,將DM642的主頻設(shè)置為600MHz。根據(jù)實際應(yīng)用環(huán)境和嵌入式系統(tǒng)的需要,系統(tǒng)除了擴展了系統(tǒng)必須的存儲器部分和視頻采集回放部分外,主要擴展了多路數(shù)字I/O和異步串口以及網(wǎng)絡(luò)接口功能,方便系統(tǒng)與外部通信。具體硬件實物如圖1所示。說明如下:1、外擴SDRAM,容量為4M×64位;2、外擴Flash,容量為4M×8位;3、2路PAL/NTSC標(biāo)準(zhǔn)模擬視頻輸入(CVBS或S端子),1路PAL/NTSC標(biāo)準(zhǔn)模擬視頻輸出;4、 通過CPLD擴展8路數(shù)字I/O口,用于輸出車道上車流的信息;5、2路UART接口,接口標(biāo)準(zhǔn)RS232/RS422/RS485可配置;6、實時時鐘RTC+看門狗電路;7、10M/100Mbase-TX標(biāo)準(zhǔn)以太網(wǎng)接口。 圖1 硬件實物圖 圖2系統(tǒng)組成圖 系統(tǒng)組成如圖2所示,在圖中TMS320DM642通過64位寬的EMIF總線擴展外部存儲器部分,包括32Mbytes的同步的DRAM,用于存放實際運行時用戶代碼和圖像數(shù)據(jù)。4M的Flash用于存放bootloader,以及用戶的應(yīng)用程序,啟動時將FLASH中的代碼和數(shù)據(jù)加載到內(nèi)存中(SDRAM中),用戶對與虛擬線圈的配置參數(shù)也可以存放在FLASH中。SDRAM的數(shù)據(jù)寬度為64位,F(xiàn)LASH的數(shù)據(jù)寬度為8位,分別對應(yīng)TMS320DM642的CE0和CE1空間。同樣地,通用異步收發(fā)器UART和CPLD也是通過EMIF總線與DM642相連。UART用來擴展串口,本系統(tǒng)中可用其擴展了RS232接口。CPLD用來實現(xiàn)FLASH和UART的粘合邏輯及擴展通用數(shù)字I/O。為了方便軟件的實現(xiàn),本系統(tǒng)中將這兩部分也連接到了DM642的CE1空間,其內(nèi)部寄存器作為CE1存儲空間的一部分。 為了統(tǒng)計十字路口車流量的信息,本系統(tǒng)設(shè)計了兩路模擬視頻輸入。系統(tǒng)將攝像頭采集得模擬視頻信號由TVP5150按ITU-R BT.656轉(zhuǎn)化為數(shù)字視頻流,內(nèi)嵌同步信號發(fā)送到DM642的VP1口和VP2口上。圖像的行同步、場同步信號均內(nèi)嵌在視頻數(shù)據(jù)流中的EAV和SAV時基信號中,視頻口只需要視頻采樣時鐘和采樣使能信號即可。DM642可通過FIFO實現(xiàn)數(shù)字視頻圖像三幀連續(xù)采集,當(dāng)有一幀圖像正在處理時,其它兩個緩沖區(qū)還可以實現(xiàn)圖像的循環(huán)采集,從而解決了恒速的視頻采集與變速的圖像處理之間的矛盾。本系統(tǒng)擴展了一路視頻輸出,用于本地回放,當(dāng)系統(tǒng)調(diào)試完畢后此部分功能可以不使用。視頻輸出由Phillips公司的SAA7121芯片實現(xiàn)。SAA7121將DM642的VP0口傳出的數(shù)字視頻信號轉(zhuǎn)化為PAL(50Hz)制式或者NTSC(60Hz)制式模擬信號送外接視頻口輸出。 3、軟件部分 3.1 車流量統(tǒng)計算法 由于白天和晚上路面光強變化非常大,這對算法的適應(yīng)性提出了更高的要求,為了能全天得到車流量的信息,所以整個算法將白天和晚上分別開來處理。程序結(jié)合當(dāng)時光線的不同情況,對兩種算法進(jìn)行自動的切換,從而保障整個算法的運行環(huán)境。 3.1.1 虛擬線圈的選取: 虛擬線圈的選取關(guān)系到檢測算法的精度和速度,并且受到攝像頭安裝的高度和傾角,以及攝像頭景深的影響。一般情況下,虛擬線圈靠近圖像底部的位置,車輛的間距較大,便于檢測。虛擬線圈越大,相對檢測精度就越高,相應(yīng)的算法執(zhí)行的時間也會越長。由于整個系統(tǒng)要適應(yīng)各種路口、路面,所以虛擬線圈的選取交給了用戶。我們用VC6.0開發(fā)了PC機軟件,用戶使用此軟件,通過串口,對各個車道的虛擬線圈的大小和位置進(jìn)行設(shè)置。 3.1.2相鄰檢測幀的時間間隔: 由于整個系統(tǒng)要與信號機通信,所以要求我們處理每條道路上圖像的總時間不能超過0.25秒。這里選取每幀相隔0.125秒。 3.1.3車流量檢測算法www.51kaifa.com/html/jswz 由于白天車流量檢測算法已經(jīng)在工控機上有很成熟的應(yīng)用, 在此就不再贅述。晚上的路面能見度比較低,算法主要是對車燈的識別。在晚上,車燈有很強的亮度,所以只要能正確的檢測到車燈就可以進(jìn)行車輛的測量。算法的干擾來自路面對車燈發(fā)出來的光線的反射。通過使用Matlab仿真試驗后發(fā)現(xiàn),二值化去噪以后,圖像的亮斑基本上是車燈的形狀,而路面反光區(qū)向前發(fā)散,據(jù)此可以通過檢測窗上亮斑的形狀特征來識別車燈和路面反光區(qū)。對圖像二值化的閾值選取是通過大津法得到的,與經(jīng)驗法相比,大津法是通過計算方差得到閾值,環(huán)境適應(yīng)能力比較強,但這也增加了算法的時間和空間復(fù)雜度。圖像去噪是使用3*3的中值濾波器,我們對其進(jìn)行了快速算法的改進(jìn),并且只對虛擬線圈進(jìn)行。 采集到路面原始灰度圖像如圖3,圖 |