喬 通,趙卓峰,丁維龍
(1.北方工業(yè)大學(xué) 數(shù)據(jù)工程研究院,北京 100144; 2.大規(guī)模流數(shù)據(jù)集成與分析技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室(北方工業(yè)大學(xué)),北京 100144)
(*通信作者電子郵箱1790392536@qq.com)
面向套牌甄別的流式計(jì)算系統(tǒng)
喬 通1,2*,趙卓峰1,2,丁維龍1,2
(1.北方工業(yè)大學(xué) 數(shù)據(jù)工程研究院,北京 100144; 2.大規(guī)模流數(shù)據(jù)集成與分析技術(shù)北京市重點(diǎn)實(shí)驗(yàn)室(北方工業(yè)大學(xué)),北京 100144)
(*通信作者電子郵箱1790392536@qq.com)
套牌車的甄別具有時(shí)效性約束。針對現(xiàn)有計(jì)算檢測方法中所出現(xiàn)的精度低、響應(yīng)慢等局限,提出了一種基于實(shí)時(shí)車牌識別(ANPR)數(shù)據(jù)流的套牌車流式并行檢測方法,設(shè)計(jì)了基于路段閾值表和時(shí)間滑動窗口的套牌計(jì)算模型,能夠?qū)崟r(shí)地甄別出交通數(shù)據(jù)流中的套牌嫌疑車。在Storm環(huán)境下,利用某市真實(shí)交通數(shù)據(jù)集模擬成實(shí)時(shí)交通流數(shù)據(jù)進(jìn)行實(shí)驗(yàn)和評估,實(shí)驗(yàn)結(jié)果表明計(jì)算的準(zhǔn)確率達(dá)到98.7%,并且一條車牌識別數(shù)據(jù)的處理時(shí)間為毫秒級。最后,在該計(jì)算模型基礎(chǔ)上實(shí)現(xiàn)了套牌車稽查防控系統(tǒng),能實(shí)時(shí)甄別并展現(xiàn)出當(dāng)前時(shí)刻城市交通網(wǎng)中出現(xiàn)的所有套牌嫌疑車。
套牌車;車牌識別;流式計(jì)算;實(shí)時(shí)性;閾值表;Storm
套牌車是指未按照交通法規(guī)的正常程序到交通部門辦理合法的手續(xù),通過套用別人合法車牌或者偽造虛擬車牌在道路上行駛的車輛。套牌車的出現(xiàn)嚴(yán)重?cái)_亂了正常交通管理秩序和社會經(jīng)濟(jì)秩序,但由于缺乏有效的套牌車稽查方法,當(dāng)前套牌車的發(fā)現(xiàn)還主要依賴于人工手段,其發(fā)現(xiàn)難度大,準(zhǔn)確率低,時(shí)效性差,導(dǎo)致很多套牌車仍逍遙法外。不過隨著車牌識別(Automatic Number Plate Recognition, ANPR)、RFID(Radio Frequency IDentification)[1]車牌等技術(shù)的推廣應(yīng)用,使得實(shí)時(shí)獲取車輛的動態(tài)信息成為可能,為套牌車的實(shí)時(shí)甄別提供了條件。
本文結(jié)合基于車牌識別數(shù)據(jù)的車輛緝查防控系統(tǒng)這個(gè)實(shí)際應(yīng)用,針對套牌車的實(shí)時(shí)自動甄別問題展開研究。車牌識別數(shù)據(jù)是由部署在城市道路上高清攝像頭拍攝產(chǎn)生的,由識別攝像頭ID、車牌號、時(shí)間戳和地點(diǎn)等22個(gè)屬性值構(gòu)成,具有時(shí)空特性。通過對城市范圍內(nèi)所有車牌識別數(shù)據(jù)的匯集,可通過時(shí)空矛盾規(guī)則自動發(fā)現(xiàn)有套牌嫌疑的車輛,即同一車牌號的車輛不可能在一定的時(shí)間閾值范圍內(nèi)出現(xiàn)在兩個(gè)不同的地點(diǎn)。由于套牌車在道路上的出現(xiàn)具有隨機(jī)性,隨時(shí)都有可能出現(xiàn),因此,只要道路上的高清攝像頭處于正常工作狀態(tài),車輛識別數(shù)據(jù)就會一直持續(xù)產(chǎn)生,源源不斷,套牌車的計(jì)算也就一直持續(xù)進(jìn)行,是交通大數(shù)據(jù)上的流式計(jì)算。流式計(jì)算是大數(shù)據(jù)計(jì)算的一種主要計(jì)算模型[2-4],適用于對數(shù)據(jù)無需先存儲,直接進(jìn)行計(jì)算以及實(shí)時(shí)性要求嚴(yán)格的應(yīng)用場景,可以對動態(tài)產(chǎn)生的數(shù)據(jù)直接進(jìn)行實(shí)時(shí)計(jì)算并及時(shí)反饋結(jié)果,而且只要數(shù)據(jù)流一直產(chǎn)生,流式計(jì)算就不會停止,除非主動終止任務(wù)或者計(jì)算環(huán)境出現(xiàn)故障。
本課題在流式計(jì)算中進(jìn)行基于車牌識別數(shù)據(jù)的套牌車自動甄別時(shí),主要解決以下難點(diǎn)問題:1)實(shí)時(shí)性。套牌甄別出的結(jié)果數(shù)據(jù)具有時(shí)效性,套牌車出現(xiàn)后應(yīng)該在較短的時(shí)間內(nèi)甄別出來,才能協(xié)助交管部門進(jìn)行交通執(zhí)法,因此,本課題中面對高并發(fā)、連續(xù)不斷到達(dá)的車輛識別數(shù)據(jù),一條數(shù)據(jù)從識別出來至完成計(jì)算處理不應(yīng)該超過3 s。2)準(zhǔn)確性。套牌甄別的正確率越高,交管部門打擊套牌現(xiàn)象力度越大,交通規(guī)范越好。本課題中大型城市道路上所部署攝像頭多達(dá)幾千個(gè),在高峰期的采樣頻度為1 s/條,1 h就會產(chǎn)生上千萬條數(shù)據(jù),套牌車的計(jì)算是根據(jù)其時(shí)空矛盾規(guī)則來判定的,因此不僅僅是對實(shí)時(shí)數(shù)據(jù)的計(jì)算,部分歷史數(shù)據(jù)和基礎(chǔ)數(shù)據(jù)也需要參與計(jì)算,參與計(jì)算數(shù)據(jù)量大,而大數(shù)據(jù)量中套牌車的信息很少,非套牌車的數(shù)據(jù)大,增加了高精度計(jì)算的難度。為此,本文在對交通流式數(shù)據(jù)處理利用套牌車時(shí)空矛盾規(guī)則做實(shí)時(shí)計(jì)算時(shí),提出了一種基于路段閾值表的套牌甄別流式計(jì)算模型,針對歷史交通數(shù)據(jù)設(shè)計(jì)了時(shí)間滑動窗口,實(shí)現(xiàn)了對交通數(shù)據(jù)流中出現(xiàn)的套牌車的實(shí)時(shí)自動甄別。通過基于真實(shí)車牌識別數(shù)據(jù)集的測試,實(shí)驗(yàn)結(jié)果表明本系統(tǒng)能夠持續(xù)不間斷地計(jì)算識別數(shù)據(jù)流,能夠準(zhǔn)確地甄別出數(shù)據(jù)流中出現(xiàn)的套牌嫌疑車,并且每個(gè)數(shù)據(jù)項(xiàng)的計(jì)算處理是在毫秒級內(nèi)完成。
目前,針對套牌車檢測的研究越來越多,成為智能交通領(lǐng)域的一個(gè)研究熱點(diǎn),采用的技術(shù)手段和識別方式也越來越多樣化。
文獻(xiàn)[1]提出基于RFID技術(shù)的檢測方法,該方法將RFID電子標(biāo)簽植入車輛內(nèi),標(biāo)簽內(nèi)保存這輛車的車型、車輛顏色、車牌號等車輛相關(guān)信息,通過交通路口放置的電子標(biāo)簽讀寫器讀取標(biāo)簽中存放的車牌號等信息,然后與實(shí)際車輛的信息進(jìn)行對比,從而判讀出該車輛是否是套牌車。此方法雖然可行有效,但是需要交管部門增加投入資金,花費(fèi)成本高,難以大范圍推廣;而且RFID標(biāo)簽需要經(jīng)過車主同意配合才能實(shí)施;此外RFID電子標(biāo)簽還面臨著被“克隆”的危險(xiǎn)且標(biāo)簽里面的信息容易被非法篡改,導(dǎo)致無法準(zhǔn)確地判斷出套牌車。文獻(xiàn)[5]提出的基于光學(xué)隱碼的檢測方法是利用在車牌上采用特殊的光學(xué)材料制作的防偽信息條形碼來判斷車輛是否是套牌車。此方法雖然一定程度上克服了RFID電子標(biāo)簽易被修改的缺點(diǎn),降低了被“克隆”的風(fēng)險(xiǎn),但是仍面臨的問題還是成本高、難以推廣,導(dǎo)致無法全面有效地甄別套牌車。文獻(xiàn)[6]采用基于車型識別的檢測方法,在道路上放置車牌識別工具,將識別出的車牌號和車型與車輛信息庫中的車輛信息進(jìn)行比較,進(jìn)而判定是否是套牌車。但是由于當(dāng)今車輛車型比較單一,導(dǎo)致套牌識別率比較低。本文利用城市交通路網(wǎng)上部署的高清攝像頭實(shí)時(shí)拍攝道路上過往行駛的車輛,提取車牌識別數(shù)據(jù),利用套牌車的時(shí)空矛盾規(guī)則對拍攝到的每一輛進(jìn)行套牌車的實(shí)時(shí)甄別計(jì)算,在大大降低了檢測成本的同時(shí)提高了檢測的準(zhǔn)確率。
文獻(xiàn)[7]提出一種基于MapReduce與K最近鄰搜索算法來對海量歷史數(shù)據(jù)進(jìn)行短時(shí)間交通流預(yù)測的方法,雖然針對的并不是套牌車甄別的問題,但對并行處理交通數(shù)據(jù)流有一定借鑒意義。文獻(xiàn)[8]介紹了一種基于TP-Finder方法的套牌車查詢系統(tǒng),在MapReduce框架上提出基于歷史車牌識別數(shù)據(jù)集的并行檢測方法TP-Finder,解決了大規(guī)模車牌數(shù)據(jù)集在并行處理時(shí)所出現(xiàn)的數(shù)據(jù)傾斜問題。文獻(xiàn)[9]提出了一種基于Hadoop的套牌車識別方法,將交通流數(shù)據(jù)遷移到HBase中并消減經(jīng)緯度,然后初始化以監(jiān)測點(diǎn)作為頂點(diǎn)集和兩兩監(jiān)測點(diǎn)之間距離作為邊權(quán)值的帶權(quán)圖,通過計(jì)算監(jiān)測點(diǎn)之間的最短距離以及校正因子獲取套牌嫌疑車。上述這兩種方法雖然正確率都很高,但是都是通過對大規(guī)模歷史數(shù)據(jù)進(jìn)行并行計(jì)算,從而挖掘出歷史數(shù)據(jù)中的套牌車,針對的是歷史交通數(shù)據(jù),時(shí)效性太低,無法及時(shí)地檢測出城市當(dāng)前道路交通網(wǎng)上正在行駛的套牌車。本文實(shí)現(xiàn)的套牌車流式計(jì)算系統(tǒng)是對城市道路上攝像頭所實(shí)時(shí)識別出的車牌識別數(shù)據(jù)流進(jìn)行實(shí)時(shí)接入,然后通過計(jì)算模型進(jìn)行實(shí)時(shí)計(jì)算,計(jì)算結(jié)果實(shí)時(shí)反饋并進(jìn)行交通布控,大大提高了套牌車甄別的時(shí)效性,能夠幫助交管部門對道路上出現(xiàn)的套牌車進(jìn)行及時(shí)有效的處理。
如今面向大規(guī)模交通數(shù)據(jù)進(jìn)行的套牌車計(jì)算都是批量計(jì)算[3],參與計(jì)算的大都是歷史數(shù)據(jù),采用的是MapReduce計(jì)算框架[10],利用“分而治之”的思想進(jìn)行分布式計(jì)算,適用于大規(guī)模歷史數(shù)據(jù)的處理,處理的都是靜態(tài)數(shù)據(jù),無法對流數(shù)據(jù)進(jìn)行處理。本課題中的套牌稽查面向的是交通流數(shù)據(jù),進(jìn)行的是流式計(jì)算,現(xiàn)有的大數(shù)據(jù)流式計(jì)框架有Twitter的Storm(https://en.wikipedia.org/wiki/Storm)、Spark的Spark Streaming[11]、Yahoo的S4[12]、Hadoop之上的數(shù)據(jù)分析平臺HStreaming[13],其中的主要代表是Storm和Spark Streaming。Spark Streaming是核心Spark API(Application Programming Interface)的一個(gè)擴(kuò)展,數(shù)據(jù)在處理前按時(shí)間間隔保存至彈性內(nèi)存數(shù)據(jù)結(jié)構(gòu)——彈性分布式數(shù)據(jù)集(Resilient Distributed Dataset, RDD),通過微小批量的數(shù)據(jù)集合進(jìn)行聚集運(yùn)算,響應(yīng)時(shí)間為亞秒級;而套牌車甄別的單條數(shù)據(jù)的處理時(shí)間是毫秒級,實(shí)時(shí)性高,因此Spark Streaming不適合用于流上的套牌甄別。Storm的計(jì)算單元是一個(gè)封裝好的元組,是一次對一條數(shù)據(jù)的計(jì)算,響應(yīng)時(shí)間是毫秒級,實(shí)時(shí)性高。本文套牌車的甄別就是在Storm框架上進(jìn)行實(shí)現(xiàn)的。Storm是一款支持分布式、開源、實(shí)時(shí)、主從式大數(shù)據(jù)流式計(jì)算系統(tǒng)[4,14-15],由一個(gè)主控節(jié)點(diǎn)(運(yùn)行nimbus服務(wù))和多個(gè)工作節(jié)點(diǎn)(運(yùn)行supervisor服務(wù))構(gòu)成。Storm做實(shí)時(shí)計(jì)算時(shí),首先創(chuàng)建一個(gè)拓?fù)?Topology),計(jì)算邏輯被封裝在一個(gè)拓?fù)鋵ο笾?,一個(gè)拓?fù)涫且粋€(gè)由多個(gè)Spout和Bolt節(jié)點(diǎn)連接成的有向圖,拓?fù)渲械拿恳粋€(gè)節(jié)點(diǎn)包含處理邏輯,節(jié)點(diǎn)之間的連接顯示數(shù)據(jù)應(yīng)該如何在節(jié)點(diǎn)進(jìn)行傳輸。Storm開源后在互聯(lián)網(wǎng)領(lǐng)域和金融銀行領(lǐng)域的實(shí)時(shí)監(jiān)控[16]場景中得到充分應(yīng)用,例如,淘寶的蟲洞系統(tǒng)以Storm實(shí)時(shí)流處理為引擎,進(jìn)行個(gè)性化推薦、熱門話題統(tǒng)計(jì)等;在銀行中處理系統(tǒng)內(nèi)部各子系統(tǒng)實(shí)時(shí)信息,實(shí)現(xiàn)對全局的監(jiān)控和各種優(yōu)化;除此之外在分布式遠(yuǎn)程調(diào)用、在線機(jī)器學(xué)習(xí)、數(shù)據(jù)抽取轉(zhuǎn)化和加載等領(lǐng)域[17]也得到廣泛的應(yīng)用。
本課題來源于某市智能交通項(xiàng)目,該市區(qū)交通網(wǎng)中的多個(gè)關(guān)鍵路口部署高清攝像頭用于自動識別過往的車輛,攝像頭每秒會拍攝多輛機(jī)動車并識別出其車牌,日常交通高峰時(shí)段每小時(shí)會產(chǎn)生上千萬條識別數(shù)據(jù),識別數(shù)據(jù)項(xiàng)包含時(shí)間戳、監(jiān)測點(diǎn)和拍攝照片等在內(nèi)的22個(gè)屬性,本系統(tǒng)的套牌甄別計(jì)算涉及拍攝時(shí)間、監(jiān)測點(diǎn)ID、識別車牌號等時(shí)間空間和實(shí)體屬性。系統(tǒng)對這條識別數(shù)據(jù)進(jìn)行實(shí)時(shí)分析,用于甄別套牌車,整個(gè)計(jì)算過程除非系統(tǒng)故障或者人為中斷,否則計(jì)算一直持續(xù)進(jìn)行。
2.1 相關(guān)定義
定義1 監(jiān)測點(diǎn)。城市道路中攝像頭監(jiān)控所在的位置,定義為Pi=(Id,lon,lat),Id為監(jiān)測點(diǎn)Pi唯一標(biāo)識,lon和lat為其所在經(jīng)緯度。
定義2 路段。從一個(gè)監(jiān)測點(diǎn)Pi到另一個(gè)監(jiān)測點(diǎn)Pj之間的交通路線,可以理解為一個(gè)方向向量:Rk(Pi,Pj),路段的上游監(jiān)測點(diǎn)為Pi,下游監(jiān)測點(diǎn)為Pj。
定義3 旅行時(shí)間。T=(Cno1,Pi,t),表示車牌號為no1的車輛C正常情況下行駛通過路段Pi所花費(fèi)的時(shí)間為t。
2.2 Storm下實(shí)現(xiàn)套牌甄別計(jì)算的挑戰(zhàn)
Storm自從Twitter開發(fā)出來主要用于解決其大量的實(shí)時(shí)統(tǒng)計(jì)類應(yīng)用,正式開源后,其分布式實(shí)時(shí)計(jì)算性能非常高,容錯(cuò)性良好,保證到達(dá)的每條消息都能得到處理,并且某些數(shù)據(jù)挖掘算法已經(jīng)很好地在Storm系統(tǒng)中得到移植實(shí)現(xiàn)[15],快速準(zhǔn)確地處理流數(shù)據(jù),實(shí)時(shí)進(jìn)行結(jié)果反饋。
盡管Storm已應(yīng)用于智能交通上,但由于交通數(shù)據(jù)具有時(shí)空特性,解決的問題比較單一,例如用于處理黑名單車輛緝查和假牌車等這一類進(jìn)行數(shù)據(jù)比較的問題。在套牌車的稽查時(shí),根據(jù)套牌車的時(shí)空矛盾規(guī)則,其計(jì)算不僅需要實(shí)時(shí)數(shù)據(jù)還需要車牌歷史數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),在Storm中缺乏對非實(shí)時(shí)數(shù)據(jù)合理有效組織的數(shù)據(jù)結(jié)構(gòu),僅支持對實(shí)時(shí)傳遞的數(shù)據(jù)的管理組織。在數(shù)據(jù)存儲方面,Storm只能在內(nèi)存中短期存儲少量數(shù)據(jù),無法長期存儲數(shù)據(jù)。如何在分布式環(huán)境下結(jié)合交通數(shù)據(jù)流的時(shí)空特性實(shí)時(shí)計(jì)算套牌車是當(dāng)前一大挑戰(zhàn)。在接入數(shù)據(jù)源方面,Storm作業(yè)Topology的數(shù)據(jù)源Spout是直接從外部數(shù)據(jù)源源源不斷地讀取數(shù)據(jù)的,而交通數(shù)據(jù)流的數(shù)據(jù)源是城市道路上部署的各個(gè)高清攝像頭采集的車輛識別數(shù)據(jù),攝像頭的數(shù)量有數(shù)千個(gè),Spout無法直接和前端攝像頭建立連接并獲取車牌識別數(shù)據(jù),因此需要接入消息中間件來承上啟下,將外部各個(gè)攝像頭采集的識別數(shù)據(jù)匯集成交通數(shù)據(jù)流以便Spout組件讀取數(shù)據(jù)流。
因此,本文研究的重點(diǎn)在于面對大規(guī)模實(shí)時(shí)交通數(shù)據(jù)流,應(yīng)用分布式編程框架,結(jié)合車牌識別數(shù)據(jù)的時(shí)空特性和套牌車的時(shí)空矛盾規(guī)則,有效組織和管理非實(shí)時(shí)數(shù)據(jù),準(zhǔn)確高效地計(jì)算出路段上出現(xiàn)的套牌車。
本文在Storm環(huán)境下通過利用套牌車的時(shí)空特性進(jìn)行計(jì)算,合理組織利用業(yè)務(wù)數(shù)據(jù),對實(shí)時(shí)到達(dá)的車牌識別數(shù)據(jù)進(jìn)行分析,根據(jù)當(dāng)前車輛的地理位置(監(jiān)測點(diǎn)),找出此車牌車輛過去一段時(shí)間內(nèi)經(jīng)過的所有監(jiān)測點(diǎn),結(jié)合基礎(chǔ)路段信息構(gòu)建路段并計(jì)算出車輛經(jīng)過這些路段的旅行時(shí)間,利用基礎(chǔ)路段閾值表中的路段閾值判斷車輛在所經(jīng)過路段上是否出現(xiàn)了套牌。架構(gòu)設(shè)計(jì)如圖1,數(shù)據(jù)的輸入分為兩類:經(jīng)過消息中間件傳輸?shù)膶?shí)時(shí)數(shù)據(jù)流和數(shù)據(jù)庫中的基礎(chǔ)數(shù)據(jù)。流式數(shù)據(jù)是前端設(shè)備實(shí)時(shí)發(fā)送的車牌識別數(shù)據(jù),通過消息中間件實(shí)現(xiàn)事件觸發(fā),推送至系統(tǒng)。基礎(chǔ)數(shù)據(jù)是通過數(shù)據(jù)庫讀取接口讀取到處理系統(tǒng)的,為實(shí)現(xiàn)基礎(chǔ)數(shù)據(jù)更新后的業(yè)務(wù)連續(xù)性,每隔一段時(shí)間對加載的基礎(chǔ)數(shù)據(jù)進(jìn)行定時(shí)更新,丟棄已有的基礎(chǔ)數(shù)據(jù),重新讀取以保持?jǐn)?shù)據(jù)的新鮮度。運(yùn)行時(shí)環(huán)境用于維護(hù)數(shù)據(jù)結(jié)構(gòu)和完成數(shù)據(jù)處理,包括對實(shí)時(shí)數(shù)據(jù)的接入、對具有時(shí)空特性的流式數(shù)據(jù)以滑動時(shí)間窗口形式進(jìn)行維護(hù),基礎(chǔ)數(shù)據(jù)在內(nèi)存中的Hash結(jié)構(gòu)、對流式數(shù)據(jù)的劃分策略、計(jì)算并行度的配置,以及監(jiān)控和日志等基礎(chǔ)功能。數(shù)據(jù)的輸出主要是對計(jì)算的套牌嫌疑車直接進(jìn)行實(shí)時(shí)布控以幫助交管部門進(jìn)行執(zhí)法以及將計(jì)算結(jié)果寫到數(shù)據(jù)庫用于長期存儲。
圖1 系統(tǒng)架構(gòu)設(shè)計(jì)
3.1 混合數(shù)據(jù)
套牌車在交通數(shù)據(jù)流中的表現(xiàn)形式為正常行駛的車輛在短時(shí)間內(nèi)不可能出現(xiàn)在相同的監(jiān)測點(diǎn)或者不可能出現(xiàn)在不應(yīng)該出現(xiàn)的兩個(gè)監(jiān)測點(diǎn),即車輛行駛過該路段的旅行時(shí)間小于該路段的套牌閾值,因此,參與計(jì)算的數(shù)據(jù)并不僅僅是前端攝像頭拍攝到的實(shí)時(shí)數(shù)據(jù)。參與計(jì)算的數(shù)據(jù)共分為以下三類。
實(shí)時(shí)數(shù)據(jù) 前端高清攝像頭產(chǎn)生的車輛識別數(shù)據(jù),每秒會有2 000多條。系統(tǒng)對接收數(shù)據(jù)流中的每一條車牌識別數(shù)據(jù)都會進(jìn)行實(shí)時(shí)計(jì)算。
業(yè)務(wù)數(shù)據(jù) 套牌閾值表,該表中存儲著城市道路的路段旅行時(shí)間,即此路段的套牌閾值。
歷史數(shù)據(jù) 歷史數(shù)據(jù)存儲的是當(dāng)前接入的實(shí)時(shí)數(shù)據(jù)。歷史數(shù)據(jù)的存儲時(shí)間和大小是根據(jù)業(yè)務(wù)數(shù)據(jù)中最大的套牌閾值決定的,假設(shè)套牌閾值表中存儲的旅行時(shí)間閾值最大為1h,即從該路段的上游監(jiān)測點(diǎn)出發(fā)行駛到下游監(jiān)測點(diǎn)的最短時(shí)間為1h。假設(shè)當(dāng)前到達(dá)的實(shí)時(shí)數(shù)據(jù)是某輛車在該路段的下游監(jiān)測點(diǎn)被拍攝到的,判斷這輛車在該路段是否出現(xiàn)了套牌現(xiàn)象,則需要這輛車在該路段上游監(jiān)測點(diǎn)被拍攝到的車輛識別數(shù)據(jù),結(jié)合上下游監(jiān)測點(diǎn)的時(shí)空屬性進(jìn)行計(jì)算,因此,在歷史數(shù)據(jù)中應(yīng)該存有這條車輛識別數(shù)據(jù)。所以歷史數(shù)據(jù)的時(shí)間長度不能小于業(yè)務(wù)數(shù)據(jù)中最大的套牌閾值。
3.2 數(shù)據(jù)組織
本文的目的是利用Storm計(jì)算框架實(shí)時(shí)計(jì)算出大規(guī)模交通流式數(shù)據(jù)中存在的套牌車嫌疑車,核心思想是進(jìn)行實(shí)時(shí)并行計(jì)算,將計(jì)算任務(wù)分配到多個(gè)計(jì)算節(jié)點(diǎn),最后對計(jì)算出的套牌嫌疑車進(jìn)行布控。通過任務(wù)分配和對實(shí)時(shí)數(shù)據(jù)、業(yè)務(wù)數(shù)據(jù)及歷史數(shù)據(jù)這三類數(shù)據(jù)的有效組織管理達(dá)到提高計(jì)算性能、降低內(nèi)存消耗的目的。
實(shí)時(shí)數(shù)據(jù) 組件Spout是Storm整個(gè)框架中的數(shù)據(jù)源,計(jì)算套牌車的數(shù)據(jù)源Spout組件以隊(duì)列連接的形式從實(shí)現(xiàn)JMS協(xié)議的消息中間件接收車牌識別數(shù)據(jù)。由于識別數(shù)據(jù)是一個(gè)由拍攝的照片、時(shí)間和車身顏色等22個(gè)屬性整合成的數(shù)據(jù)結(jié)構(gòu),蘊(yùn)含信息比較龐雜,包括比如車身顏色等對套牌車計(jì)算無用的信息,稱這種類型的數(shù)據(jù)為冗余數(shù)據(jù)項(xiàng),需要剔除冗余數(shù)據(jù)項(xiàng)以減少內(nèi)存消耗,最后將識別數(shù)據(jù)中的識別車牌號、時(shí)間、地點(diǎn)等屬性封裝成一個(gè)Tuple元組。Spout通過追蹤每個(gè)元組樹來確保每一個(gè)元組被可靠地處理,成功處理則調(diào)用ack方法,失敗則調(diào)用fail方法,保證了數(shù)據(jù)處理的完整性。
歷史數(shù)據(jù) 本文所用業(yè)務(wù)數(shù)據(jù)中最大的套牌閾值為1h,因此需要維護(hù)歷史數(shù)據(jù)的時(shí)間長度為1h,將最近1h活躍的數(shù)據(jù)對象存儲在內(nèi)存中。需要維護(hù)一種不但能夠?qū)Ξ?dāng)前識別數(shù)據(jù)保存1h而且能在時(shí)間過后對數(shù)據(jù)進(jìn)行刪除的數(shù)據(jù)結(jié)構(gòu)。RotatingMap是Storm用來保存最近活躍對象和可以自動刪除已過期對象的數(shù)據(jù)結(jié)構(gòu),是由多個(gè)HashMap組成的一個(gè)LinkedList集合。本文借助RotatingMap這個(gè)數(shù)據(jù)結(jié)構(gòu)作為基礎(chǔ),進(jìn)而構(gòu)建滑動時(shí)間窗口,用于存儲歷史數(shù)據(jù)并刪除過期無效數(shù)據(jù),數(shù)據(jù)存儲時(shí)間長度為1h,時(shí)間窗口更新頻率設(shè)定為10s(要小于套牌閾值表中最小的旅行時(shí)間閾值),則共有360(60min×60s/10s)個(gè)窗口,每個(gè)窗口都是一個(gè)HashMap,窗口每10s向前滑動一次,如圖2所示,時(shí)間長度始終保持為1h。
圖2 滑動時(shí)間窗口
業(yè)務(wù)數(shù)據(jù) 用兩個(gè)哈希表(HashMap)進(jìn)行存儲,一個(gè)哈希表以路段上游監(jiān)測點(diǎn)作為鍵值Key,Value為一個(gè)由以此鍵值Key作為上游監(jiān)測點(diǎn)的所有路段的下游監(jiān)測點(diǎn)組成的集合;另一個(gè)哈希表以路段下游監(jiān)測點(diǎn)作為Key,Value為一個(gè)由以此鍵值作為下游監(jiān)測點(diǎn)的所有路段的上游監(jiān)測點(diǎn)組成的集合。
3.3 算法設(shè)計(jì)
拓?fù)溥壿嬋鐖D3所示,主要由三部分組成:數(shù)據(jù)源(spout)、套牌計(jì)算(T_bolt)和數(shù)據(jù)存儲(DB_bolt)。在作業(yè)Topology中,數(shù)據(jù)源Spout為作業(yè)從外部的數(shù)據(jù)源獲取車牌識別數(shù)據(jù)并剔除無效數(shù)據(jù)項(xiàng)(如攝像頭編號等),封裝成元組(Tuple),向計(jì)算組件不間斷地emit(發(fā)射)Tuple形成Stream。套牌計(jì)算是分布式并行計(jì)算,因此有多個(gè)計(jì)算組件Bolt獨(dú)立存在,它們的計(jì)算互不干擾,每個(gè)Bolt都會接收上游送達(dá)的Stream作為數(shù)據(jù)輸入,合理組織基礎(chǔ)數(shù)據(jù)和接收的數(shù)據(jù),進(jìn)而根據(jù)時(shí)空矛盾規(guī)則進(jìn)行套牌車的計(jì)算,將計(jì)算出的套牌信息封裝成Tuple發(fā)射到下一個(gè)Bolt(命名為DB_bolt),作為DB_bolt的數(shù)據(jù)輸入。DB_bolt接收所有進(jìn)行套牌計(jì)算組件的計(jì)算結(jié)果,把接收的數(shù)據(jù)存儲到數(shù)據(jù)庫中。
圖3 套牌計(jì)算Topology
作業(yè)Topology中Spout按Tuple中指定域的值——車牌號碼進(jìn)行分組來進(jìn)行數(shù)據(jù)劃分,向下游目標(biāo)組件Bolt發(fā)送Tuple,即同一車牌的識別數(shù)據(jù)發(fā)送到同一個(gè)計(jì)算組件中。如圖4所示,這樣設(shè)計(jì)能夠確保具有相同車牌號的Tuple被發(fā)送到同一個(gè)Bolt,即同一個(gè)車牌號的識別數(shù)據(jù)會一直被確定Bolt處理而不會分散到其他Bolt上,保證了同一車牌號的計(jì)算中不會出現(xiàn)數(shù)據(jù)丟失現(xiàn)象。按車牌號劃分的這種數(shù)據(jù)劃分方式使計(jì)算水平擴(kuò)展到多個(gè)節(jié)點(diǎn),多個(gè)節(jié)點(diǎn)同時(shí)進(jìn)行套牌車甄別,實(shí)現(xiàn)了分布式計(jì)算。
圖4 數(shù)據(jù)劃分
下游多個(gè)Bolt并行計(jì)算接收到的數(shù)據(jù)流中是否出現(xiàn)套牌車輛,并且將發(fā)現(xiàn)的套牌車輛信息都emit(發(fā)射)到同一個(gè)Bolt中,在該Bolt中將套牌嫌疑車的信息存儲到數(shù)據(jù)庫并對套牌嫌疑車進(jìn)行布控。
套牌車計(jì)算的程序流程如圖5所示,由于Storm中的進(jìn)程以服務(wù)的形式存在,除非人為主動停止或集群故障,這些進(jìn)程將會一直運(yùn)行,所以該流程只有開始標(biāo)記而沒有結(jié)束標(biāo)記。
第1步 對于來到的每一條數(shù)據(jù)獲取其監(jiān)測點(diǎn)、車牌號以及時(shí)間戳,判斷路段基礎(chǔ)信息表中是否有此監(jiān)測點(diǎn):如果沒有則廢棄此條數(shù)據(jù);如果有則進(jìn)行下一步。
第2步 取出以此監(jiān)測點(diǎn)作為路段上游監(jiān)測點(diǎn)的所有路段及其路段閾值,以此監(jiān)測點(diǎn)Id為Key,所有下游監(jiān)測點(diǎn)組成的集合作為Value,組成HashMap;取出以此監(jiān)測點(diǎn)作為路段下游監(jiān)測點(diǎn)的所有路段及其路段閾值,以此監(jiān)測點(diǎn)Id為Key,所有上游監(jiān)測點(diǎn)組成的集合作為Value,組成HashMap。共有兩個(gè)哈希表。
第3步 找出當(dāng)前車牌號行駛過的路段。循環(huán)遍歷以此監(jiān)測點(diǎn)Id為上游監(jiān)測點(diǎn)Key的HashMap的Value值,將當(dāng)前識別數(shù)據(jù)的車牌和遍歷Value所得的一個(gè)下游監(jiān)測點(diǎn)組合成鍵值Key,獲取時(shí)間窗口中緩存的信息,用來判斷是否有通過這個(gè)下游監(jiān)測點(diǎn)的車輛(具有當(dāng)前車牌號的車輛)。
第4步 計(jì)算當(dāng)前車牌車輛所行駛過的路段的旅行時(shí)間,并判斷旅行時(shí)間是否小于套牌閾值,如果是則將此套牌嫌疑車信息封裝為Tuple傳遞給下一個(gè)Bolt。
第5步 將另一個(gè)HashMap中的數(shù)據(jù)按照第3步和第4步作同樣的處理。
第6步 將當(dāng)前交通信息的車牌號和其監(jiān)測點(diǎn)作為Key,時(shí)間戳作為Value存入時(shí)間窗口中。
第7步 將上一個(gè)Bolt的傳遞過來的套牌嫌疑車信息存入數(shù)據(jù)庫并對套牌嫌疑車加以布控。
圖5 程序流程
4.1 實(shí)驗(yàn)環(huán)境
實(shí)驗(yàn)是在6臺搭建了Storm環(huán)境的Linux虛擬機(jī)下進(jìn)行的,Storm集群由1個(gè)Nimbus節(jié)點(diǎn)、5個(gè)Supervisor節(jié)點(diǎn)構(gòu)成,配置均為4核CPU、8GB內(nèi)存。ActiveMQ作為消息中間件,LoadRunner模擬攝像頭采集車輛數(shù)據(jù),CCS(ConcurrentConnectionStream)[18]是一款用C++語言設(shè)計(jì)的,用于接收LoadRunner發(fā)送的車牌識別數(shù)據(jù)并轉(zhuǎn)發(fā)給ActiveMQ消息中間件,充當(dāng)ActiveMQ和LoadRunner之間的通信服務(wù)器。
4.2 實(shí)驗(yàn)數(shù)據(jù)
實(shí)驗(yàn)中采用的數(shù)據(jù)是來自于某市2012-10-17到2013-01-04這80天420多個(gè)監(jiān)測點(diǎn)產(chǎn)生的上百億條車牌識別數(shù)據(jù),通過LoadRunner模擬成實(shí)時(shí)數(shù)據(jù)。
4.3 實(shí)驗(yàn)用例
1)將LoadRunner并發(fā)數(shù)量分別設(shè)置為2 000,4 000,6 000,8 000,發(fā)送頻率為1條/s,用來模擬前端攝像頭數(shù)目分別為2 000,4 000,6 000和8 000,拍攝頻率為1條/s。集群計(jì)算組件Bolt的并行度設(shè)置為5,即計(jì)算并行度為5。啟動集群進(jìn)行計(jì)算,集群正常工作后監(jiān)控系統(tǒng)并記錄觀察一條識別數(shù)據(jù)從傳輸?shù)接?jì)算完成所花費(fèi)的平均時(shí)間。
如圖6所示:橫坐標(biāo)為并發(fā)數(shù)量,縱坐標(biāo)為時(shí)間(ms),可以看到處理時(shí)間在0.64ms~0.67ms波動,變化幅度很小,處理時(shí)間都近似于0.6ms,說明一條識別數(shù)據(jù)從傳輸?shù)接?jì)算完成所花費(fèi)時(shí)間是毫秒級的,驗(yàn)證了本系統(tǒng)處理識別數(shù)據(jù)流的實(shí)時(shí)性,完全可以在大規(guī)模高并發(fā)的數(shù)據(jù)流下進(jìn)行實(shí)時(shí)計(jì)算。通過圖6可以清晰看到,雖然LoadRunner并發(fā)度不一樣,即模擬攝像頭的數(shù)目有多有少,但一條識別數(shù)據(jù)的處理時(shí)間基本都一樣,這是因?yàn)楸鞠到y(tǒng)設(shè)計(jì)的滑動時(shí)間窗口長度固定為1h,計(jì)算所需歷史數(shù)據(jù)的時(shí)間長度不變,即使LoadRunner并發(fā)量增加,數(shù)據(jù)增多,但套牌車的甄別是根據(jù)其時(shí)空矛盾規(guī)則來計(jì)算的,即同一車牌號的車輛不可能在一定的時(shí)間閾值范圍內(nèi)出現(xiàn)在兩個(gè)不同的地點(diǎn),與數(shù)據(jù)量的多少沒有直接關(guān)系,因此,一條識別數(shù)據(jù)的處理時(shí)間基本一致。
圖6 不同數(shù)據(jù)量下的計(jì)算時(shí)間
2)為驗(yàn)證系統(tǒng)高正確率,隨機(jī)抽取5d數(shù)據(jù)分別進(jìn)行模擬實(shí)時(shí)計(jì)算和基于歷史車牌識別數(shù)據(jù)的并行計(jì)算[18]。基于歷史車牌識別數(shù)據(jù)的并行計(jì)算是在Hadoop平臺上對歷史車牌識別數(shù)據(jù)進(jìn)行套牌車的并行檢測,是一種批量計(jì)算。根據(jù)計(jì)算結(jié)果,即計(jì)算出的套牌嫌疑車,與交通部門所提供套牌車對比并計(jì)算正確率。如圖7所示,分別計(jì)算出兩種方法的平均正確率,本系統(tǒng)的正確率為99%,高于批量計(jì)算98.3%的正確率。驗(yàn)證了根據(jù)套牌車時(shí)空矛盾規(guī)則所設(shè)計(jì)的流式計(jì)算模型的高正確率。本系統(tǒng)的正確率之所以高,是因?yàn)椴捎玫氖腔诼范伍撝当淼挠?jì)算,路段閾值表中的路段閾值是在該城市道路中依照車輛正常行駛情況而得出的一個(gè)平均旅行時(shí)間作為該路段的套牌閾值,符合正常規(guī)律。而另一種批量計(jì)算是根據(jù)兩個(gè)監(jiān)測點(diǎn)的經(jīng)緯度,利用數(shù)學(xué)公式計(jì)算兩個(gè)監(jiān)測點(diǎn)之間物理距離,然后根據(jù)車輛經(jīng)過這兩個(gè)監(jiān)測點(diǎn)的時(shí)間差,計(jì)算車輛的平均行駛速度VA,車輛最大速度閾值為VM,若VA>VM,即車輛已超出最大閾值,說明該車輛不可能在這個(gè)時(shí)間段內(nèi)出現(xiàn)在這兩個(gè)地方,從而斷定此車輛的車牌在這兩個(gè)監(jiān)測點(diǎn)出現(xiàn)了套牌。這種根據(jù)經(jīng)緯度計(jì)算兩點(diǎn)之間的物理距離看似很合理,但是實(shí)際生活中,這兩個(gè)監(jiān)測點(diǎn)之間的路段并不一定是一條直線,很有可能是一條彎曲或者傾斜的路,這就造成了誤差,降低了計(jì)算的正確率。因此,采用本文提出的方法計(jì)算出的套牌車的正確率更高。
圖7 實(shí)驗(yàn)結(jié)果的正確率對比
3)對布控信息以可視化形式展示計(jì)算出的套牌嫌疑車信息:圖8中的監(jiān)測點(diǎn)1和監(jiān)測點(diǎn)2表示此車輛的車牌在這兩個(gè)監(jiān)測點(diǎn)出現(xiàn)了套牌,交通部門的管理人員可通過此布控信息偵查套牌車。
針對當(dāng)前套牌車泛濫以至影響正常交通秩序的現(xiàn)狀,提出了一種基于車牌識別數(shù)據(jù)的流式計(jì)算套牌車主動識別的方法。提出了針對套牌車主動識別的基于路段閾值表的計(jì)算模型,結(jié)合套牌車的時(shí)空特性創(chuàng)建時(shí)間滑動窗口以處理交通歷史數(shù)據(jù),對參加計(jì)算的混合數(shù)據(jù)進(jìn)行了合理有效組織并加以實(shí)時(shí)計(jì)算;對結(jié)果數(shù)據(jù)——套牌嫌疑車及時(shí)有效地進(jìn)行布控并加以存儲,從而實(shí)時(shí)地發(fā)現(xiàn)套牌車。面對城市道路連續(xù)不斷實(shí)時(shí)產(chǎn)生的數(shù)據(jù)流,能夠?qū)?shù)據(jù)流在線接入并進(jìn)行實(shí)時(shí)計(jì)算。在Storm環(huán)境下,實(shí)驗(yàn)結(jié)果驗(yàn)證了本文方法的準(zhǔn)確性和實(shí)時(shí)性,能夠幫助交通管理部門實(shí)現(xiàn)對違法套牌車的實(shí)時(shí)布控和現(xiàn)場處罰,滿足交通管理部門的需要。
圖8 本文算法結(jié)果展示
在下一步的研究工作中,將進(jìn)一步地探索和研究基于交通數(shù)據(jù)流的套牌車實(shí)時(shí)甄別。本文所設(shè)計(jì)的計(jì)算模型雖然相對于現(xiàn)有方法,其計(jì)算套牌車的準(zhǔn)確性和實(shí)時(shí)性有較大幅度提升,但是由于基礎(chǔ)路段閾值表較大,在存儲方式上仍有不足,導(dǎo)致計(jì)算性能沒有達(dá)到最優(yōu)。因此在下一步的研究中將繼續(xù)對基礎(chǔ)路段閾值表的加載、存儲和查詢進(jìn)行研究,降低內(nèi)存使用率,提高對閾值表的查詢速度,提升計(jì)算性能。
)
[1] 黃銀龍,王占斌,徐旭,等.基于ISO/IEC18000—6B標(biāo)準(zhǔn)的RFID車卡防偽問題研究[J].射頻世界,2008(5):39-42.(HUANGYL,WANGZB,XUX,etal.Researchonanti-counterfeitingproblemofRFIDvehicletagsbasedonthestandardofISO/IEC18000—6B[J].RadioFrequencyIdentification, 2008(5): 39-42.)
[2] 孟小峰,慈祥.大數(shù)據(jù)管理:概念、技術(shù)與挑戰(zhàn)[J].計(jì)算機(jī)研究與發(fā)展,2013,50(1):146-169.(MENGXF,CIX.Bigdatamanagement:concepts[J].JournalofComputerResearchandDevelopment, 2013, 50(1): 146-169.)
[3] 覃雄派,王會舉,杜小勇,等.大數(shù)據(jù)分析——RDBMS與MapReduce的競爭與共生[J].軟件學(xué)報(bào),2012,23(1):32-45.(QINXP,WANGHJ,DUXY,etal.Bigdataanalysis——CompetitionandsymbiosisofRDBMSandMapReduce[J].JournalofSoftware, 2012, 23(1): 32-45.)
[4] 孫大為,張廣艷,鄭緯民.大數(shù)據(jù)流式計(jì)算:關(guān)鍵技術(shù)及系統(tǒng)實(shí)例[J].軟件學(xué)報(bào),2014,25(4):839-862.(SUNDW,ZHANGGY,ZHENGWM.Bigdatastreamcomputing:technologiesandinstances[J].JournalofSoftware, 2014, 25(4): 839-862.)
[5] 劉學(xué)靜,李崇,郝飛,等.含光學(xué)隱碼的汽車牌照防套牌技術(shù)研究[J].大連理工大學(xué)學(xué)報(bào),2011,51(z1):77-80.(LIUXJ,LIC,HAOF,etal.Researchonanti-fakevehiclelicensetechnologywithopticalimplicitcode[J].JournalofDalianUniversityofTechnology, 2011, 51(z1): 77-80.)
[6]IQBALU,ZAMIRSW,SHAHIDMH,etal.Imagebasedvehicletypeidentification[C]//Proceedingsofthe2010InternationalConferenceonInformationandEmergingTechnologies.Piscataway,NJ:IEEE, 2010: 1-5.
[7]CHENC,LIUZ,LINWH,etal.DistributedmodelinginaMapReduceframeworkfordata-driventrafficflowforecasting[J].IEEETransactionsonIntelligentTransportationSystems, 2013, 14(1): 22-33.
[8] 李悅,劉晨.基于歷史車牌識別數(shù)據(jù)的套牌車并行檢測方法[J].計(jì)算機(jī)應(yīng)用,2016,36(3):864-870.(LIY,LIUC.Paralleldiscoveryoffakeplatesbasedonhistoricalautomaticnumberplaterecognitiondata[J].JournalofComputerApplications, 2016,36(3): 864-870.)
[9] 俞東進(jìn),平利強(qiáng),李萬清,等.一種基于Hadoop的套牌車識別方法:CN201410100491.7[P].2014-03-18.(YUDJ,PINGLQ,LIWQ,etal.Hadoop-basedrecognitionmethodforfake-licensedcar:CN201410100491.7 [P].2014-03-18.)
[10]DEANJ,GHEMAWATS.MapReduce:simplifieddataprocessingonlargeclusters[J].CommunicationsoftheACM, 2008, 51(1): 107-113.
[11]ZAHARIAM,DAST,LIH,etal.Discretizedstreams:anefficientandfault-tolerantmodelforstreamprocessingonlargeclusters[C]//HotCloud’12:Proceedingsofthe4thUSENIXConferenceonHotTopicsinCloudComputing.Berkeley,CA:USENIXAssociation, 2012: 10-10.
[12]NEUMEYERL,ROBBINSB,NAIRA,etal.S4:distributedstreamcomputingplatform[C]//ICDMW2010:Proceedingsofthe2010IEEEInternationalConferenceonDataMiningWorkshops.Piscataway,NJ:IEEE, 2010: 170-177.
[13]STOESSJ,STEINBERGU,UHLIGV,etal.AlightweightvirtualmachinemonitorforBlueGene/P[J].InternationalJournalofHighPerformanceComputingApplications, 2012, 26(2): 95-109.
[14] 鄭緯民.從系統(tǒng)角度審視大數(shù)據(jù)計(jì)算[J].大數(shù)據(jù),2015(1):17-26.(ZHENGWM.Gazeatthecalculationofbigdatafromasystematicpointofview[J].BigData, 2015, 1(1): 17-26.)
[15]LEIBIUSKYJ,EISBRUCHG,SIMONASSID.GettingStartedwithStorm[M].Sebastopol:O’ReillyMedia, 2012: 4-20.
[16]ANDERSONQ.StormReal-TimeProcessingCookbook[M].Birmingham,UK:PacktPublishing, 2013: 4-8.
[17]DINGW,HANY,ZHAOZ,etal.Stream-orientedavailabilityservicesforendpoint-to-endpointdatatransmission[C]//Proceedingsofthe2012InternationalConferenceonCloudandServiceComputing.Washington,DC:IEEEComputerSociety, 2012: 212-218.
ThisworkispartiallysupportedbytheBeijingMunicipalNaturalScienceFoundation(4162021),theR&DGeneralProgramofBeijingEducationCommission(KM2015_10009007),theKeyYoungScholarsFoundationfortheExcellentTalentsofBeijing(2014000020124G011).
QIAO Tong, born in 1991, M.S.candidate.His research interests include real-time data processing, intelligent transportation.
ZHAO Zhuofeng, born in 1977, Ph.D., associate professor.His research interests include cloud computing, mass data processing, intelligent transportation.
DING Weilong, born in 1983, Ph.D., lecturer.His research interests include real-time data processing, distributed system.
Stream computing system for monitoring copy plate vehicles
QIAO Tong1,2*, ZHAO Zhuofeng1,2, DING Weilong1,2
(1.InstituteofDataEngineering,NorthChinaUniversityofTechnology,Beijing100144,China;2.BeijingKeyLaboratoryonIntegrationandAnalysisofLarge-scaleStreamData(NorthChinaUniversityofTechnology),Beijing100144,China)
The screening of the copy plate vehicles has timeliness, and the existing detection approaches for copy plate vehicles have slow response and low efficiency.In order to improve the real-time response ability, a new parallel detection approach, called stream computing, based on real-time Automatic Number Plate Recognition (ANPR) data stream, was proposed.To deal with the traffic information of the road on time, and plate vehicles could be timely feedback and controlled, a stream calculation model was implemented by using the threshold table of road travel time and the time sliding window, which could access real-time traffic data stream to calculate copy plate vehicles.On the platform of Storm, this system was designed and implemented.The calculation model was verified on a real-time data stream which was simulated by the real ANPR dataset of a city.The experimental results prove that a piece of license plate recognition data can be dealt with in milliseconds from the time of arrival to the calculation completion, also, the calculation accuracy is 98.7%.Finally, a display system for copy vehicles was developed based on this calculation model, which can show the copy plate vehicles from the road network on the current moment.
copy plate vehicle; Automatic Number Plate Recognition (ANPR); stream computing; real-time; threshold table; Storm
2016-07-25;
2016-08-08。 基金項(xiàng)目:北京市自然科學(xué)基金資助項(xiàng)目(4162021),北京市教育委員會科技計(jì)劃面上項(xiàng)目(KM2015_10009007);北京市優(yōu)秀人才培養(yǎng)資助青年骨干個(gè)人項(xiàng)目(2014000020124G011)。
喬通(1991—),男,山東泰安人,碩士研究生,主要研究方向:實(shí)時(shí)數(shù)據(jù)處理、智能交通; 趙卓峰(1977—),男,山東濟(jì)南人,副研究員,博士,CCF高級會員,主要研究方向:云計(jì)算、海量數(shù)據(jù)處理、智能交通; 丁維龍(1983—),男,山東泰安人,講師,博士,CCF會員,主要研究方向:實(shí)時(shí)數(shù)據(jù)處理、分布式系統(tǒng)。
1001-9081(2017)01-0153-06
10.11772/j.issn.1001-9081.2017.01.0153
TP274
A