照相机标定

目录

一 、相机标定介绍

1.1计算单应性矩阵H

1.2计算内参数矩阵

1.3计算外参数矩阵

二、实验过程

2.1实验步骤

2.2实现

2.3实验结果

三、实验总结


一 、相机标定介绍

相机标定是从三维点转换到二维点的过程,其目的是计算出该照相机的内、外参数,以及畸变参数。标定照相机的标准方法是,拍摄多幅平面棋盘模式的图像,然后进行处理计算。

基本参数设定
s:世界座标系到图像座标系的尺度因子
(u0,v0):像主点座标
α, β:焦距与像素横纵比的融合
γ:径向畸变参数
2D 图像点:m = \begin{bmatrix} u &v &1 \end{bmatrix}^{T}
3D 空间点:X = \begin{bmatrix} X &Y &Z &1 \end{bmatrix}^{T}

1.1计算单应性矩阵H

设三维世界座标的点为X = [X,Y,Z,1]^{T},二维相机平面像素座标为m = [u,v,1]^{T},所以标定用的棋盘格平面到图像平面的单应性关系为:
s_{0}m = K[R,T]X

其中s为尺度因子,K为摄像机内参数,R为旋转矩阵,T为平移向量。令
K = \begin{bmatrix} \alpha &\gamma &u_{0} \\ 0&\beta &v_{0} \\ 0& 0 &1 \end{bmatrix}

注意,s对于齐次座标来说,不会改变齐次座标值。张氏标定法中,将世界座标系在棋盘格平面上,令棋盘格平面为Z=0的平面。则可得
s\begin{bmatrix} u\\ v\\ 1 \end{bmatrix} = K\begin{bmatrix} r_{1} &r_{2} &r_{3} & t \end{bmatrix}\begin{bmatrix} X\\ Y\\ 0\\ 1 \end{bmatrix} = K\begin{bmatrix} r_{1} &r_{2} &t \end{bmatrix}\begin{bmatrix} X\\ Y\\ 1 \end{bmatrix}

我们把K[r1, r2, t]叫做单应性矩阵H,即
s\begin{bmatrix} u\\ v\\ 1 \end{bmatrix} = H\begin{bmatrix} X\\ Y\\ 1 \end{bmatrix}

H = \begin{bmatrix} h_{1} &h_{2} & h_{3} \end{bmatrix} = \lambda K\begin{bmatrix} r_{1} &r_{2} &t \end{bmatrix}

      H是一个齐次矩阵,所以有8个未知数,至少需要8个方程,每对对应点能提供两个方程,所以至少需要四个对应点,就可以算出世界平面到图像平面的单应性矩阵H。

1.2计算内参数矩阵

由上面式子可得

r1和r2正交,可得

代入可得

1.3计算外参数矩阵

外部参数可通过Homography求解,由 H = [h1 h2 h3] = λA[r1 r2 t],可推出

在这里插入图片描述

一般而言,求解出的R = [r1 r2 r3] 不会满足正交与归一的标准,在实际操作中,R 可以通过SVD分解实现规范化。给定 n 张棋盘格图像,每张图像有 m 个角点,最小化下述公式等同于极大似然估计:
在这里插入图片描述

二、实验过程

2.1实验步骤

  • 打印一张棋盘格A4纸张(黑白间距已知),并贴在一个平板上
  • 针对棋盘格拍摄若干张图片(一般10-20张)
  • 在图片中检测特征点(Harris特征)
  • 利用解析解估算方法计算出5个内部参数,以及6个外部参数
  • 根据极大似然估计策略,设计优化目标并实现参数的refinement

实验没有打印出照片,采用制作棋盘进行拍摄的方法,下面拍摄的照片有18张,棋盘每个小方格的边长为3cm,拍摄手机:华为8x。

2.2实现

实际应用中,常使用MATLAB标定工具箱进行相机标定 Camera Calibration Toolbox for Matlab,只需导入拍摄的棋盘格照片,输入一些参数,然后对每张照片选择棋盘区域,就可以自动完成整个标定过程,并得到可视化的标定结果。

  • 打开matlab,在应用里找到“Camera Calibrator”并打开
  • 在新窗口中选择添加图片“Add Images”
  • 添加图片之后,设置棋盘格的实际大小(这里为30mm)
  • 点击“Calibrate”开始计算

2.3实验结果

角点检测:

内参矩阵:

平均误差0.07:

外参可视化,以棋盘格为中心(左图)和以相机为中心(右图):

     

 

opencv计算的内参矩阵:

三、实验总结

(1)相比较Matlab标定工具箱进行标定的结果和代码实现的标定,发现两者的内参基本相同。

(2)在添加图片的时候,可能有图片拍摄得不是很好,18张图片最后标定的只有17张。在拍摄照片的时候可以尽量的拍好清楚一些,角度不要过大。

参考:

标定介绍:https://blog.csdn.net/weixin_43361953/article/details/89291696

https://blog.csdn.net/hitzijiyingcai/article/details/82715921

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章