高德網路定位之“移動WiFi識別”

amap_tech發表於2019-07-24

導讀
隨著時代的發展,近10年來位置產業蓬勃發展,定位能力逐漸從低精度走向高精度,從部分場景走向泛在定位。裝置和場景的豐富,使得定位技術和能力也不斷的優化更新。定位能力包括GNSS、DR(航跡推算)、MM(地圖匹配)、視覺定位和網路定位等。

其中網路定位是通過客戶端掃描到的WiFi和基站資訊來進行定位的一種定位方式。網路定位能力是GNSS定位的有力補充,在GNSS無法定位或者定位較慢的時候,網路定位都可以快速給出位置。網路定位能力也是高德能夠深植於各類手機廠商(提供系統級網路定位能力)和APP(出行、社交、O2O、P2P、旅遊、新聞、天氣等諸多領域)的原因之一。

要做到通過WiFi和基站來定位,我們需要通過億級資料來挖掘出WiFi和基站的型別、位置、指紋等各種資訊。這些資訊的挖掘,歷史上是通過一系列的人工經驗策略來進行的,人工規則的歷史侷限帶來了所挖掘資訊較低的準召率,為了進一步提升高德網路定位能力,我們需要卸下以往的包袱,從方法上進行改變。

如何定義“網路定位”
網路定位分為離線訓練和線上定位兩個過程:

離線訓練:是在使用者有GPS位置時採集周邊的WiFi和基站(以下統稱為AP)資訊,通過對採集資料進行聚類和關聯,得到兩類資料產品:AP庫和指紋庫;

線上定位:與離線訓練的過程正好相反,當使用者沒有GPS定位時,可以通過掃描到的周邊WiFi和基站訊號,結合離線訓練出的AP庫和指紋庫來進行實時定位。

AP庫和指紋庫這兩類資料產品中:

指紋庫:以物理座標位置對應的特徵指紋資訊為內容,這些特徵指紋資訊可以包括掃描到的WiFi或者基站的訊號強度分佈,採集點頻次等統計資訊,也可以是通過神經網路提取出的特徵資訊。

AP庫:以WiFi的mac地址或者基站的ID(gsm基站為mcc_mnc_lac_cid,cdma基站為mcc_sid _bsid_nid )為主鍵,以WiFi或者基站的物理座標資訊(經緯度或者地理柵格座標資訊)為內容。

典型的AP庫資料只包含挖掘出的物理座標資訊和覆蓋半徑,這種“點圓模型”是對AP發射訊號的一種理想化,沒有考慮任何實際場景中的訊號遮擋、反射等情況,所以AP庫大多用來進行粗略定位。而指紋庫直接與位置相關,可以刻畫比“點圓模型”更細緻的分佈資訊,所以指紋庫可以用來進行精細定位。

高德的指紋庫主要包括特有的室內指紋和全場景指紋資訊兩種。

網路定位的問題
網路定位的基本思路類似聚類,假設使用者手機掃描到的AP列表中的AP的位置均比較固定,則我們可以以這些AP位置為錨點,來確定使用者位置。現實世界中,錨點(即AP庫中的AP)的位置通過大資料來進行挖掘,並不一定完全準確,甚至出現嚴重錯誤。

針對WiFi而言,移動WiFi、克隆WiFi、搬家WiFi等都可能造成AP位置的錯誤。移動WiFi包含手機熱點,4g移動路由器,公交車/地鐵/高鐵上的WiFi熱點等,這些WiFi的移動屬性較強,位置頻繁變化,如下圖所示。

如果以移動WiFi作為錨點,因為這些錨點的位置不固定,極可能會導致使用者的定位出現極大誤差。克隆WiFi指不同的WiFi裝置使用了同一個mac地址,國內的騰達和斐訊等路由器廠商製造了大量這樣的WiFi裝置(例如大部分mac字首為“c8:3a:35”的即為騰達的克隆WiFi),克隆WiFi導致AP庫中同一個mac地址對應的錨點位置有多個。搬家WiFi指某些因為搬家而發生位置變化的WiFi,資料探勘存在一定的滯後性,搬家後AP庫中的位置未及時更新,也會造成定位錯誤。

因為大誤差的badcase嚴重損害使用者體驗,我們必須要將這些非固定WiFi的屬性在AP庫中標記出來。

歷史上,高德是通過一系列簡單的人工規則對這些WiFi的屬性進行分類的。例如,通過採集點覆蓋範圍較大來判定移動WiFi,通過mac字首來判定克隆WiFi等。人工規則的缺點是準召率不高,訓練分類模型就成了一個自然的選擇。

鑑於badcase中最嚴重的問題是移動WiFi的準召率不高,下面我們就嘗試使用監督學習的方法來進行“移動WiFi識別”。

如何實現“移動Wifi識別”

樣本提取

AP庫中的WiFi數量十分龐大,如果我們在AP庫中隨機抽取樣本進行人工標註,那大部分標註的結果可能是人工規則判定正確的樣本,為了儘可能低成本獲取有效的標註樣本,我們借鑑主動學習的思路,不斷抽取模糊樣本進行標註,快速迭代使得模型穩定。

我們根據人工規則的判定結果提取了一批確定性較高的樣本,使用人工強特徵訓練第一版模型,之後將第一版模型的預測結果與線上人工規則的結果進行全量比較,提取出模糊樣本進行人工標註。在標註樣本的過程中發現問題,持續特徵工程,不斷迭代模型。

這裡模糊樣本的定義包含三種:預測結果與上一版模型的結果不同,預測概率值在0.5附近,預測結果在不同訓練週期記憶體在波動(例如昨天識別是移動WiFi,今天識別是非移動)。

特徵提取

移動WiFi vs 克隆/搬家WiFi:

第一版模型中,我們使用了一些採集聚集程度相關的特徵。

模型迭代過程中,我們遇到的第一個問題是移動WiFi與克隆WiFi或搬家WiFi比較容易混淆。下面幾幅圖分別畫出了固定WiFi、移動WiFi、克隆WiFi、搬家WiFi的定位點散佈的例項。

可以看到,如果僅僅使用定位點的聚集程度來分類,那克隆WiFi和搬家WiFi的定位點也比較分散,極易與移動WiFi混淆。所以我們先使用聚簇演算法,將採集點區域性聚集的點集合成不同的簇,在每個簇中計算定位點的散佈程度,再將所有簇的散佈程度求平均值等,獲取平均意義上的聚集程度。

多維度提取特徵

為了進一步提升分類的準召率,我們不僅從定位點的聚集維度來提取特徵,還增加了訊號強度、關聯特徵、IP特徵、時間特徵等,以下進行簡要介紹:

訊號強度資訊:(和上節中的聚集特徵一起,統稱為採集特徵)移動裝置與非移動裝置採集點的訊號強度在去除裝置差異性之後,分佈存在差異性。

關聯特徵:關聯資訊是指當裝置掃描到的一次WiFi列表中,列表中所有WiFi兩兩之間就算產生了一次關聯(或稱鄰居)關係,統計WiFi周邊關聯的WiFi和基站資訊,可以描述出WiFi的移動屬性。

IP特徵:固網IP和移動網的IP存在一定隔離,移動WiFi裝置的上游一般是通過基站連線的移動網,固定WiFi裝置的上游一般是通過ADSL等連線的固網。

時間特徵:固定WiFi一般是長時間連線電源的,而移動WiFi一般是臨時在某些地方和時間短暫出現的。

聚合特徵

在AP庫中,存在一部分WiFi定位資訊不夠充分,即使是人工標註也存在著非常大的不確定性,這些定位資訊不夠充分的WiFi,我們稱之為“弱資訊WiFi”。

對於這類WiFi,我們只有通過ssid和mac字首來進行輔助判斷。因為ssid中包含了一些諸如“iPhone”、“個人熱點”、“oppo”、“shouqiyueche”(首汽約車)、“往返免費”、“tp-link”等能夠表明裝置屬性的資訊。另一方面,mac字首(mac資訊的前半部分)代表了廠商資訊。基於這些輔助資訊,我們可以在其他資訊不夠充分的情況下輔助推測WiFi的類別屬性。

我們將基礎特徵(採集特徵、關聯特徵、IP特徵、時間特徵)中較為重要的TOP_N維特徵按照ssid和mac字首進行聚合,聚合函式為中位數(median)和總體標準差(stddev)。這樣,聚合特徵體現了一類WiFi共有的特徵,針對弱資訊WiFi,我們就可以通過集體的特徵來推測出個體的屬性。

應用場景
除了提升網路定位能力,移動WiFi的識別還有更多用武之地,例如手機熱點的識別,室內外的判斷,建築物和POI級別的定位等等。其中一個例子就是判斷當前裝置所連線的WiFi是否為移動熱點(如4g路由器,手機熱點等),在視訊類的APP中,可以通過判別當前使用者連線的WiFi是否為移動熱點,從而控制是否進行視訊的自動播放或快取,給予使用者提示性資訊。

小結
最終我們使用隨機森林來訓練分類模型,經過特徵選擇和模型引數調整之後,最終得到的模型,移動WiFi的準召率均優於99.8%。高德網路定位的精度也因此得到了較大提升,尾部大誤差badcase降低了18%左右。

網路定位作為一種低功耗的定位手段,不僅在GNSS無法觸達的地區(例如地鐵、室內等場景)為普通使用者帶來輔助的定位資訊,而且在某些急救和尋人的場景中發揮了重要的作用。未來,隨著5G通訊技術的開展,將迎來更加精準的網路定位能力。

 

---------------------
作者:amap_tech
來源:CSDN
原文:https://blog.csdn.net/amap_tech/article/details/96869930
版權宣告:本文為博主原創文章,轉載請附上博文連結!

相關文章