机器视觉标定讲解

B站 :道传科技上位机 观看教

一、什么是相机标定

相机标定(Camera Calibration)是指通过实验或算法手段确定相机的内部参数(如焦距、主点坐标、畸变系数)和外部参数(如旋转矩阵、平移向量)的过程。这些参数共同描述了相机的成像模型,使得三维空间中的物体能够被准确投影到二维图像平面上。

**二、**标定的核心意义

1**.**几何映射关系的建立:标定解决了"像素如何对应物理尺寸"的问题,例如在工业检测中,标定后的系统可通过图像直接计算工件的实际尺寸。

**2.**畸变校正:真实镜头存在径向畸变(桶形、枕形)和切向畸变(梯形),标定可消除图像变形,提升测量精度。

**3.**多传感器协同:在双目视觉或激光雷达-相机融合系统中,标定确定不同传感器间的坐标系转换关系,确保数据一致性。

三、坐标系和相机成像以及参数

一.四种坐标系

1.世界坐标系(World Coordinate System):描述物体在真实空间中的绝对位置。

2.相机坐标系(Camera Coordinate System):以相机光心为原点,光轴为Z轴。

3.图像坐标系(Image Coordinate System):以光轴与成像平面的交点为原点,单位为毫米。

4.像素坐标系(Pixel Coordinate System):以图像左上角为原点,单位为像素。

二、内参和外参矩阵

除了世界坐标系, 后面三个坐标系只跟相机本身有关。 相机内参表达的就是这三个坐标之间的转换关系, 而相机外参表达的是相机与世界坐标系之间的转换关系。成像的过程实质上是几个坐标系的转换。首先空间中的一点由世界坐标系转换到相机坐标系 ,然后再将其投影到物理成像平面 ( 成像平面坐标系 ) ,最后再将成像平面上的数据转换像素坐标系 。

从世界坐标到像素坐标总共有3步转换, 前面2个合在一起就是相机内参, 最后一个是相机外参。如下左图所示

三、畸形模型

四、内参标定方法

棋盘格标定法(张正友标定法):使用已知尺寸的棋盘格标定板,通过多角度拍摄图像,提取角点并求解单应性矩阵,结合最小二乘法优化内外参数。此方法精度高、操作简便,是工业界主流。步骤:拍摄多幅棋盘格图像(通常需15-20张)。检测角点并亚像素优化。利用线性最小二乘解算初始参数。通过Levenberg-Marquardt算法非线性优化,最小化重投影误差。如下左图

圆形标定板:利用圆形标记点,适用于高精度场景(如医疗影像),但对离焦敏感。如下右图

五、外参的标定方法

外参标定的核心是:已知多个点分别在相机坐标系下的坐标和在世界坐标系下的坐标, 求它们之间的映射关系。
常用求解PnP 的方法,即已知多个点, 在像素坐标系的二维坐标, 和在世界坐标系的三维坐标,并且已知内参, 求解旋转平移矩阵。

六、双目标定的标定方法

双目标定的主要目的是确定两个摄像头之间的相对位置关系,以便通过视差计算物体的三维信息‌。双目视觉系统通过两个摄像头获取图像,利用视差原理来计算物体的深度信息。为了实现这一目的,需要对两个摄像头进行精确的标定,以确定它们之间的位置关系和参数‌。
可以看到,为了将两个图像调整到同一平面且中心水平对齐(外极线校准),我们需要知道两个摄像头的相对位置关系,具体来讲就是:旋转矩阵R和平移矩阵T,然后对应将图像做旋转和平移即可。获取立体校正的参数就是立体标定要做的工作,实际上只是对每个镜头进行前面单目标定,用单目标定的参数计算得到立体校正的参数。

双目视觉技术在机器人导航、三维重建、测量和增强现实等领域有广泛应用。通过精确的双目标定,可以提高系统的准确性和可靠性,确保机器人或设备能够准确地感知和理解周围环境,从而执行复杂的任务‌

七、其他标定方法

一、 自标定方法

基于场景约束:利用自然场景中的平行线、消失点等几何特征推导参数,适用于无法放置标定物的场合(如户外SLAM)。

基于深度学习:使用神经网络直接从图像回归参数,无需显式建模,但需大量标注数据。

二、 零失真相机标定

通过LCD显示屏生成相移光栅,建立像素级映射关系,适用于广角镜头和复杂畸变矫正,精度可达亚像素级。

八、一些关键的算子和流程

准备阶段:

1. 首先要获取相机的初始内参(焦距,畸变系数,单个像素的宽,单个像素高,图像 坐标的中心值横坐标,图像坐标中心值的纵坐标,图像宽度,图像高度)

2. 根据标定板的大小利用 gen_caltab 算子,生成描述文件。(保存到指定位置)

3. 拍摄 14---20 组标定板图像(eye_in_hand),并准确记录每组图像在拍摄时 TOOL_IN_BASE 位姿(此位姿从机器人中读取)。 备注:在获取标定图像时,标定板不动,机器人末端的摆动要尽可能的全面,绕各 个轴的旋转角要尽量的大。标定板要出现在相机视野的各个角落。理论上图像越多, 角度越全面,标定精度越高。

标定阶段:

1. 读取相机初始内参,设置描述文件路径

2. 创建标定数据模型 create_calib_data

3. 设置相机的参数类型 set_calib_data_cam_parm

4. 设置标定板的数据类型(此处用到了描述文件)

5. 设置标定模式 set_calib_data(我使用的是非线性的方法)

6. 循环读取图像将标定板的位姿信息和机器人末端在基坐标系位姿(TOOL_IN_BASE) 保存到标定数据模型中。

7. 进行手眼标定 calibrate_hand_eye 备注:手眼标定最终获得的是相机与机器人末端的位姿关系(Camera_In_Tool)。在循 环输入 TOOL_IN_BASE 时其输入格式一定要是 YZX 的(至少我试过 XYZ,YZY 是不行的), 到此标定就结束了。 如果是使用该标定结果的话,要先选择参考的平面进行一步标定获得参考的 obj_in_cam, 然后再计算抓取物体点与 obj_in_cam 的关系。所用到的方程如下:

B站 :道传科技上位机 观看教程视频

相关推荐
研梦非凡2 小时前
CVPR 2025|基于视觉语言模型的零样本3D视觉定位
人工智能·深度学习·计算机视觉·3d·ai·语言模型·自然语言处理
Monkey的自我迭代2 小时前
多目标轮廓匹配
人工智能·opencv·计算机视觉
索迪迈科技4 小时前
安防芯片 ISP 的白平衡统计数据对图像质量有哪些影响?
人工智能·计算机视觉·白平衡
ViperL15 小时前
[优化算法]神经网络结构搜索(一)
深度学习·神经网络·计算机视觉
张子夜 iiii6 小时前
实战项目-----在图片 hua.png 中,用红色画出花的外部轮廓,用绿色画出其简化轮廓(ε=周长×0.005),并在同一窗口显示
人工智能·pytorch·python·opencv·计算机视觉
nenchoumi31198 小时前
全网首发!Realsense 全新 D555 相机开箱记录与 D435i、L515、D456 横向测评!
数码相机·计算机视觉·机器人·ros·realsense
小关会打代码9 小时前
计算机视觉之多模板匹配
人工智能·计算机视觉
AI 嗯啦9 小时前
计算机视觉----opencv----身份证号码识别案例
人工智能·opencv·计算机视觉
星期天要睡觉9 小时前
计算机视觉(opencv)——基于模板匹配的信用卡号识别系统
opencv·计算机视觉
荼蘼11 小时前
OpenCV 高阶 图像金字塔 用法解析及案例实现
人工智能·opencv·计算机视觉