Googleは、Visual Positioning Service(VPS)と呼ばれる技術とストリートビューを組み合わせて、こうした問題を解決する方法をテストしているようだ。
・画像を比較してローカライゼーション
GPSによる位置決定は、複数のGPS衛星からの無線信号の遅延を測定することでおこなっている。しかし、高いビルの密集した都市などでは、電波が遮られたりビルに反射したりのため、地図上の表示が不正確になることもある。また、現段階では、スマホに備わっている数々のセンサーにより地球の磁場と重力、デバイスの動きを測定して、おおよその向きを割り出しているが、これらのセンサーは、外部環境に影響を受けやすいもので往々にして誤差が生じる。
VPSでは、GPS信号ではなく画像に基づいてデバイスの位置を特定する。まず、位置がわかっている一連の画像を撮影し、建物の輪郭などの重要な視覚的特徴について分析。基準点の大規模で高速に検索可能なインデックスを作成する。
自身の位置および向きの特定には、スマホで撮影した画像データとインデックス内のデータとを比較する。
・AR機能で方向を示すオブジェクトを表示
Googleはストリートビューによる世界93カ国の画像データを持っている。理論的にはこれらを活用すれば正確な基準点が得られるはずだ。しかし実際は、ストリートビューの画像データが古かったり、季節や状況が違ったりで基準点をすべて一致させることは困難。そのため機械学習により、変化のない可能性の高い部分を抽出して、基準点としての優先順位を設けている。
また、ローカライゼーションの精度向上は、オプションとしてAR機能を付加することを可能にした。たとえば、歩行ナビでGoogleマップ上に方向を示すオブジェクトを示せば、どちらの方向に進むかが一目瞭然となる。
Googleは、こうしたAR機能があらゆる条件下で使えるようテストを続けている。
参照元:Using Global Localization to Improve Navigation/Google AI Blog