机器视觉:9点标定的原理与实现

一、什么是标定

标定就是将机器视觉处理得到的像素坐标转换成实际项目中使用到的毫米坐标。简单说即使看看实际单位距离内有几个像素,如下图所示,10mm的距离内有222个像素,那像素坐标和实际的毫米坐标就有个比例关系了。

二、九点标定

9点标定的算法主要用于建立相机像素坐标与机械手世界坐标之间的转换关系。通过已知的9个点的图像坐标和对应的机械坐标,直接计算转换矩阵,核心原理就是最小二乘拟合。

9点标定的核心在于通过少量的点来精确计算坐标转换关系,适用于2D平面上的仿射变换,9点标定不仅计算简单,而且在实际应用中非常有效。

具体步骤包括:

1、制作9点标定板或者标定图,通常是3*3的阵列排列,确保相机的视野能覆盖到所有的点,一般这些点是圆形的标记。

2、相机拍照,在图片上找到这9个圆点的中心坐标,并记录下来,同时也要记录下这些点的机械坐标。

3、使用采集到的图像坐标和机械坐标,通过最小二乘法计算出一个3*3的转换矩阵。

4、得到转换矩阵后,可以用它将新的图像坐标换成机械坐标,从而实现相机和机械手的协调工作。

三、最小二乘法的原理

最小二乘法拟合的目的就是找到使误差平方和最小的参数值。

他的基本原理就是找到一个函数曲线,使得该曲线和实际数据点之间的误差最小。具体而言,最小二乘法通过找到使误差平方和最小的参数值,来得到最佳的拟合曲线。误差是指实际数据点与拟合曲线之间的差异,平方和的最小化是为了消除正负差异的影响并凸显较大误差的重要性。

最小二乘法公式在数学砂锅称为曲线拟合,不仅仅包括线性回归方程,还包括矩阵的最小二乘法。现象最小二乘法就是二元一次方程,矩阵的最小二乘法就是两个方向上的二元一次方程了,如下所示:

四、 9点标定的工程实现

1、获取实心圆矩阵坐标上的圆心坐标,有几个关键的参数

获取标定板的图像Img;

9个圆点的极性,是黑点白背景,还是白点黑背景;

提取圆点的灰度阈值是多少,为了在比较模糊的图像中获取圆点;

圆点的面积范围,算法要找圆点,得给个大致的范围,圆点有多大得告诉算法。

2、计算图像坐标和世界坐标的映射关系

图像坐标是通过拍照,软件找到圆点算出来的像素坐标,世界坐标就是标定板上9个点的实际坐标;

还需要标定图像的高度和宽度;

计算得到映射关系,有的叫做转换关系;

映射关系通过最小二乘法计算出来,MATLAB,halcon的库都有现成的函数可用。

当然计算出来的转换关系是要保存下来的,以后每次都可以使用,用不着每次都去标定一下。

相关推荐
YOLO数据集集合10 小时前
Anti-UAV 可见光与红外无人机检测数据集| 反无人机 可见光红外 多模态检测 小目标检测 Anti-UAV9076期
人工智能·目标检测·计算机视觉·目标跟踪·无人机识别·反无人机·灾害救援
工具派10 小时前
视频场景检测是怎么找到切镜头位置的?三种思路与实测
算法·计算机视觉·视频
AI棒棒牛11 小时前
YOLO26最新创新改进系列:融合 E3AD 认知注意力 Neck:具身认知增强的 FPN/PAN 特征选择机制,高效创新!
人工智能·yolo·计算机视觉·yolo26
hhzz12 小时前
OpenCV 入门到精通 09】特征检测与匹配:从 Harris 到 ORB 图像配准
人工智能·opencv·计算机视觉·开源·交互
PixelBai18 小时前
图片格式转换与 Base64 编码:JPG/PNG/WebP 选型与前端场景
图像处理
matlab代码1 天前
基于matlab模板匹配的手写体数字识别【源码78期】
人工智能·计算机视觉
AiNightVision1 天前
AI-ISP微光全彩夜视技术深度解析:如何在0.001Lux下实现全彩成像
人工智能·计算机视觉·车载系统·自动驾驶·无人机·智能家居·智能硬件
岁月蹉跎的一杯酒1 天前
ISP 黑电平校正(BLC, Black Level Calibration/Correction)
论文阅读·图像处理·isp
JAI科研1 天前
YOLO 完全指南(七):YOLO识别工程化 (上)
人工智能·深度学习·神经网络·yolo·目标检测·计算机视觉·transformer
程序猿编码1 天前
扔掉 Python!纯 C++ 本地跑扩散 TTS,GGML 加持,支持 RK3588 NPU 加速
c++·计算机视觉·大模型·transformer·rk3588·推理·ggml