文章目录

  • 前言
  • 影像坐标系
  • 相机坐标系
  • 世界坐标系
  • 影像坐标系与相机坐标系之间的相互转换
  • 相机坐标系与世界坐标系之间的相互转换

前言


  通过模拟人眼立体视觉,两个摄像机拍摄同一场景可构成双目成像模型,或者在单相机航空摄影以及时序序列摄影中,同一个相机在两个不同的位置对同一场景拍摄两张不同的影像,也可构成双目成像模型。双目立体视觉的目标是利用三角测量原理从双目成像模型中恢复所拍摄景物的深度信息或者在空间中的三维坐标信息,即从二维成像影像中恢复三维信息。

  在上世纪80年代Marr和Paggio首次提出双目立体视觉的计算理论。其基本原理图如图1所示:

图1 双目立体视觉基本原理图

  在图1中,P为空间场景中的一个物理点,pp’ 分别为点 P在左右两个视角影像LR中的投影像点,OlOr分别为左右两个视角的相机中心。双目立体视觉的目的是通过两个相机的位置姿态,以及同一个物理点P在影像上的两个投影像点pp’,获取P的三维空间位置,关键技术点在于尽可能寻找两幅影像中同名点对(pp’),从而计算P的位置。

  双目立体视觉技术通过相机标定技术获得两个视角的相机外参数(位置与姿态)及影像的内参数,并构建立体视觉坐标系统,包括影像坐标系、相机坐标系以及世界坐标系,并提供坐标系之间的相互转换关系,具体描述如下:

影像坐标系


  影像坐标系是以二维影像为基本建立的坐标系,描述像素点在影像上的位置,分为以像素为单位的(u,v)坐标系以及以物理尺寸为单位的(x,y)坐标系。在摄影测量中,(u,v)坐标系以左下角位置为原点,u轴和v轴分别平行于图像平面的两条垂直边(u轴朝右,v轴朝上);(x,y)坐标系以相机中心在像平面上的垂足为原点,x轴和y轴分别与u轴和v轴平行且方向一致。在计算机视觉中,(u,v)坐标系以左上角位置为原点,u轴和v轴分别平行于图像平面的两条垂直边(u轴朝右,v轴朝下);(x,y)坐标系以相机中心在像平面上的垂足为原点,x轴和y轴分别与u轴和v轴平行且方向一致。图2为摄影测量与计算机视觉领域各自的影像坐标系示意图。

图2 摄影测量学与计算机视觉中的影像坐标系

相机坐标系


  相机坐标系是双目视觉中十分关键的坐标系,它从相机的视角来描述影像在三维空间中的坐标。相机坐标系以相机中心为原点,X轴与Y轴分别与影像坐标系的x轴与y轴平行,且方向一致,根据右手坐标系规则得到Z方向,因为影像坐标系中y轴方向的不同,导致摄影测量与计算机视觉的Z轴方向正好相反,如图3所示:

图3 摄影测量与计算机视觉中的相机坐标系

世界坐标系


  世界坐标系是客观三维世界中的绝对坐标系,它描述了双目立体视觉系统中的所有实体(包括相机、影像、真实物体等所有实体)在客观世界中的位置,在航空摄影测量中,世界坐标系通常是大地坐标系,而在近景摄影测量中,世界坐标系根据应用场景的不同而有所区别,在多视实景三维建模中,因为要得到目标的真实大地坐标,世界坐标系会选择大地坐标系;而在手持式三维扫描应用中,由于只需要得到被扫描目标的真实尺寸信息,而不关心物体的坐标是否位于大地坐标系下,因此世界坐标系可以选择目标附近的一个局部位置,通常将原点放在第一个有效扫描帧扫描仪双目立体系统的左相机中心。

  建立坐标系的根本目的是为了建立三维空间点与二维像素点之间的联系,当三种坐标系确定之后,它们之间的转换关系也被确定,其中最重要的两种转换关系是影像坐标系与相机坐标系之间的相互转换以及相机坐标系与世界坐标系之间的相互转换。

影像坐标系与相机坐标系之间的相互转换


  在实际应用中,获取影像后最直观接触到的是影像的(u,v)坐标系,而相机坐标系的X和Y轴与(x,y)坐标系平行,所以通常会先通过公式1将(u,v)坐标系转换至(x,y)坐标系,再由公式2将(x,y)坐标系转换至相机坐标系。在本文中,假设影像是无畸变影像。

式1 (u,v)坐标系转换至(x,y)坐标系

式2 (x,y)坐标系转换至相机坐标系

  式1中,cxcy为像主点(即相机中心在像平面的垂足点)在(u,v)坐标系中的坐标,dxdy分别为影像像素在x和y方向上的物理尺寸,式2所表示的是像平面上像素点在相机坐标系中的坐标,而像素点所代表的物方点在相机坐标系中的坐标则可以通过式3来获得,这是根据中心投影模型的相机中心点、像点、物方点三点共线理论来推导出的,图4中描述了这种关系。

式3 像素点所代表的物方点在相机坐标系中的坐标

图4 空间点P在相机坐标系中的位置关系

  式3中,λ为尺度因子,很显然,当只有一个相机时,若不对P的位置添加某种固定的约束(比如限定P在某个固定平面移动),而是允许P在三维空间中自由移动的话,是不可能通过一个相机以及单幅图像来计算出λ的值进而计算出P点在相机坐标系中的坐标的,这就是双目立体视觉所研究的问题,即如何确定点P在相机坐标系中的确定坐标(或者说确定尺度因子λ的值)。在计算机视觉中,用深度Z来表示点P在相机坐标系的Z方向上距离相机中心Co的距离,如果将深度概念应用到摄影测量学中,则点P在相机坐标系中的坐标可表示为(Xc,Yc,-Z),式3可以变化为:

式4 式3的变化形式

  从式4可以得出,如果知道点P的深度,则可以很方便的计算出P在相机空间坐标系中的坐标,而如何恢复影像中每个像素点的深度值,即是双目立体视觉所研究的内容,在双目立体视觉中,像素点的深度值可以和另外一个名为视差值的概念相互转换。

相机坐标系与世界坐标系之间的相互转换


  知道点P在相机坐标系中的坐标后,即可以通过相机坐标系与世界坐标系之间的转换关系来获得点P在世界坐标系中的坐标。因为世界坐标系与相机坐标系一样是右手坐标系(本文不讨论坐标系中存在左手坐标系的特殊情况),所以两个坐标系之间的变换是一个刚体变换,通过旋转与平移变换即可完成两者之间的相互转换。本文采用矩阵运算的方式来描述两者的转换关系,如式5所示。

式5 摄影测量学中相机坐标系到世界坐标系的转换

  式5中Xw,Yw,Zw为世界坐标系坐标,Xc,Yc,Zc为相机坐标系坐标,由式4计算,R为旋转矩阵,描述相机坐标系到世界坐标系所做的旋转操作,T为平移矩阵,是相机中心在世界坐标系中的坐标,描述相机坐标系到世界坐标系所做的平移操作。R和T均属于相机外参数,由相机标定或多视影像运动恢复结构(Structure from Motion, SfM)算法获得。式5是摄影测量学中的转换公式,而在计算机视觉中R矩阵与T矩阵描述的转换关系与摄影测量正好相反,即世界坐标系到相机坐标系的转换关系,当然,两者只是转换对象的位置做了颠倒,所依据的基本几何原理是一致的。计算机视觉中的转换关系如式6所示。

式6 计算机视觉中世界坐标系到相机坐标系的转换

  以上三类坐标系和它们之间的转换关系,构成了双目立体视觉的几何框架基础,通过该几何框架,可以完成像素点到世界坐标系之间的相互转换,即完成二维信息与三维信息之间的相互映射。

恒叨立码之立体匹配 SGM

理论恒叨系列

【恒叨立码】【理论恒叨】【立体匹配系列】经典SGM:(1)匹配代价计算之互信息(MI))
【恒叨立码】【理论恒叨】【立体匹配系列】经典SGM:(2)匹配代价计算之Census变换
【恒叨立码】【理论恒叨】【立体匹配系列】经典SGM:(3)代价聚合(Cost Aggregation)
【恒叨立码】【理论恒叨】【立体匹配系列】经典SGM:(4)视差计算、视差优化

码上教学系列

【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(1)框架与类设计
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(2)代价计算
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(3)代价聚合
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(4)代价聚合2
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(5)视差优化
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(6)视差填充
【恒叨立码】【码上实战】【立体匹配系列】经典SGM:(7)弱纹理优化

恒叨立码之立体匹配 -- PatchMatch PatchMatch

理论恒叨系列

【恒叨立码】【理论恒叨】【立体匹配系列】经典PatchMatch: (1)Slanted support windows倾斜支持窗模型
【恒叨立码】【理论恒叨】【立体匹配系列】经典PatchMatch: (2)基于PatchMatch的视差估计
【恒叨立码】【理论恒叨】【立体匹配系列】经典PatchMatch: (3)后处理(一致性检查与视差填充)

双目立体视觉中的坐标系与转换关系 [留意~摄影测量学与计算机视觉学科中的差异]相关推荐

  1. ROS中ENU坐标系与无人机中NED坐标系的转换关系理解

    ROS中ENU坐标系与无人机中NED坐标系的转换关系理解 项目地址 无人机中NED坐标理解 ENU与NED转换 无人机中NED坐标理解 机体坐标系:机体坐标系固连飞机,其原点 取在多旋翼的重心位置上. ...

  2. 车身坐标系与大地坐标系中速度、加速度转换关系推导与分析

    车身坐标系与大地坐标系中速度.加速度转换关系推导与分析   在不同的坐标系中,向量的大小和方向都是不变的,但是可以根据不同的坐标系将向量描述成不同的结果. 图1 车身坐标系与大地坐标系速度转换   已 ...

  3. 双目视觉(一)-相机标定及各坐标系间转换关系

    本篇文章用来记录近期学习双目视觉定位的收获,后续我将随着不断深入学习对文章进行补充 视觉是人类感知外界环境信息的重要途径,其中人类约有80%的环境信息是通过双眼获取的.双目视觉系统是典型的类人视觉模型 ...

  4. Cesium for UE4中的坐标系及其转换

    Cesium for UE4中的坐标系及其转换 CesiumGeoreference Actor Controls how global geospatial coordinates are mapp ...

  5. 总结|机器视觉中三大坐标系及其相互关系

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:林青春 链接:https://zhuanlan.zhihu.com/p/59289459 本文转 ...

  6. 摄像机标定中四大坐标系之间的关系

    一.四个坐标系简介和转换 相机模型为以后一切标定算法的关键,只有这边有相当透彻的理解,对以后的标定算法才能有更好的理解.本人研究了好长时间,几乎每天都重复看几遍,最终才会明白其推导过程.      我 ...

  7. Cesium中的坐标系及转换

    在我们开始学习Entity之前,我们首先需要先学习下Cesium中的坐标系,Cesium中有多个坐标系,在进行添加Entity时经常会使用到. 一.坐标系介绍 我们先来列举下Cesium中的坐标系:W ...

  8. 七桥问题属于计算机科学方法论中的,华中科技大学-计算机科学与技术方法论-2计算学科中的科学问题.ppt...

    华中科技大学-计算机科学与技术方法论-2计算学科中的科学问题.ppt 第二章 计算学科中的科学问题 文坤梅 E-Mail:kunmei.wen@ 智能与分布计算实验室 Intelligence and ...

  9. 三维视觉基础之世界坐标系、相机坐标系、图像坐标系和像素坐标系之间的转换关系

    三维视觉基础之世界坐标系.相机坐标系.图像坐标系和像素坐标系之间的转换关系 一.各坐标系介绍 二.世界坐标系和相机坐标系之间的转换 三.相机坐标系和图像坐标系之间的转换 四.图像坐标系和像素坐标系之间 ...

最新文章

  1. Log4net 使用说明
  2. LINUX怎么修改IP地址
  3. 7-28晚复习 虚继承与地址分配
  4. 写作—开启技术成长之路
  5. 嘿嘿,又中毒了spoolsv.exe
  6. python修改第三方库重写_Python安装第三方库,切换镜像源
  7. python中获取中位数
  8. helm3 push/pull安装使用细节及添加国内仓库
  9. 【机器学习算法专题(蓄力计划)】十七、机器学习中决策树算法
  10. redux 存值 及 取值 的操作
  11. 完全硬件实现的忆阻器卷积神经网络
  12. 快速撑握C#知识点之类的数据成员
  13. 计算机房空调设计规范,空调机房防火设计规范
  14. 哨兵2号L1C数据下载及预处理
  15. 操作系统-io控制器
  16. JAVAWEB-NOTE01
  17. java 股票交易系统_JAVA程序实现股票交易系统设计
  18. unity GC机制简单介绍
  19. 数据分析(学习笔记)
  20. AutoJs学习-实现坦克大战

热门文章

  1. 80篇各ajax框架入门教程
  2. jboss ejb 3
  3. 少年不惧岁月长,奋楫笃行国学香
  4. Android实现记事本功能
  5. STM32 BOOT0与BOOT1 的应用原理
  6. 如何轻松停用WordPress插件(入门指南)
  7. 激光雕刻机图片解析C#上位机stm32f407控制板源码
  8. 申报山西省“专精特新”中小企业需要具备哪些条件?
  9. 大龄程序员的未来在何方,该何去何从?
  10. 三、逻辑结构与存储结构的区分