Yolo 深圳
深セン
今すぐ参加
用語集

3Dオブジェクト検出

3Dオブジェクト検出:LiDAR、点群、ディープラーニングが、自律走行車、ロボット工学、ARのための正確な3Dバウンディングボックスをどのように構築しているかを探る。

3D物体検出は、三次元環境内の物体を識別・分類・位置特定する高度なコンピュータビジョン(CV)技術である。従来の2D物体検出が画像平面上の物体に平坦な長方形の境界ボックスを描くのとは異なり、3D物体検出は空間的な直方体を推定する。 この体積は7つの主要パラメータで定義される:中心座標(x, y, z)、物理的寸法(長さ、幅、高さ)、および方位角(ヘディング角)。この豊富な空間データにより、人工知能(AI)システムはセンサーに対するオブジェクトの真のサイズ、距離、姿勢を認識でき、デジタル知覚と物理的相互作用の間のギャップを埋める。

3Dオブジェクト検出の仕組み

世界の体積的理解を構築するため、3D検出モデルには幾何学的情報を含む入力データが必要である。標準的な画像認識が画素輝度値に依存するのに対し、3D手法では視覚データと深度測定値を組み合わせるセンサーフュージョンが頻繁に利用される。

主なデータソースには以下が含まれます:

  • LiDAR(光検出と測距): これらのセンサーはレーザーパルスを発射して精密な距離を測定し、点群と呼ばれる疎な幾何学的表現を生成する。
  • ステレオカメラ:二つのレンズを用いて両眼視覚を模倣し、これらのシステムは視差マップを通じて深度を計算する。これにより視覚的オフセットから3D構造の再構築が可能となる。
  • 単眼深度予測:高度な 深層学習(DL)アルゴリズムは単一の2D画像から深度を推定でき、この技術は「疑似LiDAR」と呼ばれることが多いが、一般的に能動型センサーよりも精度が低い。

実際のアプリケーション

奥行きと体積を認識する能力により、3D物体検出は物理世界と相互作用する産業における知覚エンジンとなる。

  • 自動運転車自動運転車は、周囲の交通のtrack 、速度、進行方向track 3D検知に依存しています。 Waymo Open DatasetやnuScenesデータセットからのデータを処理することで、 これらの車両は潜在的な衝突を予測し、動的な環境の中で安全な経路を計画できます。
  • ロボティクス産業用ロボットは3D知覚技術を用いて「ビンピッキング」を実行する。ロボットアームは部品の正確な3D姿勢を把握し、 積み重ねられた部品の中から正しく把持しなければならない。この機能はOpen3Dなどのデータ処理ツールを用いて 現代のワークフローに統合されている。
  • 拡張現実(AR):仮想キャラクターや情報を現実世界の表面に固定するため、 Google などのフレームワークは3D検出を用いて環境の形状をマッピングし、 デジタルアセットが物理的な床やテーブルと完全に一致するよう保証する。

3Dと2Dの物体検出

これら二つの技術の相違点は、出力の次元性と想定される使用事例にある。

  • 2D物体検出: 画面空間(ピクセル)で動作します。 動画フレーム内の人物識別などのタスクに対して リアルタイム推論を可能にしますが、 人物までの距離をメートル単位で特定することはできません。
  • 3D物体検出:ワールド空間(メートル単位)で動作します。遮蔽を効果的に処理し、 ロボットが物理的に物体の周囲を移動するために必要な座標データを提供します。

単純な正方形ボックスよりも多くの方位データが必要だが、完全な3Dよりも計算負荷が少ないシナリオにおいて、 方向付きバウンディングボックス(OBB)検出は効率的な中間手段となる。 OBBはUltralytics YOLO26で完全にサポートされており、 航空画像や複雑な製造ラインにおける回転した物体の検出を可能にする。

Ultralytics YOLO統合

完全な3D検出にはVoxelNet やPointPillarsのような特殊なアーキテクチャが必要となることが多い一方、高速2D検出器は「視錐台ベース」の3Dパイプラインにおいて重要な役割を果たす。このワークフローでは、 YOLO11 (あるいは新世代のYOLO26)が2D画像内の オブジェクトを検出します。この2Dバウンディングボックスを3D空間に押し出すことで、LiDAR点群の関連領域を 切り出し、3Dモデル検索領域を大幅に縮小します。

以下の例は、OBBモデルを用いた推論の実行方法を示しています。 ultralytics rotation-aware detectionを提供するパッケージで、完全な3D解析の前段階としてよく使用される:

from ultralytics import YOLO

# Load a pre-trained YOLO26 model capable of Oriented Bounding Box detection
model = YOLO("yolo26n-obb.pt")

# Perform inference on an image (e.g., aerial view or slanted objects)
results = model("https://docs.ultralytics.com/datasets/obb/dota-v2/")

# Display the rotated bounding box coordinates
for result in results:
    # returns center_x, center_y, width, height, rotation
    print(result.obb.xywhr)

関連概念

  • 深度推定: シーンの深度マップを生成するピクセル単位の予測タスク。物体検出とは異なり、個々の物体インスタンスやそのクラスを識別しない。
  • 合成データ: 実世界のラベル付き3Dデータが不足している、または収集コストが高い場合に、モデルを訓練するために人工的に生成される3Dシーン。
  • PyTorch3D: ディープラーニングを用いた3Dコンピュータビジョン研究向けに、効率的で再利用可能なコンポーネントを提供するライブラリ。

Ultralytics コミュニティに参加する

AIの未来を共に切り開きましょう。グローバルなイノベーターと繋がり、協力し、成長を。

今すぐ参加