Depth Estimation
深度推定 (depth estimation) がコンピュータビジョンにどのように3Dの視点を加えるかを学びましょう。Ultralytics YOLO26モデルを使用した単眼深度やステレオビジョンの手法を解説します。
深度推定は、コンピュータビジョンにおいて非常に重要なプロセスであり、カメラからオブジェクトまでの距離を決定し、2D画像に実質的な3次元を加えるものです。画像内のすべてのピクセルがどれだけ離れているかを計算することで、この技術はデプス・マップを作成します。これはピクセルの強度が距離に対応する表現です。この機能は人間の両眼視を模倣しており、マシンが空間的な関係や幾何学を把握できるようにします。これは、自律システムが安全に移動し、環境を理解し、物理的なオブジェクトと相互作用するために不可欠な基盤技術です。
Link to this section主要なメカニズムと技術#
深度推定を実現する方法には、ハードウェアベースのソリューションから、人工知能を使用した純粋なソフトウェア駆動型のアプローチまで、いくつかのアプローチがあります。
- ステレオビジョンシステム: 人間の目と同様に、ステレオビジョンは並べて配置された2台のカメラを使用します。アルゴリズムは、左右の画像のわずかな違い(視差)を分析して距離を三角測量します。これは、両方のフレームで同じ点を特定するための正確な特徴マッチングに大きく依存しています。
- 単眼深度推定: この高度な手法は、単一の画像から深度を推定します。2D写真は本来、深度データを持っていないため、ディープラーニングモデルは遠近法、オブジェクトのサイズ、オクルージョン(遮蔽)などの視覚的手がかりを認識できるように膨大なデータセットでトレーニングされます。畳み込みニューラルネットワーク (CNN)のような現代のアーキテクチャはこのタスクに優れており、標準的なカメラから3D構造を導き出すことを可能にします。
- LiDARおよびTime-of-Flight (ToF): LiDAR (Light Detection and Ranging)やTime-of-Flightカメラなどのアクティブセンサーは、光パルスを放射し、その光が戻ってくる時間を測定します。これらの方法は非常に高精度な点群を生成し、機械学習モデルをトレーニングするためのグラウンドトゥルースデータの収集によく使用されます。
Link to this section実社会での応用#
距離を測定する能力は多くの業界で変革をもたらしており、空間認識を必要とするアプリケーションを支えています。
- 自動運転: 自動運転車は、障害物の検出、他車との距離測定、複雑な道路ネットワークの安全な走行のために深度推定に依存しています。これは、歩行者や自転車を特定するための3Dオブジェクト検出にとって不可欠です。
- ロボティクスと自動化: ロボットは、経路計画やオブジェクト操作などのタスクに深度認識を使用します。例えば、倉庫のロボットは、パッケージと衝突することなくそれを拾い上げるために、棚までの正確な距離を知る必要があります。
- 拡張現実 (AR): 仮想オブジェクトを現実世界のシーンに自然に配置するには、ARデバイスは環境の3D幾何学構造を理解する必要があります。深度推定により、仮想キャラクターが本物の家具の後ろに隠れるといった、オクルージョン処理として知られる概念が可能になります。
Link to this sectionコード例: 単眼深度推定#
専門的な深度モデルが存在しますが、単純なシナリオではオブジェクト検出のバウンディングボックスを距離の代替手段(ボックスが大きいほどオブジェクトが近いことを示すことが多い)として使用することで、空間的な関係を推論できることがよくあります。以下は、ultralyticsパッケージを使用してモデルをロードし、オブジェクトを検出する方法です。これは多くの深度対応パイプラインの最初のステップとなります。
from ultralytics import YOLO
# Load the YOLO26 model
model = YOLO("yolo26n.pt")
# Run inference on an image
results = model("path/to/image.jpg")
# Process results
for result in results:
# Get bounding boxes (xyxy format)
boxes = result.boxes.xyxy
# Iterate through detections
for box in boxes:
print(f"Detected object at: {box}")Link to this section他のコンピュータビジョンコンセプトとの関係#
深度推定を関連用語と区別することが重要です。オブジェクト検出は、2D空間におけるオブジェクトの「何か」と「どこか」を(バウンディングボックスを使って)特定するのに対し、深度推定はそれが「どれだけ離れているか」(Z軸)を特定します。同様に、セマンティックセグメンテーションはピクセルをカテゴリ(道路、空、車など)に分類しますが、深度推定はそれらの同じピクセルに距離値を割り当てます。
Link to this section空間AIにおける進歩#
生成AIの最近の進歩は、2Dビジョンと3Dビジョンの間のギャップを埋めつつあります。Neural Radiance Fields (NeRF)のような技術は、複数の2D画像を使用して複雑な3Dシーンを再構築し、その基盤となる深度の原則に大きく依存しています。さらに、モデル最適化技術が向上するにつれて、エッジAIデバイス上で高精度な深度推定を実行することが現実的になりつつあります。これにより、ドローンやスマートグラスのように小さなハードウェア上でもリアルタイムの空間コンピューティングが可能になり、効率的なモデルのトレーニングとデプロイメントのためのUltralytics Platformのようなプラットフォームによって促進されています。






