Ultralytics YOLO27: ウェイトリストに登録する
YOLOのライセンス
Ultralytics用語集に戻る

3D Object Detection

3D物体検出では、各物体の位置、サイズ、向きをメートル単位で示す3Dボックスを配置します。センサー、手法、ベンチマーク、ボックスの例を紹介します。

3D物体検出は、シーン内の物体を見つけ、それぞれを囲む3Dバウンディングボックス(直方体)を配置して、実世界の単位で位置、サイズ、向きを示します。標準的な2D 物体検出では、画像ピクセル単位のバウンディングボックスを出力します。3D検出では、車までの距離をメートル単位で示し、車体の長さと幅、向いている方向も出力します。こうした情報は、自動運転車、配送ロボット、倉庫用ロボットアームが動作を計画し、衝突を回避するために必要です。

3Dボックスの表現方法#

ほとんどの3D検出器は、物体ごとに7つの数値とクラス、信頼度スコアを出力します。7つの数値は、ボックスの中心座標(x、y、z)、長さ、幅、高さ、垂直軸周りの方位角(ヨー角)です。車、人、ほとんどの屋内物体は直立しているため、ロールとピッチはゼロと仮定します。また、nuScenesなどの走行ベンチマークでは、各物体の速度も求められます。7つの数値を8つの頂点座標に変換することが、画像上にボックスを描画したり、別のボックスとの重なりを計算したりする最初の手順です。

import numpy as np

# 3Dボックス1つ:中心位置(m)、サイズ(m)、垂直のz軸周りの方位角(rad)
center = np.array([12.0, -3.0, 0.9])
length, width, height = 4.5, 1.9, 1.6
yaw = np.pi / 6

# ボックスを回転する前の、中心を基準とした8つの頂点
signs = np.array([[sx, sy, sz] for sx in (1, -1) for sy in (1, -1) for sz in (1, -1)])
corners = signs * [length / 2, width / 2, height / 2]

# 方位角で回転してから、ボックスを中心位置に移動
c, s = np.cos(yaw), np.sin(yaw)
rotation = np.array([[c, -s, 0], [s, c, 0], [0, 0, 1]])
corners = corners @ rotation.T + center
print(corners.round(2))

出力される8行は、x軸方向に12メートルの位置を中心とし、30度回転させた車サイズのボックスの頂点です。4つは屋根の高さz = 1.7 m、残り4つは床の高さz = 0.1 mにあります。

センサーと手法#

3D検出には深度が必要で、システムは3種類の入力から深度情報を得ます。Lidarスキャナーはレーザーパルスで距離を直接測定し、シーンの点群を返します。Lidar検出器は空間を3Dボクセルに分割し、PointPillarsのように点を垂直な列にまとめ、鳥瞰図画像として処理して高速な2D畳み込みを適用するか、生の点を直接処理します。

カメラベースの手法は画像から深度を推定します。単眼カメラでは、小さな近距離の物体と大きな遠距離の物体が同じように見えることがあり、深度が曖昧になります。そのため、単眼検出器は物体の大きさやシーンのコンテキストから深度を学習します。BEVFormerなどのマルチカメラシステムは、周囲の複数の視点から得た特徴を共通の鳥瞰グリッドに投影します。また、カメラのパイプラインでは、YOLO26の2Dボックスと、1枚のRGB画像からピクセル単位の深度マップをメートル単位で予測するYOLO26深度モデルを組み合わせ、検出した各物体までの距離を推定できます。

センサーフュージョンは、LiDARの正確な形状情報とカメラ画像の色・テクスチャを組み合わせます。BEVFusionは、両方のセンサーから得た特徴を共通の鳥瞰空間で統合します。

  • 深度推定: シーンを物体やクラスに分けず、各ピクセルの距離を予測します。
  • 方向付きバウンディングボックス: 画像平面上の回転した2Dボックスです。3Dボックスの上面から見た形状に似ているため、航空画像でよく使われます。
  • 3D再構成: 個々の物体にラベルを付けずに、メッシュや点群などの形でシーンの完全な形状を復元します。

用途と課題#

自動運転車は3D検出を使って周囲の車、歩行者、自転車を特定し、それらの進路を予測します。倉庫・物流ロボットは、箱をつかむ前にその位置と向きを検出します。難しいケースには、LiDAR点が少ない遠距離・小型の物体、一部が遮蔽された物体、距離とともに誤差が大きくなる単眼深度推定、そして学習用の直方体を注釈担当者が3Dで1つずつ設定する必要があるために生じるラベル付けコストがあります。

3D検出器の評価#

評価では、IoU(交差領域対和)とmAP(平均適合率)を3次元に拡張します。KITTIの3Dベンチマークでは、車に0.7、歩行者と自転車に0.5の3DボックスIoUが必要です。また、2019年以降、再現率11点ではなく40点で適合率を平均します。nuScenesベンチマークは、地面平面上で中心間の距離を使って予測とラベルを対応付け、0.5、1、2、4メートルの各しきい値でAPを平均します。nuScenes検出スコア(NDS)は、このmAPに加え、平行移動、スケール、向き、速度、属性の誤差から算出した5つのスコアを組み合わせます。mAPの重みは5、各スコアの重みは1です。

ソリューションを見る

スポーツにおけるコンピュータービジョン

スポーツにおけるコンピュータービジョン

Ultralytics YOLOが、選手やボールの追跡、パフォーマンス分析、コーチングへの知見、アスリートのリハビリを通じて、スポーツビジョンをどのように支えるかをご紹介します。
詳しく見る
航空画像向けコンピュータービジョン

航空画像向けコンピュータービジョン

Ultralytics YOLOを使用して、ドローンや航空画像をリアルタイムの知見に変換し、農業、水産養殖、自然保護、地理空間分析に活用できます。
詳しく見る
航空宇宙分野のコンピュータービジョン

航空宇宙分野のコンピュータービジョン

Ultralytics YOLOを活用して航空宇宙分野でコンピュータビジョンを導入し、航空機検査、滑走路上のFOD検出、空港の地上業務、複合材の欠陥検出に活用できます。
詳しく見る
セキュリティ分野のコンピュータービジョン

セキュリティ分野のコンピュータービジョン

Ultralytics YOLOモデルであらゆる施設を保護しましょう。ビジョンAIは、周辺監視、脅威検知、ナンバープレート認識、職場の安全管理を支援します。
詳しく見る
ロボティクス分野のコンピュータービジョン

ロボティクス分野のコンピュータービジョン

Ultralytics YOLOモデルで、よりスマートなマシンを実現しましょう。ロボティクスにおけるビジョンAIは、自律ナビゲーション、認識、物体追跡、リアルタイム制御を支援します。
詳しく見る
物流におけるコンピュータービジョン

物流におけるコンピュータービジョン

Ultralytics YOLOモデルで物流を効率化しましょう。ビジョンAIにより、荷物検査、仕分け、車両追跡、倉庫のリアルタイム安全監視を実現します。
詳しく見る
小売業におけるコンピュータービジョン

小売業におけるコンピュータービジョン

Ultralytics YOLOモデルで小売のあり方を変革しましょう。ビジョンAIにより、在庫追跡、棚の監視、行列管理、より高度な顧客インサイトを実現します。
詳しく見る
医療分野におけるコンピュータービジョン

医療分野におけるコンピュータービジョン

Ultralytics YOLOモデルで医療ソリューションを構築しましょう。医療分野のビジョンAIは、医用画像処理の高速化、より高度な診断、患者モニタリングを実現します。
詳しく見る
製造業におけるコンピュータービジョン

製造業におけるコンピュータービジョン

Ultralytics YOLOモデルで製造を最適化しましょう。ビジョンAIは、品質管理、欠陥検出、PPE準拠、組立ラインの自動化を推進します。
詳しく見る
自動車分野におけるコンピュータービジョン

自動車分野におけるコンピュータービジョン

Ultralytics YOLOモデルで自動車分野にコンピュータービジョンを導入しましょう。ビジョンAIは、道路の安全性、運転支援、車両の自動化を向上させ、よりスマートな道路を実現します。
詳しく見る
農業におけるコンピュータービジョン

農業におけるコンピュータービジョン

Ultralytics YOLOモデルでスマート農業にビジョンAIを導入しましょう。作物のモニタリング、家畜の追跡、精密農業を支援し、より高く効率的な収量を実現します。
詳しく見る

AIの未来を一緒に築きましょう!

機械学習の未来に向けた歩みを始めましょう