深度カメラとは
深度カメラ(RGB-Dカメラ)は、通常のカメラが記録する色情報に加えて、画素ごとに「どれだけ離れているか」を測るカメラです。出力は色画像と深度画像の2枚で、これを合成すると3次元の点群(ポイントクラウド)が得られます。
ロボットにとっての意味は大きく、「そこに何があるか」だけでなく「どこにあるか」が一度に分かります。物をつかむには、対象の種類が分かるだけでは足りず、手先を持っていく3次元座標が要ります。深度カメラはその座標を、レーザースキャナより安く、単眼カメラより直接的に与えてくれます。
方式の違い
深度の測り方は主に4通りあり、得意・不得意がはっきり分かれます。
| 方式 | 原理 | 得意 | 苦手 |
|---|---|---|---|
| パッシブステレオ | 2台のカメラの視差 | 屋外、テクスチャの豊富な面 | 白い壁など模様のない面 |
| アクティブステレオ | 赤外パターンを投影して視差を取る | 模様のない面、屋内近距離 | 強い日光、複数台の干渉 |
| ToF(Time of Flight) | 光の往復時間を測る | 一様な面、中距離、高フレームレート | 反射の多い場所(多重反射)、黒い物 |
| 構造化光 | 既知のパターンの歪みから復元 | 近距離の高精度 | 動く対象、屋外 |
産業・研究用途では、屋内の近〜中距離で扱いやすいアクティブステレオと ToF が主流です。LiDARも距離を測る点は同じですが、深度カメラが画像として面で密に測るのに対し、LiDARは点や線で疎に、代わりに長距離・高精度に測ります。屋内の把持なら深度カメラ、屋外の走行なら LiDAR、という使い分けが基本線です。
選ぶときに見る数字
- 測定範囲: 最小距離が意外な制約になります。アーム先端に付けて対象へ寄る使い方だと、近づいたとたんに測れなくなることがあります。
- 深度精度: 多くの方式で距離の二乗に比例して誤差が増えます。「精度±2mm」といった表記は、必ず何メートルでの値かを確認します。
- 視野角(FOV)と解像度: 広く見るか、細かく見るか。同じ画素数なら広角ほど1画素あたりの分解能は落ちます。
- フレームレート: 動く対象を追うか、静止物を測るか。
- 屋外性能: 赤外を使う方式は日光に弱いものが多く、屋外で使うなら実機検証が必須です。
- 同期とキャリブレーション: 色画像と深度画像の位置合わせ(レジストレーション)、複数台使うときの相互干渉、ロボット座標系との対応付け(ハンドアイキャリブレーション)。
苦手なもの
深度カメラは万能ではなく、現場でつまずくのはたいてい同じ対象です。
- 透明な物: ペットボトル、ガラス、透明フィルムの包装。光が透過して奥の面を測ってしまいます。
- 鏡面・光沢: 金属部品、鏡。光が別方向へ反射して戻らず、深度が欠損します。
- 真っ黒な物: 光を吸収するため、返る光が足りません。
- 細い物: 配線、針金、網。画素より細いと安定して拾えません。
- 強い日光: 赤外パターンやToFの信号が日光に埋もれます。
こうした対象を扱う現場では、偏光フィルタを入れる、照明を作り込む、複数視点から撮る、深度の欠損を学習ベースで補完する、といった対策が要ります。「深度カメラを買えば3次元が分かる」とはならないことは、導入前に見込んでおく必要があります。
ロボットでの使われ方
- 把持点の推定: 点群から対象の形を捉え、どこをどの角度でつかむかを決めます。学習ベースの手法では、深度画像をそのまま入力にすることも多くあります。
- 障害物回避: 移動ロボットが前方の段差や人を検知します。
- [SLAM](/glossary/slam): 自己位置推定と地図作成。RGB-D SLAM は屋内で広く使われます。
- 人の姿勢推定: 骨格を取り、人とロボットの距離を安全監視に使います。
- 学習データの記録: 遠隔操作やUMIで作業を記録する際、色と深度の両方を残しておくと、後から3次元での再構成ができます。
なお近年のVLAモデルには、深度を使わずRGB画像だけを入力とするものも多くあります。深度センサの欠損や機種差に引きずられないこと、そして学習データを集めやすいことが理由です。深度カメラが不要になったわけではなく、用途によって要否が分かれる段階にあります。
単眼深度推定との違い
近年は、普通のカメラ1台の画像から深度を推定するAI(単眼深度推定)の精度が上がり、深度カメラを使わずに3次元的な情報を得る選択肢が現実味を帯びてきました。使い分けの勘所は次のとおりです。
| 深度カメラ | 単眼深度推定 | |
|---|---|---|
| 出力の性質 | 実寸の距離(メートル) | 相対的な奥行き。実寸は別途スケールが要ることが多い |
| ハードウェア | 専用機材が要る | 既存のカメラでよい |
| 透明・鏡面 | 苦手(欠損する) | 見た目から推測するので値は出る(正しいとは限らない) |
| 屋外 | 方式により弱い | 強い |
| 信頼性 | 測定値。外れ方が分かりやすい | 推定値。もっともらしく間違うことがある |
ロボットが実際に手を伸ばす座標を決める用途では、「もっともらしく間違う」ことの危険が大きいため、実測できる深度カメラの価値は残ります。一方、大まかな空間理解や、データ収集の後処理では単眼推定が使われます。
現場で効く実装上の注意
- ハンドアイキャリブレーション: カメラ座標系とロボット座標系の対応付け。ここが1度ずれると、遠くの点で大きな誤差になります。定期的な再校正の運用まで含めて設計します。
- 設置位置: アームに載せる(eye-in-hand)か、外から見る(eye-to-hand)か。前者は寄って見られる代わりに最小測定距離とケーブルの制約を受け、後者はアーム自身が対象を隠します。
- 照明: 深度が取れていても色画像が飛んでいれば、対象の識別ができません。深度と色の両方が成立する照明条件を作ります。
- 複数台の干渉: 赤外パターンを投影する方式を複数台向かい合わせると、互いのパターンを拾って精度が落ちます。時分割やフィルタで回避します。
- 点群の後処理: 生の点群には欠損と外れ値が必ず入ります。平面検出、ノイズ除去、ダウンサンプリングを前提に計算資源を見積もります。
よくある質問
深度カメラとLiDARはどちらを選ぶべきか 屋内で、手が届く距離の物をつかむなら深度カメラ。屋外で、数十メートル先まで測って走行するならLiDAR。両方載せる機体も珍しくありません。
深度カメラがあれば物の種類も分かるのか 分かりません。深度は形と距離の情報です。「これはコップだ」という判断は色画像と認識モデルの仕事で、両者を組み合わせて使います。
精度が出ないときにまず疑うところ 測定距離(遠すぎないか)、対象の材質(黒・透明・光沢)、照明(日光・逆光)、キャリブレーション。この順に確認すると当たりが早いことが多くあります。