【三维重建】三维重建学习笔记(3)—— 单视图测量

本文详细介绍了2D变换的四种类型——等距变换、相似变换、仿射变换和射影变换,强调了它们的特点和不变量。接着探讨了影消点、影消线和无穷远点的概念,以及它们在透视变换和仿射变换下的行为。最后,讨论了单视图重构中的相机参数标定和3D重构方法,强调了单视图重建的限制和多义性问题。
摘要由CSDN通过智能技术生成

第三章 单视图测量

一、2D变换

1. 等距变换(欧式变换)

\[\left[ {\begin{array}{*{20}{c}}
  {x'} \\ 
  {y'} \\ 
  1 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  R&t \\ 
  0&1 
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
  x \\ 
  y \\ 
  1 
\end{array}} \right] = {H_e}\left[ {\begin{array}{*{20}{c}}
  x \\ 
  y \\ 
  1 
\end{array}} \right]\]

等距变换(欧式变换)

特点:

  • 不变量:长度、面积
  • 3个自由度
  • 适合描述刚性物体的运动

 注意:

        旋转矩阵\(R\)的行列式为1,且\({{R}^{-1}}={{R}^{T}}\)。

2. 相似变换

\[\left[ {\begin{array}{*{20}{c}}
  {x'} \\ 
  {y'} \\ 
  1 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  {SR}&t \\ 
  0&1 
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
  x \\ 
  y \\ 
  1 
\end{array}} \right] = {H_s}\left[ {\begin{array}{*{20}{c}}
  x \\ 
  y \\ 
  1 
\end{array}} \right]\]

相似变换

特点:

  • 不变量:长度的比值、角度
  • 4个自由度

3. 仿射变换

\[\left[ {\begin{array}{*{20}{c}}
  {x'} \\ 
  {y'} \\ 
  1 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  A&t \\ 
  0&1 
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
  x \\ 
  y \\ 
  1 
\end{array}} \right] = {H_a}\left[ {\begin{array}{*{20}{c}}
  x \\ 
  y \\ 
  1 
\end{array}} \right]\]

其中,\(A\)是任意2×2矩阵。

仿射变换

特点:

  • 不变量:平行线、面积的比值
  • 不能保持原有线之间的夹角关系
  • 6个自由度

4. 射影变换(透视变换)

\[\left[ {\begin{array}{*{20}{c}}
  {x'} \\ 
  {y'} \\ 
  1 
\end{array}} \right] = \left[ {\begin{array}{*{20}{c}}
  A&t \\ 
  v&1 
\end{array}} \right]\left[ {\begin{array}{*{20}{c}}
  x \\ 
  y \\ 
  1 
\end{array}} \right] = {H_p}\left[ {\begin{array}{*{20}{c}}
  x \\ 
  y \\ 
  1 
\end{array}} \right]\]

其中,\(A\)是任意2×2矩阵,\(v\)是任意1×2矩阵。

射影变换(透视变换)

特点:

  • 不变量:共线性、四共线点的交比
  • 不能保持原有平行关系
  • 8个自由度

5. 结论

  • 欧式变换相似变换的特例
  • 相似变换仿射变换的特例
  • 仿射变换透视变换的特例

二、影消点与影消线

1. 平面上的线

平面上的线

        \[ax+by+c=0\Leftrightarrow l=\left[ \begin{matrix}   a  \\   b  \\   c  \\\end{matrix} \right]\]

        如果\(x=\left[ \begin{matrix}   {{x}_{1}}  \\   {{x}_{2}}  \\\end{matrix} \right]\in l\),则\(\left[ \begin{matrix}   {{x}_{1}} & {{x}_{2}} & 1  \\\end{matrix} \right]\left[ \begin{matrix}   a  \\   b  \\   c  \\\end{matrix} \right]=0\Leftrightarrow \left[ \begin{matrix}   a & b & c  \\\end{matrix} \right]\left[ \begin{matrix}   {{x}_{1}}  \\   {{x}_{2}}  \\   1  \\\end{matrix} \right]=0\)

2. 直线的交点

        \(x=l\times {l}'\)

直线的交点

3. 2D无穷远点

2D无穷远点

        两条平行线的交点:\[l\times {l}'\propto \left[ \begin{matrix}   b  \\   -a  \\   0  \\\end{matrix} \right]={{x}_{\infty }}\]

4. 无穷远直线\({{l}_{\infty }}\)

        无穷远直线\({{l}_{\infty }}=\left[ \begin{matrix}   0  \\   0  \\   1  \\\end{matrix} \right]\)

无穷远直线

        无穷远线是无穷远点的几何,也是平面上线的“方向”的集合。

5. 无穷远点的透视变换与仿射变换

        无穷远点经透视变换不是无穷远点

        无穷远点经仿射变换仍是无穷远点

6. 无穷远线的透视变换与仿射变换

        无穷远线经透视变换不是无穷远线

        无穷远线经仿射变换仍是无穷远线

7. 空间中的面和直线

        空间中的面:\(ax+by+cz+d=0\Leftrightarrow \Pi =\left[ \begin{matrix}   a  \\   b  \\   c  \\   d  \\\end{matrix} \right]\)

        如果\(x=\left[ \begin{matrix}   {{x}_{1}}  \\   {{x}_{2}}  \\   {{x}_{3}}  \\\end{matrix} \right]\in \Pi \),则\(\left[ \begin{matrix}   {{x}_{1}} & {{x}_{2}} & {{x}_{3}} & 1  \\\end{matrix} \right]\left[ \begin{matrix}   a  \\   b  \\   c  \\   d  \\\end{matrix} \right]=0\Leftrightarrow \left[ \begin{matrix}   a & b & c & d  \\\end{matrix} \right]\left[ \begin{matrix}   {{x}_{1}}  \\   {{x}_{2}}  \\   {{x}_{3}}  \\   1  \\\end{matrix} \right]=0\)

空间中的面

        空间中的直线定义为两平面的交线。一般用\(\mathbf{d}={{\left[ \begin{matrix}   a & b & c  \\\end{matrix} \right]}^{\text{T}}}\)来描述直线的方向。

8. 三维空间中的无穷远点(空间中平行线的交点)

        空间中平行线的交点\({{x}_{\infty }}=\left[ \begin{matrix}   a  \\   b  \\   c  \\  0  \\\end{matrix} \right]\)

空间中平行线的交点

9. 影消点

定义:无穷远点在图像平面上的投影点

影消点

        设空间中直线方向为\(d={{\left[ \begin{matrix}   a & b & c  \\\end{matrix} \right]}^{\text{T}}}\)

        则影消点\(v\)和直线方向\(d\)满足以下关系:\[v=Kd\Leftrightarrow d=\frac{{{K}^{-1}}v}{\left\| {{K}^{-1}}v \right\|}\]

影消点和直线方向

10. 影消线(视平线)

        影消线是空间上同一平面的多个无穷远点经透视变换得到的影消点的集合,也是空间上无穷远线经透视变换得到的平面直线。

        影消线和无穷远直线的关系:\[{{l}_{horiz}}={{H}_{P}}^{-T}{{l}_{\infty }}\]

影消线与无穷远线

        影消线和平面法向量之间的关系:\[n={{K}^{T}}{{l}_{horiz}}\]

影消线和平面法向量

11. 无穷远平面

        平行平面在无穷远处相交于一条公共线,称为无穷远直线。

        两条或多条无穷远直线的集合定义为无穷远平面\({{\Pi }_{\infty }}\)

无穷远平面

        定义无穷远平面\({{\Pi }_{\infty }}=\left[ \begin{matrix}   0  \\   0  \\   0  \\   1  \\\end{matrix} \right]\)

12. 两组平行线的夹角和影消点的关系

        由影消点\(v\)和直线方向\(d\)的关系\(d=\frac{{{K}^{-1}}v}{\left\| {{K}^{-1}}v \right\|}\),

        可以得到空间中两组平行线的夹角\(\theta \)和影消点\({{v}_{1}}\), \({{v}_{2}}\)的关系:

\[\cos \theta =\frac{{{d}_{1}}\cdot {{d}_{2}}}{\left| {{d}_{1}} \right|\left| {{d}_{2}} \right|}=\frac{{{v}_{1}}^{T}\omega {{v}_{2}}}{\sqrt{{{v}_{1}}^{T}\omega {{v}_{1}}}\sqrt{{{v}_{2}}^{T}\omega {{v}_{2}}}}\]

        其中,\(\omega ={{(K{{K}^{T}})}^{-1}}\)

        特别地,如果\(\theta =90{}^\circ \),则可以得出:\[{{v}_{1}}^{T}\omega {{v}_{2}}\text{=0}\]

两组平行线的夹角和影消点的关系

         此外,\(\omega\)有以下性质:

  1. \(\omega ={{(K{{K}^{T}})}^{-1}}\text{=}\left[ \begin{matrix} {{\omega }_{1}} & {{\omega }_{2}} & {{\omega }_{4}}  \\{{\omega }_{2}} & {{\omega }_{3}} & {{\omega }_{5}}  \\{{\omega }_{4}} & {{\omega }_{5}} & {{\omega }_{6}}  \\\end{matrix} \right]\)是对称阵
  2. 当\({{\omega }_{2}}=0\)时,表示零倾斜
  3. 当\({{\omega }_{2}}=0,{{\omega }_{1}}={{\omega }_{3}}\)时,表示方形像素
  4. \(\omega\)有5个自由度(\(K\)有5个自由度)

应用:

  • 估计相机参数(单视图标定)
  • 恢复三维场景结构

三、单视图重构

1. 单视图标定

单视图标定

        选取三个互相垂直的平面,分别找出三个平面上的影消点。可以列出下面三个方程:\[\left\{ \begin{matrix}   {{v}_{1}}^{T}\omega {{v}_{2}}\text{=0}  \\   {{v}_{1}}^{T}\omega {{v}_{3}}\text{=0}  \\   {{v}_{2}}^{T}\omega {{v}_{3}}\text{=0}  \\\end{matrix} \right.\]

        \(\omega\)有5个自由度,但只能列出三个方程。若假定零倾斜、正方形像素,则\({{\omega }_{2}}=0,{{\omega }_{1}}={{\omega }_{3}}\),即只剩下三个自由度。这样就可以根据三个影消点求解出相机内参数矩阵。

2. 单视图重构

单视图重构

        可以由两个影消点画出这一平面的影消线,根据之前求出的内参数矩阵/(K/),即可得到这一平面的法向量:\[n={{K}^{T}}{{l}_{horiz}}\]

        同理可以求出另外两个平面的法向量。根据三个平面的方程,即可重构出画面。

注意:

  • 场景的实际比例无法恢复;
  • 需要手动选择影消点和影消线;
  • 需要场景的先验信息,如点对应的关系,线、面几何信息等等。
  • 单幅视图2D到3D的映射具有多义性
  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Quentin_HIT

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值