深度推定がコンピュータビジョンに3Dの遠近感を加える仕組みを学びましょう。Ultralytics を用いた単眼深度やステレオビジョンなどの技術を探求します。
深度推定は、カメラからの物体の距離を決定するコンピュータビジョンにおける重要なプロセスであり、 2D画像に事実上第三の次元を追加する。画像内の各ピクセルがどれほど離れているかを計算することで、 この技術は深度マップを作成する。深度マップとは、ピクセルの強度が距離に対応する表現である。 この機能は人間の両眼視覚を模倣し、機械が空間的関係や幾何学的構造を認識することを可能にします。自律システムが安全に移動し、環境を理解し、物理的物体と相互作用するための基盤技術です。
深度推定を実現する方法は複数存在し、ハードウェアベースのソリューションから、人工知能を用いた純粋なソフトウェア駆動型のアプローチまで多岐にわたる。
距離を測る能力は多くの産業において変革をもたらし、空間認識を必要とするアプリケーションを支えています。
専門的な深度モデルは存在するものの、単純なシナリオでは距離の代用として物体検出のバウンディングボックスを用いて空間関係を推測できる場合が多い(大きなボックスは通常、近い物体を意味する)。以下にモデルを読み込む方法を示す: ultralytics detect パッケージであり、多くの深度認識パイプラインにおける最初のステップである。
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}")
深度推定は関連用語と区別することが重要です。 物体検出が2次元空間における物体の「何」と「どこ」を特定する(バウンディングボックスを使用)のに対し、深度推定はその物体が「どれほど離れているか」(Z軸)を特定します。同様に、 セマンティックセグメンテーションがピクセルをカテゴリ(例:道路、空、車)に分類するのに対し、深度推定はそれらの同じピクセルに距離値を割り当てます。
生成AIの最近の進歩は、2Dと3Dの視覚の間のギャップを埋めています。 ニューラル放射場(NeRF)のような技術は、 複数の2D画像を用いて複雑な3Dシーンを再構築し、 その基盤となる深度原理に大きく依存しています。 さらに、モデル最適化技術の進歩により、エッジAIデバイス上で高精度な深度推定を実行することが現実的になりつつある。これにより、ドローンやスマートグラスといった小型ハードウェア上でのリアルタイム空間コンピューティングが可能となり、効率的なモデルトレーニングとデプロイメントUltralytics プラットフォームによって促進されている。