相机模型-Unified Camera Model

  • 模型介绍
    • 投影过程
    • 反投影过程
    • 雅可比计算

开篇不知道说啥了,直接开始吧。

模型介绍

这个相机模型在其它地方又被叫做 Omnidirectional 相机模型,我做了一个简单的图来表示这个模型,这个模型的本质其实是将原始的光心在光轴方向上进行移动,得到一个虚拟的光心,从而达到模拟畸变的目的。用这个模型可以模拟针孔相机的成像过程,也可以模拟广角以及鱼眼相机的成像过程。需要注意的是,在广角或鱼眼相机中,该模型不会完全模拟畸变过程,所以还需要搭配一些其他畸变模型,比如 相机模型–针孔相机投影(pinhole camera model)中讲的Brown畸变模型。

接下来结合这个示图对这个模型进行详细说明。首先是投影过程,假设相机坐标系下一个点 P = ( x , y , z ) P=(x, y, z) P=(x,y,z), 将其归一化到以光心为中心的单位球面上 P s = ( x s , y s , z s ) P_s=(x_s, y_s, z_s) Ps​=(xs​,ys​,zs​),若在无畸变的情况下,可以直接得到归一下像点 p = ( x s z s , y s z s , 1 ) p=({{x_s} \over {z_s}},{{y_s} \over {z_s}},1) p=(zs​xs​​,zs​ys​​,1), 在有畸变的情况下,可以找到一个以虚拟光心(与原光心只存在光轴上的平移,设平移量为 ξ \xi ξ)为原点的虚拟相机坐标系,那么此时 P s P_s Ps​在虚拟相机坐标系下的坐标变为 ( x s , y s , z s + ξ ) (x_s, y_s, z_s + \xi ) (xs​,ys​,zs​+ξ),投影到像平面中可以得到畸变后的归一化像点 p d = ( x s z s + ξ , y s z s + ξ , 1 ) p_d = {({x_s \over {z_s + \xi}}, {y_s \over {z_s + \xi}} , 1)} pd​=(zs​+ξxs​​,zs​+ξys​​,1)。

上述的是投影的过程,然后我们来看反投影的过程,反投影就是已知 p d = ( x d , y d ) p_d=(x_d, y_d) pd​=(xd​,yd​)求 P s = ( x s , y s , z s ) P_s=(x_s,y_s,z_s) Ps​=(xs​,ys​,zs​)的过程,在 O P s OP_s OPs​上存在一点 P s ′ = ( x d , y d , z ′ ) P_s'=(x_d, y_d, z') Ps′​=(xd​,yd​,z′),将其归一化后就是 P s P_s Ps​,可见 P s P_s Ps​和 P s ′ P_s' Ps′​实际对应同一个像素点。按照上边的投影过程可得到 p d p_d pd​,即 ( x d z ′ + ξ z ′ 2 + r 2 , y d z ′ + ξ z ′ 2 + r 2 , 1 ) = ( x d , y d , 1 ) ({{x_{d}}\over{z'+\xi \sqrt{z'^2+r^2}}}, {{y_{d}}\over{z'+\xi \sqrt{z'^2+r^2}}}, 1) = (x_{d}, y_{d}, 1) (z′+ξz′2+r2 ​xd​​,z′+ξz′2+r2 ​yd​​,1)=(xd​,yd​,1) 从而 z ′ + ξ z ′ 2 + r 2 = 1 z'+\xi\sqrt{z'^2+r^2}=1 z′+ξz′2+r2 ​=1
求解可以得到

syms r xi z
solve(z + xi * sqrt(z^2 + r^2) == 1, z)

z ′ = ξ 1 + r 2 ( 1 − ξ 2 ) − 1 ξ 2 − 1 z' ={ {\xi \sqrt{1+r^2(1-\xi^2)}-1} \over {\xi^2-1}} z′=ξ2−1ξ1+r2(1−ξ2) ​−1​

投影过程

  1. 设相机坐标系下一点 P c = ( x c , y c , z c ) P_c=(x_c, y_c, z_c) Pc​=(xc​,yc​,zc​),将其归一化到单位球面上 P s = ( x s , y s , z s ) = ( x c ∣ ∣ P c ∣ ∣ , y c ∣ ∣ P c ∣ ∣ , z c ∣ ∣ P c ∣ ∣ ∣ ) P_s=(x_s, y_s, z_s) = ({{x_c}\over||P_c||}, {y_c \over ||P_c||}, {{z_c} \over ||P_c||}|) Ps​=(xs​,ys​,zs​)=(∣∣Pc​∣∣xc​​,∣∣Pc​∣∣yc​​,∣∣Pc​∣∣zc​​∣)。
  2. 转换到虚拟像平面上得到 p = ( x p , y p , 1 ) = ( x s z s + ξ , y s z s + ξ , 1 ) p=(x_p, y_p, 1)=({x_s \over {z_s + \xi}}, {y_s \over {z_s + \xi}}, 1) p=(xp​,yp​,1)=(zs​+ξxs​​,zs​+ξys​​,1) 。
  3. 对 p p p添加畸变(参考针孔模型加畸变),得到 p d = ( x d , y d , 1 ) p_d=(x_d, y_d, 1) pd​=(xd​,yd​,1)。
  4. 得到像素坐标 u = f x x d + c x , v = f y y d + c y u = f_xx_d + cx, v = f_yy_d + cy u=fx​xd​+cx,v=fy​yd​+cy。

反投影过程

  1. 设图像上某个点 p = (u, v);
  2. 得到归一化焦平面上坐标 p d = ( u − c x f x , u − c y f y , 1 ) p_d=({{u-cx}\over f_x}, {{u-cy}\over f_y},1) pd​=(fx​u−cx​,fy​u−cy​,1).
  3. 进行去畸变处理,可参考针孔相机模型去畸变,得到 p u d = ( x u d , y u d , 1 ) p_ud = (x_{ud}, y_{ud},1) pu​d=(xud​,yud​,1) 。
  4. 转换到相机坐标系下 P c = ( x u d , y u d , 1 − ξ ( r 2 + 1 ) ξ + 1 + r 2 ( 1 − ξ 2 ) ) P_c = (x_{ud}, y_{ud}, 1-{{\xi(r^2+1)}\over{\xi+\sqrt{1+r^2(1-\xi^2)}}}) Pc​=(xud​,yud​,1−ξ+1+r2(1−ξ2) ​ξ(r2+1)​),其中, r 2 = x u d 2 + y u d 2 r^2=x_{ud}^2+y_{ud}^2 r2=xud2​+yud2​。
  5. 归一化到单位球平面上。

雅可比计算

同针孔相机模型和鱼眼相机模型中介绍的,先贴代码,再贴公式

syms x y z xi fx fy cx cy
u = x / (z + xi);
v = y / (z + xi);
u = fx * u + cx;
v = fy * v + cy;
alphaE_alphaK = - [diff(u, xi), diff(u, fx), diff(u, fy), diff(u, cx), diff(u, cy);diff(v, xi), diff(v, fx), diff(v, fy), diff(v, cx), diff(v, cy)]alphaE_alphaP = -[diff(u, x), diff(u, y), diff(u, z);diff(v, x), diff(v, y), diff(v, z)]
alphaP_alphaR = [1, 0, 0, 0, z, -y; 0, 1, 0, -z, 0, x; 0, 0, 1, y, -x, 0]alphaE_alphaP * alphaP_alphaR

假设相机坐标系下归一化到球面的3D点坐标坐标为 P s = ( X s , Y s , Z s ) P_s=(X_s, Y_s, Z_s) Ps​=(Xs​,Ys​,Zs​)

  1. 误差项关于内参的偏导数

  2. 误差项关于相机坐标系下点 P P P的偏导

  3. 误差项在李代数上的扰动模型
    根据链式法则可得

∂ e r r ∂ δ ζ = ∂ e r r ∂ P s ∂ P s ∂ δ ζ {{\partial err} \over {\partial \delta\zeta }} = {{\partial err} \over {\partial {P_s}}}{{\partial {P_{\rm{s}}}} \over {\partial \delta \zeta }} ∂δζ∂err​=∂Ps​∂err​∂δζ∂Ps​​

其中, ∂ P c ∂ δ ζ {{\partial {P_{\rm{c}}}} \over {\partial \delta \zeta }} ∂δζ∂Pc​​的推导后续会有专门篇幅进行总结,在这个先用起来再说。

相机模型-Unified Camera Model相关推荐

  1. 3. 全向相机模型Omnidirectional Camera Model

    目录 1. 定义: 2. scaramuzza多项式模型 2.1 模型推导 3. 标定原理 3.1 求外参 3.2 求内参 3.3 非线性优化 4. 感谢您的阅读! 1. 定义: 全向相机(Omnid ...

  2. 相机模型-Extended Unified Camera Model

    相机模型-Extended Unified Camera Model 模型介绍 投影过程 反投影过程 雅可比计算 之前讲到了Unified Camera Model模型,该模型是借助于一个虚拟的单位球 ...

  3. 相机模型 Omnidirectional Camera(全方位摄像机)

    1 相关概念 相机标定 针孔相机 径向畸变 全方位视觉 相机参数(内参,外参) 内参数矩阵 运动结构 极线几何学 2 定义 全向相机是在水平面上具有360度视野,或具有覆盖半球或(近似)整个球体的视野 ...

  4. 2.3ORBSLAM3之相机模型与畸变模型

    1.简介 主要内容: 1. 对SLAM中常见的相机模型进行介绍,包括针孔相机模型和鱼眼相机模型 2. 对每种相机模型的畸变模型进行介绍 3. 对VSLAM中常见的几种去畸变方法进行介绍 4. 对常见的 ...

  5. OpenGL投影矩阵与相机模型(Set Projection Matrix for Pinhole Camera Model)

    出处:http://oliver.zheng.blog.163.com/blog/static/1424115952013349234838/ (转载自"结冰的雪"百度空间) 目的 ...

  6. 从像素坐标到相机坐标_鱼眼相机模型EUCM(一)

    前言 相较于普通的针孔相机,鱼眼相机的能够观测到的范围更广,在一定程度上其实是可以增强视觉的鲁棒性的.针对于鱼眼相机的模型其实有挺多的,也有论文对这些模型进行了评测,但对于本人来说,最熟知的还是针孔模 ...

  7. EUCM鱼眼相机模型详解

    EUCM 模型即为extended unified camera model, 主要会涉及到几个坐标系,如下: a. 相机坐标系: 真实世界坐标中的位置坐标,单位为m, 一般对应在表达为X b. 椭球 ...

  8. 相机标定:相机模型和畸变模型

    一.相机标定方案 相机内参标定是确定内参和畸变参数(equidistqant畸变模型)或者(radial tangential模型)的过程. 本文首先介绍SLAM中常用的相机模型和畸变模型,随后介绍我 ...

  9. 相机模型-鱼眼模型(fisheye camera model)

    鱼眼相机模型 (fisheye camera model) 模型介绍 等距投影 等立体角投影 正交投影 体视投影 线性投影 Kannala-Brandt 模型 去畸变过程 投影过程 反投影过程 雅可比 ...

最新文章

  1. 下一版本Windowsreg; CE 开发工具Smart Device Extensions for Microsoft Visual Studioreg; .NET...
  2. Qt Creator连接MCU
  3. LiveQing直播点播存储流媒体服务-服务器并发性能及消耗带宽计算参考
  4. mysql 触发器 for each row 理解_MySQL触发器中的“ FOR EACH ROW”如何工作?
  5. Git忽略项目中的指定的文件
  6. FPGA双沿发送之Verilog HDL实现
  7. 米的换算单位和公式_小学三年级数学常用公式和单位换算,孩子复习宝典!
  8. IIS7.5安全配置研究
  9. ICML2018论文公布!一文了解机器学习最新热议论文和研究热点
  10. linux info命令详解,Linux info 命令简介
  11. ESRI大赛三维模块介绍
  12. 手动ghost装服务器系统教程,手动ghost教程图解
  13. mysql5.7卸载_MySQL 5.7版本卸载教程
  14. php视图编辑,word中最适合查看编辑排版效果的视图是什么
  15. cadence 17.2 入门学习2 allegro
  16. Git-Clone succeeded, but checkout failed
  17. python实现匿名发邮件_Python 实现邮件发送功能(初级)
  18. 2011年随笔记 5月30号以后的日志薄
  19. 微信开发工具button跳转页面_微信小程序按钮点击跳转页面详解
  20. 挑战微信?三大运营商的目的或许不在这

热门文章

  1. Lesson 2 - GPU Hardware and Parallel Communication Patterns
  2. docker下,极速搭建spark集群(含hdfs集群)
  3. 银保监会EAST5.0 内容解读
  4. 龙尚3G、4G模块嵌入式Linux系统使用说明【转】
  5. ppt流程图按步骤链接_ppt怎么制作流程图(新手制作ppt详细步骤)
  6. 亚马逊跟卖僵尸采集软件一分钟采集上千个僵尸链接操作方式
  7. 【问题解决】Linux通过nfs挂载根文件系统报错:VFS: Unable to mount root fs via NFS, trying floppy
  8. vMix解码16路FULL NDI时保持流畅和低带宽的使用方法和技巧(相当于16路采集卡同时工作,同步性和流畅度稳定,带宽占用率低,CPU和GPU负担小)
  9. 2022-2028全球活性炭再活化服务行业调研及趋势分析报告
  10. Nature重磅:人鼠混合大脑问世,‘大脑类器官’研究再添新进展