VisionMaster(VM) 标定工具详解(上):为什么必须标定 + 九点标定手眼标定

VisionMaster(VM) 标定工具详解(上):为什么必须标定 + 九点标定手眼标定

玩视觉的人绕不开"标定"。相机拍的是像素 ,设备要的是毫米/机械手坐标 ,中间这道换算就是标定。这篇讲 VisionMaster(VM)里最常用的两类标定:为什么要标定、以及**九点标定(手眼标定)**到底在干什么。下篇讲像素当量和透视矫正。(下篇见《VisionMaster(VM) 标定工具详解(下):像素当量、透视矫正与常见坑》)


一、为什么必须标定?三个绕不开的问题

相机成像后,图像上的坐标是"像素",但真实世界有三个麻烦:

text 复制代码
1. 相机有畸变   → 直的线拍出来是弯的,边缘偏移更大
2. 安装有角度   → 相机斜着装,正方形拍出来是梯形(透视)
3. 像素≠毫米   → 一个像素对应多少毫米?不知道就没法给机械手下指令

标定的本质:建立"图像像素坐标 ↔ 真实物理坐标"的数学映射。不标定,量出来的距离只是数字,引导机械手走更是没法用。

标定解决什么?

问题 不标定的后果 标定后
像素≠物理 量出 100 像素,实际多少 mm 不知道 知道 mm/pixel,直接输出毫米
斜拍透视 正方形变梯形,距离失真 矫正成正视图,距离可用
引导机械手 给像素坐标,机械手走到错误位置 像素→机械手坐标,精准对位

二、九点标定:最常用的"手眼标定"

九点标定 是 VM(以及几乎所有视觉软件)里最常用的工具,用来做"相机像素坐标 → 运动平台/机械手坐标"的换算。

1. 它到底在干什么?

想象相机装在机械手上或固定在工位上。视觉算出一个特征在图像里的 (x, y) 像素 ,但机械手要按自己坐标系 (X, Y) 去抓。两者不是简单的比例关系------因为:

  • 相机可能斜着装;
  • 相机和机械手坐标原点不重合;
  • 可能有旋转和缩放。

九点标定就是求出这组变换:

text 复制代码
[X]   [a  b] [x]   [tx]
[Y] = [c  d] [y] + [ty]

这是一个仿射变换(含平移、旋转、缩放)。只要你给 9 个"图像坐标↔机械手坐标"的对应点,软件就能解出 a/b/c/d/tx/ty 六个未知数。

2. 为什么是"九"个点?

理论上解仿射变换 3 个点就够 (6 个未知数 = 3 对点)。实际用 9 个点是为了:

  • 多点拟合:减少单个点的人为/识别误差;
  • 覆盖范围:点分布在视野不同位置,避免局部偏差;
  • 提高精度:最小二乘求出最优变换,比 3 个点稳得多。

注意:点要分散开(视野四角 + 中心),别挤在一小块,否则拟合出来的变换不准。


三、九点标定操作步骤(VM)

text 复制代码
准备:把一个标定物(靶标/针尖)固定,让机械手带着它走 9 个已知位置
  │
  ▼
1. 机械手走到第 1 个位置 → 记下机械手坐标 (X1, Y1)
   相机拍到靶标 → 视觉算出图像坐标 (x1, y1)
  │
  ▼
2. 重复,采集 9 组对应点 (xi, yi) ↔ (Xi, Yi)
  │
  ▼
3. VM"九点标定"工具输入这 9 组点 → 解出仿射变换矩阵
  │
  ▼
4. 以后视觉给的像素 (x,y) → 自动换算成机械手坐标 (X,Y) 去执行

采集要点

要点 说明
点要分散 覆盖整个视野,不要集中
靶标清晰 用容易精确识别的圆点/十字
走点要慢 等平台停稳再采,避免坐标抖动
复查残差 VM 会给每个点的拟合残差,残差大的点重采

残差:实际点和拟合点之间的偏差。残差越小,标定越准;某个点残差特别大,说明那个点采歪了或识别错了。


四、标定的方向:相机在机械手上面还是固定?

九点标定分两种常见场景:

场景 说明 用法
相机固定 相机装在工位上方,产品在运动平台上移动 图像坐标→平台坐标,引导平台对位
相机在机械手上(眼在手上) 相机随机械手一起动 需要更复杂的手眼关系,VM 有对应模块

产线最常见的是相机固定 + 运动平台,九点标定直接把图像坐标换算成平台坐标,用来做定位放料、纠偏。


五、上篇小结

知识点 一句话
为什么标定 像素≠毫米、有畸变、有透视,必须建立映射
标定本质 建立 图像像素 ↔ 物理坐标 的数学关系
九点标定 求仿射变换,把图像像素换算成机械手/平台坐标
为什么9个点 多点最小二乘拟合,分散开更准(理论3点够)
采集要点 点要分散、靶标清晰、残差复查
两种场景 相机固定(平台移动) vs 相机在手上

下篇预告

九点标定解决了"图像坐标→机械手坐标"。但还有两个常见问题:只量尺寸时怎么知道一个像素多少毫米(像素当量)? 相机斜拍导致正方形变梯形怎么矫正(透视标定)?以及标完了还是不准,常见坑有哪些。下篇《VisionMaster(VM) 标定工具详解(下):像素当量、透视矫正与常见坑》继续,点关注别错过!

参考:结合机器视觉标定、VisionMaster(VM) 九点标定/手眼标定教学讲义整理的学习笔记。

相关推荐
严谨的麻辣烫1 小时前
静态代理 IP 的出口一致性如何验证?Python 请求检测与异常排查
开发语言·python·http·网络安全
原子延迟2 小时前
视频太大怎么压缩发微信?先查限制再压的3种方法(2026)
开发语言·图像处理·人工智能·计算机视觉·音视频
FITA阿泽要努力2 小时前
Fork Agent:共享上下文的艺术
开发语言·python·agent
LittroInno2 小时前
运动平台上的巡检相机:曝光时间与快门该怎样选?
数码相机·机器视觉·曝光时间·运动模糊·滚动快门·巡检相机
小小、码农2 小时前
[特殊字符]【C++11】类的新功能全面解析:移动构造、移动赋值、default、delete、final 与 override
linux·开发语言·网络·c++
Dovis(誓平步青云)2 小时前
逆变器报警却找不到板子,热斑图怎样定位到具体组串
java·开发语言·人工智能·机器学习·卷积神经网络
坐吃山猪2 小时前
Python-Hermite基函数
开发语言·python
空~自由3 小时前
Python 正则 . * ? .* .*? (.*?) 通俗讲解
开发语言·python
程序 代码狂人3 小时前
经典 SQL 面试题:连续登录问题的两种经典解法
java·开发语言·算法