相机标定篇——相机标定

article/2025/10/22 8:45:50

认为相机标定是三维重建的核心,研究生期间主要方向为结构光三维重建

必要的数学知识

线性方程求解
Gauss消元法;LU分解;Cholesky分解
最小二乘问题-线性方法
特征值分解;奇异值分解;超定线性方程;最小二乘SVD法
最小二乘问题-非线性优化
最速下降;牛顿法;高斯牛顿法;LM优化;

单相机标定

目前相机标定有很多成熟的算法库如Opencv或者matlab工具箱以及Halcon,其中matlab与halcon貌似做的精度会相对高一些,但是实际工程中,上述平台的标定算法的灵活度较低,因此往往是自己开发算法。
相机标定,目的是确定相机的内参矩阵K、外参矩阵R t和 畸变系数 d 。

四大坐标系

世界坐标系->相机坐标系

image-20220505112251643

世界坐标系:以外界某个参考点建立的坐标系,单位为 m m mm mm,或者 m m m
相机坐标系:以相机光心建立的坐标系,其 z z z 轴指向相机的正前方。

假设物点在世界坐标系下的坐标为: P = [ X W , Y W , Z W ] P=[X_W,Y_W,Z_W] P=[XW,YW,ZW],那么转换到相机坐标系下坐标: P = [ X C , Y C , Z C ] T P=[X_C,Y_C,Z_C]^T P=[XC,YC,ZC]T 的变换如下
在这里插入图片描述

相机坐标系->图像坐标系

image-20220505145927099
我们用 u , v u,v u,v 来记像素的列数与行数,那么:

  • 图像坐标系下的坐标系原点,在像素坐标系 u − v u-v uv 下记为: o ( u 0 , v 0 ) o(u_0,v_0) o(u0,v0)
  • 像点 p p p,在 u − v u-v uv 坐标系下记为: p ( u , v ) p(u,v) p(u,v)

此外,再分别记 d x , d y dx,dy dx,dy 为每个像素在 x x x 轴、 y y y 轴所代表的物理尺寸大小,可推导出下式
在这里插入图片描述
将上式写成齐次的形式有
在这里插入图片描述

汇总

四大坐标系转换关系
image-20220505145902918

张正友标定法

张正友标定法利用如下图所示的棋盘格标定板,在得到一张标定板的图像之后,可以利用相应的图像检测算法得到每一个角点的像素坐标 (u,v)。

张正友标定法将世界坐标系固定于棋盘格上,则棋盘格上任一点的物理坐标 W=0,由于标定板的世界坐标系是人为事先定义好的,标定板上每一个格子的大小是已知的,我们可以计算得到每一个角点在世界坐标系下的物理坐标(U,V,W=0)。
我们将利用这些信息:每一个角点的像素坐标 (u,v) 、每一个角点在世界坐标系下的物理坐标(U,V,W=0),来进行相机的标定,获得相机的内外参矩阵、畸变参数。
在这里插入图片描述

标定相机的内参矩阵和外参矩阵

思路如下:①求解内参矩阵与外参矩阵的积; ②求解内参矩阵; ③求解外参矩阵

求解内参矩阵与外参矩阵的积

将世界坐标系固定于棋盘格上,则棋盘格上任一点的物理坐标 W=0 ,因此,原单点无畸变的成像模型可以化为下式。其中, R1,R2为旋转矩阵 R 的前两列。为了简便,将内参矩阵记为A。
在这里插入图片描述
对于不同的图片,内参矩阵A 为定值;对于同一张图片,内参矩阵A,外参矩阵(R1,R2,T)为定值;对于同一张图片上的单点,内参矩阵A,外参矩阵 (R1,R2,T),尺度因子 Z为定值。
我们将 A(R1 R2 T)记为矩阵 H , H 即为内参矩阵和外参矩阵的积,记矩阵 H 的三列为 [H1 H2 H3] ,则有:
在这里插入图片描述
利用上式消去尺度因子Z可得
在这里插入图片描述
上式对于同一张图片上所有的角点均成立。(u,v)是像素坐标系下的标定板角点的坐标, (UV) 是世界坐标系下的标定板角点的坐标。通过图像识别算法,我们可以得到标定板角点的像素坐标(u,v),又由于标定板的世界坐标系是人为定义好的,标定板上每一个格子的大小是已知的,我们可以计算得到世界坐标系下的(UV) 。

由这里的H 是齐次矩阵,有8个独立未知元素。每一个标定板角点可以提供两个约束方程(u,UV的对应关系、 v,UV的对应关系提供了两个约束方程),因此,当一张图片上的标定板角点数量等于4时,即可求得该图片对应的矩阵H。当一张图片上的标定板角点数量大于4时,利用最小二乘法回归最佳的矩阵 H。

求解内参矩阵

目前已知了H=A(R1 R2 T),下面求解内参A 利用R1R2的单位正交关系
在这里插入图片描述
在这里插入图片描述
为了简便,记相机内参矩阵A为
在这里插入图片描述
在这里插入图片描述
则用矩阵 A表示矩阵B得:
在这里插入图片描述
B为对称阵,B12 B13 B23 出现了两次
使用B=A-TA-1,将前面的单位正交约束方程化为
在这里插入图片描述
在这里插入图片描述
此时,通过 R1,R2单位正交得到的约束方程可化为
在这里插入图片描述
写成矩阵的形式
在这里插入图片描述
由于矩阵H已知,矩阵v又全部由矩阵H的元素构成,因此矩阵v已知。

此时,我们只要求解出向量 b ,即可得到矩阵 B 。每张标定板图片可以提供一个 vb=0的约束关系,该约束关系含有两个约束方程。但是,向量b有6个未知元素。因此,单张图片提供的两个约束方程是不足以解出来向量b。因此,我们只要取3张标定板照片,得到3个vb=0的约束关系,即6个方程,即可求解向量 b。当标定板图片的个数大于3时(事实上一般需要15到20张标定板图片),可采用最小二乘拟合最佳的向量b,并得到矩阵B
在这里插入图片描述

求解外参

上述过程已经求出了H,内参A ,通过公式(R1 R2 T)=A-1H 即可求得每一张图片对应的外参矩阵(R1 R2 T)
此时相机的内参与外参均已得到

畸变参数

张正友标定只考虑了径向畸变
径向畸变公式(2阶)如下:
在这里插入图片描述分别为理想的无畸变的归一化的图像坐标、畸变后的归一化图像坐标
r为图像像素点到图像中心点的距离.
图像坐标和像素坐标的转化关系为:
在这里插入图片描述
同理可得畸变后的像素坐标的表达式为
在这里插入图片描述
代入径向畸变公式(2阶)则有:
在这里插入图片描述
在这里插入图片描述
上式中的uv可以通过识别标定板的角点获得,每一个角点可以构造两个上述等式。有m幅图像,每幅图像上有n个标定板角点,则将得到的所有等式组合起来,可以得到个mn未知数为的 k[k1,k2]T 约束方程,将约束方程系数矩阵记为D,等式右端非齐次项记为 d ,可将其记着矩阵形式:
在这里插入图片描述
则使用最小二乘法可求得:
在这里插入图片描述

LM算法参数优化

从上述推导过程就可以看出,张正友标定法是有很多近似的,所以仅仅利用上述的过程进行标定误差肯定是很大的。所以张正友标定法还利用L-M(Levenberg-Marquardt)算法对参数进行了优化。下一篇博客更新LM算法


http://chatgpt.dhexx.cn/article/uK1ppegS.shtml

相关文章

【相机标定】相机内参

相机标定 相机在计算机视觉方面的一些应用一般需要相机标定。我们总是听到标定这个词,那么具体标定的是什么呢?相机的拍摄是一个三维到二维(透视投影)的过程,这个过程可以用数学模型去表述,标定便是计算这…

什么是相机标定

1. 相机标定的定义及作用 相机标定是指借助标定板来计算单个或多个相机的内参、外参和镜头畸变参数。 作用: 将畸变的图像恢复为正常的图像,为后续进行拼接、SLAM等奠定基础。 多相机标定可以将所有相机输出变换到同一个坐标系。 相机标定是三维视觉…

相机标定究竟在标定什么?

点击上方“小白学视觉”,选择加"星标"或“置顶” 重磅干货,第一时间送达 相机标定可以说是计算机视觉/机器视觉的基础,但是初学者不易上手,本文将给读者整理一遍相机标定的逻辑,并在文末回答评论区提出的问题…

相机标定(Camera calibration)

简介 摄像机标定(Camera calibration)简单来说是从世界坐标系换到图像坐标系的过程,也就是求最终的投影矩阵 P P P 的过程,下面相关的部分主要参考UIUC的计算机视觉的课件(网址Spring 2016 CS543 / ECE549 Computer vision)。 …

相机参数标定(camera calibration)及标定结果如何使用

重要更新:本文的第二次更新已发布。为了不破坏现有内容的结构,故重新开始新的一篇文章。同时本文的一些内容也会涵盖进去。 欢迎关注。 《第二更,相机参数标定基础:从小孔成像开始到单双目标定》 关于实践部分,可参…

相机标定详解

内参、外参、畸变参数三种参数与相机的标定方法与相机坐标系的理解 相机标定(Camera calibration)原理、步骤 相机标定详解 最近做项目要用到标定,因为是小白,很多东西都不懂,于是查了一堆的博客,但没有…

相机标定-机器视觉基础(理论推导、Halcon和OpenCV相机标定)

相机标定是获得目标工件精准坐标信息的基础。首先,必须进行相机内参标定,构建一个模型消除图像畸变;其次,需要对相机和机器人的映射关系进行手眼标定,构建一个模型将图像坐标系上的点映射到世界坐标系。主要分为背景知…

计算机视觉——相机标定

相机标定 1. 相机标定1.1相机内外参数(重点)1.2 为什么要做相机标定 2. 相机标定的意义3. 相机成像模型3.1 像素坐标系3.2 图像坐标系3.3 相机坐标系3.4 世界坐标系 4.坐标系转换4.1 世界坐标到相机坐标4.2 相机坐标到图像坐标4.3 像素坐标到世界坐标的变…

相机标定、双目相机标定(原理)、三维重建效果展示

1.相机标定的目的: (1)通过单目相机标定分别求出左右相机的内参数和外参数。 (2)矫正由于镜头畸变造成的图片的变形,例如,现实中的直线,拍摄成图像后会外凸或内凹,进行相…

相机标定(Camera calibration)原理及步骤

这已经是我第三次找资料看关于相机标定的原理和步骤,以及如何用几何模型,我想十分有必要留下这些资料备以后使用。这属于笔记总结。 1.为什么要相机标定? 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置…

计算机视觉—— 相机标定

目录 简介 一、相机模型 1.坐标系 2.坐标系变化 3.相机畸变模型 二、相机标定原理 三、张正友黑白棋盘格标定 2.1.算法思想 2.2.求解内参和外参的积 2.3.求解内参矩阵 2.4.求解外参矩阵 2.5.得到相机畸变矫正参数 2.6.L-M算法参数优化 三、实验 3.1 实验要求…

相机标定的原理及实现

本文参考文档: 原理部分:https://blog.csdn.net/honyniu/article/details/51004397 代码部分:https://www.cnblogs.com/wildbloom/p/8320351.html ;https://blog.csdn.net/firemicrocosm/article/details/48594897# 1、相机标定的…

计算机视觉-相机标定(Camera Calibration)

1.相机标定基本原理 1.1 简介 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置与其在图像中对应点之间的相互关系,必须建立摄像机成像的几何模型,这些几何模型参数就是摄像机参数。在大多数条件下这些参数必须通过实验与计算才…

相机标定(Camera calibration)原理、步骤

这已经是我第三次找资料看关于相机标定的原理和步骤,以及如何用几何模型,我想十分有必要留下这些资料备以后使用。这属于笔记总结。 1.为什么要相机标定? 在图像测量过程以及机器视觉应用中,为确定空间物体表面某点的三维几何位置…

采用Matlab的Filter Designer设计低通滤波器并对信号进行低通滤波

今天在使用Filter Designer设计低通滤波器进行低通滤波发现滤波总是得不到理想中的结果,经过一番折腾后终于解决了问题,特写博文供大家学习参考。 1、找到工具箱中的Filter Designer并打开: 2、按照如下图所示设计参数,注意Fs最好…

利用Matlab filterDesigner 工具生成FIR滤波器函数,并调用实现低通滤波

本文使用的开发环境为:Win10 Matlab2018a 版本。 在matlab命令窗口输入:filterDesigner命令,即可打开filterDesigner设计工具。 按照下图调整FIR低通滤波器的参数: 我们设计的是采样频率100Hz,截止频率10Hz的8阶FIR低…

matlab由滤波的系数得到传输函数 设计带通滤波器 design fdatool设计IIR带通滤波器

写在前面的话: 由滤波器系数得到传输函数: 使用matlab fdatool设计滤波器,得到幅频响应,得到滤波器系数,由系数如何得到滤波器的参数? 我的方法是 使用:点击Filt-Export to simulink Model, …

带通滤波器的设计

一、滤波器:滤波器按照频带划分可以分为:低通滤波器(LPF)、高通滤波器(HPF)、带通滤波器(BPF)、带阻滤波器(BEF)。其中射频天线领域主要采用带通滤波器(BPF)。 二、带通滤波器(BPF): ①:RF BPF:从天线中取出期望频带的…

【matlab图像处理】理想低通滤波器

实验原理: 在一幅图像中,低频部分对应图像变化缓慢的部分即图像大致外观和轮廓,高频部分对应图像变化剧烈的部分即图像细节,图像噪声也属于高频部分。低通滤波器的功能是让低频率通过而滤掉或衰减高频,效果是图像去噪平…

Matlab滤波器的设计

在IIR滤波器设计过程中,通常利用模拟滤波器来设计数字滤波器,首先要根据滤波器的性能指标设计出相应的模拟滤波器的系统传递函数G(s),然后由传递函数G(s)经Z变换得到所需要的数字滤波器的离散型传递函数。常用的Z变换方法有冲激响应不变法和双…