

桔妹導讀:機場、商場、火車站等大型室內場所內GPS信號不穩定、室內面積大、路線復雜、用戶判斷方向難等問題,給在大型場所內發單的乘客找上車點帶來了很大的挑戰,用戶急需一種操作簡單、互動友好的引導功能,本文講述了使用三維重建技術、傳感器計算技術和增強現實(AR)技術所開發的滴滴AR實景導航產品,并對開發程序中遇到的難點、挑戰和解決思路展開介紹,
相信很多人都有過這樣的經歷:來到一個自己不熟悉的場景,特別是在一些GPS信號不準確的室內場所,很難找到建筑物內部的一些特定地點,本文將以幫助用戶在大型機場等場所中快速找到上車點為出發點,介紹滴滴AR實景導航產品研發程序中的挑戰和關鍵技術,
1. 應用背景
我們在用戶調研中發現,在一些大型的機場、商場、火車站內部,滴滴乘客在下單成功之后,往往需要更多的時間才能找到上車點,其主要原因是在這些大型的室內場所中,GPS信號不準確,而這些建筑往往面積很大、內部路線復雜,當乘客對場景不熟悉時,找到上車點存在很大的困難,為了解決這個問題,地圖團隊提出了“圖文引導”的方式來幫助用戶,通過特定場景的圖片和文字的方式相結合來引導用戶找到上車點,與此同時,我們也在持續探索是否有更加直觀、易理解的方式來幫助用戶,受到增強現實(AR)技術在游戲中應用的啟發,我們提出了使用AR的方式來幫助用戶找到上車點,最終開發出了滴滴AR實景導航產品,
當乘客在支持AR導航的場站,使用滴滴出行App選擇推薦上車點發單成功后,可以通過產品界面中的AR按鈕進入導航界面,并按指引操作,體驗在AR元素指引下到達上車點,如下圖所示,

2. 問題分析
想要給用戶提供一個良好的導航產品,需要解決幾個關鍵問題:第一,場景所在的地圖是怎么樣的;第二,如何確定用戶的位置;第三,如何使用更加直觀的方式引導用戶走到目的地,這些問題,在通常的室外場景來看,可能都不是"問題",因為可以直接使用現有的地圖、GPS定位、規劃路線和GPS實時位置引導到達目的地,但是這些能力在室內場景下,卻變得很難,具體原因包括:在室內場景中,GPS信號受到建筑物遮擋往往定位不準確,而現有的Wi-Fi、基站等定位技術也因場景中基礎設施情況的不同而表現出精度差異很大;同時,與室外相比,室內場景結構復雜度高、判斷方向難,給用戶引導也帶來很大的挑戰,
為了解決上述問題,給用戶提供更加友好的室內導航服務,我們推出了滴滴AR實景導航產品,其主要方案是采用低成本的視覺定位技術來提升用戶的定位精度,并結合增強現實技術來將引導資訊顯示到用戶手機上,給用戶提供所見即所得的互動體驗,
3. 技術挑戰
要想實作一個理想的AR導航系統,我們調研了很多技術方案,最終選擇了基于視覺的三維重建技術來解決地圖構建和路徑計算的問題、視覺定位技術來提供更高精度的定位能力以及傳感器位置推算與渲染技術來實作更加精確的AR互動顯示,雖然上述技術在學術研究領域已經有了很多年的研究,并產出了一些相對成熟的方案,但是在實施程序中,也遇到了很多挑戰:
(1)在三維重建方面
基于視覺的三維重建技術依賴相機拍攝到的場景影像進行三維結構恢復,一般應用于辦公室、公寓等幾百平米的場景內,在機場、火車站、商場等超過幾萬平米的大型場景下,會存在人群密集、重復紋理多、光照變化大、場景空曠、狹長通道等不利于視覺重建的因素,這種超大現實室內場景三維重建是業界難題,
(2)在視覺定位方面
室內環境復雜多樣,室內空間布局、拓撲易受人為的影響,導致聲、光、電等環境容易發生變化,對于以特征匹配為基本原理的定位方法,定位結果將受到較大影響,機場、火車站、商場內大量重復出現的指示牌、廣告牌都極易產生誤匹配,影響定位的精度,
(3)在傳感器位置推算方面
由于傳感器噪聲的存在,使得基于慣性傳感器的位置推算存在累積誤差,當長時間使用時,導致導航路線偏離正確路徑,嚴重影響著用戶體驗,此外,用戶行走行為和手機硬體的多樣性,使得單一模型的慣性傳感器位置推算很難解決所有場景遇到的問題,因此,亟需提出一種模型自適應機制來提升導航系統的準確度和魯棒性,
4. 關鍵解決方案
為了解決上述問題,結合具體的應用場景以及技識訓累,我們分別針對每個關鍵模塊進行了系列優化,現簡要分享一下,
▍基于視覺的三維重建技術
三維重建解決的是室內地圖構建的問題,三維重建一般需要借助運動恢復結構(Structure from Motion,SfM),其學術定義是「在未知的環境中,讓一個機器人能進行環境的構建,并且估計自身的運動」,用通俗的語言講,是利用相機拍攝到的影像或視頻,恢復整個場景的三維結構,系統的輸入是多張影像或視頻流,輸出是場景的三維結構和每張影像拍攝的位姿,相機位姿是6自由度,3個自由度表示位置,3個自由度表示姿態(相機朝向),位置可以理解成三維空間當中的一個點,姿態就是這個相機的朝向,如果在二維上就是360度的朝向,擴展到三維就是一個球體的朝向,
首先我們了解下SfM的技術框架,一共四個主要步驟:①資料采集;②特征提取;③資料關聯;④結構恢復,在恢復場景的三維結構時,并不是使用影像中的所有像素點,而僅從影像中提取穩定、顯著的點,也就是特征點;資料關聯是確定有共視區域的兩張影像中哪些特征點是對應的;后續會借助幾何的方法以及最優化技術(Bundle Adjustment)將這些影像中的點恢復為空間的三維點,整個問題最終被轉化為大型非線性最優化問題求解,優化目標是重建的三維點重投影到影像中的位置與影像中的觀測點位置差最小,也就是最小化重投影誤差,

針對大型場站室內場景存在的人群密集、重復紋理多、場景有變化等挑戰,我們設計了一種基于視覺的大型室內場景三維重建方案:針對大型機場、火車站存在的規模大、場景復雜(重復紋理、相似紋理、狹長通道、動態物體等),提出了一種基于視頻的分塊三維重建方案,首先構建影像間的關聯圖,問題可以建模成Graph Cut問題,可以自動進行資料分塊;之后利用Pose Graph Optimization實作了塊間合并與優化,并通過引入關鍵幀、點云選擇等策略,實作了自動化建圖,效率提升70%,構建的超過6萬平米的室內場站三維模型是業界已知的最大單體模型之一,下圖是鄭州機場的三維模型可視化效果,
鄭州機場三維模型
▍視覺定位技術
在AR導航的使用場景中,定位的目的就是確定用戶的位置,手機的定位源主要包含3大類:①導航衛星接識訓:包括中國的北斗,美國的GPS,歐洲的Galileo、俄羅斯的GLONASS等;②內置傳感器:包括加速度計、陀螺儀、磁力計、氣壓計、光線傳感器、相機等;③射頻信號:包括Wi-Fi、藍牙、蜂窩無線通信信號等,除了衛星導航接識訓外,這些傳感器和射頻信號都不是為定位而設定的,盡管如此,這些傳感器還是為我們提供了很多的室內定位源,主流的全球衛星導航系統(Global Navigation Satellite System,GNSS)目前雖然已經被大規模商業應用,在室外開闊環境下定位精度已能解決大部分定位需求,但該類信號無法覆寫室內,難以形成定位,室內環境復雜,無線電波通常會受到障礙物的遮擋,發生反射、折射或散射,改變傳播路徑到達接識訓,形成非視距(non line-of-sight,NLOS)傳播,NLOS傳播會使定位結果產生較大的偏差,嚴重影響定位精度,
經過充分的調研與對比,考慮到Wi-Fi指紋匹配方式定位精度2~5米,而藍牙iBeacon作用距離短且布設成本較高等問題,最終我們采用了視覺定位的方式,該方法基于相機互動的方法,定位精度可達亞米級,魯棒性較好,且只需利用手機攝像頭、成本較低,無需布設額外設備,而且隨著近年視覺定位技術的不斷優化迭代,其精度與魯棒性已完全能滿足室內定位的需求,
(1)基于傳感器融合的影像檢索重排序技術
通常情況下,用戶手機獲取一張查詢圖后,首先對影像進行特征提取,然后采用特征描述子對特征點進行描述,根據圖中提取的大量2D特征點,會在當前場景三維模型中檢索相似的top N張影像,根據最相似的影像進一步尋找2D點與模型中3D點的匹配,最后利用RANSAC+PnP求解,計算查詢圖的位置與姿態[R|t],

但是由于室內場景存在大量人造物體,例如機場、火車站中大量出現的指示牌,商場中大量出現的廣告牌,都很容易因為區域特征相似,導致錯誤的匹配,考慮到手機本身集成了磁力計和GNSS傳感器,雖然這些低成本的傳感器精度有限,但作為定位初值還是可以加以利用,我們根據磁力計獲取的大致方位,以及GNSS獲取的大致位置作為先驗知識,根據傳感器的精度指標,對候選影像進行聚類,并將引數加權帶入影像重排序(rerank)的計算公式,可以剔除具有明顯方向差異或者位置差異顯著的候選影像,在降低誤匹配概率的同時,也顯著提高了計算的效率,保證了定位結果的精度,
(2)基于背景關系資訊的位姿校正技術
由于室內人造結構的特殊性,很多場景都是對稱修建或者呈規則排列的幾何布局,導致在視覺定位的時候,不僅是區域特征幾乎一致,甚至大范圍場景內的全域特征也是非常相似的,這就導致初始定位存在一定概率的誤匹配情況,當用戶剛好位于此類區域的時候,很有可能會得到錯誤的引導資訊,不過在實際情況中,這些容易混淆的區域不會完全一模一樣,當用戶移動一小段距離或者視角發生變化的時候,往往會出現具有顯著區分度的地物特征,依賴這些資訊可以對用戶當前的位姿進行校正,重新生成一條正確的引導路線,但是同樣是特征匹配,當前后兩幀資訊都滿足定位條件,但定位結果存在較大差異的時候,如何分辨究竟哪個是正確的結果呢,這時就需要利用到背景關系的資訊,即我們在定位的時候并不完全依賴于一次的定位結果,而是一片區域或者一段軌跡中的多個定位結果,當這些結果呈現出較好的一致性的時候,通常有更大的概率是正確的定位,相反,那些區域特征相似的區域,由于匹配到了錯誤的參考影像,其結果往往呈現出孤立的跳變,與前后幀并不能平滑過渡,行走軌跡也是不光滑的,利用這種定位結果的背景關系資訊,可以有效檢測出錯誤的定位結果,對其進行過濾,或者及時發現當前已經處于錯誤的引導路線上,根據正確的結果進行校正,

▍傳感器位置推算技術
在完成視覺定位后,需要根據手機的位置進行實時的路線指引和渲染,這里我們使用了基于傳感器的位置推算技術,通過讀取手機上的傳感器資訊并結合人體運動模型等方法,推算出對應的位置,
慣性傳感器包括加速度計和陀螺儀,通常還會與磁力計組合使用,每個傳感器均具有三個自由度,加速度計測量施加給移動設備的加速度讀數,陀螺儀測量移動設備的旋轉運動,磁力計通過感知磁場的變化,推理出用戶當前的朝向,這些傳感器可以在沒有外部資料的情況下確定移動設備的位置,而不需要基礎設施的輔助,基于慣性傳感器的位置推算由于以下優點逐漸成為研究的熱點:①低能耗全天24小時運行;②不受外界環境干擾;③內置于每一部移動智能終端,
現有的基于積分的慣性導航演算法主要利用線性加速度計讀數(加速度計讀數減去重力資料)進行二次積分得到位移和陀螺儀讀數積分得到姿態,繼而解算當前位置,然而,慣性傳感器具有噪聲,導致慣性積分演算法估計的位置很快飄移,因此,當前慣性積分演算法主要應用于高精度慣性器件中,例如航天級別的慣性傳感器,為了解決在低端手機中慣性傳感器的迅速飄移問題,研究者們提出了PDR (Pedestrian Dead Reckoning) 演算法,
PDR (Pedestrian Dead Reckoning) 演算法是一種基于相對位置的位置推算方法,主要思想是給定初始位置和朝向,根據行走的位移推算出下一步的位置,主要包括計步、步長估計和朝向估計模塊,如下圖所示,計步主要是通過檢測加速度計讀數的峰值點實作步子識別;步長估計利用一步之內的加速度計讀數,根據人的身高、體重、步頻等特征擬合當前一步的步長;朝向估計利用加速度計和陀螺儀讀數,通過濾波或者優化技術實作設備的姿態估計,繼而獲取當前一步的行走朝向,由于上述每一個模塊都會有誤差,且對不同的人群和設備的多樣性比較敏感,隨著時間的推移,誤差累積增大,直至導航系統不可用,為AR引導帶來了技術挑戰,

為了解決上述技術挑戰,我們提出了魯棒的位置推算演算法,該方法發表在機器人領域頂級會議International Conference on Intelligent Robots and Systems (IROS) 2020上,
所提出的方法主要包括基于步態強度的計步演算法,基于步頻和統計特征的步長估計演算法,基于深度模型的朝向回歸演算法和基于機器學習的運動分類演算法,下面介紹一下相關演算法,

(1)基于步態強度的計步演算法
給定三軸加速度計讀數,首先對每一幀加速度計讀數求取幅值,利用當前幀加速度計的幅值和其鄰近資料,檢測加速度計讀數波形的峰值,每一個峰值對應著候選步子,如下公式所述:

其中,S表示當前加速度計讀數的狀態,即是否為候選步子,如果為1,則表示當前時刻檢測到候選步子,
其次,根據長短窗內的加速度計讀數的均值來判斷當前時刻是否為候選步子,其下公式所述:

其中
表示短視窗內的加速度計讀數的均值,
表示長視窗內的加速度計讀數的均值,
再次,根據加速度計資料計算步態強度,它描述了一步之內加速度的變化情況,當步態強度超過一定闕值后,我們認為當前時刻是候選步子:

其中,

下圖展示了真實行走狀態下步態強度的變化情況,其中藍色點表示步態強度,紅色點表示步點,

最后,當上述狀態均取得1時,認為當前時刻為檢測到一步,計算公式如下:

計步演算法示意圖如下圖所示,其中藍色曲線表示加速度計讀數,紅色三角形表示識別到一步,

(2) 步長估計演算法
我們提出了一種基于統計特征的步長估計演算法,其中統計特征包括步頻、一步內的加速度計讀數的方差、極差的n次開方,計算公式如下所述:

其中,a, b, c和d是超引數,根據實際應用進行訓練,f表示行走步頻,
表示加速度計讀數極差的m次開方,
表示加速度計讀數的方差,
(3)朝向估計演算法
現有的朝向估計演算法利用互補濾波和卡爾曼濾波實作設備朝向的估計,而設備朝向和人員行走朝向之間存在變化的偏差角會導致PDR的位姿估計累積飄移,為了解決該問題,我們利用深度學習演算法來回歸用戶行走的朝向,具體而言,我們提出了一種heading-confidence模型,采用LSTM和ResNet作為深度網路框架,LSTM主要負責行走朝向的回歸,ResNet主要負責行走速度的回歸,最后,我們設計了置信度函式來進行朝向的融合,
(4) 運動分類
為了提升PDR系統對運動類別的魯棒性,我們設計了一種基于梯度提升決策樹演算法的運動分類模型,主要包括行走、隨意行走、靜止和手持設備搖擺四種姿態,通過識別不同的行走姿態,我們自適應的加載對應的模型引數,繼而提高了PDR演算法的精度,實驗結果如下圖所示,其中,黑色曲線表示參考真值,藍色曲線表示沒有運動分類的PDR演算法軌跡,紅色曲線表示引入了運動分類的PDR軌跡,可以看到,紅色軌跡更加接近于參考真值,

5.總結
大型機場、商場、火車站內部的上車點引導能力對用戶體驗影響很大,為了解決這個問題,地圖團隊做出了很多努力,推出了“圖文引導”方案來使用影像和文字的方式幫助用戶,同時,為了給用戶提供更好的體驗,我們也推出了滴滴AR實景導航產品,使用人工智能演算法等科技手段,為用戶提供準確的、易用的導航產品,來幫助用戶更快的找到上車點,目前在鄭州、深圳以及日本東京等24個機場、商場或者火車站上線了AR導航服務,資料顯示,它能幫助用戶節省近四分之一的時間,讓他們更便捷地到達上車點,與此同時,在南京火車站等大型場站,我們正在進一步探索基于AR導航的技術來幫助乘客快速抵達公交站點,后續我們將持續優化和打磨我們的演算法,為乘客和司機創造更多的價值,歡迎大家體驗我們的產品,并對我們提出寶貴的意見,希望通過我們的努力可以為大家提供更好的出行體驗,

團隊介紹
滴滴地圖視覺計算團隊以使用計算視覺技術解決地圖和出行場景中的痛點問題為目標,團隊在目標檢測、影像分割、場景文字檢測識別、三維重建、SLAM、傳感器計算等方向具有豐富的技識訓累,并將技術與業務場景緊密結合,成功落地地圖更新、引擎賦能、場站AR導航等多個系列專案,發揮了人工智能技術在降本增效、用戶體驗提升等方面的獨特優勢,團隊積極關注前沿技術發展,取得實體分割、影像匹配等多項國際比賽冠軍,并在NeurIPS、CVPR、AAAI、TIP等頂級會議和期刊上發表多篇文章,
作者介紹

滴滴地圖視覺計算團隊負責人、計算機視覺方向博士,十余年計算機視覺領域研究和開發經歷,在視覺分析和理解領域有較豐富的演算法研究和專案落地經驗,曾就職于微軟,從事微軟小冰視覺理解系統的研究和開發作業,累計發表視覺領域會議和期刊論文50余篇,并擁有多項國內和國際專利,
延伸閱讀



內容編輯 | Charlotte&Teeo
聯系我們 | [email protected]

滴滴技術 出品
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/7280.html
標籤:大數據
