關於更多機器學習、人工智能、加強現實資源和技術乾貨,能夠關注公衆號:AIRX社區數據庫
隨着技術的不斷髮展,在將來幾年中,基於AR的室內導航應用在不一樣消費領域會出現大規模的增加。markdown
室內導航與室外導航在複雜程度上有很大不一樣。對於戶外導航,數百萬人目前使用這項技術,由於它對性能要求不高;現代智能手機甚至智能手錶都內置了GPS和地圖。而AR室內導航技術至關複雜,它包含3個必須考慮的模塊:定位,映射和渲染。app
映射是惟一簡單的模塊(Mapping)。有了地圖和座標,就很容易製做路線。該模塊易於根據給定的業務用例/需求進行升級和定製。機器學習
渲染模塊管理AR內容的設計,其工做直接取決於定位的精度。咱們能夠輕鬆地以3D繪製路線,可是在將虛擬對象與現實世界進行匹配時面臨一些挑戰。渲染的質量和精度將取決於AR SDK等(例如ARKit、ARCore等)。工具
在定位方面,狀況變得有些艱鉅。沒有準確的方法來肯定用戶在室內的確切位置,包括確切的樓層。肯定正確的精度水平也是一個挑戰。例如,十米夠嗎?5米呢?仍是1米?性能
室內定位的可用技術學習
用於室內定位系統的GPS:GPS是導航領域中的現有技術之一,可是,它不能提供建築物內部的準肯定位。在大型和低層建築(例如機場)中,它相對準確;但它沒法肯定更詳細的信息,例如樓層號,而實現此目的的惟一方法是手動進行操做,例如使用Apple或Google Maps進行操做的方法。這裏的要點是GPS能夠正常工做,但這不是一個可行的解決方案。ui
視覺定位系統(VPS):視覺定位系統(VPS)具備很大的前景。例如,谷歌使用街景數據,以周圍的建築物爲參考點,以代表用戶在基於AR的戶外導航中的位置。另外ARKit 2引入了ARWorldMap類,它也能夠起到相似的做用。人工智能
可是,咱們不能徹底僅依靠ARWorldMap來肯定室內定位的確切位置,由於:spa
辦公室一般在不一樣的地方看起來是相同的,也就是說,不一樣樓層的房間和走廊能夠相同。
內部可能會隨時發生變化。
複雜的計算會使該解決方案變慢。
基於Beacon的室內定位:最多見的例子是安裝在英國蓋特威克機場的2000個電池供電的低能耗藍牙Beacon,他們聲稱,這些Beacon能夠提供+/- 3m精度。可是根據蘋果的文檔,Beacon只能給出一個近似的距離值,所以咱們不能依靠信號強度來手動計算這些數據。當你考慮到成本(每件10-20美圓)、電池更換(每1-2年一次)和工做距離(10-100米)等其餘因素時,很明顯,使用Beacon進行室內導航只有在某些條件下才有效。但總的來講,Beacon仍然能夠作得很好,由於目前市場上的大多數室內導航技術都是基於Beacon的,而且只使用加強現實技術來實現路線可視化。
Visual Markers-基於ar的室內定位導航解決方案:Visual Markers,也稱爲AR標記。Visual Markers是由蘋果的ARKit,谷歌的ARCore和其餘AR sdk識別的圖像。視覺標記用於告訴應用程序將AR內容放在哪裏。。若是咱們在空間的某個地方,地板上或牆上放置一個視覺標記,並把它的確切位置存儲在雲裏,那麼,當掃描時,咱們將收到它在現實世界中的確切座標。
室內定位精度水平如何?客戶一般想知道他們的應用程序的精確度是多少。咱們發現,離起點越遠,結果就越不許確。爲了解決這個問題,新的視覺標記必須平均每50米放置一次。
如何開發基於AR的室內導航應用
一、爲AR室內導航繪製地圖
沒有地圖,室內導航是不可能的。一樣,找到具備所需圖片質量和可伸縮性的特定建築的地圖並不老是常見的。這就是爲何你須要自定義地圖。咱們的過程一般是這樣的:使用笛卡爾座標系建立一個地圖,這是在3D圖形和ARKit中使用的,而後用谷歌Maps的衛星圖像與地理座標和方位對齊地圖。在這裏,不須要太多的準確性,因此不須要特殊的設備。
注意:使用位圖圖像不是最好的選擇,由於每一個映射都是矢量圖像,用於高質量的縮放和最小的傳輸數據,以確保高性能。此外,在設計階段,不建議使用AR標尺,由於它存在必定的偏差。這很是適合繪製草圖,可是經過使用傳統的測量工具,能夠確保地圖的絕對準確性。
下一步添加用於導航的元數據:走廊和房間以建立圖形。而後分析周圍環境並適當地添加視覺標記,即在入口,大廳,電梯附近等。
須要注意確保地圖與現實世界匹配。爲此,必須將物理視覺標記放置在計劃中標記的特定點上。物理標記的位置必須與它們在數字地圖上的位置徹底匹配才能更正和調整位置。
想法是將標記放置在平面圖上,將其精確地轉移到現實世界中,掃描標記,而後經過移動和旋轉地圖直到與現實世界徹底匹配來對過程進行微調。最後一步是將更新後的精確標記位置保存到雲中。
二、繪製室內導航路線
而後,咱們使用圖論構建路線,並根據座標繪製折線或箭頭(根據設計要求)。可是,使用加強現實在現實世界中繪製路線時會遇到一些挑戰。事實是,AR內容始終放置在攝像機圖像的頂部,從而產生了將數字內容放置在現實世界中的幻覺。若是繪製了整個路線,它將看起來很奇怪,直接穿過牆壁繪製。
因爲目標是使路線看起來更加天然,所以必須以某種方式遮擋路線的可見部分。這意味着必須在用戶周圍繪製路線,並沿半徑逐漸消失。
下一個須要解決的挑戰是如何繪製相同大小的最終目標引腳,而無論其距離如何,以使其易於閱讀標籤和處理觸摸。因爲視角的緣由,物體離相機越遠,它們看起來越小。所以,必須將far針變大,但它們在屏幕上看起來都同樣。
如下是須要考慮的視覺標記要求:
標記必須具備足夠的視覺複雜性。圖像上的細節越多,機器視覺就越容易識別它。
全部標記應具備不一樣的模式。
標記必須不對稱,以便應用程序可以從哪一側清楚地肯定它們。
開發套件必須事先知道應跟蹤的標記。
三、基於AR的室內定位的挑戰
在AR驅動的室內定位系統得到主流承認以前,仍然須要解決一些挑戰。首先,每一個視覺標記或ARReferenceImage都有一個惟一的ID,該ID用於從雲中獲取有關標記在空間中位置的信息。
不能否認,愈來愈多的標記會下降性能,由於必須檢查全部標記以找到匹配項。若是該應用程序是爲須要10到20個視覺標記的小型建築物而設計的,那就能夠了。可是,若是須要在許多城市的連鎖超市中設置導航功能,例如,使用成千上萬的視覺標記,那麼這將是一個挑戰。
可是,經過使用GPS,能夠更輕鬆地肯定用戶所處的建築物,從而解決了這一難題。而且只能使用本地視覺標記。本質上,這就是能夠根據須要添加儘量多的地圖的方式。雲中可能有數百萬個視覺標記,但附近僅需有限的一組。
有趣的是,擁有動態更新的地圖會爲應用程序帶來更大的靈活性。例如,咱們爲位於最左角的「Fruits」的一家超市建立了一個室內導航地圖。若是該部分移動到了最右端的角落而不是Greenery部分,那麼咱們必須更新它在數據庫中的當前位置併爲其創建新的路線。
四、WI-FI RTT解決室內定位問題
第二個挑戰是不間斷會話的技術需求。爲了得到正確的精度水平,用戶應在掃描初始標記後直到到達終點爲止,保持攝像機處於活動狀態。能夠經過利用諸如Wi-Fi RTT(往返行程時間)之類的精肯定位新方法來解決此限制,Wi-Fi RTT(往返時間)是一種新興技術,能夠將移動設備定位在建築物內,精度高達1米。