手機端上線,破解高架區域偏航檢測難題,高德提出工業級輕量模型ERNet

手機導航是手機地圖中非常重要的功能。偏航檢測(車輛是否偏離規劃路線)是手機導航中至關重要的任務。傳統偏航檢測方法通過檢測車輛的位置(低精度)或運動方向是否偏離規劃路線,判斷車輛是否偏航。

而在高架區域(包含高架橋和平行輔路)中,識別車輛是否偏航是非常困難的。因此,識別車輛是否在高架上行駛,能夠極大地提升高架區域的偏航檢測效果。

在本文中, 高德地圖在線引擎中心提出了高架道路網絡(Elevated Road Network,ERNet),一個輕量級且真正工業級別的神經網絡模型,用於解決高架區域中的偏航檢測難題

具體而言,對於同一組高架道路片段和平行輔路片段,ERNet 以 4 種高語義級別的特徵作爲輸入,學習得到兩個 10 維的道路描述子向量(A 和 B)。在推斷階段,對於車輛的一個位置,ERNet 預測一個 10 維的 embedding 向量(C)。最後通過比較 ||A-C|| 和 ||B-C||,並結合置信度約束(confidence constraint),我們能夠識別出車輛是否在高架上行駛。

在大量的實驗中,ERNet 取得了很好的效果。目前,ERNet 已經在高德地圖手機客戶端上線,支持北京、上海和廣州三個城市的高架區域偏航檢測。

序言

手機導航是手機地圖的核心功能。在高德地圖(中國最流行的手機地圖 APP),人們每天請求海量的導航服務。在一次旅程中,如果車輛偏離了導航服務爲其推薦的最佳規劃路線,手機導航系統需要及時地檢測出這一偏航事件,並規劃一條新的路線。

傳統的偏航檢測方法(在手機地圖中)主要依賴 GNSS 系統提供的車輛位置和行駛方向信息。一般地,如果車輛的位置(或方向)距離規劃路線連續地超過T_d米或(T_a角度),一次偏航事件可以被檢測出,如下圖 1 所示。

圖 1:傳統偏航檢測方法可以在中間圖(距離超出T_d)和右側圖(角度超過T_a)檢測出偏航事件。

在中國,高架道路作爲城市快速交通的關鍵組成部分,被大量建造。尤其在上海,有超過 622km 的高架道路,幾乎覆蓋全城。在高架道路附近,GNSS 系統提供的位置和行駛方向精度較低(可能誤差會超過 20 米,如下圖 2 所示)。

因此T_d和T_a必須足夠大,否則偏航檢測方法可能會誤報偏航。這就導致在高架區域(高架橋附近存在較近的平行輔路)中,傳統的偏航檢測方法無法正確檢測出偏航事件。如果我們能夠正確識別出車輛是否在高架橋上(高架道路識別),勢必會給偏航檢測方法帶來質的提升。

圖 2:左子圖:高架道路(Elevated road)跟旁邊的輔路(Surface road)距離較近,而且方向平行。右子圖:兩條軌跡存在較大的水平位置誤差。紅色軌跡來自行駛在高架橋 R1 的車輛,但是其位置卻落在輔路上。同樣地,綠色軌跡來自行駛在輔路上的車輛,其位置落在高架橋上。需要注意的是,紅色軌跡的位置(高架橋是水平的,沒有高度差)的高度取值範圍從 46 米到 52 米。而且,紅色軌跡的高度取值小於綠色軌跡(真實在輔路上的位置)的高度取值。

現有高架狀態識別方法的侷限

目前存在的高架狀態識別方法大致可以分爲三類: 地圖匹配方法、高程計算方法和特徵識別方法

地圖匹配方法使用 Map-Matching 技術[9, 10, 14],考慮時序的車輛位置、方向、路網等信息,在路網中爲車輛運行的軌跡選取合適的道路。這種方法在一般場景中工作良好,但是在高架區域表現糟糕。這主要是由於高架橋與平行輔路的方向一致,且距離很近,而地圖匹配方法依賴的車輛位置和方向在高架區域精度較低,不足以精確區分軌跡是否在高架橋上。而路網的拓撲信息在高架橋存在較多的出入口時,也無法精確建模,如下圖 3 所示。

圖 3:當路網拓撲信息在高架區域存在出入口時,由於 GNSS 位置精度較低,地圖匹配方法很難確認一條軌跡是來自高架橋上行駛的車輛還是來自平行輔路上行駛的車輛。

高程計算方法主要使用高度或高度差信息,例如使用 GNSS 系統提供的高度或使用氣壓計測量值計算的高度差。不過,GNSS 系統提供的高度信息基本不可用[3](如上圖 2 所示)。至於氣壓計,僅 iPhone 和少數高端的 Android 手機才裝備。並且,氣壓計在車輛窗口打開後,讀數非常不穩定(如下圖 4 所示)。汽車速度越快,氣壓計讀數越低,測量的高度越高。

圖 4:左子圖:一輛車在平行輔路上頻繁地加速和減速(上側),在高架橋上保持較快的速度(下側);右子圖:當車輛窗戶打開後,氣壓計測量的高度變化在平面道路上出現了較大的差異(超過 7 米)。

特徵識別方法提取能夠區分車輛在高架橋上和橋下的平行輔路行駛的本質差異特徵,並將這些特徵作爲模型(HMM 或分類器)的輸入。模型的輸出爲車輛的狀態:行駛在高架橋上和行駛在高架橋下的平行輔路。方法 [2] 使用了非常簡單的特徵,例如車輛速度的方差、可追蹤衛星(GNSS 系統由多顆衛星組成)的數量等。然而,速度和衛星信號可以提供非常有意義的信息,用於捕獲車輛行駛在高架橋上和橋下平行輔路的本質差異,見圖 4 和圖 5。因此更加複雜的特徵應該被考慮進來。

圖 5:衛星信號在高架橋上和平行輔路上存在較大差異。(a)三個位置分別在高架橋 R1 上,在平行輔路 R2 和 R3 上。(b)在 R1 上,大多數的衛星信噪比比較強(圖標尺寸比較大),有 7 個衛星未被追蹤到(無法用來進行 GNSS 定位)。(c)由於 R2 北方被高架橋遮擋,北方的衛星的信噪比比較低,且 12 個衛星未被追蹤到。(d)跟(c)非常類似,南側的衛星的信噪比比較低,且 9 個衛星未被追蹤到。

如何設計有效的高架狀態識別方法?

爲了設計一個有效的高架狀態識別方法,我們面臨以下三個主要挑戰:

  1. 識別方法必須是輕量級且計算代價低。因爲我們希望該方法能夠在手機端運行,以便手機導航系統及時的檢測出車輛的偏航事件;
  2. 獲取大量精確標記的樣本(車輛是否在高架橋上)是非常困難的。由於我們面臨的問題是一個全國範圍內(甚至是全球範圍內)的問題,因此標記的樣本必須足夠多才能覆蓋如此大範圍的場景;
  3. 對衛星信號和速度建模同樣比較困難,這主要是因爲衛星信號和速度在不同時間、不同地點的差異非常大(特徵空間巨大)。

近年來,以神經網絡爲代表的模型在多個任務中取得了極佳的效果,所以有足夠的動機去嘗試它們。

對於挑戰 1,我們更傾向於使用輕量級(層數較少)的神經網絡,而不是深度神經網絡(有可能取得更佳的實驗效果,但是計算代價巨大);

對於挑戰 2,我們可以使用車輛在手機導航過程中上傳的 GNSS 信息(車輛位置、運動方向,衛星空間位置、衛星信噪比等),設計一個自動標註算法,標註出車輛實際行駛的道路序列。

對於挑戰 3,我們需要設計一個有效的特徵提取方法來處理衛星信號。此外,在許多局部區域,高架橋下接收的衛星信號和高架橋上接收的衛星信號差異巨大。而在某些局部區域,差異較小。例如,當高架橋下的平行輔路距離高架橋較遠時,遮擋情況較弱,因此平行輔路上行駛的車輛也能接收到較強的衛星信號。

而在高樓林立的市區,即使車輛行駛在高架橋上,也會因爲受到高樓的遮擋,繼而接收到的衛星信號較弱,如下圖 6 所示。爲了對這些區域差異進行建模,我們可以使用局部編碼技術,爲每個局部區域編碼生成一個維度爲 d 的 embedding 向量。

圖 6:即使車輛行駛在高架橋上,在某些區域,衛星信號的傳輸會受到高樓的遮擋,因此車輛內手機接收到的衛星的信噪比和追蹤到的衛星個數可能也會比較低(跟橋下行駛的車輛沒有明顯差異)。

同時,爲了學習到有區分性的特徵(同類樣本在學習到的特徵空間距離較近,不同類樣本在學習到的特徵空間距離較遠),一些損失函數,例如 center loss [13],triplet loss [11] 和 triplet-center loss [5] 被提出。使用這些損失函數訓練的技術稱爲 metric learning 技術。

高架道路識別是一個局部問題。對於每一個位置,我們都可以計算出其屬於哪個局部區域。我們在學習過程中,只需要確保屬於同一個局部區域的不同類別的樣本在特徵空間上距離較遠,同一個佈局區域的同類別的樣本在特徵空間上距離較近。Softmax loss 則要求不同類別的樣本都要在特徵空間上距離較遠,同類別的樣本都要在特徵空間上距離較近,而不管樣本是否屬於同一個局部區域。

根據之前的分析,研究者提出了一個特徵識別方法。 該方法基於 Elevated Road Network(ERNet),一個輕量級而且真正意義上工業級別的模型,從根本上解決高架道路識別問題

ERNet 在一個大的自動標註的訓練樣本上進行訓練,並在一個手工標註的樣本集上進行驗證和測試。ERNet 輸入 4 類高語義的特徵,並使用 triplet loss 進行訓練。ERNet 爲同一個局部區域(我們稱之爲 group)的高架橋上片段和橋下平行輔路片段各學習一個γ維的道路描述子 A 和 B。在推斷階段,ERNet 爲每一個待預測的位置預測一個γ維的特徵 embedding C。如果 ||A-C||<||B-C||,則可以簡單地認爲車輛行駛在高架橋上。

不過爲了提升識別的準確率,研究者提出了一個置信度約束的機制。本文同樣提出了一個基於 ERNet 的偏航檢測方法。

本研究的貢獻可以總結爲以下四點:

  1. 提出了 ERNet,一個輕量級而且真正工業級別的模型,使用 triplet loss 進行訓練。該模型爲局部區域(group)的橋上和橋下路段學習道路描述子;
  2. 使用 group embedding 技術建模衛星信號在不同局部區域的多樣性;
  3. 提出了一個新的特徵衛星平面投影特徵(Satellite Plane Projection, SPP),用於建模衛星信號分佈;
  4. 提出了一個基於 ERNet 的偏航檢測方法。該方法已經成功應用在高德地圖(上線北京、上海、廣州三個城市)。

ERNet 模型詳解

離線數據處理

在一次旅行中,爲了請求導航信息(例如規劃路線、交通擁堵信息),手機導航系統會上傳 GNSS 信息到我們的地圖服務器。因此地圖服務器擁有大量的 GNSS 信息和規劃路線信息,這些被稱爲原始數據。

由於研究者希望使用 group embedding 技術,所以需要將原始數據轉換爲 group 數據。group 數據的每個實例包含:group ID、高架道路距離、GNSS 信息和道路類別。

具體地,研究者首先提煉出車輛真正行駛的路線 travel route,然後將車輛行駛軌跡的每個點投影到 travel route 上計算 group ID、高架道路距離和道路類別。前者他們稱爲 route refinement,後者稱爲 group projection。

Route refinement

圖 7:(a)地圖匹配方法將軌跡點匹配到鄰近的道路上(黃色道路)。(b)一輛車行駛在 R6、R7、R8 和 R11 上,並沒有偏航(規劃路線也是如此)。

在一次旅程中,如果車輛偏航,將會有不止一條規劃路線。由於 travel route 無法直接合並多個規劃路線,如上圖 7(a)所示。因此研究者需要提煉出 travel route。

具體地,研究者使用地圖匹配方法將一條軌跡的全部位置匹配到附近的道路上,從而得到一組連續的道路,見圖 7(a)。由於地圖匹配方法使用的是低精度位置,因此匹配道路可能是錯誤的。例如,圖 7(b)中,travel route 實際上包含 R6、R7、R8 和 R11。而地圖匹配的結果爲 R6、R9、R2、R10 和 R8。其中 R9、R2 和 R10 並不是車輛實際行駛的道路。

在高架區域中,對於平行的高架橋上道路和橋下的平行輔路,如果存在地圖匹配道路和規劃路線道路不一致的問題,則更傾向於相信規劃路線的道路。這主要因爲在高架區域,僅有 3% 的車輛會偏航(而地圖匹配的錯誤率要遠高於 3%)。例如,圖 7(b)中,更願意相信車輛行駛在規劃路線中的 R7 上,而不是地圖匹配路線中的 R9、R2 和 R10。當然,相信規劃路線會導致大約 3% 的道路並不是車輛真正行駛的道路(相當於訓練樣本存在 3% 的噪聲數據)。不過,這對於神經網絡而言,仍然可以訓練得到精度較高的模型,只要能夠更好地處理過擬合問題。

Group projection

圖 8:我們將一條高架道路切分爲多個 group。每個 group 的長度接近α米。每個 group 包含一個高架橋片段,和一個或多個平行輔路片段。如果一個 group 內的平行輔路片段到高架橋片段的距離超過 30 米或者夾角大於 45 度,我們捨棄掉這個 group,例如 G1 和 G10。

問題的關鍵在於如何爲每個位置計算其所屬的 group。上圖 8 顯示將一個高架橋切分爲多個 group。每個 group 的長度爲α。對於一次旅程的軌跡,我們將全部位置順序的投影到 travel route 上,尋找每個位置最佳的匹配道路,如下圖 9 所示。如果最佳匹配道路即爲高架道路,那麼投影距離即爲高架道路距離,投影處對應的 group 即爲高位置所屬的 group。

圖 9:左子圖:位置被順序地投影到 travel route 上。每個位置匹配到最近的近似平行道路上(道路的方向和運動方向夾角接近)。注意,對於回退位置(例如 P4),研究者將其投影到 P3 投影的道路上;右子圖:一個 group 的範圍被表示爲[Gs,Ge],這裏 Gs 或 Ge 指的是 Cs 到 Cgs 或 Cge 的距離。

對於最佳匹配道路爲平行輔路的位置,研究者使用一個叫 road map 的結構。road map 的每個實例爲平行輔路的 ID 和對應的高架橋道路的 ID。這裏對應指的是平行輔路和高架橋是同向而且是臨近重疊的。例如,在圖 8 中,平行輔路 R6 的對應高架橋道路 ID 爲 R1,而平行輔路 R7 對應的高架橋道路 ID 爲 R1 和 R2。使用 road map,最佳匹配道路爲平行輔路時,我們獲取對應的高架橋道路,並將位置投影到高架橋道路上,獲得高架道路距離和 group ID。

特徵

ERNet 使用 4 類特徵:1)衛星平面投影特徵(Satellite Plane Projection, SPP);2)group ID;3)高架道路距離;4)序列速度特徵。

SPP 特徵捕獲了衛星信號分佈。在高架橋上接收和橋下平行輔路接收的衛星信號分佈差異很大,如圖 5 所示。group ID 可以提供局部信息。大的高架道路距離表示車輛行駛在距離高架橋較遠的平行輔路上(沒有衛星信號遮擋)或行駛在距離高架橋較近的平行輔路上(衛星信號遮擋驗證,因此位置飄逸嚴重)。

下圖 10(c)顯示了序列速度特徵的提取方式。儘管每個 bin 長度設置地更小能夠提供更豐富的內容信息,用來區分車輛加減速是由於紅燈導致還是由於交通擁堵導致。當速度較快時,一些 bin 可能沒有位置數據。爲了避免這種情況,研究者設置每個 bin 的長度爲 30 米(車輛速度低於 108km/h 時,每個 bin 都存在位置數據)。

圖 10:(a)衛星的空間位置是(160,70),160 是指方位角,70 指俯仰角;(b)衛星的投影平面被切分爲 19 個正六邊形;(c)時序速度特徵包含β個 bin。其中每個 bin 包含屬於該 bin 的位置的平均速度和位置的個數。

對於每個位置,我們能夠非常容易計算出其所屬的 group、高架道路距離和序列速度特徵。因此這裏重點討論下 SPP 特徵。

具體地,研究者將投影平面切分爲 19 個正六邊形(圖 10(b)所示)。六邊形網格切分空間在地圖領域經常被使用[12]。衛星的空間位置(azi, ele)對應到投影平面的座標 p 可以按照如下方式計算:

對於每一秒接收到的衛星信號,在每個六邊形 H 中,研究者爲每類衛星 T 計算 3 維特徵:

這裏S_i表示衛星 i 的信噪比(信噪比數值越大,則衛星信號越強)。m 代表手機的 GPS 接收機能夠接收到的該類衛星(T)的最大信噪比(可以統計最近 20km 內,該類衛星 T 接收到的最強 SNR)。W_i是高斯加權,通過如下方式計算:

這裏是衛星 d_i 的投影座標 p 到六邊形 H 中心的距離。研究者設置σ爲六邊形邊長的 2 倍。

對於一個六邊形 H,一個大的f_1 (f_2) 表示更多可追蹤(不可追蹤)衛星的投影座標更接近 H 的中心,這捕獲了衛星的位置分佈。f_3是衛星信噪比的加權平均值(使用最大衛星信噪比標準化)。大的f_3表示投影座標靠近 H 中心的衛星的信噪比接近該類衛星的最大信噪比。因此f3_捕獲了衛星的信號強度分佈。

由於研究中使用了 4 類衛星,因此 SPP 特徵的維度總數爲 4*3*19 = 228。SPP 特徵是高語義級別的特徵而且計算非常高效,因此非常適合手機設備。

網絡結構

圖 11:ERNet 包含 10 個權重層。SPP 特徵在不同六邊形的特徵分量共享 W1、W2 和 W2。

ERNet 被設計爲在手機設備上運行的輕量級網絡,如上圖 11 所示。對於 group ID 特徵,研究者使用 group embedding 技術將 group ID 編碼爲一個 50 維的 embedding 向量。高架道路識別可以直接使用 softmax loss 訓練一個二分類模型。

不過,高架道路識別是一個局部問題,可以爲每一個待識別的位置計算其所屬的局部區域(也就是 group)。因此只有屬於同一個 group 的不同類別的樣本才需要在特徵空間存在區分度,如下圖 12 所示。Triplet 和 triplet-center loss 非常適合解決局部問題。

圖 12:不像傳統的損失函數 Softmax 強制要求所有不同類別的樣本在特徵空間分開,triplet 和 triplet-center loss 可以做到只要求屬於同一個局部區域的不同樣本在特徵空間分開,因此更適合解決局部問題。

由於在實驗中,研究者發現使用 triplet loss 訓練的效果比使用 triplet-center loss 訓練的效果更好,因此本研究更傾向使用 triplet loss 訓練 ERNet。

研究者使用 Batch All [6] 策略在 group 內部構造 triplet 樣本。所謂 group 內,指的是任意一個 triplet 的 anchor,positive 和 negative 樣本均屬於同一個 group。ERNet 爲每一個 group 學習得到一個 γ 維的橋上道路描述子(屬於該 group 的橋上訓練樣本的 ERNet 的特徵 embedding 的均值)和 γ 維的橋下道路描述子。本文γ被設置爲 10。

此外,考慮到卷積神經網絡的參數共享機制的成功,研究者對 SPP 特徵也使用了參數共享機制。具體地,每個六邊形的輸入 SPP 特徵(12 維)單獨通過 3 個全連接層(w1、w2 和 w3)。19 個六邊形的 SPP 特徵共享相同的 w1、w2 和 w3。SPP 的參數共享不僅能夠帶來更高的性能,同樣能夠極大的降低計算代價,詳見對比實驗部分。

置信度約束

對於一個 group G,ERNet 學習一個γ維的橋上道路描述子 A 和橋下道路描述子 B,見下圖 13。在預測階段,對於一個屬於 G 的位置,ERNet 預測得到一個γ維的特徵 embedding C。如果 ||A-C||<||B-C||,該位置可以被識別爲位於高架道路橋上。否則,位置可以被識別爲在橋下。儘管這樣做,ERNet 已經能夠取得較高的準確率,但是對於工業級別的應用而言,準確率仍然略有不足。

圖 13:ERNet 爲每個 group 學習橋上道路描述子 A 和橋下道路描述子 B。預測階段,ERNet 爲每個位置預測特徵 embedding C。

因此,研究者提出使用 confidence constraint(置信度約束技術)提供 ERNet 的預測準確率(98.6% 到 99.2%,詳見實驗部分)。具體地,在訓練集中,他們爲每一個樣本的預測結果計算 confidence:

置信度等於 0(或 1)表示該位置更像是在高架橋上(或高架橋下)。在一個 group 中,我們將預測結果進行排序。在每一個預測的 confidence c 上,計算

這裏 p = L / M,r = L / N。N 是類別爲高架橋上的樣本個數,M 是 confidence 小於 c 的樣本的個數,L 是 M 中類別爲高架橋上的樣本個數。β是用來平衡 p 和 r 的值。β越小,表示越看重準確率。本文中,研究者設置β爲 0.25,因爲希望準確率更高些。

對應最大F_β - score 的置信度值即爲 group G 的橋上約束值 Ve。在推斷階段,只有樣本的置信度小於 Ve,樣本才能被識別爲橋上。類似地,group G 也有一個橋下約束值 Vs。在推斷階段,只有樣本的置信度大於 Vs,樣本才能被識別爲橋下。如果樣本即不能識別爲橋上,也不能識別爲橋下,那麼樣本被認爲是未知狀態。

下圖 14 是對置信度約束的一個形象描述。所謂置信度約束,可以認爲是爲橋上的道路描述子和橋下的道路描述子各加了一個置信度半徑。對於橋上樣本而言,樣本的特徵 embedding 不僅需要到橋上的描述子更近,而且需要在橋上描述子的置信度半徑內。

圖 14:置信度約束可以被視爲在道路描述子外側加上置信度半徑。一個位置被識別爲在橋上,不僅需要該位置的特徵 embedding 距離橋上道路描述子更近,而且需要在橋上道路描述子的置信度半徑內。

基於 ERNet 的偏航檢測方法

研究者基於 ERNet,研究者提出了一個新的偏航檢測方法。該檢測方法運行在手機端。在導航過程中,ERNet 會不斷地預測車輛當前的狀態(行駛在高架橋上還是橋下)。在一個沒有重疊的 k 秒的時間窗口內,如果車輛規劃行駛在橋上 / 橋下,而 ERNet 連續識別車輛行駛在橋下 / 橋上,一個偏航事件即可被檢測出來。

下圖 15 是一個偏航檢測的示例:車輛規劃行駛在高架橋上,但是車輛實際行駛在高架橋下的平行輔路。ERNet 連續識別出車輛行駛在橋下,因此一次偏航事件即可以被檢測出來。

圖 15:規劃路線爲橋上時,ERNet 連續(k 秒)識別車輛行駛在橋下,一次偏航事件被檢測出。

實驗

研究者在北京、上海和廣州三個城市,測試了高架道路網絡在高架道路識別和偏航檢測兩個任務上的效果。下圖 16 爲北上廣三個城市高架區域(綠色矩形框內)。

圖 16:北京、上海、廣州三個城市的高架橋區分佈。

數據集

由於暫無公開的數據集,因此研究者在 Android 手機上搜集數據,構造本文的訓練數據集和測試數據集。對於 iPhone 手機,無法獲取到衛星的底層信號(如衛星的空間位置和信噪比等),因此 本文方法只針對 Android 手機適用

訓練數據集

研究者使用一個非常大的訓練數據集。該數據集的類別是自動標註的,存在大約 3% 的標註類別噪聲。自動標註算法總共標註了數十億個樣本(每個樣本對應一個位置)。對於每一個 group,研究者只採樣最多 4000 個樣本用於訓練。當然,如果一個 group 的樣本僅包含橋上或橋下類別,則會捨棄該 group。訓練數據總共包含約一億個樣本。

測試數據集

研究者的測試數據集按照軌跡組織。 70% 的軌跡用作評估集,30% 用作驗證集 。每個實例包含:A)SPP 特徵、高架道路距離、group ID 和序列速度特徵;B)道路標註類別(高架橋上 / 高架橋下);C)經度、緯度、高度、速度和運動方向;D)規劃道路類別(規劃行駛橋上 / 規劃行駛橋下)。A、B、和 C 用來評估特徵識別方法和匹配識別方法。D 用來評估偏航檢測方法。

爲了構造測試數據集,研究者同樣蒐集 Android 手機的 GNSS 和規劃路線數據,跟構造訓練集類似。但是,爲了確保真值的準確性,研究者手動標註車輛行駛的道路。標註參考車輛行駛的速度、交通信號燈、路網拓撲等信息。儘管標註也會存在一些誤標註數據,但總體上要更爲可靠些。

由於北京、上海和廣州三個城市的高架道路長度分別是 63km、622km 和 160km,因此測試數據集的軌跡在三個城市的分佈爲 1:10:3。如果一條軌跡包含標註道路類別和規劃路線道路類別不一致的位置,則稱該軌跡爲偏航軌跡。

評估協議

對於高架道路識別任務,其目標爲識別爲車輛是否在高架橋上行駛。研究者定義識別準確率 p=T / (T + F)和識別有效率 r=(T+F) / (T + F + U)。T 爲正確識別的位置個數,F 爲錯誤識別的位置個數,U 爲識別爲未知狀態的數量。下圖 17 中對應的 p=10 / 12,r = 12 / 14。

圖 17:14 個位置中,10 個位置被正確識別,12 個位置存在識別結果。

對於偏航檢測,研究者考慮偏航準確率 yaw_p 和偏航召回率 yaw_r。其中 yaw_p 爲正確偏航的次數除以總共偏航的次數,yaw_r 爲正確偏航的軌跡數除以偏航軌跡的數量(注意,一條軌跡僅偏航一次,因爲線上實際應用時,偏航後會立即重新規劃路線)。

參數實驗

ERNet 有三個超參數:α、β和γ。α代表 group 的長度,β代表序列速度的 bin 數量,γ代表道路描述子的大小。基於 ERNet 的偏航檢測方法有一個超參數:k,表示無重疊時間窗口的大小。在驗證測試集上,經過多組參數對比實驗,如下圖 18,研究者選擇了最優的參數組合α=20,β=35,γ=10,k=15。

圖 18:(a)α、β和γ在 A:20、35、10,在 B:10、35、10,在 C:40、35、10,在 D:20、20、10,在 E:20、50、10,在 F:20、35、5,在 G:20、35、20;(b)我們設置 k 爲 1、5、10、15、20、25。

高架狀態識別實驗結果

研究者用如下方法對比 ERNet 在高架狀態識別的實驗結果:

  • ERNet-1:ERNet 不使用 group ID 特徵;
  • ERNet-2:ERNet 不使用 SPP 特徵;
  • ERNet-3:ERNet 不使用序列速度特徵;
  • ERNet-4:ERNet 不使用置信度約束;
  • ERNet-5:ERNet 不使用 SPP 的參數共享機制;
  • SoftmaxNet:ERNet 使用 softmax loss 訓練;
  • TCNet:ERNet 使用 triplet-center loss 訓練;
  • XGB:使用 XGBoost [1] 訓練一個模型,使用 SPP,高架道路距離,序列速度特徵三類特徵。沒有使用 group ID 特徵。樹的總數爲 30 顆,深度爲 20;
  • Map-matching:地圖匹配方法;
  • GNSS-rule[2]:論文設計的直接基於 GPS 高度的方法;
  • Bar-rule:基於氣壓計的方法。注意該方法僅在出入口生效;
  • DEEL[2]:論文提出的一個基於 HMM 模型的特徵識別方法。

GNSS-rule 和 DEEL 是論文 [2] 提出的方法,在論文 [2] 的私有數據集上進行評估。該數據集僅包含 4 個 Android 手機在上海的數據。Bar-rule 是研究者實現的一個基於氣壓計的方法,其在他們私有的 iPhone 數據集上進行評估。其餘的方法均在評估測試集上進行評估。

表 1:高架道路識別的對比方法實驗結果。

表 1 顯示 ERNet 獲得了最優的效果。對比 ERNet-1,ERNet 的 r 提升了 3.6%,而 p 僅降低了 0.1%,這證明了 group ID 的有效性。對比 ERNet-2,ERNet 的 r 提升 4.1%,p 提升 0.6%,同樣證明了 SPP 特徵的有效性。對比 ERNet-3,ERNet 的 r 提升了 2.6%,p 提升了 1%,序列速度特徵同樣很重要。

不使用置信度約束時,ERNet-4 的 r 是 100%,但是 p 爲 98.6%。不過研究者更希望準確率能夠有足夠大的提升,因此置信度約束也是有必要的。對比 ERNet-5,ERNet 的 SPP 特徵的共享機制不僅輕微提升了 p 和 r,而且 ERNet’的計算代價僅爲 ERNet-5 的 1/5。

研究者比較 ERNet-4 和 SoftmaxNet,可以發現使用 triplet loss 訓練使得 p 略微增加 0.3%。不過對於橋下樣本的 p 增加爲 0.6%。因此 triplet loss 的引入也是有一定價值的,能夠體現出高架道路識別局部問題的屬性。TCNet 的效果較差,這值得進一步的討論分析。

至於其餘的對比方法,效果明顯弱於 ERNet 和 ERNet 的變種。下圖 19 顯示了 ERNet 在 10 款流行手機和 3 個城市的實驗效果。可以看出,ERNet 對於不同機型和不同城市的性能比較穩定。注意橫軸的刻度是非常細的。

圖 19:ERNet 在 10 款流行手機(左子圖)和 3 個城市(右子圖)的實驗結果。

下圖 20 展示了兩個識別例子。圖 20(a)是一個 good-case。ERNet 的識別結果是非常好的,即使在入口處;而圖 20(b)則是一個 bad-case。車輛從高架區域外的道路駛入高架區域,中間沒有經過入口。按照常識,此處應該全部識別爲高架橋下。但是 ERNet 並沒有考慮道路的拓撲關係(道路的聯通性、出入口等),後續可以考慮引入道路的拓撲關係解決這類 bad-case。

圖 20:(a)ERNet 輸出穩定的識別結果,即使在入口處;(b)Bad-cases 也許可以通過引入道路拓撲關係解決(此處沒有入口,因此車輛不可能在高架橋上行駛)。

T-SNE 可視化

衛星信號特徵的特徵空間非常巨大,因此較難學習到區分度非常強的特徵表示(76 維的衛星信號表示,SPP 參數共享的最後一層),下如圖 21(a)。而結合其它三類特徵後,學習得到的道路描述子的可分度非常強,如圖 21(b)。

此外,高架道路識別是一個局部問題,ERNet 在學習過程中不要求屬於不同 group 的同類樣本距離彼此非常近,而只要求同一個 group 內的同類樣本在特徵空間上靠近彼此,如圖 21(c)。

圖 21:單獨依靠 SPP 特徵,無法學習足夠區分度的特徵(a)。而結合其餘三類特徵後,ERNet 能夠學習出足夠區分度的道路描述子(b)和特徵 embedding(c)。

偏航檢測實驗結果

研究者對比基於氣壓計的偏航檢測方法和傳統的偏航檢測方法(高德線上偏航算法)。氣壓計的偏航檢測方法容易受車輛開窗關窗影響(車窗打開後,車輛速度較快的情況下,氣壓計讀數會在短時間內降低,對應測量的高度短時間內增加)。

下表 2 顯示基於 ERNet 的偏航檢測方法在準確率和召回率上都遠超基於氣壓計的偏航檢測方法。需要注意的是,傳統的偏航檢測方法無法檢測出高架場景的偏航事件。

表 2:在評估測試集上的偏航檢測結果。

未來展望

在本文中,研究者提出了 ERNet,一個輕量級而且真正工業級的模型,使用 triplet loss 進行訓練,從根本上解決高架道路識別問題。

在未來,研究者會將 ERNet 擴展到全國。並探索如何使用道路拓撲信息降低誤識別。此外,現在的偏航檢測方法至少需要 15 秒才能識別出車輛偏航。這對於用戶的體驗並不是最佳的。因此,研究者考慮使用循環神經網絡對偏航檢測方法進行建模,期望能夠在更短時間檢測出偏航。

引文

[1] Tianqi Chen and Carlos Guestrin. 2016. XGBoost: A Scalable Tree Boosting System. In KDD. 785–794.

[2] Yaoming Gong, Yanmin Zhu, and Jiadi Yu. 2015. DEEL: Detecting Elevation of Urban Roads with Smartphones on Wheels. In IEEE International Conference on Sensing, Communication, and Networking.

[3] GPS Accuracy 2017. GPS. https://www.gps.gov/systems/gps/performance/

[4] GPS Overview 2017. GPS. https://www.gps.gov/systems/gnss/

[5] Xinwei He, Yang Zhou, Zhichao Zhou, Song Bai, and Xiang Bai. 2018. Triplet-Center Loss for Multi-View 3D Object Retrieval. In CVPR. 1945–1954.

[6] Alexander Hermans, Lucas Beyer, and Bastian Leibe. 2017. In Defense of the Triplet Loss for Person Re-Identification. In arXiv.

[7] Ping-Fan Ho, Chia-Che Hsu, Jyh-Cheng Chen, and Tao Zhang. 2018. Poster: Using Barometer on Smartphones to Improve GPS Navigation Altitude Accuracy. In MobiCom. 741–743.

[8] Diederik P Kingma and Jimmy Ba. 2015. Adam: A Method for Stochastic Optimization. In ICLR.

[9] Yin Lou, Chengyang Zhang, Xing Xie, Yu Zheng, Wei Wang, and Yan Huang. 2009. Map-Matching for Low-Sampling-Rate GPS Trajectories. In SIGSPATIAL.

[10] Paul E Newson and John Krumm. 2009. Hidden Markov map matching through noise and sparseness. In International Conference on Advances in Geographic Information Systems. 336–343.

[11] Florian Schroff, Dmitry Kalenichenko, and James Philbin. 2015. FaceNet: A unified embedding for face recognition and clustering. In CVPR. 815–823.

[12] Xiaocheng Tang, Zhiwei Qin, Fan Zhang, Zhaodong Wang, Zhe Xu, Yintai Ma, Hongtu Zhu, and Jieping Ye. 2019. A Deep Value-network Based Approach for Multi-Driver Order Dispatching. In KDD. 1780–1790.

[13] Yandong Wen, Kaipeng Zhang, Zhifeng Li, and Yu Qiao. 2016. A Discriminative Feature Learning Approach for Deep Face Recognition. In ECCV. 499–515.

[14] Can Yang and Gyozo Gidofalvi. 2018. Fast map matching, an algorithm integrating hidden Markov model with precomputation. International Journal of Geographical Information Science 32, 3 (2018), 547–570.

[15] Yu Zheng. 2015. Trajectory Data Mining: An Overview. International Journal of Geographical Information Science 6, 3 (2015).

本文轉載自公衆號高德技術(ID:amap_tech)。

原文鏈接

手機端上線,破解高架區域偏航檢測難題,高德提出工業級輕量模型ERNet

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章