图像形成(5)球面透视投影和近似相机模型
文章目录
- 图像形成(5)球面透视投影和近似相机模型
- 球面透视投影
- 近似相机模型
图像形成(5)球面透视投影和近似相机模型
球面透视投影
我们在博文图像形成(3)理想相机模型中描述的透视针孔相机模型考虑平面成像表面。 另一种常用的成像表面是球体,如图1所示。
球面透视投影模型:三维点 p p p的像是穿过光学中心 o o o的光线与光学中心周围的半径为 r r r的球体的交点处的点 x x x。 通常 r r r被选为 1 1 1。
这种选择的部分原因是生物系统中经常遇到的视网膜形状。 对于球面投影,我们简单地选择成像表面为单位球面 S 2 = { p ∈ R 3 ∣ ∣ ∣ X ( p ) ∣ ∣ = 1 } \mathbb{S}^2=\{p\in \mathbb{R}^3| ||X(p)||=1\} S2={p∈R3∣∣∣X(p)∣∣=1}。 然后,球面投影被定义为由 R 3 \mathbb{R}^3 R3到 S 2 \mathbb{S}^2 S2的映射 π s \pi_s πs:
π s : R 3 → S 2 ; X ↦ x = X ∣ ∣ X ∣ ∣ \pi_s:\mathbb{R}^3 \rightarrow \mathbb{S}^2;X \mapsto x=\frac{X}{||X||} πs:R3→S2;X↦x=∣∣X∣∣X
与平面透视投影的情况一样,点的像素坐标与其3D度量对应点之间的关系可表示为
λ x ′ = K Π 0 X = K Π 0 g X 0 \lambda x^\prime = K\Pi_0X=K\Pi_0gX_0 λx′=KΠ0X=KΠ0gX0
其中,在球面投影的情况下,尺度由 λ = X 2 + Y 2 + Z 2 \lambda=\sqrt{X^2+Y^2+Z^2} λ=X2+Y2+Z2 给出,而在平面投影的情况下, λ = Z \lambda=Z λ=Z。 因此,在数学上,球形投影和平面投影可以用同一组方程来描述。 唯一的区别是未知(深度)尺度 λ \lambda λ采用不同的值。
为方便起见,我们经常为两个(齐次)向量 x x x和 y y y写 x ∼ y x\sim y x∼y,二者相差一个等价标量因子。 所以我们看到我们有任何透视投影
x ′ ∼ Π X 0 = K Π 0 g X 0 x^\prime \sim \Pi X_0=K\Pi_0gX_0 x′∼ΠX0=KΠ0gX0
并且所选择的成像表面的形状无关紧要。 成像表面可以是任何(规则)表面,只要任一光线 o p ⃗ \vec{op} op 中最多在一个点处与表面相交。 例如,可以使用整类椭圆体表面,这导致在许多全向相机中流行的所谓的折反射模型(catadioptric model)。 原则上,由此获得的所有图像包含完全相同的信息。
近似相机模型
透视投影模型最常用的近似是所谓的正交投影。
正交相机模型。图像来源于网络。
正交模型中的光线沿平行于光轴的线行进。 在这种情况下,图像点和3D点之间的关系特别简单: x = X , y = Y x=X,y=Y x=X,y=Y。 所以“正交相机的几何模型“可表示为:
[ x y ] = [ 1 0 0 0 1 0 ] [ X Y Z ] \begin{bmatrix}x\\y\end{bmatrix}=\begin{bmatrix}1&0&0\\0&1&0\end{bmatrix}\begin{bmatrix}X\\Y\\Z\end{bmatrix} [xy]=[100100]⎣⎡XYZ⎦⎤
或者只是以矩阵形式
x = Π 1 X {\rm x}=\Pi_1 \rm X x=Π1X
其中 Π 1 = [ I 2 × 2 , 0 ] ∈ R 2 × 3 \Pi_1=[I_{2\times 2},0]\in \mathbb{R}^{2\times 3} Π1=[I2×2,0]∈R2×3
当观察点之间的深度变化远小于点与图像平面的距离时,正投影是透视投影的良好近似。 在所观察的点位于与图像平面平行的平面上的情况下,点的图像基本上是原始的缩放版本。 这种缩放可以明确地结合到正交投影模型中,从而导致所谓的弱透视模型。 在这种情况下,图像点和三维点之间的关系是:
x = f X Z ˉ , y = f Y Z ˉ x=f\frac{X}{\bar Z},y=f\frac{Y}{\bar Z} x=fZˉX,y=fZˉY
其中 Z ˉ \bar Z Zˉ是相机观察点的平均距离。 该模型适用于所有点位于前额平行平面中然后缩放因子对应于平面距原点的距离的情况。 也就是缩放因子 s = f Z ˉ s=\frac{f}{\bar Z} s=Zˉf。我们可以将弱透视相机模型(比例正交)表达为:
[ x y ] = s [ 1 0 0 0 1 0 ] [ X Y Z ] \begin{bmatrix}x\\y\end{bmatrix}=s\begin{bmatrix}1&0&0\\0&1&0\end{bmatrix}\begin{bmatrix}X\\Y\\Z\end{bmatrix} [xy]=s[100100]⎣⎡XYZ⎦⎤
或者只是以矩阵形式
x = s Π 1 X {\rm x}=s\Pi_1{\rm X} x=sΠ1X
这些近似投影模型通常会导致简化和高效的算法,用于估计相机的未知结构和位移,尤其适用于满足模型假设的应用。
图像形成(5)球面透视投影和近似相机模型相关推荐
- 鱼眼图像校正(球面等距投影模型)
为了真正的理清鱼眼图像校正的原理,查阅了很多的资料,本文主要从以下几个方面详细阐述基于球面透视投影等距模型的鱼眼图像校正算法. 1,鱼眼相机的构造原理. 2,透视投影. 3,等距投影算法 鱼眼相机的构 ...
- 鱼眼图像校正(球面等距投影模型)_||
鱼眼图像校正算法 2017.11.6 前面讲了关于鱼眼图像等距投影模型的原理.下面先来看看几个算法的仿真效果. 本周主要在上周的基础上完成鱼眼图像校正算法的仿真,上周提出的是基于等距模型的球面投影校正 ...
- 基于图像的三维模型重建——相机模型与对极几何
点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 作者:梦寐mayshine https://zhuanlan.zhihu.com/p/12968108 ...
- AI学习笔记(四)相机模型、图像聚类算法
AI学习笔记之相机模型.图像聚类算法 相机模型 相机与图像 坐标系 相机成像 世界坐标系到摄像机坐标系 摄像机坐标系到图像物理坐标系 图像物理坐标系到图像像素坐标系 摄像机坐标系到图像像素坐标系 世界 ...
- 相机参数和相机模型各个坐标系(世界坐标系、相机坐标系、图像坐标系、像素坐标系之间变换)
坐标系变换 1. 几个坐标系: 世界坐标系(world coordinate system): 用户定义的三维世界的坐标系,为了描述目标物在真实世界里的位置而被引入.单位为m. 相机坐标系(camer ...
- 相机模型和双目立体匹配完成一个基于KITTI立体相机采集图片的立体图像匹配程序,生成视差图像和3D点云图像
机模型和双目立体匹配完成一个基于KITTI立体相机采集图片的立体图像匹配程序,生成视差图像和3D点云图像 一.针孔相机模型 二.双目相机模型 三.OpenCV实例实现用Pangolin生成视差图像和3 ...
- 三维重建(1)之相机模型、标定与图像点云重建
1.单目相机模型 相机将三维世界中的坐标点(单位为米)映射到二维图像平面(单位为像素)的过程 能够用一个几何模型进行描述.这个模型有很多种,其中最简单的称为针孔模型.针孔模 型是很常用,而且有效的模型 ...
- 一文尽览 | 计算机视觉中的鱼眼相机模型及环视感知任务汇总!
点击下方卡片,关注"自动驾驶之心"公众号 ADAS巨卷干货,即可获取 点击进入→自动驾驶之心技术交流群 后台回复[ECCV2022]获取ECCV2022所有自动驾驶方向论文! 论文 ...
- 投影和环境相机模型(PBRT)
本文出自Physcially Base Rendering翻译 地址:https://pbr-book.org/3ed-2018/Camera_Models/Projective_Camera_Mod ...
最新文章
- 《LeetCode力扣练习》剑指 Offer 09. 用两个栈实现队列 Java
- Git Push 避免用户名和密码方法
- 【jetson nano】ubuntu- python-ssh远程控制jetson nano与单片机串口通信
- 搞定ubuntu下环境变量的配置
- 大型互联网公司分布式ID方案总结
- 当我们在谈论技术时,技术的本质和价值究竟是什么?
- ASP.NET Core WebAPI控制器返回类型的最佳选项
- 人脸关键点: Wing Loss for Robust Facial Landmark Localisation with Convolutional Neural Networks
- 蓝桥杯 ADV-82 算法提高 填充蛋糕
- 杨振宁与清华计算机系,他放弃美国国籍,和杨振宁一起回国,让清华计算机系问鼎全球...
- oracle 下载 pb12.5,PowerBuilder 12.6
- ABAQUS 有限元仿真分析软件模块介绍
- 防御SQL注入的方法总结
- PDF编辑器怎么用,如何旋转PDF页面
- Ubuntu安装OpenRasp后台管理
- 标题:深度分销的方向和尺度 内容:Pnbsp;深度分销的方向和尺度BRnbsp;nbsp; 所谓深度分销,有人也称之为通路精耕细作,是通过减少原有渠道层次,并增强中间商分销能力或通过企
- Gbox开源:比RN和WebView更轻的高性能动态化业务容器,你掌握了多少
- php发送邮件二种方法 php使用smtp发送邮件
- ERROR 1366 (HY000): Incorrect string value: '\xCA\xD6\xBB\xFA\xCA\xFD...' for column 'cname' at row
- 【DS】三分钟带你学会时间(空间)复杂度