本發(fā)明屬于軌跡計(jì)算技術(shù)領(lǐng)域,具體涉及一種基于歷史數(shù)據(jù)的單點(diǎn)路網(wǎng)匹配方法。
背景技術(shù):
路網(wǎng)匹配是基于位置服務(wù)的一個(gè)重要技術(shù),該項(xiàng)技術(shù)主要通過對空間物體運(yùn)動受限于道路網(wǎng)絡(luò)的假設(shè),將通過定位技術(shù)(如GPS定位)得到的空間位置坐標(biāo)匹配到其最有可能位于的路段中。該項(xiàng)技術(shù)主要應(yīng)用對象為車輛定位數(shù)據(jù),因?yàn)檐囕v的因?yàn)槎际鞘芟抻诘缆肪W(wǎng)絡(luò)的,相比于返回一個(gè)帶有一定誤差的定位點(diǎn),返回其所在的道路的具體位置能更客觀更精準(zhǔn)地反映對象的位置,因此路網(wǎng)匹配是在基于位置服務(wù)中的一個(gè)不可或缺的技術(shù)。雖然大部分情況下能夠在連續(xù)的時(shí)間維度中獲得一系列的位置序列構(gòu)成軌跡數(shù)據(jù),通過前后軌跡點(diǎn)的相關(guān)信息來提高路網(wǎng)匹配的精度,但是現(xiàn)實(shí)中依然存在著許多并不能獲得軌跡數(shù)據(jù)但仍需要進(jìn)行路網(wǎng)匹配的情況。如在使用打車軟件的過程中,用戶需要將自己的位置匯報(bào)給服務(wù)器,由于用戶在打車時(shí)處于靜止?fàn)顟B(tài),因此服務(wù)器只能獲取一個(gè)位置點(diǎn),且仍需要將其匹配到正確的路段上,以將用戶的準(zhǔn)確位置告知接單的出租車司機(jī)。此外,許多基于地理位置簽到的社交應(yīng)用,獲得用戶在短時(shí)間內(nèi)的連續(xù)運(yùn)動軌跡是不可能的,但是如果能夠正確地將用戶的位置匹配到對應(yīng)的路網(wǎng)中的位置的話,也能夠更好地提高用戶體驗(yàn)。因此基于單點(diǎn)的路網(wǎng)匹配方法的應(yīng)用也時(shí)非常廣泛的。
與路網(wǎng)匹配相關(guān)的研究工作主要分為基于軌跡的路網(wǎng)匹配技術(shù)以及基于單點(diǎn)的定位誤差修正技術(shù)兩類:
(1)基于軌跡的路網(wǎng)匹配技術(shù)
該類技術(shù)主要通過參照當(dāng)前待匹配點(diǎn)前后若干的點(diǎn)的上下文信息,聯(lián)合路網(wǎng)的拓?fù)浣Y(jié)構(gòu)進(jìn)行匹配。這種方法的精度較高,但是需要的數(shù)據(jù)必須是軌跡數(shù)據(jù)。這種方法在只有一個(gè)點(diǎn)信息的情況下,將會完全失去作用。
(2)基于單點(diǎn)的定位誤差修正技術(shù)
不同于基于軌跡的路網(wǎng)匹配技術(shù),該類技術(shù)的研究對象通常為單個(gè)空間位置采樣點(diǎn),而不需要前后點(diǎn)的信息。這類方法主要通過在硬件層面對定位進(jìn)行誤差修正。這些方法雖然能在一定程度上提高匹配精度,但是由于算法需要對硬件有一定的要求而在實(shí)際應(yīng)用中并不適合。
可以看出,基于軌跡的路網(wǎng)匹配技術(shù)無法處理只有一個(gè)位置點(diǎn)的路網(wǎng)匹配問題,基于單點(diǎn)的定位誤差修正技術(shù)則是由于硬件限制而無法做到普及化。
技術(shù)實(shí)現(xiàn)要素:
本發(fā)明針對傳統(tǒng)的兩種路網(wǎng)匹配技術(shù)的局限性,提出一種基于歷史數(shù)據(jù)的單點(diǎn)路網(wǎng)匹配方法,以克服現(xiàn)有技術(shù)的不足。
本發(fā)明提出的基于歷史數(shù)據(jù)的單點(diǎn)路網(wǎng)匹配方法,具體步驟分為如下三個(gè)階段:
(一)預(yù)處理階段,對歷史軌跡進(jìn)行地圖匹配、路段分割以及軌跡點(diǎn)分配;具體步驟為:
(1)對軌跡數(shù)據(jù)使用已有的基于隱馬爾可夫模型的地圖匹配算法,得到每個(gè)軌跡點(diǎn)所匹配的路段;
(2)對于每個(gè)路段r,收集匹配路段為r的所有歷史軌跡點(diǎn),記作集合Φr;
(3)對于每個(gè)路段r,按固定長度γ進(jìn)行切割成若干線段s,記作集合Ψr;
(4)對于每個(gè)路段r的每一個(gè)線段s,收集Φr集合中投影位置落在s上的歷史軌跡點(diǎn),記作集合Φrs;
(二)訓(xùn)練階段,根據(jù)預(yù)處理階段處理好的數(shù)據(jù)訓(xùn)練模型參數(shù);具體步驟為:
步驟(1),對每個(gè)路段r,估計(jì)參數(shù)π(r),具體流程為:
(a)根據(jù)預(yù)處理階段得到的Φr統(tǒng)計(jì)其點(diǎn)的個(gè)數(shù)|Φr|;
(b)統(tǒng)計(jì)所有歷史軌跡點(diǎn)的個(gè)數(shù)N;
(c)統(tǒng)計(jì)所有路段數(shù)量NR;
(d)估計(jì)參數(shù)
步驟(2),對路段r的每個(gè)線段s,估計(jì)參數(shù)ζr(s),具體流程為:
(a)根據(jù)預(yù)處理階段得到的Φr統(tǒng)計(jì)其點(diǎn)的個(gè)數(shù)|Φr|;
(b)根據(jù)預(yù)處理階段得到的Φr統(tǒng)計(jì)其線段的個(gè)數(shù)|Ψr|;
(c)根據(jù)預(yù)處理階段得到的Φrs統(tǒng)計(jì)其點(diǎn)的個(gè)數(shù)|Φrs|;
(d)估計(jì)參數(shù)
步驟(3),對路段r的每個(gè)線段s,估計(jì)參數(shù)br(s),具體流程為:
(a)根據(jù)預(yù)處理階段得到的Φrs統(tǒng)計(jì)其點(diǎn)的個(gè)數(shù)|Φrs|;
(b)對Φrs中的每個(gè)點(diǎn)p計(jì)算到線段s的投影距離δ(p,s);
(c)估計(jì)參數(shù)
步驟(4),對路段r的每個(gè)線段s,估計(jì)參數(shù)σr(s),具體流程為:
(a)根據(jù)預(yù)處理階段得到的Φrs統(tǒng)計(jì)其點(diǎn)的個(gè)數(shù)|Φrs|;
(b)對Φrs中的每個(gè)點(diǎn)p計(jì)算到線段s的投影距離δ(p,s);
(c)根據(jù)步驟(3)估計(jì)參數(shù)br(s);
(c)估計(jì)參數(shù)
(三)在線階段,根據(jù)訓(xùn)練好的模型進(jìn)行路網(wǎng)匹配,具體步驟為:
(1)根據(jù)需進(jìn)行路網(wǎng)匹配的某一個(gè)位置點(diǎn)p,從路網(wǎng)中找出p的投影距離小于100m的所有候選匹配路段;
(2)對候選匹配路段集中的每條路段r,求出p在r上的投影位置位于的線段s;
(3)計(jì)算p到s的投影距離δ(p,s);
(4)計(jì)算p與r的聯(lián)合概率
(5)重復(fù)步驟(2)—(4),對候選匹配路段中的每條路段r,計(jì)算聯(lián)合概率P(r,p),返回具有最高的聯(lián)合概率的路段r*=arg maxrP(r,p)作為p所匹配的路段。
本發(fā)明提出的基于歷史數(shù)據(jù)的單點(diǎn)路網(wǎng)匹配方法,通過歷史軌跡得到每個(gè)軌跡點(diǎn)所匹配的路段,從中訓(xùn)練模型得到每條道路所存在的固定偏差以及隨機(jī)噪聲的程度;在線階段,僅需要一個(gè)點(diǎn)的空間坐標(biāo)信息,通過對候選匹配路段集合中的每條道路估計(jì)對應(yīng)的聯(lián)合概率,將聯(lián)合概率最高的路段作為匹配的路段。本發(fā)明通過數(shù)據(jù)驅(qū)動的方法,從歷史數(shù)據(jù)的角度進(jìn)行路網(wǎng)匹配,不需要任何硬件優(yōu)化,同時(shí)也可以應(yīng)對只有一個(gè)點(diǎn)的匹配問題,不需要參考上下文信息。
附圖說明
圖1為訓(xùn)練模型的歷史軌跡點(diǎn)以及需要匹配的點(diǎn)的圖示。其中,空心點(diǎn)p1,p2,...,p7為用于訓(xùn)練模型的歷史軌跡點(diǎn);實(shí)心點(diǎn)pq為所需要匹配的點(diǎn)。
圖2為單點(diǎn)匹配情況示意圖。
具體實(shí)施方式
下面結(jié)合具體實(shí)例來說明本發(fā)明的具體實(shí)施過程:
圖1為訓(xùn)練模型的歷史軌跡點(diǎn)以及需要匹配的點(diǎn)的圖示。
1.預(yù)處理階段,對歷史軌跡進(jìn)行地圖匹配、路段分割以及軌跡點(diǎn)分配。具體步驟為:
(1)對軌跡數(shù)據(jù)使用已有的基于隱馬爾可夫模型的地圖匹配算法,得到每個(gè)軌跡點(diǎn)所匹配的路段;
(2)對于每個(gè)路段r,收集匹配路段為r的所有歷史軌跡點(diǎn),記作集合Φr,如圖1中空心點(diǎn)構(gòu)成的集合即Φr={p1,p2,p3,p4,p5,p6,p7};
(3)對路段r,按固定長度γ=100m進(jìn)行切割成若干線段s,記作集合Ψr={s1,s2,s3};
(4)對線段s1,收集Φr集合中投影位置落在s上的歷史軌跡點(diǎn),即p1,p2,則對線段s2,s3按同樣步驟可求得
2.訓(xùn)練階段,根據(jù)預(yù)處理階段處理好的數(shù)據(jù)訓(xùn)練模型參數(shù)。具體步驟為:
步驟(1),對每個(gè)路段r,估計(jì)參數(shù)π(r)。具體流程為:
(a)統(tǒng)計(jì)路段r中點(diǎn)的個(gè)數(shù)|Φr|=7;
(b)統(tǒng)計(jì)所有歷史軌跡點(diǎn)的個(gè)數(shù)N=100(圖中未畫出);
(c)統(tǒng)計(jì)所有路段數(shù)量NR=10(圖中未畫出);
(d)估計(jì)參數(shù)
步驟(2),對路段r的每個(gè)線段s,估計(jì)參數(shù)ζr(s)。具體流程為:
(a)統(tǒng)計(jì)路段r中點(diǎn)的個(gè)數(shù)|Φr|=7;
(b)統(tǒng)計(jì)路段r中線段的個(gè)數(shù)|Ψr|=3;
(c)統(tǒng)計(jì)線段s1中的點(diǎn)的個(gè)數(shù)
(d)估計(jì)參數(shù)
(e)對線段s2,s3重復(fù)流程(c)(d);
步驟(3),對路段r的每個(gè)線段s,估計(jì)參數(shù)br(s)。具體流程為:
(a)統(tǒng)計(jì)線段s1中的點(diǎn)的個(gè)數(shù)
(b)對中的每個(gè)點(diǎn)p計(jì)算到線段s1的投影距離δ(p,s1),即δ(p1,s1)=10m,δ(p2,s1)=20m;
(c)估計(jì)參數(shù)
(d)對線段s2,s3重復(fù)流程(a)—(c);
步驟(4),對路段r的每個(gè)線段s,估計(jì)參數(shù)σr(s)。具體流程為:
(a)統(tǒng)計(jì)線段s1中的點(diǎn)的個(gè)數(shù)
(b)對中的每個(gè)點(diǎn)p計(jì)算到線段s1的投影距離δ(p,s1),即δ(p1,s1)=10m,δ(p2,s1)=20m;
(c)根據(jù)步驟(3)估計(jì)參數(shù)br(s1)=15m;
(d)估計(jì)參數(shù)
(e)對線段s2,s3重復(fù)流程(a)—(d)。
3.在線階段,根據(jù)訓(xùn)練好的模型進(jìn)行路網(wǎng)匹配。具體步驟為:
(1)根據(jù)需進(jìn)行路網(wǎng)匹配的位置點(diǎn)pq,從路網(wǎng)中找出pqp的投影距離小于100m的所有候選匹配路段{r,r1,r2...}(r1,r2,...圖中未畫出);
(2)對候選匹配路段集中的路段r,求出pq在r上的投影位置位于的線段s1;
(3)計(jì)算pq到s1的投影距離δ(pq,s1)=10m;
(4)計(jì)算pq與r的聯(lián)合概率
(5)重復(fù)步驟(2)—(4),對候選匹配路段剩余的路段r1,r2,...,計(jì)算聯(lián)合概率,返回具有最高的聯(lián)合概率的路段r*作為pq所匹配的路段。
下面通過真實(shí)數(shù)據(jù)集上的實(shí)驗(yàn)來算法的準(zhǔn)確性。我們使用新加坡共22萬條出租車軌跡的數(shù)據(jù)集,我們通過地原軌跡數(shù)據(jù)進(jìn)行基于軌跡的地圖匹配算法進(jìn)行匹配得到每個(gè)軌跡點(diǎn)所匹配的路段作為真實(shí)結(jié)果,然后單獨(dú)將某一個(gè)獨(dú)立的軌跡點(diǎn)的坐標(biāo)作為算法的輸入,使其進(jìn)行單點(diǎn)路網(wǎng)匹配,通過匹配正確的點(diǎn)的數(shù)量比上所有測試的數(shù)據(jù)點(diǎn)的數(shù)量作為算法的準(zhǔn)確率。我們使用典型的分類算法,包括人工神經(jīng)網(wǎng)絡(luò)(ANN)、softmax回歸(SR)、樸素貝葉斯(NB)、支持向量機(jī)(SVM)、決策樹(DT)以及k近鄰分類(kNN),與我們發(fā)明的方法進(jìn)行對比,表1展示了各個(gè)方法的單點(diǎn)匹配準(zhǔn)確率,可以看出,本發(fā)明方法大幅領(lǐng)先于其他方法。
表1