机器视觉学习笔记(4)——单目摄像机标定参数说明

标签: 机器视觉


1.针孔摄像机模型

  • 在介绍摄像机标定参数之前,需要先简单说一下针孔摄像机的原理。投影平面到小孔的距离为焦距f物体到小孔的距离为Z,其中物体和投影是倒立相似的关系,下图为针孔摄像机的投影示意图:

  • 如果按照实际的投影关系建立坐标系,那么投影坐标和物体坐标的符号总是相反的,考虑起来不太方便,于是在“数学上”把投影平面平移到其关于小孔对称的位置,这样投影坐标和物体坐标符号就相同了,示意图如下:

  • 根据三角形相似的原理,可以列出如下等式:

    fZ=l投影l物体

2.摄像机中的坐标系

  • 摄像机中的坐标系有4个,均为右手坐标系,分别记为{world},{camera},{picture},{pixel},下图所示列出了{camera},{picture}和{pixel}坐标系:

  • {world},{camera},{picture}和{pixel}坐标系的坐标用下标来区分,分别是W,c,p,pix

  • {world},{camera},{picture}坐标系单位为长度,一般为mm;{pixel}坐标系单位为像素,一般为pix
  • {world}坐标系为世界坐标系,可以任意指定,其他坐标系都有明确的定义
  • {camera}坐标系为摄像机坐标系,原点在小孔的位置,z轴与光轴重合,Xc轴和Yc轴分别和投影面两边平行
  • {picture}坐标系为图像坐标系,光轴和投影面的交点为原点,Xp轴和Yp轴分别和投影面两边平行
  • {pixel}坐标系为像素坐标系,从小孔向投影面方向看,投影面的左上角为原点Opix,Xpix轴和Ypix轴和投影面两边重合

3.各个坐标系的坐标转换

3.1{world}到{camera}

设某点在{world}坐标系中的坐标为 PW=[xW,yW,zW,]T,该点在{camera}坐标系中的坐标为Pc=[xc,yc,zc,]T,则有

Pc=[R0T1]PW(1)

其中R是正交旋转矩阵

R=⎡⎣⎢r11r21r31r12r22r32r13r23r33⎤⎦⎥(2)

T是平移矩阵

T=[txtytz]T(3)

确定R需要3个参数,确定T需要3个参数,共需6个参数,这6个参数称为摄像机的外部参数

3.2{camera}到{picture}

根据三角形相似原理,可得

⎧⎩⎨⎪⎪⎪⎪xp=fxczcyp=fyczc(4)

写成矩阵形式

zc⎡⎣⎢xpyp1⎤⎦⎥=⎡⎣⎢f000f0001000⎤⎦⎥⋅⎡⎣⎢⎢⎢xcyczc1⎤⎦⎥⎥⎥(5)

3.3{picture}到{pixel}

sx表示Xpix方向上单位mm的像素数,单位是pix/mm 
sy表示Ypix方向上单位mm的像素数,单位是pix/mm 
x0,y0  表示投影平面中心在{pixel}中的坐标,则有

{xpix=x0+xp⋅sxypix=y0+yp⋅sy(6)

写成矩阵形式

⎡⎣⎢xpixypix1⎤⎦⎥=⎡⎣⎢sx000sy0x0y01⎤⎦⎥⋅⎡⎣⎢xpyp1⎤⎦⎥(7)

3.4{world}到{pixel}

{fx=f⋅sxfy=f⋅sy(8)

分别表示焦距f在Xpix和Ypix方向上的等效焦距,单位是pix,结合(1)(5)(7)(8)式可得

zc⎡⎣⎢xpixypix1⎤⎦⎥=⎡⎣⎢fx000fy0x0y01000⎤⎦⎥⋅[R0T1]⎡⎣⎢⎢⎢⎢xWyWzW1⎤⎦⎥⎥⎥⎥(9)

3.5小结

单目摄像机需要标定参数就是fx,fy,x0,y0    这4个参数

  • fx,fy,x0,y  0      叫做摄像机的内部参数,因为这些参数只和摄像机有关系,和具体的摄像场景,和世界坐标系没有关系
  • R和T内部一共有6个独立的参数,叫做外部参数。外部参数是描述世界坐标系和摄相机坐标系的参数,所以只要世界坐标系和摄相机坐标系的相对位姿发生了变化,R和T就会改变,甚至可以说,每一张图片的R和T都不一样
  • 单目摄像机标定就是已知像素坐标系下的坐标Ppix和世界坐标系下的坐标PW,列方程组求解内部参数

4.摄像机透镜畸变

由于针孔可以透过的光线太少,成像会不清楚,所以往往都会加上凸透镜汇聚更多的光线。但是加上凸透镜以后,会导致成像畸变,所以还需要校正透镜畸变。透镜的畸变主要分为两类,一类是径向畸变,一类是切向畸变

4.1径向畸变

径向畸变会产生“鱼眼”现象。成像中心处径向畸变为0,径向畸变随着与成像中心距离增大而增大,在图像边缘处达到最大径向畸变。常常用偶次幂的泰勒公式描述径向畸变

{xcerrected=x(1+k1r2+k2r4+k3r6)ycerrected=y(1+k1r2+k2r4+k3r6)(10)

4.2切向畸变

切向畸变由透镜和成像平面不平行引起。常用如下公式描述

{xcerrectedycerrected=x+[2p1y+p2(r2+2x2)]=y+[p1(r2+2y2)+2p2x](11)

4.3小结

单目摄像机透镜畸变校正需要确定的就是k1,k2,k3,p1,p2    这5个参数,如果“鱼眼”现象不明显的话,常常使用k1,k2 来校正径向畸变

5.总结

  • 单目摄像机标定和校正最终将获得9个参数,内部参数是4个,畸变校正参数是5个
  • 单目摄像机标定常用的工具有OpenCV库和Matlab摄像机标定工具箱

具体如何使用OpenCV标定单目摄像机(含源代码),请参考下一篇博文机器视觉学习笔记(5)——基于OpenCV的单目摄像机标定

转自:http://blog.csdn.net/xuelabizp/article/details/50314633

转载于:https://www.cnblogs.com/alan666/p/8311923.html

机器视觉学习笔记(4)——单目摄像机标定参数说明相关推荐

  1. 畸变的单目摄像机标定

    畸变的单目摄像机标定 Deep Single Image Camera Calibration with Radial Distortion 摘要 单图像标定是从一幅图像中预测摄像机参数的问题.在处理 ...

  2. 圆形标定板_机器视觉学习笔记(2)--如何检测圆点标定板

    摄像机标定常用的标定板除了棋盘格,还有圆点标定板,圆点标定板如图1所示. 图1:圆点标定板 众所周知的是,OpenCV和Matlab没有现成的圆点标定板的检测算法,只有Halcon有该检测算子,遗憾的 ...

  3. 摄像机标定技术及其应用——单目摄像机

    摄像机标定技术及其应用--单目摄像机 一.为什么要进行摄像机标定 随着机器视觉的迅猛发展,我们已经不满足于使用摄像机进行监控.抓拍这种较为简单的功能.更多的用户青睐于它在非接触三维尺寸测量上的应用.我 ...

  4. SLAM学习 | 单目相机标定(附代码实测可用)

    SLAM学习 | 单目相机标定(附代码实测可用) 1 针孔相机模型 2 张正友标定法 3 VS2013下配置openCV 4 标定过程与结果 5 经验总结与注意事项 概要: 这篇文章介绍如何解决做SL ...

  5. 单目相机标定实现--张正友标定法

    文章目录 一:相机坐标系,像素平面坐标系,世界坐标系,归一化坐标系介绍 1:概述 公式 二:实现 1:整体流程 4:求出每张图像的单应性矩阵并用LMA优化 5:求解理想无畸变情况下的摄像机的内参数和外 ...

  6. 基于matlab的摄像头,基于Matlab的单目摄像头标定

    实验环境:matlab2016 准备材料:单目摄像头.定标板.摄像头拍下定标板的图片 本博客带大家实际动手,再讲单目摄像头标定原理. 准备标定板 标定的开始阶段最需要用到的标定板,可以直接从openc ...

  7. 基于Matlab工具箱进行单目摄像头标定

    实验环境:matlab2016 准备材料:单目摄像头.定标板.摄像头拍下定标板的图片 本博客带大家实际动手,再讲单目摄像头标定原理. 准备标定板 标定的开始阶段最需要用到的标定板,可以直接从openc ...

  8. 单目摄像头标定与测距

    单目摄像头标定与测距 一. 标定 首先要对摄像头做标定,具体的公式推导在learning opencv中有详细的解释,这里顺带提一句,这本书虽然确实老,但有些理论.算法类的东西里面还是讲的很不错的,必 ...

  9. 基于OpenCV的单目相机标定与三维定位

    相机是产生图像数据的硬件,广泛应用于消费电子.汽车.安防等领域.围绕着相机衍生出一系列的研究与应用领域,包括传统的图像处理和基于深度学习的智能应用等.目前大火的自动驾驶中相机也是重要的硬件组成,如环视 ...

最新文章

  1. 吴甘沙:天外飞“厕”、红绿灯消失,未来无人驾驶将被重新定义 | AI ProCon 2019
  2. matlab newelm,Elman神经网络介绍以及Matlab实现
  3. Micropython TPYBoard v102 自动浇花实验
  4. git cherry-pick命令
  5. K8S 利用Rinetd实现Service负载均衡
  6. Windows8.1系统下让VS2012编译运行IIS Express 64位 调试器
  7. 宝山区佳力图服务器空调维修价格,成都佳力图空调维修师傅
  8. Hadoop学习笔记—16.Pig框架学习
  9. 美观的导航菜单 -- JQuery实现,支持横向, 竖向
  10. Zabbix监控Nginx连接状态
  11. 【ICLR2020】Dream to Control:Learning Behaviors by Latent Imagination
  12. centos 6.5 安装 phpmyadmin
  13. Cocos2d-x开发---改变父节点颜色、透明度影响子节点
  14. IOS 手写控件 简单播放器 AVFoundation音乐播放
  15. 无锡市计算机表演大赛,第二十七届中国儿童青少年计算机表演赛无锡赛区决赛-无锡少年宫.DOC...
  16. 该填志愿了,国内大学计算机专业哪家强?
  17. 用计算机术语形容人性格的词语,概括人物形象(性格品质)的词语
  18. python代码情话_python教你谈恋爱-之-土味情话5000条
  19. 非负大整数加法---网易校招附加题
  20. SQLPro for SQLite for Mac(SQLite编辑器)

热门文章

  1. 湖南卫视新年巨献敲定 《恋爱兵法》显偶像魅力
  2. 5.Xilinx RapidIO核例子工程源码分析
  3. 第六届福建省大学生程序设计竞赛(FZU2213—FZU2221)
  4. Please see the 'svn upgrade' command
  5. 15-07-08 数组-- 手机号抽奖、福利彩票随机生成
  6. 百度之星2014资格赛 1004 - Labyrinth
  7. ASimpleCache 轻量级缓存
  8. Handler消息机制(七):Message的数据结构是什么样子
  9. 安卓高手之路之图形系统【5】安卓ListView和EditText配合使用时的注意事项。
  10. 对于四叉树之(why?what?how)