亚洲国产日韩欧美在线a乱码,国产精品路线1路线2路线,亚洲视频一区,精品国产自,www狠狠,国产情侣激情在线视频免费看,亚洲成年网站在线观看

基于車(chē)牌識(shí)別大數(shù)據(jù)的伴隨車(chē)輛組發(fā)現(xiàn)方法

時(shí)間:2024-10-15 22:09:34 數(shù)學(xué)畢業(yè)論文 我要投稿
  • 相關(guān)推薦

基于車(chē)牌識(shí)別大數(shù)據(jù)的伴隨車(chē)輛組發(fā)現(xiàn)方法

  摘要:基于對(duì)車(chē)牌識(shí)別大數(shù)據(jù)的處理與分析,可以完成伴隨車(chē)輛組的發(fā)現(xiàn),在涉案車(chē)輛追蹤等方面具有廣泛的應(yīng)用。然而當(dāng)前單一機(jī)器模式下伴隨車(chē)輛組發(fā)現(xiàn)算法存在時(shí)間和空間上處理性能低下等問(wèn)題。針對(duì)此問(wèn)題,提出了一種伴隨車(chē)輛組發(fā)現(xiàn)方法――FPDTC方法。該方法將傳統(tǒng)的FPGrowth算法利用分布式處理框架Spark進(jìn)行了并行化,并作了相應(yīng)的改進(jìn)和優(yōu)化來(lái)更加高效地發(fā)現(xiàn)伴隨車(chē)輛組。實(shí)驗(yàn)結(jié)果的分析表明,提出的方法能夠很好地解決車(chē)牌識(shí)別大數(shù)據(jù)上的伴隨車(chē)輛組發(fā)現(xiàn)問(wèn)題,性能相比采用同樣方法的Hadoop實(shí)現(xiàn)提升了近4倍。

基于車(chē)牌識(shí)別大數(shù)據(jù)的伴隨車(chē)輛組發(fā)現(xiàn)方法

  關(guān)鍵詞:智能交通系統(tǒng);伴隨車(chē)輛組;FPGrowth算法;Spark并行框架;車(chē)牌識(shí)別

  引言

  隨著科技的發(fā)展,通過(guò)使用傳感器、位置捕獲和跟蹤設(shè)備等技術(shù)產(chǎn)生了大量的位置相關(guān)方面的數(shù)據(jù),智能交通系統(tǒng)(Intelligence Transportation Systems, ITS)領(lǐng)域的應(yīng)用程序開(kāi)始利用這些交通數(shù)據(jù),來(lái)記錄車(chē)輛移動(dòng)和交通軌跡的動(dòng)態(tài)生成情況[1]。車(chē)牌自動(dòng)識(shí)別(Automatic Number Plate Recognition, ANPR)數(shù)據(jù)是對(duì)交通攝像頭捕捉到的道路交通數(shù)據(jù)進(jìn)行處理生成的數(shù)據(jù)。ANPR 數(shù)據(jù)每時(shí)每刻都在不停地產(chǎn)生,形成了龐大的數(shù)據(jù)規(guī)模。

  現(xiàn)代社會(huì)道路監(jiān)控技術(shù)發(fā)展的同時(shí),違法犯罪行為與車(chē)輛、交通系統(tǒng)的聯(lián)系也越來(lái)越密切。伴隨車(chē)輛是一個(gè)交通術(shù)語(yǔ),是指在一定時(shí)間內(nèi)與追蹤車(chē)輛以一定概率存在伴隨關(guān)系的車(chē)輛。如果事先知道涉案車(chē)輛的車(chē)牌號(hào),可以直接通過(guò)查詢(xún)ANPR數(shù)據(jù)找出其伴隨車(chē)輛,然而實(shí)際情況中往往并不知道涉案車(chē)輛的車(chē)牌號(hào),在這種情況下就需要通過(guò)伴隨車(chē)輛組發(fā)現(xiàn)方法從海量的ANPR數(shù)據(jù)中尋找出經(jīng)常一起出現(xiàn)的伴隨車(chē)輛,提供給公安機(jī)關(guān)進(jìn)行排查。

  在涉案車(chē)輛追蹤服務(wù)應(yīng)用中,可以對(duì)海量ANPR數(shù)據(jù)進(jìn)行分析處理,為公安部門(mén)辦案中的犯罪嫌疑車(chē)輛排查分析提供參考。本文的主要貢獻(xiàn)是:1)提出了一種基于并行FPGrowth算法的伴隨車(chē)輛組發(fā)現(xiàn)方法――FPDTC方法。該方法對(duì)關(guān)聯(lián)分析中的FPGrowth算法作了并行化的改進(jìn)和優(yōu)化,解決了車(chē)牌識(shí)別大數(shù)據(jù)處理中涉及到的頻繁子集挖掘問(wèn)題;2)利用云計(jì)算環(huán)境下的分布式并行處理框架Spark,實(shí)現(xiàn)了該算法。經(jīng)過(guò)實(shí)驗(yàn)驗(yàn)證該方法能夠很好地處理海量ANPR數(shù)據(jù),解決了單機(jī)模式下的內(nèi)存不足等問(wèn)題,在伴隨車(chē)輛組分析發(fā)現(xiàn)上的性能得到了提升。

  一、問(wèn)題的提出

  伴隨車(chē)輛組的發(fā)現(xiàn)是從ANPR數(shù)據(jù)集中的不同車(chē)輛之間的聯(lián)系來(lái)分析車(chē)輛的行駛習(xí)慣,通過(guò)了解哪些車(chē)輛頻繁地在多個(gè)監(jiān)測(cè)點(diǎn)共同出現(xiàn)來(lái)分析它們之間的相互關(guān)系,本質(zhì)上就是尋找不同車(chē)輛之間的關(guān)聯(lián)性或相關(guān)性,因此可以使用關(guān)聯(lián)分析方法來(lái)解決。點(diǎn)伴隨是指在一定的時(shí)間范圍內(nèi)共同經(jīng)過(guò)同一監(jiān)測(cè)點(diǎn)的車(chē)輛所具有的一種伴隨關(guān)系,具有點(diǎn)伴隨關(guān)系的車(chē)輛共同組成點(diǎn)伴隨組。前面提到伴隨車(chē)輛是在一定時(shí)間內(nèi)與追蹤車(chē)輛以一定概率存在伴隨關(guān)系的車(chē)輛,實(shí)際場(chǎng)景中這個(gè)概率通常指設(shè)定的監(jiān)測(cè)點(diǎn)值與點(diǎn)伴隨車(chē)輛共同經(jīng)過(guò)的監(jiān)測(cè)點(diǎn)數(shù)目的比值。因此可以通過(guò)對(duì)點(diǎn)伴隨組進(jìn)行關(guān)聯(lián)分析,找出滿足這一概率的頻繁子集車(chē)輛,即可求解出伴隨車(chē)輛組,作為涉案車(chē)輛重點(diǎn)追蹤和排查的對(duì)象。

  當(dāng)前的車(chē)輛數(shù)據(jù)越來(lái)越多,據(jù)統(tǒng)計(jì),中國(guó)一個(gè)大型城市部署的帶車(chē)牌識(shí)別功能的攝像頭可達(dá)到5000個(gè),高峰期每個(gè)攝像頭車(chē)牌識(shí)別數(shù)據(jù)的采集頻率可達(dá)每秒1條,每天的交通高峰折算率按0.33統(tǒng)計(jì),則一天的車(chē)輛識(shí)別數(shù)據(jù)記錄數(shù)將達(dá)到1.44億條,數(shù)據(jù)量約12GB[2]。面對(duì)如此大量的ANPR數(shù)據(jù),利用關(guān)聯(lián)分析方法在單臺(tái)機(jī)器上分析求解伴隨車(chē)輛組存在大量的計(jì)算和存儲(chǔ)負(fù)擔(dān),效率偏低。

  目前一些先進(jìn)的伴隨車(chē)輛組發(fā)現(xiàn)方法及技術(shù)被用于全球定位系統(tǒng)(Global Positioning System, GPS)的數(shù)據(jù)分析[3],而本文所研究的ANPR數(shù)據(jù)與GPS數(shù)據(jù)不同,其記錄的位置由于攝像頭固定等原因一般都是有限制的,其方法和技術(shù)并不完全適用于ANPR數(shù)據(jù)。文獻(xiàn)[4]提出的伴隨車(chē)輛查詢(xún)(Accompany Vehicle Discovery, AVD)方法雖然可以適用于ANPR數(shù)據(jù)的分析,但其采用的滑動(dòng)時(shí)間窗口技術(shù)僅在求解點(diǎn)伴隨組上提升了效率,最后利用關(guān)聯(lián)分析算法求解伴隨車(chē)輛時(shí)擺脫不了單臺(tái)機(jī)器的計(jì)算能力限制。

  基于以上兩個(gè)原因,需要考慮一種新的高效的方法來(lái)解決伴隨車(chē)輛組的發(fā)現(xiàn)問(wèn)題。本文提出的FPDTC方法,通過(guò)使用分布式處理框架Spark實(shí)現(xiàn)的并行FPGrowth算法來(lái)從車(chē)牌識(shí)別大數(shù)據(jù)中更加高效地發(fā)現(xiàn)伴隨車(chē)輛組。

  二、伴隨車(chē)輛組發(fā)現(xiàn)方法――FPDTC方法

  計(jì)算伴隨車(chē)輛組,需要綜合數(shù)天的車(chē)牌識(shí)別數(shù)據(jù)進(jìn)行分析處理,本文采用一種基于多過(guò)程并行模式的處理方法(簡(jiǎn)稱(chēng)為FPDTC方法)。首先,需要對(duì)ANPR數(shù)據(jù)集進(jìn)行預(yù)處理,過(guò)濾掉不符合要求的數(shù)據(jù),僅保留計(jì)算過(guò)程中需要的字段值;然后,將過(guò)濾后的數(shù)據(jù)集按時(shí)間先后排序,根據(jù)車(chē)牌號(hào)生成每輛車(chē)的車(chē)輛軌跡;再根據(jù)所得的車(chē)輛軌跡計(jì)算各監(jiān)測(cè)點(diǎn)下的點(diǎn)伴隨組;最后,根據(jù)點(diǎn)伴隨組求得伴隨車(chē)輛組。在這一章中將具體介紹這些過(guò)程的實(shí)現(xiàn)方法。

  2.1交通數(shù)據(jù)的預(yù)處理

  ANPR數(shù)據(jù)集中的每一條記錄均包含多個(gè)字段,由于所捕獲的監(jiān)測(cè)點(diǎn)數(shù)據(jù)有限導(dǎo)致某些字段的值缺失或者某些字段對(duì)于當(dāng)前的數(shù)據(jù)分析處理沒(méi)有任何意義,這樣的數(shù)據(jù)在車(chē)輛軌跡判定中很難發(fā)揮作用。因此本文方法通過(guò)Spark中的過(guò)濾函數(shù)將數(shù)據(jù)集并行的處理成只包含〈車(chē)牌號(hào),監(jiān)測(cè)點(diǎn),時(shí)間點(diǎn)〉(簡(jiǎn)寫(xiě)為〈v, s, time〉)3個(gè)字段的數(shù)據(jù)集,從而降低參與后續(xù)計(jì)算的數(shù)據(jù)規(guī)模,提高處理速度。

  2.2車(chē)輛軌跡和點(diǎn)伴隨組的生成

  車(chē)輛軌跡是一段時(shí)間內(nèi)車(chē)輛所經(jīng)過(guò)的監(jiān)測(cè)點(diǎn)位置序列。對(duì)過(guò)濾后的數(shù)據(jù)集先按照車(chē)牌號(hào)分組,然后根據(jù)監(jiān)測(cè)時(shí)間先后排序,最終得到在一定日期時(shí)間范圍內(nèi)的車(chē)輛軌跡。步驟如圖1所示。

  1) 使用textFile方法讀取ANPR數(shù)據(jù)集并將其轉(zhuǎn)換為相同格式的彈性分布式數(shù)據(jù)集(Resilient Distributed Dataset,RDD)形式,具體為HadoopRDD,其包含〈v,s,time〉 3個(gè)字段的信息;2) 通過(guò)mapToPair方法以車(chē)牌號(hào)作為鍵,監(jiān)測(cè)點(diǎn)和時(shí)間作為值將RDD從DRDD轉(zhuǎn)換為PairRDD的形式,其格式為〈v,s+time〉;3) 然后通過(guò)groupByKey方法將PairRDD按照鍵v進(jìn)行分組,將具有相同鍵值v的數(shù)據(jù)放在一起,形成另一種形式的PairRDD,格式為〈v, Iterable〈s+time〉〉,其中鍵v不變,值為具有相同鍵v的一組數(shù)據(jù);4) 再通過(guò)mapValues方法實(shí)現(xiàn)對(duì)PairRDD中的數(shù)據(jù)排序的功能,該方法將對(duì)同一車(chē)牌號(hào)下的數(shù)據(jù)按照時(shí)間先后排序。5) 最后使用collect方法得出車(chē)輛軌跡數(shù)據(jù),其格式為L(zhǎng)ist〈v, Iterable〈s+time〉〉。

  本文算法都是基于Spark實(shí)現(xiàn)的,而彈性分布式數(shù)據(jù)集(RDD)是Spark最基本的數(shù)據(jù)抽象。它是一個(gè)容錯(cuò)的、并行的數(shù)據(jù)結(jié)構(gòu),可以讓用戶顯式地將數(shù)據(jù)存儲(chǔ)到磁盤(pán)和內(nèi)存中,并能控制數(shù)據(jù)的分區(qū)[5]。同時(shí),RDD還提供了一組豐富的操作可以像在MapReduce中處理數(shù)據(jù)一樣并行地操作數(shù)據(jù),如flatMap、filter、mapToPair、groupByKey等操作。

  得出車(chē)輛軌跡數(shù)據(jù)后,基于這些軌跡數(shù)據(jù)對(duì)每一個(gè)監(jiān)測(cè)點(diǎn)和相同監(jiān)測(cè)點(diǎn)下的每一輛車(chē)進(jìn)行迭代,當(dāng)滿足時(shí)間值時(shí),將該車(chē)輛加入點(diǎn)伴隨組G,其數(shù)據(jù)格式為〈s, v1:v2:v3:…〉。

  2.3伴隨車(chē)輛組的發(fā)現(xiàn)

  為了方便地分析求解問(wèn)題,本文為伴隨車(chē)輛組作了如下的形式化定義:

  設(shè)q是點(diǎn)伴隨組G的一個(gè)子集,δcom為監(jiān)測(cè)點(diǎn)值,ncom為q中車(chē)輛共同經(jīng)過(guò)的監(jiān)測(cè)點(diǎn)數(shù)目,當(dāng)且僅當(dāng)ncom≥δcom時(shí),稱(chēng)q中的車(chē)輛互為伴隨車(chē)輛,q稱(chēng)為伴隨車(chē)輛組。

  下面以圖2為例簡(jiǎn)單介紹下發(fā)現(xiàn)伴隨車(chē)輛組的過(guò)程。

  圖2中,共有{s1, s2,…,s6}6個(gè)監(jiān)測(cè)點(diǎn),{v1, v2, …, v10}10輛車(chē),橫坐標(biāo)是車(chē)輛經(jīng)過(guò)某監(jiān)測(cè)點(diǎn)的時(shí)間,縱坐標(biāo)是監(jiān)測(cè)點(diǎn)的位置。假定監(jiān)測(cè)點(diǎn)值為5,時(shí)間值為30min,車(chē)輛組{v1, v2, v7, v3, v4}和{v8, v10, v5}在時(shí)間值內(nèi)共同經(jīng)過(guò)了同一個(gè)監(jiān)測(cè)點(diǎn)s1,則它們共同組成一個(gè)點(diǎn)伴隨組。從圖中可以看出,車(chē)輛組{v1, v2, v3, v4}、{v5, v10}都是此點(diǎn)伴隨組的子集,車(chē)輛組{v1, v2, v3, v4}共同經(jīng)過(guò)了{(lán)s1, s2, s3, s5} 4個(gè)監(jiān)測(cè)點(diǎn),而車(chē)輛組{v5, v10}共同經(jīng)過(guò)了{(lán)s1, s2, s3, s4, s6} 5個(gè)監(jiān)測(cè)點(diǎn),所以只有車(chē)輛組{v5,v10}滿足大于等于監(jiān)測(cè)點(diǎn)值的條件,在這種情況下,車(chē)輛v5, v10共同組成伴隨車(chē)輛組。

  上一節(jié)中求出點(diǎn)伴隨組后,其子集均為共同經(jīng)過(guò)某一監(jiān)測(cè)點(diǎn)的車(chē)輛或車(chē)輛組,根據(jù)前面給出的伴隨車(chē)輛組的形式化定義,要想求得伴隨車(chē)輛組,需要找出滿足共同經(jīng)過(guò)的監(jiān)測(cè)點(diǎn)數(shù)目超過(guò)監(jiān)測(cè)點(diǎn)值的所有點(diǎn)伴隨組子集,因此可以使用關(guān)聯(lián)分析算法對(duì)點(diǎn)伴隨組進(jìn)行頻繁子集挖掘即可,求得的這些點(diǎn)伴隨組的子集就是伴隨車(chē)輛組。目前傳統(tǒng)的頻繁項(xiàng)集挖掘主要包括兩大類(lèi)算法,基于Apriori的挖掘算法和基于模式增長(zhǎng)(FPGrowth)類(lèi)的算法。其中FPGrowth算法擺脫了Apriori算法必須產(chǎn)生候選項(xiàng)集的方式,提高了數(shù)據(jù)的挖掘效率[6]。

  傳統(tǒng)FPGrowth算法的基本思路是:不斷地迭代FPTree的構(gòu)造和投影過(guò)程,對(duì)FPTree進(jìn)行遞歸挖掘找出所有的頻繁項(xiàng)集。該算法需要掃描兩次事務(wù)集:第1次掃描事務(wù)集求出頻繁1項(xiàng)集,并按照支持度降序排列;第2次掃描事務(wù)集,對(duì)于每個(gè)頻繁項(xiàng),構(gòu)造它的條件投影數(shù)據(jù)庫(kù)和投影FPTree;對(duì)每個(gè)新構(gòu)建的FPTree重復(fù)這個(gè)過(guò)程,直到構(gòu)造的新FPTree為空,或者只包含1條路徑。當(dāng)構(gòu)造的FPTree為空時(shí),其前綴即為頻繁模式;當(dāng)只包含1條路徑時(shí),通過(guò)枚舉所有可能組合并與此樹(shù)的前綴連接即可得到頻繁模式[7]。

  由于傳統(tǒng)的FPGrowth算法對(duì)于FPTree的構(gòu)造是在內(nèi)存中進(jìn)行的,當(dāng)數(shù)據(jù)規(guī)模很大時(shí),F(xiàn)P樹(shù)的內(nèi)存占用會(huì)相當(dāng)可觀,同時(shí)FPTree的構(gòu)造過(guò)程也需要很高的運(yùn)算性能。本文基于Spark框架將FPGrowth算法進(jìn)行了并行化的改進(jìn)和優(yōu)化,使其可以根據(jù)事務(wù)集的規(guī)模進(jìn)行分組,將事務(wù)集均衡地分配到每個(gè)節(jié)點(diǎn)下進(jìn)行并行計(jì)算來(lái)提高運(yùn)算效率;赟park的并行FPGrowth處理計(jì)算框架如圖3所示。

  圖3所示框架展示了算法的4個(gè)步驟:1)首先通過(guò)一個(gè)并行計(jì)算過(guò)程,如mapToPair、groupByKey等求出頻繁1項(xiàng)集,統(tǒng)計(jì)事務(wù)項(xiàng)頻繁度并按其降序排列。2)為了達(dá)到負(fù)載均衡的效果,并且保證每組相對(duì)獨(dú)立,以便后續(xù)處理更方便,要對(duì)數(shù)據(jù)進(jìn)行平衡分組。通過(guò)利用頻繁1項(xiàng)集的結(jié)果建立Hash表,按照Hash分組策略第2次掃描事務(wù)集將其分組。假設(shè)有m個(gè)節(jié)點(diǎn),n個(gè)頻繁1項(xiàng)集,數(shù)據(jù)分解后的空間復(fù)雜度就減小到O(n/m)。3)對(duì)分組后的事務(wù)集進(jìn)行一定的并行處理后將其分配到各個(gè)節(jié)點(diǎn)單獨(dú)計(jì)算各分組的子頻繁項(xiàng)集,各節(jié)點(diǎn)從條件 FPTree分單分支和多分支兩種情況進(jìn)行本地遞歸挖掘頻繁項(xiàng)集。4)最后對(duì)各個(gè)節(jié)點(diǎn)的頻繁子集進(jìn)行匯總。其偽代碼如算法1所示。

  算法1基于點(diǎn)伴隨組生成伴隨車(chē)輛組genFrequentSet。

  輸入點(diǎn)伴隨組G,監(jiān)測(cè)點(diǎn)值δcom;

  輸出伴隨車(chē)輛組數(shù)據(jù)集Q。

  程序前

  1

  freqset_1=FPGStepOne(G,δcom);

  2)

  FPGStepTwo(G, freqsubset_1,δcom)   3)

  DRDD=SparkConf.textFile(G);

  4)

  mapToPair(DRDD)

  5)

  groupByKey(s, Gi)

  6)

  //將事務(wù)分組到每個(gè)節(jié)點(diǎn)

  7)

  List(Gi)=Grouping(G, freqset_1)

  8)

  //在各個(gè)節(jié)點(diǎn)下運(yùn)行本地FP-Growth算法

  9)

  LocalFPTree(Gi,δcom,null)

  10)

  // 構(gòu)建項(xiàng)頭表

  11)

  headerTable=buildHeaderTable(Gi,δcom)

  12)

  //構(gòu)建FP-Tree

  13)

  buildFPTree(Gi,headerTable)

  14)

  for each(gj) in Gi

  15)

  sortByHeaderTable(gj,headerTable)

  16)

  addNodes(TreeNode,gj,headerTable)

  17)

  end for

  18)

  end buildFPTree

  19)

  //遞歸以求子FP-Tree

  20)

  LocalFPTree(Gj,δcom, item)

  21)

  Qi.add(Iterable(freqSubset));

  22)

  end LocalFPTree

  23)

  end FPGStepTwo

  24)

  Q=CollectFromEachNode(Qi)

  25)

  return Q;

  程序后

  三、實(shí)驗(yàn)與分析

  為了有效驗(yàn)證本文提出的利用分布式并行處理框架Spark實(shí)現(xiàn)的FPGrowth算法來(lái)發(fā)現(xiàn)伴隨車(chē)輛組方法的有效性,搭建了基于Spark集群的實(shí)驗(yàn)環(huán)境并進(jìn)行了多組實(shí)驗(yàn)。

  3.1實(shí)驗(yàn)環(huán)境與數(shù)據(jù)

  本文的Spark集群采用基于Yarn的資源調(diào)度模式,由5臺(tái)裝載CentOS release 6.4系統(tǒng),Spark1.1.0以及 Hadoop2.3.0軟件的服務(wù)器搭建而成,內(nèi)存主節(jié)點(diǎn)配置6GB,從節(jié)點(diǎn)機(jī)器配置為3GB,其他硬件配置均相同。實(shí)驗(yàn)中采用的數(shù)據(jù)為北京市2012年11月13日到11月19日7天全天采集到的真實(shí)車(chē)牌識(shí)別數(shù)據(jù),每天的數(shù)據(jù)記錄約970萬(wàn)余條,涉及約230萬(wàn)輛車(chē),1794個(gè)道路監(jiān)測(cè)點(diǎn),實(shí)驗(yàn)中的所有數(shù)據(jù)均存儲(chǔ)在同一個(gè)HDFS集群中。

  3.2實(shí)驗(yàn)結(jié)果與分析

  1)性能測(cè)試與分析。

  本文方法通過(guò)在相同規(guī)模數(shù)據(jù)與硬件配置環(huán)境下,測(cè)試單機(jī)算法與并行算法在Spark集群中單個(gè)計(jì)算節(jié)點(diǎn)下的執(zhí)行時(shí)間來(lái)說(shuō)明采用分布式計(jì)算的必要性,通過(guò)測(cè)試FPDTC方法在不同的并行計(jì)算框架下的執(zhí)行時(shí)間來(lái)評(píng)估該算法的性能。如測(cè)試10min、20min、…、60min時(shí)間之內(nèi)的交通數(shù)據(jù)分別在單機(jī)算法和并行算法框架下,以及分別在Hadoop和Spark框架下執(zhí)行5次的平均時(shí)間。

  表1展示了單機(jī)FPGrowth算法和并行FPDTC算法Spark集群?jiǎn)喂?jié)點(diǎn)下的實(shí)驗(yàn)結(jié)果對(duì)比。

  從表1中可以看到,當(dāng)輸入數(shù)據(jù)規(guī)模很小時(shí),并行算法處理效率低于單機(jī)FPGrowth算法,這是因?yàn)镾park集群?jiǎn)?dòng)和分配任務(wù)時(shí)需要消耗一定的時(shí)間和資源,且在總運(yùn)行時(shí)間中占據(jù)很大的比例。隨著數(shù)據(jù)規(guī)模的增長(zhǎng),單機(jī)算法內(nèi)存消耗增大,剩余內(nèi)存不足以支撐計(jì)算任務(wù);而并行算法由于具有良好的并行框架Spark的支持,進(jìn)行適當(dāng)?shù)膬?nèi)部資源調(diào)度,最終能夠完成計(jì)算任務(wù)。這充分說(shuō)明了在單一機(jī)器模式下不足以處理和分析車(chē)牌識(shí)別大數(shù)據(jù),利用集群并行處理數(shù)據(jù)是很有必要的。

  圖4展示了在兩種不同的并行計(jì)算框架下實(shí)現(xiàn)的FPDTC算法的性能比較。從圖中可以看出,Spark實(shí)現(xiàn)的算法執(zhí)行時(shí)間明顯短于用Hadoop實(shí)現(xiàn)的算法,性能相比提升了近4倍。這是由于Spark框架的每一次迭代都是基于內(nèi)存計(jì)算的,而Hadoop則需要頻繁地讀寫(xiě)磁盤(pán),耗費(fèi)了大量的時(shí)間。還可以看到隨著數(shù)據(jù)規(guī)模的增大,前者增長(zhǎng)幅度明顯小于后者。因此通過(guò)使用Spark框架實(shí)現(xiàn)該FPDTC方法能夠很好地解決車(chē)牌識(shí)別大數(shù)據(jù)上的伴隨車(chē)輛組發(fā)現(xiàn)問(wèn)題。

  2)關(guān)鍵參數(shù)影響測(cè)試與分析。

  在計(jì)算伴隨車(chē)輛組的過(guò)程中,有兩個(gè)參數(shù)值的調(diào)整對(duì)結(jié)果具有很大的影響,分別是時(shí)間值δt和監(jiān)測(cè)點(diǎn)值δcom。

  時(shí)間值δt是產(chǎn)生點(diǎn)伴隨組的基礎(chǔ)。首先設(shè)定數(shù)據(jù)集的時(shí)間范圍為30min,監(jiān)測(cè)點(diǎn)值為4,然后依次將δt設(shè)置為1min,2min,3min,…,10min,計(jì)算算法執(zhí)行5次的平均時(shí)間。

  圖5展示了不同時(shí)間值下算法的執(zhí)行性能。隨著時(shí)間值的增大,算法的執(zhí)行時(shí)間成本相應(yīng)的增加,這是因?yàn)辄c(diǎn)伴隨組的數(shù)量規(guī)模也在不斷增加,此時(shí)可以通過(guò)擴(kuò)展集群節(jié)點(diǎn)的方法降低程序執(zhí)行時(shí)間。

  監(jiān)測(cè)點(diǎn)值δcom是計(jì)算伴隨車(chē)輛組的基礎(chǔ)。為了測(cè)試其對(duì)結(jié)果的影響,設(shè)定數(shù)據(jù)集的時(shí)間范圍為30min,時(shí)間值為5min,監(jiān)測(cè)點(diǎn)值δcom為3,4,5,6,7,8。從圖6可以看出算法的執(zhí)行時(shí)間隨著監(jiān)測(cè)點(diǎn)值的增大而減小,這是因?yàn)槊恳淮蔚?jì)算的數(shù)據(jù)規(guī)模都變小了。

  四、相關(guān)工作

  雖然伴隨車(chē)輛組發(fā)現(xiàn)一直是智能交通領(lǐng)域的一個(gè)研究熱點(diǎn),然而,基于交通大數(shù)據(jù)的集成與分析研究尚處于起始階段,本文總結(jié)了當(dāng)前的相關(guān)工作如下:

  1)伴隨車(chē)輛組發(fā)現(xiàn)。近年來(lái),移動(dòng)對(duì)象的伴隨組發(fā)現(xiàn)與查詢(xún)成為移動(dòng)對(duì)象數(shù)據(jù)管理領(lǐng)域的研究熱點(diǎn)[8]。很多研究者也提出了許多的計(jì)算方法,如Gridbased、Euclidean distance、動(dòng)態(tài)時(shí)間歸整(Dynamic Time Warping, DTW)等方法[9-11],但在最初的研究中它們很多都缺乏對(duì)移動(dòng)對(duì)象軌跡時(shí)間屬性的考慮以及偏側(cè)重于對(duì)全球定位系統(tǒng)(GPS)數(shù)據(jù)的分析處理,并不適合位置可測(cè)但車(chē)輛對(duì)象不定的車(chē)牌識(shí)別數(shù)據(jù),而文獻(xiàn)[4]中的伴隨車(chē)輛查詢(xún)(AVD)方法雖然適用于車(chē)牌識(shí)別數(shù)據(jù),但是同以上方法一樣并沒(méi)有從并行化的角度來(lái)考慮算法的性能問(wèn)題。

  2)大數(shù)據(jù)的處理框架。隨著數(shù)據(jù)量的不斷增加,越來(lái)越多的并行編程框架被用在加速大數(shù)據(jù)的處理之中,如Hadoop框架、Dryad框架、Storm框架等,但是這些框架并不適合用來(lái)進(jìn)行迭代式計(jì)算和交互式計(jì)算。Spark是開(kāi)源的類(lèi)Hadoop MapReduce的通用的并行計(jì)算框架,擁有Hadoop MapReduce所具有的優(yōu)點(diǎn),不同于MapReduce的是, job的中間輸出和結(jié)果可以保存在內(nèi)存中,從而不再需要讀寫(xiě)HDFS,因此Spark能更好地適用于數(shù)據(jù)挖掘與機(jī)器學(xué)習(xí)中需要迭代的算法。

  3)關(guān)聯(lián)分析領(lǐng)域的工作。當(dāng)前數(shù)據(jù)挖掘領(lǐng)域的很多算法都已經(jīng)實(shí)現(xiàn)了并行化,對(duì)于并行的關(guān)聯(lián)規(guī)則挖掘,Agrawal等在文獻(xiàn)[12] 中提出了計(jì)數(shù)分布(Count Distribution,CD)、候選分布 (Candidate Distribution,CaD) 和數(shù)據(jù)分布(Data Distribution,DD) 算法,但是這些算法對(duì)于節(jié)點(diǎn)數(shù)量的擴(kuò)展不具有很好的支持,算法在實(shí)際生產(chǎn)環(huán)境中還需要考慮多節(jié)點(diǎn)所帶來(lái)的節(jié)點(diǎn)故障、網(wǎng)絡(luò)通信故障等復(fù)雜問(wèn)題。

  五、結(jié)語(yǔ)

  本文論述了在面對(duì)海量交通數(shù)據(jù)時(shí)如何利用分布式并行數(shù)據(jù)處理框架Spark來(lái)分析處理數(shù)據(jù),并利用并行FPDTC方法來(lái)求解伴隨車(chē)輛組。本文提出了一種基于多過(guò)程并行模式的處理方法,分別從車(chē)輛軌跡生成、計(jì)算點(diǎn)伴隨組以及產(chǎn)生伴隨車(chē)輛組3個(gè)過(guò)程展開(kāi)敘述,最后通過(guò)實(shí)驗(yàn)證明,該方法適用于大規(guī)模交通數(shù)據(jù)的分析與應(yīng)用。本文還有許多需要改進(jìn)的地方,比如求解伴隨車(chē)輛組時(shí)采用更加高效的求解頻繁子集的算法等。

  參考文獻(xiàn):

  [1]NOREIKIS M, BUTKUS P, NURMINEN J K. Invehicle application for multimodal route planning and analysis[C]// Proceedings of the 2014 IEEE 3rd International Conference on Cloud Networking. Piscataway: IEEE, 2014:350-355.

  [2]LU S, ZHAO Z, HAN Y. A query method of the similarity of the vehicle trajectory[J].Computer and Digital Engineering, 2014, 42(9):1565-1569. (盧帥, 趙卓峰, 韓燕波. 一種車(chē)輛移動(dòng)對(duì)象相似軌跡查詢(xún)算法[J].計(jì)算機(jī)與數(shù)字工程,2014, 42(9): 1565-1569.)

  [3]TANG L A, ZHENG Y, YUAN J, et al.On discovery of traveling companions from streaming trajectories[C]// Proceedings of the 2012 IEEE 28th International Conference on Data Engineering. Piscataway: IEEE, 2012: 186-197.

  [4]FANG A, LI X, MAN S, et al. A discovery algorithm of travelling companions based on association rule mining[J]. Computer Applications and Software, 2012, 29(2): 94-96. (方艾芬, 李先通, 蔄世明, 等. 基于關(guān)聯(lián)規(guī)則挖掘的伴隨車(chē)輛發(fā)現(xiàn)算法[J]. 計(jì)算機(jī)應(yīng)用與軟件, 2012, 29(2): 94-96.)

  [5]ZAHARIA M. An architecture for fast and general data processing on large clusters, UCB/EECS201412 [R/OL].[20150122]. http://www.eecs.berkeley.edu/Pubs/TechRpts/2014/EECS201412.html.

  [6]AGRAWAL R, IMIELINSKI T, SWAMI A. Database mining: a performance perspective[J]. IEEE Transactions on Knowledge and Data Engineering, 1993,5(6):914-925.

  [7]AGRAWAL R, IMIELINSKI T, SWAMI A. Mining assocaition rules between sets of items in large databases[C]// Proceedings of the 1993 ACM SIGMOD International Conference on Management of Data. New York: ACM, 1993:207-216.

  [8]DING R,MENG X,YANG N. An efficient query method of similar trajectories of moving objects[J]. Computer Science, 2003, 30(10): 386-403.(丁銳, 孟小峰, 楊楠. 一種高效的移動(dòng)對(duì)象相似軌跡查詢(xún)方法[J]. 計(jì)算機(jī)科學(xué), 2003, 30(10): 386-403.)

  [9]UEHARA K, SEKI K, JINNO R. Parallel distributed trajectory pattern mining using MapReduce[C]// Proceedings of the 2012 IEEE 4th International Conference on Cloud Computing Technology and Science. Piscataway: IEEE, 2012: 269-273.

  [10]CHAN K P, FU A C. Efficient time series matching by wavelets[C]// Proceedings of the 15th International Conference on Data Engineering. Piscataway: IEEE, 1999:126-133.

  [11]KEOGH E J, PAZZANI H J. Scaling up dynamic time warping for datamining applications[C]// Proceedings of the 6th ACM SIGKDD International Conference on Knowledge Discovery and Data Mining. New York: ACM, 2000:285-289.

  [12]AGRAWAL R,SHAFER J C. Parallel mining of association rules[J].IEEE Transactions on Knowledge and Data Engineering,1996,8(6):962-969.

【基于車(chē)牌識(shí)別大數(shù)據(jù)的伴隨車(chē)輛組發(fā)現(xiàn)方法】相關(guān)文章:

基于聚類(lèi)分析的數(shù)據(jù)挖掘方法03-08

基于單目視覺(jué)的夜間車(chē)輛檢測(cè)方法研究03-07

一種基于路測(cè)數(shù)據(jù)的基站定位方法03-07

字符結(jié)構(gòu)知識(shí)在車(chē)牌識(shí)別中的應(yīng)用03-19

實(shí)現(xiàn)基于網(wǎng)頁(yè)的數(shù)據(jù)庫(kù)數(shù)據(jù)導(dǎo)入03-18

基于修正的M距離輻射源識(shí)別方法及計(jì)算機(jī)仿真03-18

基于XMLSchema的元數(shù)據(jù)方案實(shí)現(xiàn)03-21

基于SVM的ISAR像中的目標(biāo)識(shí)別03-19

一種基于灰值形態(tài)學(xué)的汽車(chē)牌照提取方法03-18