Python计算机视觉———照相机标定

本文介绍了针孔照相机模型,详细阐述了从世界坐标系到图像坐标系的转换过程,包括相机坐标系、像平面坐标系和图像坐标系的概念。讨论了相机的畸变现象,如径向和切向畸变。接着,讨论了相机标定的方法,特别是张正友标定算法,并概述了相机标定的代码实现过程。
摘要由CSDN通过智能技术生成

一、针孔照相机模型

1.1概念
针孔照相机模型 (有时称为射影照相机模型)是计算机视觉中广泛使用的照相机模型。对于大多数应用来说,针孔照相机模型简单,并且具有足够多精确度。这个名字来源于一种类似暗箱机的照相机。该照相机从一个小孔采集射到暗箱内部的光线。针孔相机模型就是把相机简化成小孔成像,在这种模型下,物体的空间坐标和图像坐标之间是线性的关系,因此对相机参数的求解就归结到求解线性方程组上。而相机标定就是确定相机的内部参数和外部参数
在这里插入图片描述
1.2 坐标转换
摄像机标定简单来说是从世界坐标系转换为相机坐标系,再由相机坐标系转换为图像坐标系的过程,也就是求最终的投影矩阵P PP的过程

相机将三维世界中的坐标点(单位:米)映射到二维图像平面(单位:像素)
在这里插入图片描述
在这里插入图片描述
以上面两张坐标图为例:左边是相机坐标系,转为右边的图像坐标,是一个小孔成像的模型。

C CC 点表示camera centre,即相机的中心点,也是相机坐标系的中心点
Z ZZ 轴表示principal axis,即相机的主轴
p pp 点所在的平面表示image plane,即相机的像平面,也就是图片坐标系所在的二维平面
p pp 点表示principal point,即主点,主轴与像平面相交的点
C CC 点到 p pp 点的距离,也就是右边图中的 f ff 表示focal length,即相机的焦距
像平面上的 x xx 和 y yy 坐标轴是与相机坐标系上的 X XX 和 Y YY 坐标轴互相平行的;
相机坐标系是以 X XX,Y YY, Z ZZ(大写)三个轴组成的且原点在 C CC 点,度量值为米(m);
像平面坐标系是以 x xx,y yy(小写)两个轴组成的且原点在 p pp 点,度量值为米(m);
图像坐标系一般指图片相对坐标系,在这里可以认为和像平面坐标系在一个平面上,不过原点是在图片的角上,而且度量值为像素的个数(pixel);

将三维世界中的点转化为像平面坐标系中的点,就需要进行相机坐标系到像平面坐标系的转换,我们可以得到转换公式:在这里插入图片描述
可表示为矩阵计算:
或者:在这里插入图片描述
像主点偏移
在这里插入图片描述
畸变现象
摄像机校准一般采用小孔成像模型,理想的小孔模型是线性模型,但是由于存在镜头畸变等原因,线性模型通常要加上一些内部参数,变成非线性模型。
相机的成像过程实质上是坐标系的转换。首先空间中的点由 “世界坐标系” 转换到 “像机坐标系”,然后再将其投影到成像平面 ( 图像物理坐标系 ) ,最后再将成像平面上的数据转换到 图像像素坐标系。但是由于透镜制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真。镜头的畸变分为径向畸变和切向畸变两类:
图像径向畸变:沿着透镜半径方向分布的畸变,产生原因是光线在原理透镜中心的地方比靠近中心的地方更加弯曲,这种畸变在普通廉价的镜头中表现更加明显,径向畸变主要包括桶形畸变和枕形畸变两种。
图像切向畸变:由于透镜本身与相机传感器平面(成像平面)或图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致。

二、照相机标定

那么可以利用这些来进行最终的任务相机标定,简单的过程可以描述为通过标定板,得到 n 个对应的世界坐标三维点 X i X_iX i​ 和对应的图像坐标二维点 x i x_ix i,这些三维点到二维点的转换都可以通过上面提到的相机内参 K KK ,相机外参 R RR 和 t tt,以及畸变参数 D DD 经过一系列的矩阵变换得到。
在这里插入图片描述
最小二乘求解标定参数
在这里插入图片描述
优点:

  • 所有的相机参数集中在一个矩阵中,便于求解
  • 通过矩阵可以直接描述世界坐标中的三维点,到二维图像平面中点的映射关系。
    缺点:
  • 无法得知具体的内参数和外参数 ⟶ \longrightarrow⟶ QR分解
  • 求解出的11个未知量,比待标定参数(9-10个)更多。带来了参数不独立/相关的问题

张正友标定算法
”张正友标定”是指张正友教授1998年提出的单平面棋盘格的摄像机标定方法。文中提出的方法介于传统标定法和自标定法之间,但克服了传统标定法需要的高精度标定物的缺点,而仅需使用一个打印出来的棋盘格就可以。同时也相对于自标定而言,提高了精度,便于操作。

基本步骤

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

三、

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值