码迷,mamicode.com
首页 > 其他好文 > 详细

双目成像的简单推导

时间:2019-10-20 20:03:44      阅读:150      评论:0      收藏:0      [点我收藏+]

标签:math   坐标   toc   ext   需要   play   传感器   end   简单   

双目成像简单分析

1. 双目视差推导(对14讲上内容的一些深入解释)

对于十四讲中的推导有些疑惑,给出了结果,但是推导部分感觉不太严谨,所以简单推了一下。

设空间3D点\(P\):

  • 在左右相机上对应的像素坐标为\(u_L,u_R\)(图像坐标系,原点在左上角)单位: pixel

    同时假设\(u_L\)在左相机中心点右侧,\(u_R\)在右相机中心点左侧(仅仅便于推导,实际情况结果都一样)

  • 深度为\(d\),单位: mm

  • 双目基线长度\(b\),单位: mm

  • 相机传感器像素与mm转换系数\(s\),单位: mm/pixel

  • 相机焦距\(f_x\),单位: pixel

  • 图像中心点横坐标为\(w\)

    这里取的是像素焦距,为什么是\(f_x\),请看第2节分析

利用相似三角形关系(图见十四讲P91),可以得到:
\[ \frac{z-f_xs}{z} = \frac{b-(u_L-w+w-u_R)s}{b} \\Rightarrow bz-bf_xs =bz-zs(u_L-u_R) \\Rightarrow z=\frac{bf_x}{u_L-u_R} \\Rightarrow z = \frac{bf_x}{d} \\text{其中}:d=u_L-u_R \]
称为视差,单位为像素,最小值为一个像素,所以深度的最大值为:\(bf_x\)

2. 使用\(f_x\)的原因以及双目成像完整推导

相机成像模型如下:

  • \(u_L,v_L,u_R,v_R\): 单位像素
  • \(\alpha,\beta\): 传感器单位长度上像素个数(pixel/mm)
  • \(f\):物理焦距,单位mm

对于同一个3D空间点\(P=(X,Y,Z)^T\),其在两个相机上的成像模型为:

左目:
\[ s\begin{pmatrix} u_L\v_L \1 \end{pmatrix} = \begin{pmatrix} \alpha & 0 &c_x \0& \beta & c_y \0 & 0 & 1 \end{pmatrix} \begin{pmatrix} f & 0&0&0 \0 &f &0 &0 \0 & 0 & 1 & 0 \end{pmatrix} \begin{pmatrix} X\\Y\\Z\\1 \end{pmatrix} \]
右目:
\[ s\begin{pmatrix} u_R\v_R\1 \end{pmatrix} = \begin{pmatrix} \alpha & 0 &c_x \0& \beta & c_y \0 & 0 & 1 \end{pmatrix} \begin{pmatrix} f & 0&0&0 \0 &f &0 &0 \0 & 0 & 1 & 0 \end{pmatrix} \begin{pmatrix} X-b\\Y\\Z\\1 \end{pmatrix} \]

这里假设两个相机的内参相同,并且已经进行过双目校正,如果完整考虑整个模型,只需替换相关参数继续推导即可

由于进行过双目校正,所以只需要考虑\(u_L,u_R\)关系即可:
\[ u_L = \alpha f \frac{X}{Z}+c_x \ u_R= \alpha f\frac{X-b}{Z}+c_x \\alpha f \Rightarrow f_x \]
两式相减可以得到:
\[ Z = \frac{bf_x}{u_L-u_R} \]
与前面利用几何关系推导结果相同,并且在实际代码中使用\(f_x\)的原因也清楚了。

双目成像的简单推导

标签:math   坐标   toc   ext   需要   play   传感器   end   简单   

原文地址:https://www.cnblogs.com/jymg/p/11708582.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!