このページでは、Azure Kinect DK で深度カメラを使用する方法について説明します。 深度カメラは、2 台のカメラの 2 番目のカメラです。 前のセクションで説明したように、もう 1 つのカメラは RGB カメラです。
運用原則
Azure Kinect DK 深度カメラは、振幅変調連続波 (AMCW) の飛行時間 (ToF) の原則を実装しています。 カメラは、近赤外線 (NIR) スペクトルの変調照明をシーンにキャストします。 その後、カメラからシーンに戻るまでの光にかかる時間の間接的な測定を記録します。
これらの測定値は、深度マップを生成するために処理されます。 深度マップは、画像のすべてのピクセルの Z 座標値のセットで、ミリメートル単位で測定されます。
深度マップと共に、いわゆるクリーン IR 読み取り値も取得します。 クリーン IR 読み取りのピクセルの値は、シーンから返される光の量に比例します。 画像は通常の IR イメージに似ています。 次の図は、深度マップの例 (左) と対応するクリーン IR イメージ (右) を示しています。
主な機能
深度カメラの技術的な特性は次のとおりです。
- 高度なピクセル技術により高い変調周波数と深度精度を可能にする1メガピクセルのToFイメージングチップ。
- 近距離および広視野(FoV)深度モードを可能にする2つのNIRレーザダイオード。
- 世界最小の ToF ピクセル(3.5μm x 3.5μm)。
- ピクセルごとの自動ゲイン選択により、広いダイナミック レンジを実現し、近距離および遠くのオブジェクトをクリーンにキャプチャできます。
- 太陽光の性能向上を可能にするグローバルシャッター。
- チップ、レーザー、電源変動の有無にかかわらず、堅牢な精度を実現する多相深度計算法。
- 体系的およびランダムなエラーが少ない。
深度カメラは、生の変調された IR イメージをホスト PC に送信します。 PC では、GPU アクセラレータ深度エンジン ソフトウェアによって生信号が深度マップに変換されます。 深度カメラは、いくつかのモードをサポートしています。 狭視野 (FoV) モードは、X 次元と Y 次元の範囲が小さいが、Z 次元の範囲が大きいシーンに最適です。 シーンの X エクステントと Y エクステントが大きく、Z 範囲が小さい場合は、 広い FoV モード が適しています。
深度カメラは、 2x2ビン分割モード をサポートし、対応する ビンなしモードと比較してZ範囲を拡張します。 ビニングは、画像の解像度を低くすることで行われます。 すべてのモードは、最大フレーム レート 15 fps で実行される 1 つのメガピクセル (MP) モードを除き、最大 30 フレーム/秒 (fps) で実行できます。 深度カメラは パッシブ IR モードも提供します。 このモードでは、カメラの照明器はアクティブではなく、周囲の照明のみが観察されます。
カメラのパフォーマンス
カメラのパフォーマンスは、体系的かつランダムなエラーとして測定されます。
系統的誤差
系統誤差は、ノイズ除去後の測定された深さと正しい(グラウンド・トゥルース)深さの差として定義されます。 深度ノイズを可能な限り排除するために、静的シーンの多くのフレームの時間平均を計算します。 より正確には、体系的誤差は次のように定義されます。
ここで、dt は時間 t における測定深度を示し、N は平均化手順で使用されるフレーム数を表し、dgt はグラウンド・トゥルースの深さを表します。
深度カメラの体系的なエラー仕様は、マルチパス干渉 (MPI) を除いています。 MPI は、1 つのセンサー ピクセルが複数のオブジェクトによって反射される光を統合する場合です。 MPI は、深度の無効化と共に、より高い変調周波数を使用して深度カメラで部分的に軽減されます。これについては、後で説明します。
ランダム エラー
カメラを動かさずに、同じオブジェクトの 100 個の画像を撮影するとします。 オブジェクトの深さは、100 個の画像ごとに若干異なります。 この違いは、ショット ノイズによって発生します。 ショットノイズは、センサーに当たる光子の数は、時間の経過と同時にランダムな要因によって変化します。 静的シーンでのこのランダム エラーは、時間の経過に伴う深度の標準偏差として次のように定義します。
ここで、Nは深度測定値の数を示し、dtは時間tにおける深度測定を表し、dは全深度測定dtに対して計算された平均値を示す。
無効
状況によっては、深度カメラが一部のピクセルに対して正しい値を提供しない場合があります。 このような状況では、深度ピクセルが無効になります。 無効なピクセルは、深度値が 0 で示されます。 深度エンジンが正しい値を生成できない理由は次のとおりです。
- アクティブ IR 照明マスクの外側
- 飽和 IR 信号
- 低赤外線信号
- 外れ値を除外する
- マルチパス干渉
照明マスク
ピクセルは、アクティブな IR 照明マスクの外側にある場合に無効になります。 このようなピクセルのシグナルを使用して深度を計算することはお勧めしません。 次の図は、照明マスクによる無効化の例を示しています。 無効なピクセルは、ワイド FoV モード (左) では円の外側の黒い色のピクセル、狭い FoV モードでは六角形 (右) です。
信号強度
ピクセルは、飽和 IR 信号が含まれている場合に無効になります。 ピクセルが飽和状態になると、位相情報が失われます。 下の図は、飽和 IR 信号による無効化の例を示しています。 深度イメージと IR イメージの両方で、ピクセルの例を指す矢印を参照してください。
IR 信号が深さを生成するのに十分な強度がない場合にも、無効化が発生する可能性があります。 次の図は、低 IR 信号による無効化の例を示しています。 深度画像と IR 画像の両方で、ピクセルの例を示す矢印を参照してください。
あいまいな深さ
ピクセルは、シーン内の複数のオブジェクトから信号を受信した場合にも無効にすることができます。 この種の無効化が見られる一般的なケースは、隅にあります。 シーン ジオメトリのため、カメラからの IR ライトは、一方の壁から他方の壁に反射しました。 この反射光は、ピクセルの測定された深度にあいまいさを引き起こします。 深度アルゴリズムのフィルターは、これらのあいまいな信号を検出し、ピクセルを無効にします。
次の図は、マルチパス検出による無効化の例を示しています。 また、1 つのカメラ ビュー (一番上の行) から無効にされたのと同じサーフェス領域が、別のカメラ ビュー (下の行) から再び表示される方法も確認できます。 この画像は、ある視点から無効化されたサーフェスが別の視点から表示される可能性があることを示しています。
マルチパスのもう 1 つの一般的なケースは、前景と背景 (オブジェクトの端の周囲など) の混合信号を含むピクセルです。 高速モーション中に、エッジの周囲に無効なピクセルが表示されることがあります。 追加の無効化されたピクセルは、生深度キャプチャの露出間隔が原因です。