相机标定(基础)20221204

相机标定的基本步骤

在了解相机标定的基本步骤之前,需要知道在相机标定过程中所需要的坐标系。

世界坐标系(三维):三维世界坐标系,用来描述目标物体(被拍摄物体)在真实世界里的位置;

相机坐标系(三维):在相机上建立的坐标系,用来从相机的角度来描述物体的位置,作为世界坐标系和图像坐标系的中介;

图像坐标系(二维):用来描述成像过程中物体从相机坐标系到图像坐标系的投影投射关系。

所以,根据不同的坐标系相互转换,以及物体的成像过程(物体-相机-图像),相机标定主要有两个步骤:

1.世界坐标系转换到相机坐标系(三维到三维映射):这一步主要是求出相机和物体的空间关系,进一步求出相机的外参(旋转矩阵R、平移参数t);

2.相机坐标系转换到图像坐标系(三维到二维映射):这一步主要是通过三维坐标点和图像坐标点之间的关系,求出相机内参K;

K=\left[\begin{array}{ccc} f_{x} & 0 & c_{x} \\ 0 & f_{y} & c_{y} \\ 0 & 0 & 1 \end{array}\right]

其中,F表示焦距长度dx、dy表示一个像素代表实际物理大小,表示图像的中心像素坐标和图像原点像素坐标之间相差的横向、纵向像素。

 畸变参数

理想的小孔成像模型,物和像满足相似三角形的关系。实际上由于相机光学系统制造工艺的误差,实际成像与理想成像存在几何失真,称为畸变。畸变主要分为径向畸变和切向畸变。

(1)径向畸变(枕形、桶形):

①透镜质量原因

②光线在远离透镜中心的地方比靠近中心的地方更加弯曲。

径向畸变可以用如下公式修正:

(2)切向畸变(薄透镜畸变和离心畸变):

切向畸变是由于透镜制造上的缺陷使得透镜本身与图像平面不平行而产生的。

切向畸变可以用如下公式修正:

其中:

表示畸变时的图像坐标;

表示消除畸变后的图像坐标;

表示径向畸变参数;

表示切向畸变参数;

一般来说,相机图像的切向畸变很小,可以忽略不记,一般只需要标定参数。

相机标定原理

通过空间中已知坐标点(),以及它们在图像中的坐标(),通过上述相机标定步骤直接求解相机内参与外参。

线性标定

不考虑相机畸变,只考虑空间坐标变换,通过空间坐标和图像坐标关系求解5个相机内参K,和9个相机外参[R t]。

求解未知量的方程为:

对于求解这个方程可以采用最小二乘法。

张正友标定法

张正友标定法利用棋盘格标定板可以利用相应的角点提取算法(如Harris角点)得到每一个角点的像素坐标(u,v)。

张正友标定法将世界坐标系固定于棋盘格上,则棋盘格上任一点的物理坐标 W = 0,由于标定板的世界坐标系是人为事先定义好的,标定板上每一个格子的大小是已知的,我们可以计算得到每一个角点在世界坐标系下的物理坐标 (U,V,W)=0。

我们将利用这些信息:每一个角点的像素坐标(u,v) 、每一个角点在世界坐标系下的物理坐标(U,V,W)=0,来进行相机的标定,获得相机的内外参矩阵、畸变参数。

定义了其次坐标

在这里描述空间坐标到图像坐标的映射变为了:

s: 世界坐标系到图像坐标系的尺度因子

A: 相机内参矩阵

(): 像主点坐标

(): 焦距与像素横纵比的融合

γ: 径向畸变参数

求解方程引入矩阵B、H:

最终推导得到:

内参:

外参:

最终使用极大似然估计,对给定的n张棋盘格图像,每张图像有m个角点,使公式最小化:

最终就能得到相机的外参、内参、畸变参数。

使用ROS自带程序进行相机标定

本周主要是先跑通相机标定demo、下周进行实际程序的编写。采用ROS自带的相机标定程序,通过usb_cam访问相机,再通过棋盘格进行标定。

# 终端A运行ROS
roscore
# 终端B启动相机
roslaunch usb_cam usb_cam-test.launch
# 终端C运行标定程序
rosrun camera_calibration cameracalibrator.py --size 6x4 --square 0.034  image:=/usb_cam/image_raw camera:=/usb_cam

 通过移动标定板相对于相机不同的位置,程序采集图像,自动计算相机参数。

得到了相机的内参为:

相机的畸变参数为:

  • 0
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值