本發(fā)明屬于浮動(dòng)車監(jiān)控領(lǐng)域,尤其涉及一種基于多元數(shù)據(jù)融合的浮動(dòng)車聚集檢測(cè)方法。
背景技術(shù):
隨著智慧城市的發(fā)展,世界各地紛紛建立信息化的交通管理平臺(tái)實(shí)現(xiàn)交通信息實(shí)時(shí)監(jiān)控。浮動(dòng)車是指安裝了車載GPS定位裝置的公交車和出租車,通過GPS定位衛(wèi)星交通管理平臺(tái)可以定期獲取車輛的位置、方向和速度等信息。隨著浮動(dòng)車數(shù)量的不斷增加,對(duì)浮動(dòng)車的監(jiān)控和管理顯得尤為重要。其中,浮動(dòng)車聚集的檢測(cè)對(duì)預(yù)防犯罪活動(dòng)的發(fā)生具有重大意義,因?yàn)楦?dòng)車大量聚集會(huì)對(duì)社會(huì)秩序產(chǎn)生不良影響?,F(xiàn)有技術(shù)檢測(cè)浮動(dòng)車聚集的技術(shù)中,其判斷依據(jù)均是基于浮動(dòng)車數(shù)據(jù),定時(shí)判斷一定區(qū)域內(nèi)浮動(dòng)車的總數(shù)量,但這種單元數(shù)據(jù)判定往往會(huì)由于復(fù)雜的道路情況而導(dǎo)致浮動(dòng)車聚集檢測(cè)不準(zhǔn)確,不能很好的將浮動(dòng)車的聚集行為與車輛的擁堵區(qū)分開來;同時(shí),現(xiàn)有技術(shù)無法在出現(xiàn)浮動(dòng)車聚集之初時(shí)就能及時(shí)作出準(zhǔn)確判斷,往往是浮動(dòng)車聚集發(fā)生時(shí)才獲知,難以對(duì)浮動(dòng)車聚集事件進(jìn)行有效的預(yù)防和處理。
故,針對(duì)現(xiàn)有技術(shù)的缺陷,實(shí)有必要提出一種技術(shù)方案以克服現(xiàn)有技術(shù)存在的技術(shù)問題。
技術(shù)實(shí)現(xiàn)要素:
有鑒于此,確有必要提供一種能夠及時(shí)、準(zhǔn)確的分析出浮動(dòng)車的聚集的基于多元數(shù)據(jù)融合的浮動(dòng)車聚集檢測(cè)方法,從而能夠有效預(yù)防并及時(shí)處理浮動(dòng)車聚集事件,保障公共交通秩序和社會(huì)秩序有效運(yùn)行。
為了克服現(xiàn)有技術(shù)的缺陷,本發(fā)明的技術(shù)方案如下:
一種基于多元數(shù)據(jù)融合的浮動(dòng)車聚集檢測(cè)方法,包括以下步驟:
步驟S1:將地圖上待分析區(qū)域映射到一個(gè)由多個(gè)網(wǎng)格構(gòu)成的虛擬網(wǎng)格空間,并設(shè)定如下參數(shù):網(wǎng)格浮動(dòng)車車輛數(shù)閾值Cluster_Threshold{k11,k12...knn},用于代表各個(gè)網(wǎng)格在Δt時(shí)間段內(nèi)經(jīng)過的最大車輛數(shù);道路車輛擁堵閾平均值u和道路車輛擁堵閾方差值σ2,用于表征每條路段上的擁堵情況;車牌重復(fù)率閾值Repeat_Threshold,用于代表當(dāng)前時(shí)間段網(wǎng)格中車牌號(hào)碼與上一時(shí)間段網(wǎng)格中車牌號(hào)碼的重復(fù)率;浮動(dòng)車數(shù)量占車輛總數(shù)的閾值Float_Threshold,用于代表路段中浮動(dòng)車占總車輛數(shù)的百分比;道路速度閾值Speed_Threshold,用于代表車輛順暢通行的最小速度;
步驟S2:從數(shù)據(jù)庫(kù)中獲取每個(gè)網(wǎng)格在Δt時(shí)間段內(nèi)所對(duì)應(yīng)的浮動(dòng)車數(shù)據(jù)和卡口數(shù)據(jù),浮動(dòng)車數(shù)據(jù)為車載GPS終端設(shè)備上傳的經(jīng)度、緯度和時(shí)間,卡口數(shù)據(jù)為通過各個(gè)卡口的車輛牌號(hào)碼、過車時(shí)間;
步驟S3:對(duì)每一個(gè)網(wǎng)格的浮動(dòng)車數(shù)據(jù)進(jìn)行計(jì)算分析并判斷是否發(fā)生浮動(dòng)車聚集嫌疑,如果否,則返回至步驟S2,如果是,則觸發(fā)執(zhí)行步驟S4;其中,同時(shí)達(dá)到以下條件時(shí)就判定浮動(dòng)車聚集嫌疑發(fā)生:
連續(xù)N個(gè)時(shí)間段都滿足以下公式:
其中,CarDetail為從數(shù)據(jù)庫(kù)中讀入的浮動(dòng)車數(shù)據(jù),CarDetail[i][j]是當(dāng)前時(shí)間段中,第i行第j列網(wǎng)格的車輛數(shù),Cluster_Threshold[i][j]是第i行第j列網(wǎng)格浮動(dòng)車車輛數(shù)閾值;將連續(xù)N個(gè)時(shí)間段的浮動(dòng)車數(shù)據(jù)通過線性回歸擬合為線性函數(shù),得到斜率k,且k>0;
計(jì)算N個(gè)時(shí)間段中相鄰時(shí)間段的車牌號(hào)碼重復(fù)率repeat,repeat超過車牌重復(fù)率閾值Repeat_Threshold,其中,repeat計(jì)算公式如下:
其中,S1是這一時(shí)間段的所有車輛,S2是上一時(shí)間段的所有車輛,repeat是車牌號(hào)碼重復(fù)率,Repeat_Threshold為車牌重復(fù)率閾值;
步驟S4:將當(dāng)前處于浮動(dòng)車聚集嫌疑的車輛根據(jù)密度聚類到一起,并以此聚類所覆蓋的地方作為浮動(dòng)車聚集影響區(qū)域;
步驟S5:根據(jù)卡口數(shù)據(jù)計(jì)算浮動(dòng)車聚集影響區(qū)域所對(duì)應(yīng)的路段是否出現(xiàn)交通擁堵,如果出現(xiàn)交通擁堵,執(zhí)行步驟S6,否則執(zhí)行步驟S7;其中,同時(shí)符合以下條件時(shí)就判定出現(xiàn)交通擁堵:
RoadVehicle為從卡口獲取當(dāng)前路段上的車輛數(shù),u是道路車輛擁堵閾平均值,σ2是道路車輛擁堵閾方差值;
根據(jù)卡口數(shù)據(jù)計(jì)算該路段的速度speed,當(dāng)speed超過了道路速度閾值Speed_Threshold時(shí),即判定當(dāng)前的路段為擁堵,速度speed的計(jì)算方法如下:
其中,n是這條路段上的所有車輛數(shù),t1是經(jīng)過這個(gè)卡口的時(shí)間,t2是經(jīng)過和當(dāng)前計(jì)算路段相連的上一卡口的時(shí)間,s是路段長(zhǎng)度,Speed_Threshold為道路速度閾值;
步驟S6:通過以下公式計(jì)算浮動(dòng)車所占的比例是否超過了浮動(dòng)車數(shù)量占車輛總數(shù)的閾值Float_Threshold:
其中,分母LinkCarData是路段上所有的車輛數(shù),分子ClusterInfo是在當(dāng)前路段上參與聚集的浮動(dòng)車車輛數(shù),F(xiàn)loatPercent是一個(gè)在[0,1]之間的值,F(xiàn)loat_Threshold為浮動(dòng)車數(shù)量占車輛總數(shù)的閾值;
如果浮動(dòng)車所占的比例是否超過了浮動(dòng)車數(shù)量占車輛總數(shù)的閾值Float_Threshold,則判定為發(fā)生浮動(dòng)車聚集,執(zhí)行步驟S7,否則判定為誤觸發(fā),返回至步驟S2;
步驟S7:判定為發(fā)生浮動(dòng)車聚集,發(fā)出警報(bào)并存儲(chǔ)聚集車輛信息、發(fā)生聚集的區(qū)域和聚集的時(shí)間信息,重復(fù)步驟S2計(jì)算下一時(shí)間片的數(shù)據(jù)。
優(yōu)選地,其中步驟S3中,N為用戶自定義。
與現(xiàn)有技術(shù)相比較,本發(fā)明中針對(duì)海量的交通時(shí)空數(shù)據(jù)采用了Storm的大數(shù)據(jù)架構(gòu),從而提供了可容錯(cuò)分布式計(jì)算所要求的基本原語(yǔ)和保障機(jī)制,能夠滿足大容量關(guān)鍵業(yè)務(wù)的應(yīng)用需求;同時(shí),采用浮動(dòng)車的GPS數(shù)據(jù)和卡口數(shù)據(jù)相結(jié)合架構(gòu)了一個(gè)高效的、可靠的計(jì)算平臺(tái);多元數(shù)據(jù)的使用,能夠保證計(jì)算更加準(zhǔn)確,提高浮動(dòng)車聚集檢測(cè)的準(zhǔn)確率和效率。
附圖說明
圖1為本發(fā)明基于多元數(shù)據(jù)融合的浮動(dòng)車聚集檢測(cè)方法的流程框圖。
圖2為杭州市某路段浮動(dòng)車的聚集情況的車輛狀況圖。
如下具體實(shí)施例將結(jié)合上述附圖進(jìn)一步說明本發(fā)明。
具體實(shí)施方式
以下將結(jié)合附圖對(duì)本發(fā)明提供的基于多元數(shù)據(jù)融合的浮動(dòng)車聚集檢測(cè)方法作進(jìn)一步說明。
目前,分析浮動(dòng)車聚集的方法存在閾值的確定不夠具有準(zhǔn)確性;計(jì)算浮動(dòng)車聚集數(shù)據(jù)來源單一等問題。在傳統(tǒng)的研究交通擁堵方法中,往往忽視了有些浮動(dòng)車的大量聚集是由交通擁堵產(chǎn)生的這一重要成因,不能很好的將浮動(dòng)車的聚集同擁堵區(qū)分開來,在計(jì)算車輛聚集的方法中也會(huì)將擁堵一并計(jì)算進(jìn)去,從而結(jié)果會(huì)存在差錯(cuò)。究其原因,主要在于現(xiàn)有技術(shù)僅基于浮動(dòng)車數(shù)據(jù)檢測(cè)浮動(dòng)車聚集,導(dǎo)致精度無法進(jìn)一步提高。
針對(duì)上述技術(shù)缺陷,本發(fā)明技術(shù)方案的主要構(gòu)思是:將需要分析的區(qū)域映射到一個(gè)虛擬的網(wǎng)格,通過檢測(cè)每個(gè)網(wǎng)格是否連續(xù)N個(gè)時(shí)間段浮動(dòng)車的車輛數(shù)都超過設(shè)定的浮動(dòng)車數(shù)量的最大閾值且數(shù)量呈遞增趨勢(shì),并且從第二個(gè)時(shí)間段起,每個(gè)時(shí)間段都與上一時(shí)間段車牌號(hào)碼存在一定的重復(fù)率。以此判定此處是否有浮動(dòng)車聚集嫌疑的發(fā)生。當(dāng)檢測(cè)到有浮動(dòng)車聚集嫌疑時(shí),檢查此處是否發(fā)生了交通擁堵。若發(fā)生了交通擁堵,則浮動(dòng)車的聚集活動(dòng)可能是由交通擁堵導(dǎo)致的。通過浮動(dòng)車的數(shù)量占所有車的數(shù)量的百分比是否超過浮動(dòng)車數(shù)量占車輛總數(shù)的閾值來判斷。如果超過了浮動(dòng)車數(shù)量占車輛總數(shù)的閾值則可判斷為浮動(dòng)車的聚集;如果沒有超過浮動(dòng)車數(shù)量占車輛總數(shù)的閾值,則可判斷為沒有發(fā)生浮動(dòng)車聚集。若沒有發(fā)生交通擁堵,則聚集的發(fā)生與擁堵無關(guān),可直接判斷是浮動(dòng)車的聚集。
參見圖1,所示為本發(fā)明基于多元數(shù)據(jù)融合的浮動(dòng)車聚集檢測(cè)方法的路程框圖,包括以下步驟:
步驟S1:將地圖上待分析區(qū)域映射到一個(gè)由多個(gè)網(wǎng)格構(gòu)成的虛擬網(wǎng)格空間,并設(shè)定如下參數(shù):網(wǎng)格浮動(dòng)車車輛數(shù)閾值Cluster_Threshold{k11,k12...knn},用于代表各個(gè)網(wǎng)格的在Δt時(shí)間內(nèi)經(jīng)過的最大車輛數(shù);道路車輛擁堵閾平均值u和道路車輛擁堵閾方差值σ2,用于表征每條路段上的擁堵情況,道路車輛擁堵閾平均值u是每條路段上的閾值,是由路段的歷史數(shù)據(jù)得到的通過k-means確定的閾值,道路車輛擁堵閾方差值σ2是根據(jù)歷史數(shù)據(jù)得到的,是車輛在當(dāng)前計(jì)算時(shí)間段中路段上車輛數(shù)的方差;車牌重復(fù)率閾值Repeat_Threshold,用于代表當(dāng)前時(shí)間段的車牌號(hào)碼與上一時(shí)間段的重復(fù)率,可由用戶自行定義;浮動(dòng)車數(shù)量占車輛總數(shù)的閾值Float_Threshold,用于代表路段中浮動(dòng)車占總車輛數(shù)的百分比,由統(tǒng)計(jì)歷史數(shù)據(jù)得出;道路速度閾值Speed_Threshold,用于代表車輛順暢的最小速度,由用戶自行定義。
步驟S2:從數(shù)據(jù)庫(kù)中獲取每個(gè)網(wǎng)格在Δt時(shí)間段內(nèi)所對(duì)應(yīng)的浮動(dòng)車數(shù)據(jù)和卡口數(shù)據(jù),浮動(dòng)車數(shù)據(jù)為車載GPS終端設(shè)備上傳的經(jīng)度、緯度和時(shí)間,卡口數(shù)據(jù)為通過各個(gè)卡口的車輛牌號(hào)碼、過車時(shí)間;讀入的數(shù)據(jù)主要有浮動(dòng)車的上傳時(shí)間、車牌號(hào)碼、經(jīng)度、緯度和經(jīng)過卡口的車牌號(hào)碼、卡口編號(hào)、卡口經(jīng)度、卡口緯度、過車時(shí)間和過車方向組成。
將讀入的浮動(dòng)車數(shù)據(jù)根據(jù)經(jīng)緯度加入對(duì)應(yīng)的網(wǎng)格之中。將讀入的卡口數(shù)據(jù)根據(jù)每個(gè)卡口的卡口號(hào)和方向加入到GateFlowrate之中,GateFlowrate是保存車輛信息的數(shù)據(jù)結(jié)構(gòu)。
步驟S3:對(duì)每一個(gè)網(wǎng)格的浮動(dòng)車數(shù)據(jù)進(jìn)行計(jì)算分析并判斷是否發(fā)生浮動(dòng)車聚集嫌疑,如果否,則返回至步驟S2,如果是,則觸發(fā)執(zhí)行步驟S4;其中,計(jì)算每一個(gè)網(wǎng)格,通過以下公式將實(shí)際的車輛相加數(shù)與網(wǎng)格的車輛數(shù)閾值的相加數(shù)進(jìn)行比較,記錄在當(dāng)前時(shí)段是否超過了給定的閾值。對(duì)于當(dāng)前的網(wǎng)格計(jì)算是否達(dá)到了聚集嫌疑條件,具體的聚集嫌疑條件為同時(shí)達(dá)到以下條件時(shí)就判定浮動(dòng)車聚集嫌疑發(fā)生:
連續(xù)N個(gè)時(shí)間段都滿足以下公式:
其中,CarDetail為從數(shù)據(jù)庫(kù)中讀入的浮動(dòng)車數(shù)據(jù),CarDetail[i][j]是當(dāng)前時(shí)間段中,第i行第j列網(wǎng)格的車輛數(shù),Cluster_Threshold[i][j]是第i行第j列網(wǎng)格的車輛數(shù)閾值;
將連續(xù)N個(gè)時(shí)間段的浮動(dòng)車數(shù)據(jù)通過線性回歸擬合為線性函數(shù),得到斜率k,且k>0;
計(jì)算N個(gè)時(shí)間段中相鄰時(shí)間段的車牌號(hào)碼重復(fù)率repeat超過車牌重復(fù)率閾值Repeat_Threshold,其中,repeat計(jì)算公式如下:
其中,S1是這一時(shí)間段的所有車輛,S2是上一時(shí)間段的所有車輛,repeat是車牌號(hào)碼重復(fù)率,Repeat_Threshold為車牌重復(fù)率閾值;
步驟S4:將當(dāng)前處于浮動(dòng)車聚集嫌疑狀態(tài)的車輛根據(jù)密度聚類到一起,并以此聚類所覆蓋的地方作為浮動(dòng)車聚集影響區(qū)域;
步驟S5:根據(jù)卡口數(shù)據(jù)計(jì)算浮動(dòng)車聚集影響區(qū)域所對(duì)應(yīng)的路段是否出現(xiàn)交通擁堵,如果出現(xiàn)交通擁堵,執(zhí)行步驟S6,否則執(zhí)行步驟S7;其中,同時(shí)符合以下條件時(shí)就判定出現(xiàn)交通擁堵:
RoadVehicle為從卡口獲取當(dāng)前路段上的車輛數(shù),u是道路車輛擁堵閾平均值,σ2是道路車輛擁堵閾方差值;
根據(jù)卡口數(shù)據(jù)計(jì)算該路段的速度speed,當(dāng)speed超過了道路速度閾值Speed_Threshold時(shí),即判定當(dāng)前的路段為擁堵,速度speed的計(jì)算方法如下:
其中,n是這條路段上的所有車輛數(shù),t1是經(jīng)過這個(gè)卡口的時(shí)間,t2是經(jīng)過和當(dāng)前計(jì)算路段相連的上一卡口的時(shí)間,s是路段長(zhǎng)度,Speed_Threshold為道路速度閾值;
步驟S6:通過以下公式計(jì)算浮動(dòng)車所占的比例是否超過了浮動(dòng)車數(shù)量占車輛總數(shù)的閾值Float_Threshold,如果超過即判定為發(fā)生浮動(dòng)車聚集,否則判定為誤觸發(fā),返回至步驟S2;
其中,分母LinkCarData是路段上所有的車輛數(shù),分子ClusterInfo是在當(dāng)前路段上參與聚集的浮動(dòng)車車輛數(shù),F(xiàn)loatPercent是一個(gè)在[0,1]之間的值;
步驟S7:判定為發(fā)生浮動(dòng)車聚集,發(fā)出警報(bào)并存儲(chǔ)聚集車輛信息、發(fā)生聚集的區(qū)域和聚集的時(shí)間信息,重復(fù)步驟S2計(jì)算下一時(shí)間片的數(shù)據(jù)。
下面以杭州市經(jīng)緯度范圍在[118.35,29.18]-[120.5,30.55]為例進(jìn)行詳細(xì)說明:
設(shè)定浮動(dòng)車的聚集范圍是[118.35,29.18]-[120.5,30.55],并且搜索的精度為0.01,將在此范圍內(nèi)的區(qū)劃分為虛擬的網(wǎng)格。從歷史數(shù)據(jù)庫(kù)中讀取獲取到的浮動(dòng)車GPS數(shù)據(jù)和卡口數(shù)據(jù)進(jìn)行閾值的計(jì)算。
浮動(dòng)車Cluster_Threshold的閾值為每個(gè)網(wǎng)格和周圍八個(gè)網(wǎng)格的車輛數(shù)相加最大值,路段的閾值包括u和σ2。u為通過k-means將歷史數(shù)據(jù)聚成3類,得到的較大一類的較大的可能性的閾值,σ2為道路車輛數(shù)量的方差。
從數(shù)據(jù)庫(kù)中讀入需要計(jì)算的數(shù)據(jù),包括浮動(dòng)車的GPS數(shù)據(jù)和卡口的數(shù)據(jù)。通過以下公式計(jì)算網(wǎng)格中的浮動(dòng)車車輛數(shù)是否大于網(wǎng)格的車輛數(shù)閾值:
通過計(jì)算可以獲得從11:00-12:30時(shí)間段內(nèi)在以經(jīng)緯度(119.667,30.019)為中心,半徑為500米的覆蓋區(qū)域內(nèi)連續(xù)N(5)個(gè)時(shí)間段浮動(dòng)車的數(shù)量為1852輛,2003輛,2120輛,2451輛,2520輛,滿足上述超過了浮動(dòng)車的歷史車輛數(shù)閾值條件。并且連續(xù)5個(gè)時(shí)間段車輛數(shù)都成遞增的趨勢(shì),由此可以判定此處具有浮動(dòng)車聚集的嫌疑。從數(shù)據(jù)庫(kù)中得知此路段的歷史閾值u是1008,σ2是327,然后根據(jù)公式得到:
得到為浮動(dòng)車聚集的概率為0.99大于給定的0.9(由用戶自定義)。同時(shí)浮動(dòng)車所占的百分比FloatPercent大于給定的浮動(dòng)車數(shù)量占車輛總數(shù)的閾值Float_Threshold。并且根據(jù)統(tǒng)計(jì)得知相鄰兩個(gè)間隔中浮動(dòng)車車牌的重復(fù)率均高于車牌重復(fù)率閾值Repeat_Threshold(0.6),由此可以判斷當(dāng)前正為浮動(dòng)車的聚集狀態(tài),然后發(fā)出預(yù)警并記錄在數(shù)據(jù)庫(kù)之中。車輛在8:00-14:15的變化情況如圖2所示,從圖2中可見車輛大量的聚集在一塊,在12:30的時(shí)候車輛發(fā)生了明顯的增高。該方法具有可靠性和高效性等特點(diǎn),克服了傳統(tǒng)方法數(shù)據(jù)來源單一的問題可以使結(jié)果更加的準(zhǔn)確。考慮了因擁堵引起的聚集,能讓結(jié)果更加具有可靠性,彌補(bǔ)了傳統(tǒng)方法中的不足。并且對(duì)于將浮動(dòng)車數(shù)量轉(zhuǎn)化為概率是的計(jì)算更加的準(zhǔn)確。
以上實(shí)施例的說明只是用于幫助理解本發(fā)明的方法及其核心思想。應(yīng)當(dāng)指出,對(duì)于本技術(shù)領(lǐng)域的普通技術(shù)人員來說,在不脫離本發(fā)明原理的前提下,還可以對(duì)本發(fā)明進(jìn)行若干改進(jìn)和修飾,這些改進(jìn)和修飾也落入本發(fā)明權(quán)利要求的保護(hù)范圍內(nèi)。
對(duì)所公開的實(shí)施例的上述說明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本發(fā)明。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來說將是顯而易見的,本文中所定義的一般原理可以在不脫離本發(fā)明的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本發(fā)明將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開的原理和新穎特點(diǎn)相一致的最寬的范圍。