文章目录

  • 前言
  • 一、针孔模型
  • 二、模型内坐标系简介及相互转换
    • 1.外参矩阵
      • 世界坐标系到相机坐标系
    • 2.内参矩阵
      • 相机坐标系到归一化像平面坐标系
      • 归一化像平面坐标系到物理像平面坐标系
    • 3. 透视矩阵
    • 4. 径向畸变

前言

基于图像的三维重建从获取多视图像开始,逐步通过相应的算法恢复场景中物体的三维结构。而今,相应的重建算法及流程愈加完善,高效率的三维重建技术也被应用在众多领域当中。接下来就从最基础的相机模型开始,一步一步实现整体的流程。


一、针孔模型

相机模型是光学成像模型的简化,目前有线性模型和非线性模型两种。而针孔成像模型是相机成像采用最多的模型,成像原理为:现实世界中源于某个物体的光线穿过针孔,会在接受屏上投影成一幅倒立的图像。过程如图1所示:

针孔模型成像以针孔为摄像机中心,倒影为成像平面。其中,摄像机中心到成像平面之间的距离为焦距。为了方便观看和分析,我们将成像平面拿到相机前方,也保持其与摄像机中心的距离为焦距f,这样等效像平面上图像不再倒立,如图2所示:

在针孔模型中,现实世界的一点、其在成像平面上投影点、摄像机中心三点共线,这种特征是成像分析的基础,被称为中心投影或者透视投影。

二、模型内坐标系简介及相互转换

针孔相机模型存在四个坐标系:世界坐标系、摄像机坐标系、图像物体坐标系和图像像素坐标系。设现实世界空间点的世界坐标系为Xw(xw,yw,zw),对应的摄像机坐标系坐标为Xc(xc,yc,zc),对应的图像物体坐标系的坐标为,对应的图像像素坐标系的坐标为。

1.外参矩阵

世界坐标系到相机坐标系

由于世界坐标系和相机坐标系都是三维坐标系,所以他们之间的变换为刚体变换,即可以通过旋转和平移得到。坐标系之间的转换如图3所示:

其中,世界坐标系到相机坐标系的变换公式为:

逆变换为:

其中,相机中心在世界坐标系中的位置为:

2.内参矩阵

相机坐标系到归一化像平面坐标系

归一化像平面为虚拟的平面,与物理像平面平行,且距离相机光心距离为1。相机坐标系到归一化相机坐标系之间变换如图4所示:

以更加直观的图5来表达其变换关系:

变换公式为:

归一化像平面坐标系到物理像平面坐标系

物理像平面是实际存在的平面,它是相机CCD阵列所在的平面。
如上图4,图5所示,归一化像平面坐标系到物理像平面坐标系的转换公式为:

α,β—单位是像素/毫米。

由于物体像平面坐标系一般以左上角为坐标原点,所以需要进行坐标系平移。公式如下:

3. 透视矩阵

由上可得,由世界坐标系到物理像平面坐标系的转换没有什么难度,如下图6:

具体公式为:

通常Zc称为尺度因子λ,K为内参矩阵,旋转矩阵R和平移矢量t称为相机的外参矩阵。

4. 径向畸变

由于上述成像模型是假定摄像机遵守线性投影模型,即世界中的直线产生图像中的直线。不幸的是,很多广角镜头具有明显的径向畸变(失真),在直线投影时会彰显为可见的曲线。幸运的是,补偿径向畸变在实践中并不那么困难。对于多数镜头,一个简单的二次畸变模型就可以产生很好的结果。最简单的径向畸变模型使用低阶多项式,例如:

其中k1,k2被称为径向畸变系数,

针孔相机径向畸变矫正为:

基于图像的三维重建——针孔相机模型(1)相关推荐

  1. 基于图像的三维重建——基于空间patch扩散的方法(PMVS)

    1.PMVS:多视图匹配经典算法简介 导语:常见的稠密重建方法主要有三种:基于体素的方法.基于深度图融合的方法以及基于3D patch扩张的方法.第一种基于体素的方法仅适用于小场景,单个物体,遮挡较少 ...

  2. 基于图像的三维重建研究

    前言 三维重建,顾名思义就是对现实世界中的三维物体用计算机来进行模拟.目前主流的有两种手段:采用红外设备对物体进行测距.基于多张有关待测物体的二维图像进行三维重建.由于前者需要红外设备,成本比较昂贵且 ...

  3. Windows环境下几款优秀的基于图像的三维重建软件

    基于图像的目标三维重建技术是计算机视觉领域中研究的热点,近些年来,涌现了大量的优秀算法,对于目标重建的完整性,准确性,实时性不断提高.本文今天向大家介绍几款可以在window平台下,运行的软件,用户只 ...

  4. 研究生科研必备!!!2015-2020年各类国际会议基于图像的三维重建论文综述(1)——总览

    此文为2015-2020年各类国际会议与期刊基于图像的三维对象重建论文综述的第一部分,总览部分 本文涵盖总结了2015到2020年几百篇国际会议与期刊上的3d-reconstruction文章. 本系 ...

  5. 基于图像的三维重建——深度图计算方法1-SGM/tSGM(9)

    文章目录 立 体 算 法 流 程 介 绍 >全局立体匹配算法 >局部立体匹配算法 >半全局立体匹配算法SGM SGM 算 法 原 理 详 解 >深度图初始化 >匹配代价计 ...

  6. 基于图像的三维重建系统概览

    前言 从2维图像重建3维立体具有重要的研究价值和潜在经济社会价值,其核心技术是图像的密集匹配,从最早的70年代摄影测量领域开始研究图像匹配,至今已有近半个世纪的时间.可以这样说,该问题的研究基础奠定于 ...

  7. 基于图像的三维重建——特征点检测与匹配(2)

    文章目录 前言 一.特征点检测 二阶的拉普拉斯高斯边缘提取算法(LOG) 尺度不变特征变换算法(SIFT) 加速稳健特征算法(SURF) Harris角点特征提取算子 加速分割测试特征提取(FAST) ...

  8. 基于图像的三维重建——三角测量(4)

    文章目录 简介 求解方法 直接线性变换法 RANSAC鲁棒估计 简介 三角测量是根据对应图像位置的集合和已知点的摄像机位置确定一个点的3D位置的问题.当给定相机内外参矩阵时,图像上每个特征点实际上对应 ...

  9. 基于图像的三维重建——稠密重建准备(8)

    文章目录 三 维 重 建 流 程 稠 密 重 建 整 体 框 架 深 度 图 计 算 >代码流程图 >数据准备 >>图像映射 >>邻域帧选择 >>最佳邻 ...

  10. 基于图像的三维重建——对极几何(3)

    文章目录 对极约束 基础矩阵F 基础矩阵性质 基础矩阵求解方法 直接线性变换法 基于RANSAC的鲁棒方法 本征矩阵E 本征矩阵性质 本征矩阵求解 从本征矩阵中恢复相机姿态 单应矩阵H 单应矩阵性质 ...

最新文章

  1. ubuntu18下配置VS Code
  2. 用计算机唱卡拉ok的配制,在电脑里面可以唱卡拉ok吗?应该怎么做?
  3. Android 4.0中振动控制
  4. python 笔记 size-constrained-clustering (对类别大小做限制的聚类问题)
  5. linux-2.6.29内核配置、编译与安装
  6. 踩内存是什么意思啊_面试|搬了这么久的砖,居然还不知道什么“踩内存”
  7. java解压_Java ZIP压缩和解压缩文件(解决中文文件名乱码问题)
  8. C# 操作其他进程ListView
  9. 吉普赛人祖传的神奇读心术:你敢试吗?
  10. android网络测试上传速度慢,Android:如何获得互联网连接上传速度和延迟?
  11. iframe异步加载_5种延迟加载图像的方法以帮助你提升网站性能与用户体验
  12. Django中的form模块的高级处理
  13. JavaScript学习(二十一)—scrollTop属性和scrollLeft属性
  14. Atitit mybatis 简化开发与提升开发效率法 目录 1.1. 使用注解模式代替xml模式 1 1.2. 使用通用mapper代替专用mapper 1 1.3. 使用js等脚本语言来输出sq
  15. pytorch 保存模型,加载预训练模型问题
  16. 一个开源音乐播放器,低仿QQ音乐!
  17. 回归- Regression
  18. LSTM之父发文:2010-2020,我眼中的深度学习十年简史
  19. 联想台式电脑一键恢复后桌面没有计算机了,桌面上的一键恢复快捷图标没有了怎么办?...
  20. 【BIM入门实战】Revit视图中图元看不见的原因总结

热门文章

  1. Linux命令大全(在线手册)
  2. 从程序员到项目经理(九):程序员加油站 — 再牛也要合群
  3. Android网络收音机--使用Vitamio解码(一)
  4. 关于Chrome的广告和弹窗拦截插件
  5. CSS中几种解决高度坍塌方式分析
  6. linux下xz文件如何解压,tar.xz文件如何解压
  7. 为了寻找美,我决定对美女图片进行图像边缘化处理
  8. plc与计算机怎么网络连接 图,PLC与输入/输出设备的连接图解
  9. 计算机系统崩溃重新装机,电脑系统崩溃有几种重装系统的方法,赶紧试试看
  10. Redhat、Fedora、CentOS、OEL之间的关系与不同。