SLAM入门之视觉里程计(6):相机标定 张正友经典标定法详解

想要从二维图像中获取到场景的三维信息,相机的内参数是必须的,在SLAM中,相机通常是提前标定好的。张正友于1998年在论文:”A Flexible New Technique fro Camera Calibration”提出了基于单平面棋盘格的相机标定方法。该方法介于传统的标定方法和自标定方法之间,使用简单实用性强,有以下优点:

  • 不需要额外的器材,一张打印的棋盘格即可。
  • 标定简单,相机和标定板可以任意放置。
  • 标定的精度高。

相机的内参数

P=(X,Y,Z) P = ( X , Y , Z ) 为场景中的一点,在针孔相机模型中,其要经过以下几个变换,最终变为二维图像上的像点 p=(μ,ν) p = ( μ , ν ) :

  1. P P 从世界坐标系通过刚体变换(旋转和平移)变换到相机坐标系,这个变换过程使用的是相机间的相对位姿,也就是相机的外参数
  2. 从相机坐标系,通过透视投影变换到相机的成像平面上的像点 p = ( x , y )
  3. 将像点 p p 从成像坐标系,通过缩放和平移变换到像素坐标系上点 p = ( μ , ν )

相机将场景中的三维点变换为图像中的二维点,也就是各个坐标系变换的组合,可将上面的变换过程整理为矩阵相乘的形式:

sμν1=α000β0cxcy1f000f0001000[R0Tt1]XYZ1=fx000fy0cxcy1000[R0Tt1]XYZ1(1) (1) s ( μ ν 1 ) = [ α 0 c x 0 β c y 0 0 1 ] [ f 0 0 0 0 f 0 0 0 0 1 0 ] [ R t 0 T 1 ] ( X Y Z 1 ) = [ f x 0 c x 0 0 f y c y 0 0 0 1 0 ] [ R t 0 T 1 ] ( X Y Z 1 )

将矩阵 K K 称为相机的内参数,

(2) K = [ f x 0 c x 0 f y c y 0 0 1 ]

其中, α,β α , β 表示图像上单位距离上像素的个数,则 fx=αf,fy=βf f x = α f , f y = β f 将相机的焦距 f f 变换为在x,y方向上像素度量表示。

另外,为了不失一般性,可以在相机的内参矩阵上添加一个扭曲参数 γ ,该参数用来表示像素坐标系两个坐标轴的扭曲。则内参数 K K 变为

(3) K = [ f x γ c x 0 f y c y 0 0 1 ]

对于大多数标准相机来说,可将扭曲参数 γ γ 设为0. Multiple View Geometry in Computer Vision

张氏标定法

在上一篇博文单应矩阵,介绍的单应矩阵表示两个平面间的映射。在张氏标定法中,用于标定的棋盘格是三维场景中的一个平面 Π Π ,其在成像平面的像是另一个平面 π π ,知道了两个平面的对应点的坐标,就可以求解得到两个平面的单应矩阵 H H 。其中,标定的棋盘格是特制的,其角点的坐标是已知的;图像中的角点,可以通过角点提取算法得到,这样就可以得到棋盘平面 Π 和图像平面 π π 的单应矩阵 H H
通过上面的相机模型有:

(4) p = K [ R | t ] P

其中 p p 是像点坐标, P 是标定的棋盘坐标。 这样就可以得到下面的等式:

H=K[R|t](5) (5) H = K [ R | t ]

H H 表示的是成像平面和标定棋盘平面之间的单应矩阵。通过对应的点对解得 H 后,则可以通过上面的等式得到相机的内参数 K K ,以及外参旋转矩阵 R 和平移向量 t t

棋盘平面和成像平面间的单应

将一个平面映射到另一个平面,将棋盘格所在的平面映射到相机的成像平面,则有

(6) p = H P

p p 为棋盘格所成像的像点坐标, P 棋盘格角点在世界坐标系的坐标。

设棋盘格所在的平面为世界坐标系中 Z=0 Z = 0 的平面,这样棋盘格的任一角点 P P 的世界坐标为 ( X , Y , 0 ) ,根据小孔相机模型:

suv1=K[Rt]
  • 4
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值