画像にディメンションを追加する

コレクションでコンテンツを整理 必要に応じて、コンテンツの保存と分類を行います。

プラットフォーム固有のガイド

ARCore の拡張画像 API を使用すると、ユーザーの環境で 2D 画像(ポスターや製品パッケージなど)を検出して拡張できる AR アプリを構築できます。

参照画像のセットを指定します。ARCore は、コンピュータ ビジョン アルゴリズムを使用して、各画像のグレースケール情報から特徴を抽出し、その特徴の表現を 1 つ以上の拡張画像データベースに保存します。

ARCore は、実行時に、ユーザー環境の平面上でこれらの機能を検索します。これにより、ARCore はこれらの画像を自動的に検出し、画像の位置や向き、サイズを見積もることができます。

機能

ARCore は最大 20 枚の画像を同時に追跡できます。ARCore が、同じ画像の複数のインスタンスを同時に検出または追跡することはありません。

各拡張イメージ データベースには、最大 1,000 個の参照画像に関する情報を保存できます。データベースの数に制限はありませんが、同時にアクティブにできるデータベースは 1 つだけです。

イメージは、実行時に拡張イメージ データベースに追加できます(データベースあたり 1,000 個のイメージ)。以前に作成したデータベースは、ネットワーク接続を使用してダウンロードできます。

画像を追加する際に、検出する画像の物理的なサイズを指定できます。画像検出のパフォーマンスが向上します。

  • 物理サイズが指定されていない場合は、ARCore によってサイズが推定され、時間の経過とともにこの推定値が絞り込まれます。

  • 物理サイズが指定されている場合、ARCore は指定されたサイズを使用し、画像のサイズと向きを推定します。ただし、見かけ上のサイズと実際のサイズとの間の不一致は無視します。

ARCore は、以下の画像に応答して追跡できます。

  • 壁に掛けられたプリントやテーブルに置かれたマガジンなど、所定の位置に固定される画像

  • 動く画像(通り抜けのバスに乗っている広告や、手を動かして持っている平らな物体の画像など)

ARCore が画像のトラッキングを開始すると、各フレームの画像位置と向きの推定値が提供されます。ARCore は、より多くのデータを収集するにつれて、これらの推定値を継続的に改善します。

画像が検出されると、ARCore は、ユーザーがデバイスを動かして画像を一時的にカメラビューから移動しても、画像の追跡と画像の向きを維持します。その場合、ARCore は画像の位置と向きが静的であり、画像自体が環境内を移動していないと想定します。

追跡はすべてデバイス上で行われます。画像の検出とトラッキングにインターネット接続は必要ありません。

要件

画像の要件

  • 最初に検出されるカメラフレームの 25% 以上を埋めます。

  • 平らな方法(例: しわやボトルに巻き付けられていない)

  • カメラにはっきりと映る。一部が不明瞭だったり、非常に斜めに傾けたり、モーション ブラーのためにカメラが動きすぎているときに表示したりしてはなりません。

CPU 使用率とパフォーマンスに関する考慮事項

ARCore 機能がすでに有効になっている場合は、拡張イメージを有効にすると ARCore の CPU 使用率が増加する可能性があります。未使用の特徴は、AR エクスペリエンスで必要のない時間帯に無効にすることを検討してください。これにより、アプリで使用できる追加の CPU サイクルが可能になり、熱パフォーマンスとバッテリー駆動時間が向上します。

詳細については、パフォーマンスに関する考慮事項をご覧ください。

おすすめの方法

参照画像の選択に関するヒント

  • 画像の解像度は 300 x 300 ピクセル以上にする必要があります。高解像度で画像を使用しても、パフォーマンスは向上しません
  • 参照画像は、PNG または JPEG のファイル形式で指定できます。
  • 色情報は使用しません。カラー画像と同等のグレースケール画像は、参照画像として使用することも、実行時にユーザーが使用することもできます。
  • 圧縮率の高い画像は使用しない。これにより、機能の抽出が妨げられます。
  • 多数の幾何学的フィーチャーを含む画像や、非常に少数のフィーチャー(例: バーコード、QR コード、ロゴ、その他のラインアート)を含む画像は使用しないでください。検出とトラッキングのパフォーマンスが低下します。
  • また、繰り返しパターンのある画像は避けてください。これを使用すると、検出とトラッキングに関する問題が発生する可能性があります。
  • ARCore SDK に含まれている arcoreimg ツールを使用して、各画像の品質スコアを 0100 にします。75 以上の品質スコアをおすすめします。次に 2 つの例を示します。

    画像の例 1 画像の例 2
    スコア: 0 スコア: 100
    繰り返される幾何学的特徴を含む 十分な解像度 - 独自の機能の多くを含む

イメージ データベース作成のヒント

  • Android 用 arcoreimg ツールを使用して、画像データベース ファイルを生成します。このツールは、Android 開発と Android NDK 開発でのみ使用できます。Unity SDK と ARCore Unreal プラグインに組み込まれています。
  • データベースは、グレースケール データから抽出された特徴の圧縮表現を参照画像に保存します。各イメージ エントリは約 6 KB を占めます。
  • 実行時にデータベースに画像を追加するまでに約 30 ミリ秒かかります。
    • UI スレッドをブロックしないように、ワーカー スレッドに画像を追加します。
    • 可能であれば、ARCore SDK に含まれている arcoreimg ツールを使用してコンパイル時にイメージを追加します。
  • 画像の予想される物理的なサイズがわからない場合は、それを指定します。この情報により、特に大きい物理画像(75 cm 以上)の検出とトラッキングのパフォーマンスが向上します。
  • CPU 使用率の増加によるシステム パフォーマンスへの影響がわずかに及ぶため、未使用のイメージを多数のデータベースに残さないでください。

トラッキングの最適化のヒント

  • 画像が初期位置から移動しない(壁に貼付されているポスターなど)場合は、画像にアンカーを取り付けてトラッキングの安定性を高めることができます。
  • 初期の検出では、物理画像がカメラ画像の 25% 以上を占める必要があります。ユーザーに、画像を物理フレームに適合させるよう促すことができます。
  • 画像のトラッキング状態が完全に追跡されるまで、画像のポーズとサイズの推定を使用しないでください。ARCore によって画像が最初に検出され、想定される物理サイズが指定されていない場合は、トラッキング状態が一時停止されます。これは、ARCore が画像を認識したものの、3D 空間での位置を推測するのに十分なデータが収集されていないことを意味します。