ゆるふわフィジカルAI
すまし顔のゆるロボ

ロボットビジョン入門|物体認識から把持位置推定まで

2026-08-10実践

#ロボットビジョン#画像認識#把持#実践

「カメラで見て、つかむ」— 単純に聞こえますが、ロボットビジョンには画像認識だけでは足りない要素があります。「画面のどこにあるか」を「現実の何メートル先か」に変換する必要があるからです。

一般の画像認識との決定的な違い

🖼️

一般の画像認識

  • 「猫が写っている」でOK
  • 2Dのピクセル座標
  • 認識できれば終わり
VS
🤖

ロボットビジョン

  • 「30cm先、20度傾いて」まで必要
  • 3Dの空間座標
  • つかめて初めて成功

「95%の精度で猫と認識」できても、手を伸ばす先がわからなければロボットは何もできません

処理の流れ

見てからつかむまで

📷

撮る

RGB+深度

🔍

見つける

物体検出

📐

位置と向き

6D姿勢推定

🤏

つかみ方

把持位置推定

ステップ1: カメラキャリブレーション(最重要)

すべての土台です。カメラのレンズ歪みと、「カメラとロボットの位置関係」を数値化します。

import cv2
# チェスボードを様々な角度で20〜30枚撮影して内部パラメータを求める
ret, mtx, dist, rvecs, tvecs = cv2.calibrateCamera(
    objpoints, imgpoints, gray.shape[::-1], None, None
)

さらにロボット用にはハンドアイキャリブレーションが必要です。「カメラから見て30cm先」を「ロボットの根元から見てどこか」に翻訳する行列を求めます。

⚠️

ズレの9割はここ

「AIは正しく認識しているのに、腕が的外れな場所に伸びる」——原因はほぼキャリブレーション不良です。認識モデルを疑う前に、まずここを疑ってください。

ステップ2: 物体検出

定番はYOLO系です。速度と精度のバランスが良く、エッジでも動きます。

from ultralytics import YOLO
model = YOLO("yolo11n.pt")
results = model("scene.jpg")
# → 画像内のバウンディングボックス(2D)が得られる

ここで得られるのは2Dの枠まで。次でこれを3Dに引き上げます。

ステップ3: 深度と組み合わせて3Dへ

深度カメラ(RGB-D)を使うと、各ピクセルまでの距離がわかります。

# 検出した枠の中心の深度を取り、3D座標に変換
u, v = box_center
z = depth_image[v, u]                    # 距離[m]
x = (u - cx) * z / fx                    # カメラ座標系のX
y = (v - cy) * z / fy                    # カメラ座標系のY
# → さらにハンドアイ行列でロボット座標系へ変換

fx, fy, cx, cy はキャリブレーションで求めた内部パラメータです。ここでキャリブレーションが効いてくるわけです。

ステップ4: 6D姿勢推定

位置(XYZ)だけでなく向き(回転3軸) も要ります。マグカップは取っ手の向きによってつかみ方が変わるからです。合計6自由度なので「6D姿勢」と呼びます。

  • 既知の物体 → CADモデルとのマッチング(高精度)
  • 未知の物体 → 学習ベースの推定モデル、または後述の把持位置推定

ステップ5: 把持位置推定

実務では「物体が何か」を特定せず、いきなり「どこをつかめるか」を推定するアプローチが強力です。

深度画像から「この位置・角度でグリッパーを閉じれば掴める」という候補を出す手法(GraspNet系)が定番で、見たことのない物体でもつかめるのが利点。倉庫の雑多な商品を扱う現場で重宝します。

VLAモデルという別解

2026年のトレンドは、この工程をまるごと1つのAIに任せる方向です。VLAモデルは「映像+指示 → 関節の動き」を直接出力するので、上記のステップ2〜5が不要になります。

従来パイプラインVLA(E2E)
開発工程ごとに調整が必要データを集めて学習
デバッグどの工程が悪いか特定しやすいブラックボックス
精度高い(既知物体)汎用性が高い
現場産業用の定番研究・新興企業が採用

とはいえキャリブレーションはVLAでも必要なので、この記事の内容は無駄になりません。

まとめ

  • ロボットビジョンは「2D認識」ではなく「3D空間の位置と向き」を出す仕事
  • キャリブレーションがすべての土台。腕がずれる原因の9割はここ
  • 検出→深度で3D化→6D姿勢→把持位置、が古典的パイプライン
  • VLAモデルは工程をまるごと置き換えるが、キャリブレーションは依然必要

次の一歩 🌸

センサーの種類はセンサー超入門、AIに丸ごと任せる方向はVLAモデル解説へどうぞ。

あわせて読みたい