首页 > 其他分享 >相机标定的内参、外参、畸变参数

相机标定的内参、外参、畸变参数

时间:2022-10-18 10:14:41浏览次数:57  
标签:外参 成像 标定 内参 相机 畸变 坐标 像素 坐标系

相机成像主要有4个坐标系:

成像的过程实质上是几个坐标系的转换。首先空间中的一点由世界坐标系转换到 摄像机坐标系 ,然后再将其投影到成像平面 ( 图像物理坐标系 ) ,最后再将成像平面上的数据转换到图像平面 (图像像素坐标系 ) 。

   

对应的左乘矩阵公式

   

1 相机内参

# 相机内参的作用是把坐标从[相机坐标系]转换到[像素坐标系]中

   

在左图中,我们把相机看作是针孔,现实世界中的点P经过相机的光心O,投影到物理成像平面上,变为点P'。

在右图中,对这个模型进行了一个简化,将其看作是一个相似三角形。

下面我们来对这个模型进行建模。

设(O-x-y-z)为相机坐标系,习惯上我们把z轴指向相机前方,x向右,y向下。O为摄像机的光心,也是针孔模型中的针孔。

设真实世界点中的P的坐标为[X,Y,Z]T,成像的点P'的坐标为[X', Y', Z']T, 物理成像平面和光心的距离为f(即为焦距)。

根据右图中的三角形相似关系,有:

   

其中,有负号是因为坐标轴方向,也就表示了成的像是倒立的。

为了表示起来更方便,我们把成像平面从相机的后面对称到前面去,如下图所示。这样,负号就没有了。

 

在对称后,有:

   

整理解出P'的坐标:

       

上面两个式子就描述了P点与它所成像的坐标关系,可以看到,X对应的X'与焦距f有关,与距离Z有关。

映射到成像平面上还不够,我们还需要将这个像给放到像素坐标系内。
我们设在物理成像平面上固定着像素平面o-u-v。

设P'在像素平面坐标系上的坐标是[u, v]T

像素坐标系通常定义方式是:原点o'位于图像的左上角,u轴向右与x轴平行,v轴向下与y轴平行。

我们设像素坐标在u轴上缩放α倍,在v轴上缩放了β倍。同时,原点平移了[cx, cy]T

因此可以得到P'与像素坐标的关系:

       

代入P与P'的关系式可得:

     

其中,我们用fx,fy替换了αf 和 βf。fx,fy的单位是像素。

用齐次坐标,把上式写出矩阵的形式:


   

也可以把Z写到等式左边去,就变成了:

   

上式中,K即为相机的内参矩阵(Intrinsics)。通常来说,相机的内参在出厂之后就是固定的了。

2 相机外参

相机外参的作用是把坐标从【世界坐标系】转换到【相机坐标系】中

在上面的推导中,我们用的是P在相机坐标系的坐标(也就是以相机为O点),所以我们应该先将世界坐标系中的Pw给变换到相机坐标系中的P。

相机的位姿由旋转矩阵R和平移向量t来描述,因此:


   

再代入之前的内参的式子,得到:

   

后面一个等号蕴含了一个齐次坐标到非齐次坐标的转换。其中,R, t为相机的外参(Extrinsics)。

3 镜头畸变

透镜由于制造精度以及组装工艺的偏差会引入畸变,导致原始图像的失真。镜头的畸变分为径向畸变和切向畸变两类。

  1. 径向畸变

顾名思义,径向畸变就是沿着透镜半径方向分布的畸变,产生原因是光线在原理透镜中心的地方比靠近中心的地方更加弯曲,这种畸变在普通廉价的镜头中表现更加明显,径向畸变主要包括桶形畸变和枕形畸变两种。以下分别是枕形和桶形畸变示意图:

   

成像仪光轴中心的畸变为0,沿着镜头半径方向向边缘移动,畸变越来越严重。畸变的数学模型可以用主点(principle point)周围的泰勒级数展开式的前几项进行描述,通常使用前两项,即k1和k2,对于畸变很大的镜头,如鱼眼镜头,可以增加使用第三项k3来进行描述,成像仪上某点根据其在径向方向上的分布位置,调节公式为:

   

公式里(x0,y0)是畸变点在成像仪上的原始位置,(x,y)是畸变较真后新的位置,下图是距离光心不同距离上的点经过透镜径向畸变后点位的偏移示意图,可以看到,距离光心越远,径向位移越大,表示畸变也越大,在光心附近,几乎没有偏移。

   
  1. 切向畸变
    切向畸变是由于透镜本身与相机传感器平面(成像平面)或图像平面不平行而产生的,这种情况多是由于透镜被粘贴到镜头模组上的安装偏差导致。畸变模型可以用两个额外的参数p1和p2来描述:
   

下图显示某个透镜的切向畸变示意图,大体上畸变位移相对于左下——右上角的连线对称的,说明该镜头在垂直于该方向上有一个旋转角度。

   

径向畸变和切向畸变模型中一共有5个畸变参数,在Opencv中他们被排列成一个5*1的矩阵,依次包含k1、k2、p1、p2、k3,经常被定义为Mat矩阵的形式,如Mat distCoeffs=Mat(1,5,CV_32FC1,Scalar::all(0));这5个参数就是相机标定中需要确定的相机的5个畸变系数。求得这5个参数后,就可以校正由于镜头畸变引起的图像的变形失真,下图显示根据镜头畸变系数校正后的效果:

   

标签:外参,成像,标定,内参,相机,畸变,坐标,像素,坐标系
From: https://www.cnblogs.com/lijin-note/p/16801644.html

相关文章

  • 相机模型、相机标定
    针孔相机模型和相机镜头畸变模型-melodybinbin-博客园(cnblogs.com)对极几何-mjl_cv-博客园(cnblogs.com)针孔相机模型-知乎(zhihu.com)相机针孔模型详解_......
  • 一文详解IMU模型原理和标定选型
    ......
  • 阿里云招聘 | 三维视觉、深度学习、传感器标定等岗位
    3D视觉工坊致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁。我们是阿里云智能人工智能实验室,主要负责计算机视觉相关AI技术的研发和落地......
  • Matlab双目相机标定参数--python
    为了以后便于查看和学习,在此记录一下。我使用的是单USB双目摄像头,分辨率2560*720。在Matlab中标定好的参数写入Pycharm中,以进行后续处理。 注意事项:在填写相机内参时要......
  • 双目摄像头采集标定图像
    #-*-coding:utf-8-*-'''@Time:2022/10/0519:05@Author:jianbin@Email:[email protected]@FileName:get_image.py@Software:PyCharm'''imp......
  • 系列篇|单目结构光三维成像系统的标定方法
    在上篇文章——​​系列篇|结构光三维重建基本原理​​中,笔者介绍了单目结构光三维成像系统把投影仪“看成”相机的模型。基于这个模型,单目结构光三维成像系统可以像双目三......
  • 一文图解单目相机标定算法
    有一天,蟹老板找底下的员工川建国同学:等蟹老板走后,然后转头问旁边的学霸李雷同学:李雷同学整理了下情绪:有人反映哦,有时候我们发出来的技术贴太硬了,不方便去理解,于是,就有了上面......
  • 多相机视觉系统的坐标系统标定与统一及其应用
    整理:公众号@新机器视觉 本文仅做学术分享,如有侵权,请联系删除。随着机器视觉应用的日益广泛,大幅面多相机视觉系统的需求越来越多,主要应用方向为大幅面高精度的定位与测量......
  • 一种简化的线扫相机单维度标定法
    线扫相机精度高、速度快、抗干扰能力强,适用于连续性产品的在线检测。针对产品的测量,要获得产品边界的精确坐标,需对检测目标进行图像坐标系u-v到世界坐标系x-y-z的转化,如下图......
  • 蔚来招聘|多传感器联合标定算法工程师
    3D视觉工坊致力于推荐最棒的工作机会,精准地为其找到最佳求职者,做连接优质企业和优质人才的桥梁。团队介绍我们是谁?蔚来是一家全球化的智能电动汽车公司,于2014年11月成立。蔚......