ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

3D Vision 十讲:第一讲

2021-07-05 18:32:08  阅读:322  来源: 互联网

标签:投影变换 直线 二次曲线 投影 2D 十讲 Vision 3D


第一讲目录

一、3D视觉与应用介绍

3D 视觉定义

3D 视觉应用

1.Large-scale 3D reconstruction(大规模三维重建)

2.Motion capture(动作捕捉)

3.Augmented reality(增强现实)

二、投影几何

1.投影变换定义

2.投影几何分类

(1)2D投影几何

(2)3D投影几何

三.2D投影几何以及变换

1、2D投影几何应用

2、2D投影平面

3、2D投影中的点

4、 2D投影中的直线

5、 2D投影变换



一、3D视觉与应用介绍

3D 视觉定义

三维视觉是计算机视觉中的一个子领域,它的目的有两个:建模和重建。

所谓的建模是指理解多视角图像中的相互之间几何关系,或者图像和三维世界的几何关系。

重建指的是图像或者深度传感器中重建三维信息(形状和纹理)。

而对合成三维内容的生成不属于三维视觉,它属于计算机图形学。

3D 视觉应用

1.Large-scale 3D reconstruction(大规模三维重建

2.Motion capture(动作捕捉)

从多角度视频中重建

3.Augmented reality(增强现实)

二、投影几何

1.投影变换定义

物体从3D空间转换到图像空间的变换,叫做投影变换。

在投影变换中会改变的几何性质:

  • 长度
  • 角度
  • 距离比

在投影变换中保持不变的几何性质:

  • 直线在变换后依然是直线,共线性质也保持不变
  • 交比保持不变

交比是什么意思?

交比定义为:对于共线的四个点A、B、C、D,它们的交比(A,B; C,D)可以定义为:

                                     (A,B ; C,D)=  \frac{\frac{AC}{BC}}{\frac{AD}{BD}} = \frac{AC.BD}{BC.AD}

它们在投影变换下保持不变,即:

                                             \frac{AC.BD}{BC.AD} = \frac{A^{'}C^{'}.B^{'}D^{'}}{B^{'}C^{'}.A^{'}D^{'}}

2.投影几何分类

(1)2D投影几何

可以消除图像中的投影扭曲、可以做图像拼接。

(2)3D投影几何

对相机投影进行建模用来进行三维重建。矫正和自动校正都可以。

三.2D投影几何以及变换

1、2D投影几何应用

投影扭曲消除

图像拼接

2、2D投影平面

图像平面内一个点在投影空间内是一条射线,比如图像平面点(x, y)可以用一个射线(sx, sy, s)来表示。因此射线上所有点是等效的:(x, y, 1)\equiv (sx, sy, s)。

3、2D投影中的点

数学符号\mathbb{P}^{2}表示二维投影空间(即投影平面)

  • 点在二维欧式空间\mathbb{R}^{2},也就是卡式坐标为:

                                                           

 (x,y)^{T} = \binom{x}{y}

  • 点在二维投影空间\mathbb{P}^{2}中的表示为:

\textbf{x} = (x_{1},x_{2},x_{3})^{T} = \left(\begin{array}{l} x_{1} \\ x_{2} \\ x_{3} \end{array}\right)

  • 对于二维投影空间\mathbb{P}^{2}中的两个点\textbf{x}\textbf{x}^{'},当且仅当\textbf{x} = \lambda \textbf{x}^{'}\lambda !=0时就称这两个点等效。

  • 二维欧式空间\mathbb{R}^{2}\rightarrow二维投影空间\mathbb{P}^{2}

                                                      (x, y)^{T} \rightarrow (x, y, 1)^{T}
  • 二维投影空间\mathbb{P}^{2} \rightarrow二维欧式空间\mathbb{R}^{2}:

                          \left(x_{1}, x_{2}, x_{3}\right)^{T} \rightarrow \underbrace{\left(\frac{x_{1}}{x_{3}}, \frac{x_{2}}{x_{3}}\right)^{T}}_{\text {we need } x_{3} \neq 0 !}=\underbrace{\left(\frac{S X}{s}, \frac{s y}{s}\right)^{T}}_{\left(x_{1}, x_{2}, x_{3}\right)^{T}=(s x, s y, s)^{T}}=(x, y)^{T}

对于x_{3}=0的情况,表示在二维投影空间内的点,在二维欧式空间内没有等效点,它表示无穷远处的点。

4、 2D投影中的直线

(1)2D投影中直线的定义:

对于二维欧式空间\mathbb{R}^{2}内一点(x, y)^{T}, 对于穿过该点的直线方程我们有:

ax+by+c = 0; a,b,c \in \mathbb{R}

如果我们令\textbf{x} = (x, y, 1)^{T}\ell=(a, b, c)^{T},那么我们有:

\langle\ell, \mathbf{x}\rangle=0, \text { or } \ell^{T} \mathbf{x}=0, \text { or } \mathbf{x}^{T} \ell=0

那么\ell就表示2D投影空间\mathbb{P}^{2}内的一条直线

  • 等效表达:对于k\neq 0\ell = k\ell, 即\ellk\ell表示同一条直线。
  • 无穷远点:对于直线\ell上无穷远的点,可以表示为(-b, a, 0)^{T}。而对于所有(x_{1}, x_{2}, 0)的点,它们均位于无穷远处,被称为理想点(ideal point)。而直线的的理想点,也称为该直线的方向向量。

(2)二维投影平面\mathbb{P}^{2}的直线相交

对于两条直线\ell = (a, b, c)^{T}; \ell^{'} = (a^{'}, b^{'}, c^{'}), 它们的交点\textbf{x}为:

\textbf{x} = \ell \times \ell^{'} = \left|\begin{array}{ccc} i & j & k \\ a & b & c \\ a^{\prime} & b^{\prime} & c^{\prime} \end{array}\right|=\left(b c^{\prime}-b^{\prime} c, a^{\prime} c-a c^{\prime}, a b^{\prime}-a^{\prime} b\right)

其中\times表示叉积。

  • 两条平行线的交点:对于两条平行线\ell = (a, b, c)^{T}; \ell^{'} = (a, b, c^{'}),它们的交点

\ell \times \ell^{\prime}=\left(b c^{\prime}-b c, a c-a c^{\prime}, 0\right)^{T} 为无穷远点

  • 经过两点的直线:对于经过点\textbf{x} = (x_{1}, x_{2}, x_{3})^{T}和点\textbf{x}^{'} = (x^{'}_{1}, x^{'}_{2}, x^{'}_{3})^{T}的直线,它的表达式可以写成\ell = \textbf{x}\times \textbf{x}^{'} 。

(3)二维投影平面\mathbb{P}^{2}的点与直线对偶性质

对于二维投影几何中的任何定理,都有一个相应的对偶定理,它可以通过互换原定理中点和直线的作用而导出。例如\ell = \textbf{x}\times \textbf{x}^{'}\textbf{x} = \ell \times \ell^{'},过两点的直线与过两直线的点是对偶的。

(4)无穷远处的直线

\ell_{\infty} = (0, 0, 1)^{T}

它满足\left\langle(0,0,1)^{T},\left(x_{1}, x_{2}, 0\right)^{T}\right\rangle=0, 而(x_{1}, x_{2}, 0)^{T}表示无穷远的点,即无穷远的直线由无穷远的点组成。

(5)二次曲线(conic应该翻译成二次曲线)

二次曲线顾名思义,由平面上的二阶方程描述。在欧式几何中,二次曲线有三种主要类型:双曲线、椭圆、抛物线。它们都可以用下面的二次曲线方程表示:

a x^{2}+b x y+c y^{2}+d x+e y+f=0, \quad a, b, c, d, e, f \in \mathbb{R}

考虑如下的对称矩阵:

C=\left(\begin{array}{ccc} a & b / 2 & d / 2 \\ b / 2 & c & e / 2 \\ d / 2 & e / 2 & f \end{array}\right)

对于\textbf{x} = (x, y, 1)^{T}, 二次曲线可以表示为:

\langle C \mathbf{x}, \mathbf{x}\rangle=0, \text { or } \mathbf{x}^{T} C \mathbf{x}=0

  • 等效表示:对于k \neq 0, 如果有C^{'} = kC, 那么我们称C^{'}, C等效。
  • 对偶二次曲线:上面的二次曲线的定义是关于点的方程,所以二次曲线C也叫做点二次曲线。根据上面提到的对偶定理,那么很显然存在一个二次曲线,它是关于直线的方程。我们把这个二次曲线写成C^{*}, 它满足\ell^{T} C^{*} \ell=0

上图左图为点二次曲线C,右图为C^{*}

5、 2D投影变换

常用的投影变换包含:欧式变换、相似变换、仿射变换、投影变换。它们对原始几何结构的影响如下图所示。

(1)欧式变换

对于齐次坐标的\textbf{x},\textbf{x}^{'}

\mathbf{x}^{\prime}=H_{\mathrm{e}} \mathbf{x}=\left(\begin{array}{rr} R & \vec{t} \\ \overrightarrow{0}^{T} & 1 \end{array}\right) \mathbf{x}

其中

H_{E} = \left[\begin{array}{ccc} \cos \theta & -\sin \theta & t_{x} \\ \sin \theta & \cos \theta & t_{y} \\ 0 & 0 & 1 \end{array}\right]

可以看到,欧式变换有三个自由度:一个是旋转R矩阵中的\theta, 另外两个是偏移向量\overrightarrow{t}中的t_{x},t_{y}

欧式变换是长度和角度均保持不变。

(2)相似变换

\mathbf{x}^{\prime}=H_{\mathrm{s}} \mathbf{x}=\left(\begin{array}{rr} sR & \vec{t} \\ \overrightarrow{0}^{T} & 1 \end{array}\right) \mathbf{x}

在上式中,旋转矩阵R和偏移向量\overrightarrow{t}的含义相同,唯一的区别是多了一个缩放因子s,所以它的自由度为4。相似变换是长度比、角度、面积比保持不变

(3)仿射变换

\mathbf{x}^{\prime}=H_{a} \mathbf{x}=\left(\begin{array}{cc} A & \vec{t} \\ \overrightarrow{0}^{T} & 1 \end{array}\right) \mathbf{x}

在这里,矩阵\overrightarrow{t}依然表示偏移向量。但是A不再是和前面一样的单纯的旋转矩阵。它是一个2 \times 2的非奇异矩阵。它总可以进行SVD分解得到:

\mathrm{A}=\mathrm{R}(\theta) \mathrm{R}(-\phi) \mathrm{DR}(\phi)

其中

D=\left[\begin{array}{ll} \lambda_{1} & 0 \\ 0 & \lambda_{2} \end{array}\right]

由此可以看到矩阵A可以看作是旋转和非均匀缩放的复合操作,它的自由度显然是6。不变量是线的平行性质,平行线段的长度比,面积比。

(4)投影变换

\mathbf{x}^{\prime}=H_{p} \mathbf{x}=\left(\begin{array}{rc} A & \vec{t} \\ \vec{v}^{T} & v \end{array}\right) \mathbf{x}

其中H_{p}也叫做2D单应性矩阵。

H_{p}=\left(\begin{array}{lll} h_{11} & h_{12} & h_{13} \\ h_{21} & h_{22} & h_{23} \\ h_{31} & h_{32} & h_{33} \end{array}\right)

该矩阵是非奇异矩阵,因此代表了一种可逆变换。该矩阵有9个未知量,但只有它们的比率是有意义的,因此它有八个自由度。不变量为四个共线点的交比。

  • 投影变换的分解:投影变换可以分解为一串变换链的复合:

\mathrm{H}=\mathrm{H}_{\mathrm{s}} \mathrm{H}_{\mathrm{A}} \mathrm{H}_{\mathrm{p}}=\left[\begin{array}{cc} s \mathrm{R} & \mathbf{t} / v \\ \boldsymbol{0}^{\top} & 1 \end{array}\right]\left[\begin{array}{cc} \mathrm{K} & \boldsymbol{0} \\ \boldsymbol{0}^{\top} & 1 \end{array}\right]\left[\begin{array}{cc} \mathrm{I} & \boldsymbol{0} \\ \mathbf{v}^{\top} & v \end{array}\right]=\left[\begin{array}{cc} \mathrm{A} & \mathrm{t} \\ \mathbf{v}^{\mathrm{T}} & v \end{array}\right]

即可以看成是相似变换、仿射变换、投影变换的复合。

标签:投影变换,直线,二次曲线,投影,2D,十讲,Vision,3D
来源: https://blog.csdn.net/u010772377/article/details/118486023

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有