タクシーアプリ「GO」の Android アプリを開発しているザックです。
今回Google I/O 2022に発表された、ARCoreの改善した機能と新機能について紹介します。
すでに Google I/O 2022 カンファレンスのビデオを見たり、対応するドキュメントを読んだりしている場合は、既存のテクノロジーが大幅に改善され、いくつかの分野でまったく新しい開発が行われたことをご存知でしょう。私が特に興味を持った分野の 1 つは、ARCoreの開発でした。この記事では、最初に ARCoreの既存の機能に加えられた改善点の概要を簡単に説明し、その後、新機能である Long Range Depth と Geospatial API について詳しく説明します。
「What’s new in Google AR | YouTube 」
デュアル カメラのサポートにより、初期化がはるかに高速になり、深度の範囲が広がります。 2 つの異なるレンズを使用すると、デバイスの周囲の世界についてより多くの推論を行うことができ、正確な測定を行うための移動が少なくて済みます。また、このパフォーマンスの向上の多くは、2 台目のカメラを常に実行する必要はなく、重要な瞬間にオンにするだけです。これは、電力をほとんど消費せずに、パフォーマンスを向上させることを意味します。
平面(Plane)を使用すると、サーフェスを平面に変換することで、現実世界のオブジェクトと対話 (ヒット テスト) できます。 ARCoreドキュメントから提供される以下のビデオを参照して、以前およびアップグレードされた Plane 機能の能力を実証してください。緑色の Android は以前のバージョンの制限を示し、赤色の Android は 2022 年の変更後の機能を示しています。
「ヒットテストの改善, Depth adds realism | ARCore」
これにより、プログラマーは、仮想オブジェクトの深度と現実世界のオブジェクトの深度に基づいて、シーン内により自然にオブジェクトを配置できます。
「オクルージョンを有効にする, Depth adds realism | ARCore」
これは、Depth APIの新しい機能です。 実現するためには、新しいメソッドを呼ぶだけです。次の例では、既存のメソッドを新しいメソッドに切り替えるだけで、深さの測定値を最大約 8 メートルから 65 メートルに自動的に増やします。
// Old
Frame.acquireDepthImage()
Frame.acquireRawDepthImage()
// New
Frame.acquireDepthImage16Bits()
Frame.acquireRawDepthImage16Bits()
おそらく、新しい関数名の末尾が 16Bits() になっていることに気付いたでしょう。 Depth API の以前の実装では、深度を表すためにピクセルの 13 ビットしか使用していませんでしたが、現在は 16 ビットすべてを使用しています。これらの変更は、長距離の深度測定に役立つだけでなく、屋外での作業をより現実的にしました。
Geospatial API を使用すると、地球規模で AR 体験を作成できます。ユーザーのデバイスの位置とカメラの向きを簡単かつ自信を持って取得できます。次に、仮想オブジェクトをアンカーとして配置して、仮想世界と現実世界のオブジェクトをメッシュ化できます。
ARCoreのGeospatial API を可能にする支援技術の 1 つは、Google のストリート ビューです。 15 年以上にわたり、ストリートビューは現実世界の情報を収集しており、人々が住む場所の約 98% をマッピングしています。したがって、ARCoreのGeospatial API は、サポートされているデバイスを持つほぼすべてのユーザーが使用できます。ストリート ビューによって生成されたデータは、ディープ ニューラル ネットワークを利用して現実世界のオブジェクトを識別し、ユーザーのデバイスの相対的な位置と方向を特定する Google の Visual Positioning System (VPS) に必要な情報を提供します。
プロジェクトで Geospatial API を使用できるようにすると、緯度、経度、垂直位置を使用するだけで仮想オブジェクトを配置できます。さらに、緯度と経度のみを必要とし、オブジェクトを地表レベルに配置するterrain anchorを使用することで、垂直パラメータを省略できます。
Geospatial API を使用せずにこの機能を模倣できますか?
Geospatial APIの般的なユースケースは何でしょう?
ARCoreは、コードをほとんど変更することなしに、機能が大幅に改善されています。 さらに、Geospatial API により、まったく新しい可能性の世界が開発者とユーザーに開かれました。
興味のある方は 採用ページ も見ていただけると嬉しいです。
Twitter @mot_techtalk のフォローもよろしくお願いします!