張新宇 薛璐坤 趙靜娜 杜曉松 張一然 王昭博
摘要:隨著我國(guó)經(jīng)濟(jì)的高速發(fā)展,交通道路和車(chē)輛運(yùn)輸也發(fā)展的越來(lái)越快,在給社會(huì)經(jīng)濟(jì)和人們的生活帶來(lái)了很大的提高的同時(shí),汽車(chē)數(shù)量也急劇增加,給交通和治安帶來(lái)了很多問(wèn)題。從而車(chē)輛視頻圖像的檢測(cè)和跟蹤系統(tǒng)得到了越來(lái)越多的重視。該項(xiàng)目將提出一種基于網(wǎng)絡(luò)的車(chē)輛視頻圖像的檢測(cè)和跟蹤系統(tǒng),實(shí)現(xiàn)多用戶對(duì)車(chē)輛流通信息的實(shí)時(shí)查詢(xún)。該系統(tǒng)主要由三部分組成:利用攝像頭對(duì)車(chē)輛視頻采集;借助于OpenCV算法庫(kù)對(duì)車(chē)輛識(shí)別和檢測(cè);網(wǎng)站前臺(tái)界面的具體實(shí)現(xiàn)。該系統(tǒng)可以廣泛地應(yīng)用于道路和小區(qū)的車(chē)輛信息的檢測(cè)、統(tǒng)計(jì)和分析,具有一定的發(fā)展前景。
關(guān)鍵詞:網(wǎng)站;OpenCV;檢測(cè);跟蹤;識(shí)別
中圖分類(lèi)號(hào):TP391 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2015)15-0046-03
Abstract: With the rapid development of China's economy, the increasingly development of traffic and transport brings enormous improvement to the social economy as well as peoples living standards, at the same time the number of cars also has increased dramatically, which causes a lot of problems to traffic and public security . Thus, vehicle detection and tracking system based on videos and images has received more and more attention. This project presents the vehicle detection and tracking system based on videos and images using network, implementing multi-user real-time query of vehicle flow information. This system mainly consists of three parts: using camera on vehicle video acquisition; recognizing and detecting vehicles with the aid of the OpenCV algorithms library; implementing the front interface of a web site. This system can be widely used on road and communitys vehicles detection, statistics and analysis of information, which has a broad development prospects to some extent.
Key words: internet; OpenCV; detection; tracking;recognizing
傳統(tǒng)的車(chē)輛視頻監(jiān)控的方式具有局限性,當(dāng)攝像頭布置好后,需要設(shè)置一間監(jiān)控室,通過(guò)人員輪流值班負(fù)責(zé)觀看監(jiān)控。針對(duì)傳統(tǒng)的車(chē)輛監(jiān)控系統(tǒng)在實(shí)際應(yīng)用中的不足,本系統(tǒng)結(jié)合無(wú)線網(wǎng)絡(luò)[1]實(shí)現(xiàn)了對(duì)遠(yuǎn)端車(chē)流量監(jiān)控,實(shí)現(xiàn)多用戶對(duì)車(chē)輛流通信息的實(shí)時(shí)查詢(xún),打破了以往視頻監(jiān)控地域的局限性,方便進(jìn)行道路車(chē)輛實(shí)時(shí)監(jiān)控、跟蹤、查看。
1 系統(tǒng)介紹
本系統(tǒng)主要由三部分組成:基于攝像頭的車(chē)輛視頻采集;基于OpenCV函數(shù)庫(kù)的車(chē)輛識(shí)別和車(chē)流量計(jì)算;網(wǎng)站前臺(tái)界面的具體實(shí)現(xiàn)。下面是每個(gè)部分的簡(jiǎn)單介紹:
1)利用攝像頭監(jiān)控車(chē)輛,得到車(chē)輛視頻,然后將車(chē)輛視頻傳輸給服務(wù)器,以進(jìn)行后繼的處理。在車(chē)輛識(shí)別區(qū),使用采用背景差分的視頻檢測(cè)方法來(lái)實(shí)時(shí)檢測(cè)車(chē)輛,通過(guò)背景差分將車(chē)輛從背景中分離出來(lái)。為了提高檢測(cè)精度,需要在開(kāi)始前對(duì)圖像進(jìn)行處理以便提高識(shí)別效率。通過(guò)車(chē)輛檢測(cè)、圖像分割、形心跟蹤算法實(shí)現(xiàn)車(chē)輛的跟蹤。車(chē)牌識(shí)別部分分為兩個(gè)部分:車(chē)牌檢測(cè)和字符識(shí)別。通過(guò)車(chē)牌定位,車(chē)牌判讀識(shí)別車(chē)牌,然后通過(guò)灰度化,二值化,使用一系列算法獲取到車(chē)牌的每個(gè)字符的分割圖塊。通過(guò)神經(jīng)網(wǎng)絡(luò)比對(duì),識(shí)別車(chē)牌。
2)算法部分本系統(tǒng)采用了Intel公司資助的一種用于數(shù)字圖像處理和計(jì)算機(jī)視覺(jué)的函數(shù)庫(kù)OpenCV,在圖像預(yù)處理方面省去很多底層代碼的編寫(xiě)。利用OpenCV的運(yùn)動(dòng)物體跟蹤的數(shù)據(jù)結(jié)構(gòu)、函數(shù)庫(kù),建立了一個(gè)視頻車(chē)輛分析系統(tǒng),用于道路上車(chē)輛的檢測(cè)與跟蹤。
3)網(wǎng)站前臺(tái)界面的具體實(shí)現(xiàn):對(duì)于監(jiān)控和跟蹤到的信息,本系統(tǒng)將利用網(wǎng)絡(luò)傳輸?shù)娇蛻舳私缑?,用戶訪問(wèn)客戶端界面對(duì)車(chē)輛信息進(jìn)行實(shí)時(shí)查詢(xún)。系統(tǒng)結(jié)構(gòu)圖如圖1。
2 服務(wù)器端
2.1 視頻和圖形自動(dòng)獲取
該功能實(shí)現(xiàn)監(jiān)控視頻的錄取以及視頻中車(chē)輛圖片截圖功能,并將相關(guān)的視頻、圖片路徑保存到數(shù)
據(jù)庫(kù)中,方便以后調(diào)用。如圖2所示:選擇視頻保存路徑,保存視頻/圖片的時(shí)間間隔,然后選擇開(kāi)
啟攝像頭,點(diǎn)擊車(chē)牌識(shí)別,便開(kāi)始進(jìn)行視頻的監(jiān)控錄取和圖片的保存。
本模塊使用MFC寫(xiě)的車(chē)輛識(shí)別控制面板。數(shù)據(jù)都保存在數(shù)據(jù)庫(kù)中,所以需要連接數(shù)據(jù)庫(kù)。然后以當(dāng)前時(shí)間作為視頻保存的名稱(chēng),通過(guò)Opencv里面cvCreateCameraCapture打開(kāi)攝像頭,之后通過(guò)一幀幀圖像保存成視頻。通過(guò)cvCreateVideoWriter(st.c_str(),CV_FOURCC('X','V','I','D'),fps,cvSize(640,480),1);可以設(shè)置對(duì)寫(xiě)入的視頻的格式。這個(gè)cvSaveImage()函數(shù)可以實(shí)現(xiàn)圖片的截取??蓪⒁曨l中車(chē)輛圖片保存下來(lái),方便車(chē)牌識(shí)別的時(shí)候使用。
2.2車(chē)流量統(tǒng)計(jì)
該功能實(shí)現(xiàn)對(duì)監(jiān)控視頻中車(chē)流量進(jìn)行統(tǒng)計(jì),首先通過(guò)讀取數(shù)據(jù)庫(kù)中的數(shù)據(jù),調(diào)用相應(yīng)視頻;然后 對(duì)視頻中的車(chē)輛進(jìn)出識(shí)別統(tǒng)計(jì);最后把數(shù)據(jù)返回到數(shù)據(jù)庫(kù)中。該功能界面如圖3所示 :圖下有四個(gè) 標(biāo)記框 ,當(dāng)車(chē)輛行駛過(guò)來(lái)的時(shí)候,會(huì)有黃色的框標(biāo)記車(chē)輛,記錄下來(lái)。最后統(tǒng)計(jì)車(chē)流輛數(shù)據(jù),上傳
到數(shù)據(jù)庫(kù)中。
該算法首先對(duì)采集的車(chē)輛圖片進(jìn)行灰度化處理,也就是把RGB彩色圖片轉(zhuǎn)換成灰度圖片,方便以后的圖片處理。處理方法采用OpenCV[2] 里的cvCvtColor(pFrame, pBkImg, CV_BGR2GRAY);轉(zhuǎn)換函數(shù),其中pFrame代表的是采集到的圖片,pBkImg代表的是處理后的灰度圖片。原圖和處理后的圖片如圖4所示。
圖像分割[3]是圖像處理和計(jì)算機(jī)視覺(jué)中基本而關(guān)鍵的技術(shù)之一,其中的是將目標(biāo)與背景分離,為后續(xù)的分類(lèi)、識(shí)別和檢索提供依據(jù)。圖像分割方法通常包括閾值法[4]、邊緣檢測(cè)法、區(qū)域跟蹤法等。Opencv中提供函數(shù)cvThreshold(pFrMat, pFrImg, 60, 255.0, CV_THRESH_BINARY)二值化操作。
背景差分法[5]是目前基于視頻檢測(cè)算法中最常用的一種方法。背景差法首先選取背景中的一幅或幾幅圖像的平均作為背景圖像,然后把以后的序列圖像當(dāng)前幀和背景圖像相減,進(jìn)行背景消去。若所得到的像素?cái)?shù)大于某一閾值,則判定被監(jiān)視場(chǎng)景中有運(yùn)動(dòng)物體,從而得到運(yùn)動(dòng)目標(biāo)。這個(gè)方法需要實(shí)時(shí)更新背景[6]。
2.3車(chē)牌識(shí)別
該功能讀取數(shù)據(jù)庫(kù)中關(guān)于視頻車(chē)輛的截圖,通過(guò)算法分析,通過(guò)圖片預(yù)處理,經(jīng)過(guò)灰度化、二值化、閉運(yùn)算操作[7]等處理。將車(chē)牌定位、識(shí)別之后,將結(jié)果保存到數(shù)據(jù)庫(kù)中,方便客戶端的查詢(xún)調(diào)用。
如圖5所示:依次識(shí)別圖片中的車(chē)牌,并顯示出來(lái),識(shí)別后將數(shù)據(jù)保存到數(shù)據(jù)庫(kù)中。
3 客戶端設(shè)計(jì)
為了方便用戶及時(shí)查詢(xún)車(chē)流量信息,本系統(tǒng)設(shè)計(jì)了客戶端界面,用戶可以通過(guò)網(wǎng)絡(luò)登錄到網(wǎng)站,進(jìn)行車(chē)輛信息查詢(xún)。包括車(chē)流量查詢(xún)、車(chē)輛查詢(xún)、車(chē)輛視頻查詢(xún)。界面如下圖。
3.1系統(tǒng)首界面
用戶在服務(wù)器運(yùn)行的情況下,輸入車(chē)輛網(wǎng)絡(luò)跟蹤系統(tǒng)網(wǎng)站的網(wǎng)址,點(diǎn)擊鏈接即可進(jìn)入客戶端首界面??蛻舳耸捉缑婺J(rèn)播放距當(dāng)前時(shí)間最近時(shí)間段錄制的車(chē)輛視頻情況并且顯示該段時(shí)間內(nèi)進(jìn)過(guò)車(chē)輛的車(chē)牌,計(jì)算該段時(shí)間的車(chē)流量,為用戶提供了道路車(chē)輛情況的實(shí)時(shí)信息,方便了用戶行車(chē)路線、出行時(shí)間的選擇。
3.2車(chē)輛歷史視頻查詢(xún)界面
車(chē)輛歷史視頻查詢(xún)能夠使用戶方便地查看他想看的時(shí)間段的車(chē)輛視頻記錄,(服務(wù)器保存30天內(nèi)的車(chē)輛視頻)。點(diǎn)擊相應(yīng)的時(shí)間段查詢(xún)界面播放該段時(shí)間的車(chē)輛視頻并且顯示該段時(shí)間內(nèi)經(jīng)過(guò)車(chē)輛的車(chē)牌,計(jì)算該段時(shí)間的車(chē)流量。
3.3車(chē)輛查詢(xún)
車(chē)輛查詢(xún)?yōu)橛脩籼峁┝塑?chē)輛查詢(xún)服務(wù),用戶點(diǎn)擊車(chē)輛查詢(xún)便可以根據(jù)車(chē)牌號(hào)查詢(xún)此車(chē)輛出現(xiàn)的時(shí)間段,將符合查詢(xún)條件的車(chē)牌依次列出來(lái),起到了車(chē)輛跟蹤的目的。例如查詢(xún)條件為冀3,系統(tǒng)將包含冀3的所有車(chē)牌及車(chē)輛所經(jīng)過(guò)的時(shí)間列出來(lái),方便用戶查找。如圖7左圖所示。
3.4 車(chē)流量查詢(xún)
車(chē)流量查詢(xún)?yōu)橛脩籼峁┝塑?chē)流量查詢(xún)服務(wù),點(diǎn)擊車(chē)流量查詢(xún)便可以查詢(xún)某時(shí)間段內(nèi)的車(chē)流量統(tǒng)計(jì)結(jié)果,同時(shí)顯示經(jīng)過(guò)的車(chē)輛車(chē)牌號(hào)及經(jīng)過(guò)的時(shí)間。例如查詢(xún)2015年6月7號(hào)到17號(hào)經(jīng)過(guò)該地的車(chē)流量,系統(tǒng)將會(huì)列出這一時(shí)間段內(nèi)所有經(jīng)過(guò)的車(chē)輛車(chē)牌號(hào)及經(jīng)過(guò)時(shí)間,并計(jì)算經(jīng)過(guò)的車(chē)輛總數(shù)。如圖7右圖所示。
4 結(jié)論
本項(xiàng)目是一款基于網(wǎng)絡(luò)的車(chē)輛視頻圖像檢測(cè)和跟蹤系統(tǒng)。本系統(tǒng)可以通過(guò)網(wǎng)頁(yè)客戶端將系統(tǒng)分析結(jié)果展現(xiàn)出來(lái),實(shí)現(xiàn)多用戶查詢(xún);用戶可以通過(guò)網(wǎng)絡(luò)隨時(shí)隨地的查看車(chē)輛信息。服務(wù)器端的三個(gè)模塊將分別實(shí)現(xiàn)對(duì)視頻監(jiān)控、車(chē)流量統(tǒng)計(jì)、車(chē)牌識(shí)別功能。該系統(tǒng)目前還存在一些問(wèn)題,如界面比較粗糙,算法精度還不太滿意。這些在以后還可以繼續(xù)完善,讓程序更加精確,界面更加友好,方便使用。本系統(tǒng)可以廣泛地應(yīng)用于道路和小區(qū)的車(chē)輛信息的檢測(cè)、統(tǒng)計(jì)和分析,具有一定的發(fā)展前景。
參考文獻(xiàn):
[1] 單家凌. 基于無(wú)線網(wǎng)絡(luò)車(chē)牌識(shí)別系統(tǒng)識(shí)別算法的研究[J]. 計(jì)算機(jī)測(cè)量與控制, 2011(9).
[2] 姜宇, 張子潮, 周富強(qiáng). 基于OpenCV的車(chē)牌識(shí)別系統(tǒng)研究[J]. 遼寧師范大學(xué)學(xué)報(bào): 自然科學(xué)版, 2011(6).
[3] 王茜蒨, 彭中, 劉莉. 一種基于自適應(yīng)閥值的圖像分割算法[J]. 北京理工大學(xué)學(xué)報(bào), 2003(8).
[4] 王圣男, 郁梅, 蔣剛毅. 智能交通系統(tǒng)中基于視頻圖像處理的車(chē)輛檢測(cè)與跟蹤方法綜述[J]. 計(jì)算機(jī)應(yīng)用研究, 2005(9).
[5] 吳舟舟, 李樹(shù)廣. 視頻圖像中的實(shí)時(shí)車(chē)牌識(shí)別[J]. 微型電腦應(yīng)用, 2006(2).
[6] 張永麗, 張?zhí)劊?畢建民. 基于自適應(yīng)背景初始化的車(chē)流量檢測(cè)算法[J]. 微電子學(xué)與計(jì)算機(jī), 2007, 24(5).
[7] EasyPR is An open source project for Chinese plate recognition[EB/OL]. https://github.com/liuruoze/EasyPR.