文章目录

  • 第一章:摄像机几何
    • 1. 针孔模型&透镜
      • 1.1 小孔成像原理
      • 1.2 针孔相机数学模型
      • 1.3 透镜
        • (1)焦距
        • (2)近轴折射模型(带透镜的小孔成像模型)
        • (3)失焦
        • (4)径向畸变
    • 2. 摄像机几何
      • 2.1 摄像机坐标系 - 像素坐标系
        • (1)3D摄像机坐标系 - 2D CCD坐标系
        • (2)2D CCD坐标系 - 2D像素坐标系
        • (3)齐次坐标变换
        • (4)摄像机偏斜
        • (5)内参数矩阵K
        • (6)规范化摄像机
      • 2.2 像素坐标系-世界坐标系
        • (1)投影矩阵
        • (2)投影矩阵性质定理
    • 3. 其他摄像机模型
    • 4. 最小二乘解
      • 4.1 线性方程组的最小二乘解
        • (1)线性方程组
        • (2)最小二乘解
      • 4.2 齐次线性方程组的最小二乘解
        • (1)线性方程组
        • (2)最小二乘解
      • 4.3 非线性方程组的最小二乘解
  • 第二章:摄像机标定
    • 1. 针孔模型&透镜摄像机标定问题
      • 1.1 摄像机标定
        • (1)标定目标
        • (2)标定装置
      • 1.2 投影矩阵M求解
        • (1)标定方程
        • (2)投影矩阵M求解
      • 1.2 提取摄像机内参数
        • (1)提取ρ
        • (2)提取u0,v0
        • (3)提取θ
        • (4)提取α,β
      • 1.3 提取摄像机外参数
        • (1)提取r3
        • (2)提取r1
        • (3)提取r2
        • (4)提取T
      • 1.4 摄像机标定结果
    • 2. 径向畸变摄像机标定
      • 2.1 径向畸变摄像机模型
      • 2.2 径向畸变投影矩阵求解
      • 2.3 求解线性部分m1,m2
    • 3. 2D平面变换
      • 3.1 2D欧式变换
      • 3.2 2D相似变换
      • 3.3 2D仿射变换
      • 3.4 2D透视变换
    • 4. 3D空间变换
      • 4.1 3D欧式变换
      • 4.2 3D仿射变换
      • 4.3 透视变换
  • 第三章:单视测量
    • 1. 无穷远点、无穷远线与无穷远平面
      • 1.1 2D平面
        • (1)2D平面直线
        • (2)2D平面直线交点
        • (3)2D平面无穷远点
        • (4)2D平面无穷远线
      • 1.2 3D空间
        • (1)3D空间的面
        • (2)3D空间的直线
        • (3)3D空间无穷远点
        • (4)3D空间无穷远平面
    • 2. 影消点与影消线
      • 2.1 2D平面无穷远点和线的变换
        • (1)2D平面无穷远点的变换
        • (2)2D平面无穷远线的变换
      • 2.2 影消点
      • 2.3 影消点与直线方向
      • 2.4 影消线
      • 2.5 影消线与平面法向量
      • 2.6 总结
    • 3. 单视重构
      • 3.1 两组平行线的夹角与影消点
      • 3.2 w的性质
      • 3.3 单视图标定举例
  • 第四章:三维重建基础与极几何
    • 1. 双视图与三角化
      • 1.1 线性解
      • 1.2 非线性解
      • 1.3 实际情况中的问题定义
      • 1.4 多视图几何的关键问题
    • 2. 极几何与基础矩阵
      • 2.1 极几何
      • 2.2 本质矩阵
      • 2.3 基础矩阵
    • 3. 基础矩阵估计
      • 3.1 八点法
      • 3.2 归一化八点法
    • 4. 单应矩阵
      • 4.1 单应矩阵推导
      • 4.2 单应矩阵估计
      • 4.3 单应矩阵性质
  • 第五章:双目立体视觉
    • 1. 基于平行视图的双目立体视觉
      • 1.1 平行视图基础矩阵
      • 1.2 平行视图极几何
      • 1.3 平行视图三角测量
    • 2. 图像校正
    • 3. 对应点搜索
      • 3.1 相关匹配
      • 3.2 归一化相关匹配
      • 3.3 相关法存在问题
  • 第六章:多视图几何
    • 1. 运动恢复结构问题
    • 2. 欧式结构恢复
      • 2.1 欧式结构恢复问题定义
      • 2.2 两视图欧式结构恢复
      • 2.3 欧式结构恢复歧义
    • 3. 仿射结构恢复
      • 3.1 仿射结构恢复问题定义
      • 3.2 基于因式分解的仿射结构恢复
      • 3.3 仿射结构恢复歧义
    • 4. 透视结构恢复
      • 4.1 代数法(两视图)
      • 4.2 代数方法(多视图)
      • 4.3 光束法平差
  • 第七章:运动恢复结构(SFM)系统设计
    • 1. PnP问题(补充知识)
      • 1.1 P3P求解摄像机位姿
    • 2. SFM系统描述
      • 2.1 SFM系统数学描述
    • 3. 两视图SFM重构(两视图欧式结构恢复)
      • 3.1 整体流程
      • 3.2 RANSAC估计基础矩阵
    • 4. 基于增量法的SFM系统(OpenMVG)
  • 第八章:SLAM系统设计
    • 1. SLAM介绍
    • 2. ORB-SLAM系统
      • 2.1 关键词介绍
      • 2.2 跟踪线程
      • 2.3 建图线程
      • 2.4 回环修正线程

第一章:摄像机几何

1. 针孔模型&透镜

1.1 小孔成像原理

当将胶片直接放置在物体前方时,3D物体上的同一点会在胶片的多个位置产生成像;

因此,在物体和胶片之间放置一个带有针孔的隔板时,假设针孔大小只允许穿过一条光线,那么3D物体上的同一点只能有一条光线穿过小孔并在胶片上成像;

此处的小孔相当于就是光圈,光圈的尺寸越大,会有更多的光线穿过小孔,成像会越亮,但是同一个3D点会有多条光线穿过小孔并在胶片上的多个位置(相近)产生成像,导致物体成像模糊。光圈越小,物体成像越清晰,但是亮度也越暗;

1.2 针孔相机数学模型

PPP为空间3D点,P′P^{'}P′为成像后的像平面的2D点

将上面的三维示意图投影到二维平面(k−jk-jk−j平面,垂直于iii轴)后,会产生一对相似三角形:
y′f=yz\frac{y^{'}}{f}=\frac{y}{z}fy′​=zy​
进而得到:
y′=fyzy^{'} = f \frac{y}{z}y′=fzy​

同理,若将将上面的三维示意图投影到二维平面(k−ik-ik−i平面,垂直于jjj轴)后,会产生另一对相似三角形:
x′f=xz\frac{x^{'}}{f}=\frac{x}{z}fx′​=zx​
进而得到:
x′=fxzx^{'} = f \frac{x}{z}x′=fzx​

1.3 透镜

  • 若是采用之前的隔板+小孔的方式,在成像清晰的的情况下,由于通过光线少,图片会非常暗。
  • 当增加透镜之后,透镜会将从同一3D反射的多条光线聚焦到胶片上的同一点,增加了图片的亮度;

(1)焦距

  • 所有平行于光轴的光线都会汇聚到焦点,焦点到透镜中心的距离成为焦距
  • 穿过中心的光线的方向不会发生改变;

(2)近轴折射模型(带透镜的小孔成像模型)

由于过光心的直线映射关系不变,加不加镜头小孔成像模型依然成立。此时,摄像机的焦距(小孔到成像平面的距离)变为:
z′=f+z0z^{'}=f+z_0z′=f+z0​
根据折射定律:
f=R2(n−1)f = \frac{R}{2(n-1)}f=2(n−1)R​
其中,R为透镜球面半径,n为透镜折射系数。

(3)失焦

如上图所示:

  • 3D点P在的光线穿过透镜刚好汇聚于胶片上的一点;
  • 而比点P离透镜更近的一点的光线会汇聚于胶片后一点,则在胶片上就是发散的;
  • 同理,比点P离透镜更远的一点的光线会汇聚于胶片前方一点,则在胶片上也是发散的;

景深:在一定景深范围内,能成清晰的相;离开景深的地方,可能形成虚像,如微距摄像:

(4)径向畸变

径向畸变:图像像素点以畸变中心为中心,沿着径向产生的位置偏差,从而导致图像中所成的像发生形变。其可以分为枕形畸变和桶形畸变两种。

2. 摄像机几何

2.1 摄像机坐标系 - 像素坐标系

(1)3D摄像机坐标系 - 2D CCD坐标系

{x′=fxzy′=fyz\left\{ \begin{aligned} x^{'} = f \frac{x}{z} \\\\ y^{'} = f \frac{y}{z} \end{aligned} \right. ⎩⎨⎧​x′=fzx​y′=fzy​​

(2)2D CCD坐标系 - 2D像素坐标系

{u=fkxz+cxv=flyz+cy\left\{ \begin{aligned} u = fk \frac{x}{z} + c_x\\\\ v = fl \frac{y}{z} + c_y \end{aligned} \right. ⎩⎨⎧​u=fkzx​+cx​v=flzy​+cy​​

CCD坐标系和像素坐标系存在两个不同之处:

  • 坐标系原点不一致:CCD坐标系的远点在图像中心,像素坐标系的原点在左上角,cxc_xcx​和cyc_ycy​就是原点的平移量;
  • 度量单位不一致:CCD坐标系的单位为mmm,像素坐标系的单位为pixel,k,lk, lk,l 分别为 x,yx,yx,y 方向的度量单位变换量,单位为 pixel/mpixel/mpixel/m

将 fkfkfk 和 flflfl 表示为 α和β\alpha 和 \betaα和β可得:

{u=αxz+cxv=βyz+cy\left\{ \begin{aligned} u = \alpha \frac{x}{z} + c_x\\\\ v = \beta \frac{y}{z} + c_y \end{aligned} \right. ⎩⎨⎧​u=αzx​+cx​v=βzy​+cy​​

(3)齐次坐标变换

P′=[uv1]=[αx+cxzβy+cyzz]=[α0cx00βcy00010][xyz1]P^{'}=\begin{bmatrix} u\\ v\\ 1\\ \end{bmatrix}=\begin{bmatrix} \alpha x + c_x z\\ \beta y + c_y z\\ z\\ \end{bmatrix}= \begin{bmatrix} \alpha & 0 & c_x & 0\\ 0 & \beta & c_y & 0\\ 0 & 0 & 1 & 0\\ \end{bmatrix}\begin{bmatrix} x\\ y\\ z\\ 1\\ \end{bmatrix} P′=⎣⎡​uv1​⎦⎤​=⎣⎡​αx+cx​zβy+cy​zz​⎦⎤​=⎣⎡​α00​0β0​cx​cy​1​000​⎦⎤​⎣⎡​xyz1​⎦⎤​

(4)摄像机偏斜


P′=[α−αcotθcx00βsinθcy00010][xyz1]=MP=K[I0]PP^{'}= \begin{bmatrix} \alpha & -\alpha cot \theta & c_x & 0\\ 0 & \frac{\beta}{sin \theta} & c_y & 0\\ 0 & 0 & 1 & 0\\ \end{bmatrix}\begin{bmatrix} x\\ y\\ z\\ 1\\ \end{bmatrix}=MP=K\begin{bmatrix} I & 0\\ \end{bmatrix}P P′=⎣⎡​α00​−αcotθsinθβ​0​cx​cy​1​000​⎦⎤​⎣⎡​xyz1​⎦⎤​=MP=K[I​0​]P

(5)内参数矩阵K

K=[α−αcotθcx0βsinθcy001]K=\begin{bmatrix} \alpha & -\alpha cot \theta & c_x\\ 0 & \frac{\beta}{sin \theta} & c_y\\ 0 & 0 & 1\\ \end{bmatrix}K=⎣⎡​α00​−αcotθsinθβ​0​cx​cy​1​⎦⎤​

  • 其中,KKK是摄像机内参数矩阵,内参数矩阵决定了摄像机坐标系下3D空间点到2D图像点的映射
  • K有个5自由度DOF

(6)规范化摄像机

P′=[xyz]=[100001000010][xyz1]P^{'}=\begin{bmatrix} x\\ y\\ z\\ \end{bmatrix}=\begin{bmatrix} 1 & 0 & 0 & 0\\ 0 & 1 & 0 & 0\\ 0 & 0 & 1 & 0\\ \end{bmatrix}\begin{bmatrix} x\\ y\\ z\\ 1\\ \end{bmatrix}P′=⎣⎡​xyz​⎦⎤​=⎣⎡​100​010​001​000​⎦⎤​⎣⎡​xyz1​⎦⎤​

  • 规范化摄像机下的3D点的欧式坐标和和像素坐标系下的2D点的齐次坐标一致;
  • 此时的3D点对应2D点的欧式坐标为[xzyz]\begin{bmatrix} \frac{x}{z}\\ \frac{y}{z}\\ \end{bmatrix}[zx​zy​​]

2.2 像素坐标系-世界坐标系

(1)投影矩阵

投影矩阵有11个自由度,其中包含5个摄像机内参数+6个摄像机外参数。


(2)投影矩阵性质定理

3. 其他摄像机模型

4. 最小二乘解

4.1 线性方程组的最小二乘解

(1)线性方程组

(2)最小二乘解

4.2 齐次线性方程组的最小二乘解

(1)线性方程组

(2)最小二乘解

4.3 非线性方程组的最小二乘解

第二章:摄像机标定

1. 针孔模型&透镜摄像机标定问题

1.1 摄像机标定

(1)标定目标

摄像机标定:求解摄像机内、外参数矩阵 K [R T];
因为摄像机内外参数矩阵描述了三维世界到二维像素的映射关系;

(2)标定装置

1.2 投影矩阵M求解

(1)标定方程

  • 摄像机内外参数共同构成了投影矩阵,投影矩阵共有11个未知量;
  • 每对点可以列出两个方程,因此,最少需要6对对应点;
  • 实际操作中通常使用多于6对点来获得更加鲁棒的结果;


  • 方程个数 2n2n2n 个,且 n>6n > 6n>6;
  • 未知参数11个;
  • 这是一个超定齐次线性方程组;

(2)投影矩阵M求解



1.2 提取摄像机内参数


M=K[RT]=[KRKT]=[Ab]M=K[R \quad T]=[KR \quad KT]=[A \quad b]M=K[RT]=[KRKT]=[Ab]

考虑投影矩阵M求解时,假定∣∣m∣∣=1||m||=1∣∣m∣∣=1,因此在M前面乘了一个ρ\rhoρ


(1)提取ρ

从上式第三行可得:

∵ρa3T=r3Tand∣r3∣=1∴∣ρ∣∣a3∣=1\begin{aligned} \because \quad &\rho a_3^T = r_3^T \quad and \quad |r_3|=1 \\ \therefore \quad & |\rho||a_3|=1 \\ \end{aligned}∵∴​ρa3T​=r3T​and∣r3​∣=1∣ρ∣∣a3​∣=1​

∴ρ=±1∣a3∣\therefore \quad \rho=\frac{\pm 1}{|a_3|}∴ρ=∣a3​∣±1​

(2)提取u0,v0

∵r1⋅r3=0r2⋅r3=0r3⋅r3=1\begin{aligned} \because \quad & r_1 \cdot r_3=0 \\ \quad \quad & r_2 \cdot r_3=0 \\ \quad \quad & r_3 \cdot r_3=1 \end{aligned}∵​r1​⋅r3​=0r2​⋅r3​=0r3​⋅r3​=1​

∴ρa1T⋅ρa3T=(αr1T−αcotθr2T+u0R3T)⋅r3T=0−0+u0ρa2T⋅ρa3T=(βsinθr2T+v0r3T)⋅r3T=0+v0\begin{aligned} \therefore \quad & \rho a_1^T \cdot \rho a_3^T \\ & =(\alpha r_1^T-\alpha cot \theta r_2^T+u_0 R_3^T) \cdot r_3^T\\ & =0-0+u_0\\\\ & \rho a_2^T \cdot \rho a_3^T \\ & =(\frac{\beta}{sin \theta}r_2^T+v_0r_3^T) \cdot r_3^T\\ & =0+v_0 \end{aligned}∴​ρa1T​⋅ρa3T​=(αr1T​−αcotθr2T​+u0​R3T​)⋅r3T​=0−0+u0​ρa2T​⋅ρa3T​=(sinθβ​r2T​+v0​r3T​)⋅r3T​=0+v0​​

∴u0=ρ2(a1⋅a3)v0=ρ2(a2⋅a3)\begin{aligned} \therefore \quad & u_0=\rho^2(a_1 \cdot a_3)\\ & v_0=\rho^2(a_2 \cdot a_3) \end{aligned}∴​u0​=ρ2(a1​⋅a3​)v0​=ρ2(a2​⋅a3​)​

(3)提取θ

∵r1×r2=r3r1×r3=r2r3×r3=0∣a⃗∣=a⃗T⋅a⃗cotθ=cosθsinθsin2θ+cos2θ=1\begin{aligned} \because \quad & r_1 \times r_2=r_3 \\ & r_1 \times r_3=r_2 \\ & r_3 \times r_3=0\\ & |\vec a|=\sqrt{\vec a^T \cdot \vec a} \\ & cot \theta = \frac{cos \theta}{sin \theta}\\ & sin^2 \theta + cos^2 \theta=1\\ \end{aligned}∵​r1​×r2​=r3​r1​×r3​=r2​r3​×r3​=0∣a∣=aT⋅a​cotθ=sinθcosθ​sin2θ+cos2θ=1​

∴ρ2(a1×a3)=(αr1T−αcotθr2T+u0R3T)×r3T=αr2−αcotθr1ρ2(a2×a3)=(βsinθr2T+v0r3T)×r3T=βsinθr1\begin{aligned} \therefore \quad \rho^2 (a_1 \times a_3) & = (\alpha r_1^T-\alpha cot \theta r_2^T+u_0 R_3^T) \times r_3^T\\ &=\alpha r_2 - \alpha cot \theta r_1 \\ \rho^2 (a_2 \times a_3) & = (\frac{\beta}{sin \theta}r_2^T+v_0r_3^T) \times r_3^T\\ &=\frac{\beta}{sin \theta}r_1 \end{aligned}∴ρ2(a1​×a3​)ρ2(a2​×a3​)​=(αr1T​−αcotθr2T​+u0​R3T​)×r3T​=αr2​−αcotθr1​=(sinθβ​r2T​+v0​r3T​)×r3T​=sinθβ​r1​​

∴ρ2∣a1×a3∣=∣(αr2−αcotθr1)∣=(αr2−αcotθr1)T⋅(αr2−αcotθr1)=α2+(αcotθ)2=α2(1+(cosθsinθ)2)=(αsinθ)2=∣α∣sinθρ2∣a2×a3∣=∣βsinθr1∣=(βsinθr1)T⋅(βsinθr1)=(βsinθ)2=∣β∣sinθ\begin{aligned} \therefore \quad & \rho^2 |a_1 \times a_3|\\ & =|(\alpha r_2 - \alpha cot \theta r_1)|\\ & =\sqrt {(\alpha r_2 - \alpha cot \theta r_1)^T \cdot (\alpha r_2 - \alpha cot \theta r_1)}\\ & =\sqrt {\alpha^2 + (\alpha cot \theta)^2} \\ & =\sqrt {\alpha^2 (1+(\frac{cos \theta}{sin \theta})^2)}\\ & = \sqrt {(\frac{\alpha}{sin \theta})^2}\\ & = \frac{|\alpha|}{sin \theta}\\\\ & \rho^2 |a_2 \times a_3|\\ & = |\frac{\beta}{sin \theta}r_1|\\ & = \sqrt {(\frac{\beta}{sin \theta}r_1)^T \cdot (\frac{\beta}{sin \theta}r_1)}\\ & = \sqrt {(\frac{\beta}{sin \theta})^2}\\ & = \frac{|\beta|}{sin \theta} \end{aligned}∴​ρ2∣a1​×a3​∣=∣(αr2​−αcotθr1​)∣=(αr2​−αcotθr1​)T⋅(αr2​−αcotθr1​)​=α2+(αcotθ)2​=α2(1+(sinθcosθ​)2)​=(sinθα​)2​=sinθ∣α∣​ρ2∣a2​×a3​∣=∣sinθβ​r1​∣=(sinθβ​r1​)T⋅(sinθβ​r1​)​=(sinθβ​)2​=sinθ∣β∣​​

∵ρ2(a1×a3)⋅ρ2(a2×a3)=(αr2−αcotθr1)⋅(βsinθr1)=−αcotθβsinθ=−αcosθsinθβsinθ=−acosθβsin2θρ2∣a1×a3∣⋅ρ2∣a2×a3∣=∣α∣sinθ⋅∣β∣sinθ=∣α∣∣β∣sin2θ\begin{aligned} \because \quad & \rho^2 (a_1 \times a_3) \cdot \rho^2 (a_2 \times a_3)\\ &=(\alpha r_2 - \alpha cot \theta r_1) \cdot (\frac{\beta}{sin \theta}r_1)\\ &=-\alpha cot \theta \frac{\beta}{sin \theta}\\ &=-\alpha \frac{cos \theta}{sin \theta} \frac{\beta}{sin \theta}\\ &=-\frac{a cos \theta \beta}{sin^2 \theta}\\\\ &\rho^2 |a_1 \times a_3| \cdot \rho^2 |a_2 \times a_3|\\ &=\frac{|\alpha|}{sin \theta} \cdot \frac{|\beta|}{sin \theta}\\ &= \frac{|\alpha||\beta|}{sin^2 \theta} \end{aligned}∵​ρ2(a1​×a3​)⋅ρ2(a2​×a3​)=(αr2​−αcotθr1​)⋅(sinθβ​r1​)=−αcotθsinθβ​=−αsinθcosθ​sinθβ​=−sin2θacosθβ​ρ2∣a1​×a3​∣⋅ρ2∣a2​×a3​∣=sinθ∣α∣​⋅sinθ∣β∣​=sin2θ∣α∣∣β∣​​

∴ρ2(a1×a3)⋅ρ2(a2×a3)ρ2∣a1×a3∣⋅ρ2∣a2×a3∣=−acosθβsin2θsin2θ∣α∣∣β∣=−cosθ\begin{aligned} \therefore \quad & \frac{\rho^2 (a_1 \times a_3) \cdot \rho^2 (a_2 \times a_3)}{\rho^2 |a_1 \times a_3| \cdot \rho^2 |a_2 \times a_3|}\\ &=-\frac{a cos \theta \beta}{sin^2 \theta} \frac{sin^2 \theta}{|\alpha||\beta|}\\ &=-cos \theta \end{aligned}∴​ρ2∣a1​×a3​∣⋅ρ2∣a2​×a3​∣ρ2(a1​×a3​)⋅ρ2(a2​×a3​)​=−sin2θacosθβ​∣α∣∣β∣sin2θ​=−cosθ​

∴cosθ=−(a1×a3)⋅(a2×a3)∣a1×a3∣⋅∣a2×a3∣\therefore \quad cos \theta=-\frac{ (a_1 \times a_3) \cdot (a_2 \times a_3)}{ |a_1 \times a_3| \cdot |a_2 \times a_3|}∴cosθ=−∣a1​×a3​∣⋅∣a2​×a3​∣(a1​×a3​)⋅(a2​×a3​)​

如果 θ=90o\theta=90^oθ=90o,则cosθ=0cos \theta=0cosθ=0,所以(a1×a3)⋅(a2×a3)=0(a_1 \times a_3) \cdot (a_2 \times a_3)=0(a1​×a3​)⋅(a2​×a3​)=0,这正时之前提到的投影矩阵M满足零倾斜透视投影的条件;

(4)提取α,β

之前(3)中推导过:
∵ρ2∣a1×a3∣=∣α∣sinθρ2∣a2×a3∣=∣β∣sinθ\begin{aligned} \because \quad & \rho^2 |a_1 \times a_3| = \frac{|\alpha|}{sin \theta}\\\\ & \rho^2 |a_2 \times a_3|= \frac{|\beta|}{sin \theta} \end{aligned}∵​ρ2∣a1​×a3​∣=sinθ∣α∣​ρ2∣a2​×a3​∣=sinθ∣β∣​​

∴α=ρ2∣a1×a3∣sinθβ=ρ2∣a2×a3∣sinθ\begin{aligned} \therefore \quad & \alpha = \rho^2|a_1 \times a_3|sin \theta\\ & \beta = \rho^2|a_2 \times a_3|sin \theta \end{aligned}∴​α=ρ2∣a1​×a3​∣sinθβ=ρ2∣a2​×a3​∣sinθ​

如果 α=β\alpha=\betaα=β,所以 ∣a1×a3∣=∣a2×a3∣|a_1 \times a_3|=|a_2 \times a_3|∣a1​×a3​∣=∣a2​×a3​∣,所以 (a1×a3)⋅(a1×a3)=(a2×a3)⋅(a2×a3)(a_1 \times a_3)\cdot(a_1 \times a_3)=(a_2 \times a_3) \cdot (a_2 \times a_3)(a1​×a3​)⋅(a1​×a3​)=(a2​×a3​)⋅(a2​×a3​),这也是前面提到的零倾斜透视投影的基础上宽高比为1的另一个条件。

1.3 提取摄像机外参数

(1)提取r3

∵ρa3T=r3Tandρ=±1∣a3∣\because \quad \rho a_3^T = r_3^T \quad and \quad \rho=\frac{\pm1}{|a_3|} ∵ρa3T​=r3T​andρ=∣a3​∣±1​

∴r3=±a3∣a3∣\therefore \quad r_3 = \frac{\pm a_3}{|a_3|} ∴r3​=∣a3​∣±a3​​

(2)提取r1

∵ρa2T×ρa3T=(βsinθr2T+v0r3T)×r3T∴ρ2(a2×a3)=βsinθr1\begin{aligned} & \because \quad \rho a_2^T \times \rho a_3^T = (\frac{\beta}{sin \theta} r_2^T + v_0 r_3^T) \times r_3^T\\ & \therefore \quad \rho^2(a_2 \times a_3)=\frac{\beta}{sin \theta}r_1 \end{aligned}​∵ρa2T​×ρa3T​=(sinθβ​r2T​+v0​r3T​)×r3T​∴ρ2(a2​×a3​)=sinθβ​r1​​

因为 r1r_1r1​ 是单位向量,且ρ2,βsinθ为实数\rho^2,\frac{\beta}{sin \theta}为实数ρ2,sinθβ​为实数,
∴r1=(a2×a3)∣a2×a3∣\begin{aligned} & \therefore \quad r_1=\frac{(a_2 \times a_3)}{|a_2 \times a_3|} \end{aligned}​∴r1​=∣a2​×a3​∣(a2​×a3​)​​

(3)提取r2

r2=r3×r1r_2 = r_3 \times r_1r2​=r3​×r1​

(4)提取T

ρ[Ab]=K[RT]=[KRKT]ρb=KTK−1ρb=T\begin{aligned} \rho [A \quad b]=K[R \quad T]&=[KR \quad KT]\\ \rho b &= KT\\ K^{-1}\rho b & = T \end{aligned}ρ[Ab]=K[RT]ρbK−1ρb​=[KRKT]=KT=T​

∴T=ρK−1b\therefore \quad T=\rho K^{-1}b∴T=ρK−1b

1.4 摄像机标定结果

2. 径向畸变摄像机标定

2.1 径向畸变摄像机模型

如下图所示的径向畸变情况下,图像的放大率随距离光轴距离增加而减小:

对于桶形畸变来说,Kp>0K_p>0Kp​>0,则λ>1\lambda >1λ>1;
对于桶形畸变来说,Kp<0K_p<0Kp​<0,则λ<1\lambda <1λ<1;

∴{ui=1λm1Pim3Pivi=1λm2Pim3Pi∴{uiλm3Pi=m1Piviλm3Pi=m2Pi∴{m1Pi−uiλm3Pi=0m2Pi−viλm3Pi=0\begin{aligned} & \therefore \quad \begin{cases} u_i = \frac{1}{\lambda}\frac{m_1P_i}{m_3P_i}\\ v_i = \frac{1}{\lambda}\frac{m_2P_i}{m_3P_i} \end{cases}\\ &\therefore \quad \begin{cases} u_i \lambda m_3 P_i=m_1P_i\\ v_i \lambda m_3 P_i=m_2P_i\\ \end{cases}\\ & \therefore \quad \begin{cases}m_1P_i-u_i \lambda m_3 P_i=0\\ m_2P_i-v_i \lambda m_3 P_i=0\\ \end{cases}\\ \end{aligned}​∴{ui​=λ1​m3​Pi​m1​Pi​​vi​=λ1​m3​Pi​m2​Pi​​​∴{ui​λm3​Pi​=m1​Pi​vi​λm3​Pi​=m2​Pi​​∴{m1​Pi​−ui​λm3​Pi​=0m2​Pi​−vi​λm3​Pi​=0​​

Qm⃗=0Q \vec m=0Qm=0

在第一节中此处列出的公式是:

Pm⃗=0P \vec m=0Pm=0
P是由3D点PiP_iPi​和2D图像点pip_ipi​构成的全是已知数的矩阵,m⃗\vec mm为待求解的投影矩阵,所以这是一个线性方程

而Q里面除了包含由3D点PiP_iPi​和2D图像点pip_ipi​构成的已知数外,还包含未知数λ\lambdaλ,所以Q不是线性方程组

此处即然λ\lambdaλ是未知数,为啥不能把λ\lambdaλ写到待求解的m⃗\vec mm里面呢,因为不同点的λ\lambdaλ是不一样的。

2.2 径向畸变投影矩阵求解

由于从初始解开始迭代的话,若初始解与实际相距较远,可能收敛会很慢。
因此,可以求解系统的线性部分,以找到近似解;适用该解作为整个系统的初始条件。

2.3 求解线性部分m1,m2

核心:通过比值消掉未知数λ\lambdaλ。

3. 2D平面变换

3.1 2D欧式变换


3.2 2D相似变换

均匀伸缩变化如下:

相似变换由缩放变换和欧式变换合成:



3.3 2D仿射变换



3.4 2D透视变换



4. 3D空间变换

4.1 3D欧式变换


4.2 3D仿射变换


4.3 透视变换


第三章:单视测量

相机标定后,也无法从2D图像恢复出3D场景,因为2D点与光心连线上的任意3D点都满足条件。

1. 无穷远点、无穷远线与无穷远平面

1.1 2D平面

(1)2D平面直线

(2)2D平面直线交点

(3)2D平面无穷远点

(4)2D平面无穷远线

1.2 3D空间

(1)3D空间的面

(2)3D空间的直线

(3)3D空间无穷远点

(4)3D空间无穷远平面

2. 影消点与影消线

2.1 2D平面无穷远点和线的变换

(1)2D平面无穷远点的变换

(2)2D平面无穷远线的变换


2.2 影消点

2.3 影消点与直线方向

2.4 影消线


2.5 影消线与平面法向量

2.6 总结

3. 单视重构

3.1 两组平行线的夹角与影消点

3.2 w的性质

3.3 单视图标定举例


由于ω\omegaω具有5个自由度,目前列出的3个方程无法求出ω\omegaω,因此假定摄像机零倾斜且具有方形像素,则ω2=0且ω1=ω3\omega_2=0 且 \omega_1=\omega_3ω2​=0且ω1​=ω3​,此时就可以求出ω\omegaω,进而分解出KKK。

单视图恢复出的三维场景结构,无法恢复场景的实际比例;

第四章:三维重建基础与极几何

由于从单幅视图恢复场景三维结构比较困难,并且,单视图2D到3D的映射具有多义性,如下图所示,从单视图中很难辨别塔是模型还是实物;

1. 双视图与三角化

只要已知直线lll和l′l'l′,则三维点P就是两条直线的交点。因此,只要将直线lll和l′l'l′映射到同一坐标系下,就可以通过P=l×l′P=l \times l'P=l×l′求出点PPP的三维坐标。

此时,问题演变成了:
已知二维像素坐标 ppp 和 p′p'p′,KKK 和 K′K'K′,以及两视图之间的变换矩阵RRR、TTT,
求解P点的三维坐标?

此时存在两种解法:线性解和非线性解;

1.1 线性解

1.2 非线性解

最小化重投影误差

1.3 实际情况中的问题定义

  • 在实际情况中,由于噪声的存在,两条直线通常不相交;
  • 且上述的线性解和非线性解都需要已知KKK 和 K′K'K′,RRR、TTT;
  • 然而,实际情况中,摄像机的内参KKK 和 K′K'K′和两视图之间的变换矩阵RRR、TTT通常不可知,那么实际情况就变成了如下的问题:
    • 问题1:已知ppp和p′p'p′,摄像机内参数KKK和K′K'K′,
    • 求解:摄像机的RRR、TTT以及P点的三维坐标?
    • 问题2:已知ppp和p′p'p′
    • 求解:摄像机内参数KKK和K′K'K′,摄像机的RRR、TTT以及P点的三维坐标?

1.4 多视图几何的关键问题

  • 摄像机几何:从一张或者多张图像中求解摄像机的内、外参数;
  • 场景几何:通过二至多幅图寻找3D场景坐标;
  • 对应关系:已知一个图像中的ppp点,如何在另外一个图像中找到p′p'p′点;

2. 极几何与基础矩阵

2.1 极几何

极几何描述了同一场景或者物体的两个视点图像间的几何关系;

极几何可以将对应点搜索范围缩小到对应的极线上;

(1)极几何特例——平行视图

(2)极几何特例——前向平移(无旋转)

2.2 本质矩阵

本质矩阵对规范化摄像机拍摄的两个视点图像间的极几何关系进行代数描述;

p′p'p′和O2O_2O2​在O1O_1O1​坐标系下的坐标为:
p′=Rp′∗+Tp′∗=RT(p′−T)=RTp′−RTT\begin{aligned} p' & =Rp^{'*} +T \\ p^{'*} & =R^T(p'-T) \\ & =R^Tp'-R^TT \\ \end{aligned}p′p′∗​=Rp′∗+T=RT(p′−T)=RTp′−RTT​
∵O2=[000]TO2∗=−RTT\begin{aligned} \because O_2 & =[0 \quad 0 \quad 0 ]^T \\ O^{*}_{2} & =-R^TT \\ \end{aligned}∵O2​O2∗​​=[000]T=−RTT​

对两个向量进行叉乘:
O1p′∗→×O1O2∗→=(RTp′−RTT)×(−RTT)=RTT×RTp′\begin{aligned} \overrightarrow{O_1 p^{'*}} \times \overrightarrow{O_1 O^{*}_2} & = (R^Tp'-R^TT) \times (-R^TT) \\ & = R^TT \times R^T p' \\ \end{aligned}O1​p′∗​×O1​O2∗​​​=(RTp′−RTT)×(−RTT)=RTT×RTp′​

得到的向量垂直于 O1O2PO_1O_2PO1​O2​P 极平面,因此可得:
[RTT×RTp′]T⋅p=0[RT⋅(T×p′)]T⋅p=0(T×p′)T⋅R⋅p=0([T×]⋅p′)T⋅R⋅p=0p′T⋅[T×]⋅R⋅p=0p′T⋅[T×R]⋅p=0p′T⋅E⋅p=0\begin{aligned} & [R^TT \times R^T p']^T \cdot p=0 \\ & [R^T \cdot (T \times p')]^T \cdot p=0\\ & (T \times p')^T \cdot R \cdot p=0\\ & ([T_{\times}] \cdot p')^T \cdot R \cdot p=0\\ & p^{'T} \cdot [T_{\times}] \cdot R \cdot p=0\\ & p^{'T} \cdot [T \times R] \cdot p=0\\ & p^{'T} \cdot E \cdot p=0\\ \end{aligned}​[RTT×RTp′]T⋅p=0[RT⋅(T×p′)]T⋅p=0(T×p′)T⋅R⋅p=0([T×​]⋅p′)T⋅R⋅p=0p′T⋅[T×​]⋅R⋅p=0p′T⋅[T×R]⋅p=0p′T⋅E⋅p=0​

最终,本质矩阵E=T×R=[T×]RE=T \times R = [T_{\times}] RE=T×R=[T×​]R

2.3 基础矩阵

基础矩阵对一般的透视摄像机拍摄的两个视点的图像间的极几何关系进行代数描述。

推导思路:将一般相机变换到规范化相机,用本质矩阵来表达;
p=K[I0]PK−1p=[I0]P\begin{aligned} p & = K[I \quad 0]P \\ K^{-1}p & = [I \quad 0]P \end{aligned}pK−1p​=K[I0]P=[I0]P​
则规范化相机下左右两视图的像素点坐标演变为:
pc=K−1ppc′=K′−1p′\begin{aligned} p_c & = K^{-1}p \\ p_c^{'} & = K^{'-1}p' \\ \end{aligned}pc​pc′​​=K−1p=K′−1p′​
带入本质矩阵:
pc′TEpc=pc′T⋅[T×]R⋅pc=(K′−1p′)T⋅[T×]R⋅K−1p=p′TK′−T[T×]RK−1p=p′TFp\begin{aligned} p_c^{'T}Ep_c & = p_c^{'T} \cdot [T_{\times}] R \cdot p_c \\ & =(K^{'-1}p')^T \cdot [T_{\times}] R \cdot K^{-1}p \\ & = p^{'T}K^{'-T} [T_{\times}] R K^{-1}p \\ & = p^{'T}Fp \end{aligned}pc′T​Epc​​=pc′T​⋅[T×​]R⋅pc​=(K′−1p′)T⋅[T×​]R⋅K−1p=p′TK′−T[T×​]RK−1p=p′TFp​

最终基础矩阵F为:
F=K′−T[T×]RK−1F=K^{'-T} [T_{\times}] R K^{-1}F=K′−T[T×​]RK−1

3. 基础矩阵估计

3.1 八点法

p′TFp=0p^{'T}Fp=0p′TFp=0

F有7个自由度,理论上7点可以解出F,但计算比较复杂;

(1)单点方程矩阵形式展开:

(2)选取八个点,列出齐次线性方程:
(3)最小二乘求解:

通常N>8N>8N>8,为超定方程组,采用最小二乘求解:

(4)满秩矩阵分解:

上述经过最小二乘估计得到的F^\hat FF^通常秩为3,为满秩矩阵,但基础矩阵FFF的秩为2。

(5)八点法求解总结


(6)八点法存在的问题

  • W矩阵中各个元素的数值差异过大;
  • SVD分解有数值计算问题
  • 导致求解结果通常有10+pixel左右的误差;

3.2 归一化八点法

对每幅图像施加变换T(平移与缩放),让其满足如下条件:

  • 原点 = 图像上点的重心;
  • 各个像点到坐标原点的均方根距离等于2\sqrt 22​;

归一化八点法的计算步骤如下:

归一化八点法的精度高,推荐使用;

4. 单应矩阵

单应矩阵描述空间中的平面在两个摄像机下的投影几何;

4.1 单应矩阵推导

4.2 单应矩阵估计

4.3 单应矩阵性质

第五章:双目立体视觉

1. 基于平行视图的双目立体视觉

1.1 平行视图基础矩阵

由于 e′e'e′ 是 O2O_2O2​ 在右视图的投影,可以列出如下等式:

给予叉乘性质(对于任何向量α\alphaα,如果BBB可逆,相差一个尺度情况下):
[a×]B=B−T[(B−1α)×][a_{\times}]B=B^{-T}[(B^{-1}\alpha)_{\times}][a×​]B=B−T[(B−1α)×​]

另 α=T\alpha=Tα=T,B=K′−1B=K^{'-1}B=K′−1,则:
[T×]K′−1=K′T[(K′T)×][T×]=K′T[(K′T)×]K′\begin{aligned} [T_\times]K^{'-1} & =K^{'T}[(K'T)_\times] \\ [T_\times] & =K^{'T}[(K'T)_\times]K' \\ \end{aligned}[T×​]K′−1[T×​]​=K′T[(K′T)×​]=K′T[(K′T)×​]K′​

将[T×][T_\times][T×​]带入到基础矩阵F中:
F=K′−T[T×]RK−1=K′−TK′T[(K′T)×]K′RK−1=[(K′T)×]K′RK−1=[e×′]K′RK−1\begin{aligned} F & =K^{'-T} [T_{\times}] R K^{-1} \\ & =K^{'-T} K^{'T}[(K'T)_\times]K' R K^{-1} \\ & = [(K'T)_\times]K' R K^{-1}\\ & = [e'_\times]K' R K^{-1} \\ \end{aligned}F​=K′−T[T×​]RK−1=K′−TK′T[(K′T)×​]K′RK−1=[(K′T)×​]K′RK−1=[e×′​]K′RK−1​

最终推导得到:
F=[e×′]K′RK−1F = [e'_\times]K' R K^{-1} F=[e×′​]K′RK−1

在平行视图中,满足以下条件:

  • 相机相同:K=K′K=K'K=K′;
  • 无旋转:R=IR=IR=I;
  • 仅xxx方向平移:T=[T00]T=\begin{bmatrix} T\\ 0\\ 0\\ \end{bmatrix}T=⎣⎡​T00​⎦⎤​;
  • 无穷远极点:e′=[100]e'=\begin{bmatrix} 1\\ 0\\ 0\\ \end{bmatrix}e′=⎣⎡​100​⎦⎤​;
    因此:

1.2 平行视图极几何

(1)平行视图极线

极线是水平的,平行于uuu轴!

(2)平行视图对应点搜索

对应点 ppp 和 p′p'p′ 的 vvv 坐标是一样的;
因此,p′p'p′点只需要在ppp点的vvv坐标所在的线寻找即可;

1.3 平行视图三角测量

利用三角形相似原理,可以得到
pu−pu′f=BZ\frac{p_u-p_u'}{f}=\frac{B}{Z}fpu​−pu′​​=ZB​
pu−pu′=B⋅fZp_u-p_u'=\frac{B \cdot f}{Z}pu​−pu′​=ZB⋅f​

由此可得:视差与深度Z成反比!
也就是说,物体离人眼越远,左右眼观察到的图像越相似;

“视差与深度Z成反比”这个结论可以方便我们从视差图中推导得到深度图。(如下图所示,视差图颜色越暗,距离双目摄像机越远)

2. 图像校正

在平行视图中,可以很方便利用视差获取深度图,但是,再实际构建的双目立体视觉系统中,如何保证两个视图是完全平行的呢,这就需要进行图像校正。

校正结果如下:

3. 对应点搜索

图像校正,p′p'p′点直接演着扫描线寻找即可;

3.1 相关匹配

相关法不适用于亮度变化明显的case;

3.2 归一化相关匹配

匹配时采用的窗口大小的影响:

  • 当窗口较小时,细节比较丰富,但噪声更多;
  • 当噪声较大时,视差图更平滑,噪声更少,但丢失了细节;

3.3 相关法存在问题

(1)透视缩短

(2)遮挡

(3)基线选择

  • 为了减少透视缩短和遮挡的影响,希望有更小的B/Z(基线深度比)比值;
  • 但是,当B/Z太小时,对应点匹配的小误差意味着估算深度的大误差;

(4)当存在同质区域或者重复模式时,相关法会失效;

第六章:多视图几何

1. 运动恢复结构问题

三种典型的运动恢复结构任务包括:

  • 欧式结构回复(摄像机内参数已知,外参数未知)
  • 仿射结构恢复(摄像机为仿射像机,内外参数均未知)
  • 透视结构恢复(摄像机为透视相机,内外参数均未知)

2. 欧式结构恢复

2.1 欧式结构恢复问题定义

2.2 两视图欧式结构恢复

  • 以左视图为参考坐标系,则左视图[RT]=[I0][R \quad T]=[I \quad 0][RT]=[I0],并且摄像机内参数已知,那么左视图投影矩阵M1M_1M1​已知;
  • 当右视图的投影矩阵也已知时,便可以利用三角化(线性解或非线性解)求解得到三维点的坐标;
  • 但是,我们只知道右视图的摄像机内参数,并不知道右视图相对于左视图的外参数[RT][R \quad T][RT],因此无法直接使用三角化求解,必须先求解右视图的[RT][R \quad T][RT]。

具体求解步骤如下:


(1)求解基础矩阵F

(2)求解本质矩阵

(3)分解本质矩阵——求解[RT][R \quad T][RT]

(4)三角化

2.3 欧式结构恢复歧义

歧义:恢复的结构与真实场景之间相差一个相似变化(旋转、平移、缩放);

度量重构:这种恢复的场景与真实场景之间仅存在相似变换的重构称为度量重构;

3. 仿射结构恢复

3.1 仿射结构恢复问题定义

3.2 基于因式分解的仿射结构恢复

(1)数据中心化

(2)因式分解

3.3 仿射结构恢复歧义

D=MS=(MH)(H−1S)=M∗S∗D=MS=(MH)(H^{-1}S)=M^*S^*D=MS=(MH)(H−1S)=M∗S∗

仿射结构恢复分解不唯一,存在歧义,歧义可以有任意的3×33\times 33×3可逆矩阵H表达;

4. 透视结构恢复

4.1 代数法(两视图)


(1)求解基础矩阵F

(2)估计摄像机矩阵M1M_1M1​、M2M_2M2​


(3)三角化

4.2 代数方法(多视图)

分别对每一个图像对计算运动与结构,然后进行增量法构建:

4.3 光束法平差

  • 在仿射变换结构恢复所采用的因式分解法中,需要假定所有3D点在所有摄像机均是可见的,因此当存在遮挡,或者建立对应点关系失败时,能够用于构建观测矩阵D的点很少,重建出来的点数就很少;
  • 透视结构恢复采用代数法求解,容易出现误差的累积;

光束法平差通过最小化重投影误差来恢复运动和结构,是一种非线性解法;

第七章:运动恢复结构(SFM)系统设计

1. PnP问题(补充知识)

1.1 P3P求解摄像机位姿

2. SFM系统描述

2.1 SFM系统数学描述

3. 两视图SFM重构(两视图欧式结构恢复)

3.1 整体流程

3.2 RANSAC估计基础矩阵

4. 基于增量法的SFM系统(OpenMVG)

第八章:SLAM系统设计

1. SLAM介绍

Simultaneous Localization and Mapping(SLAM):同时定位和建图

  • Localization:传感器的位置和姿态;
  • Mapping:地图构建
  • 应用场景:定位、导航、避障、重建、交互

SLAM传感器分类:

  • 携带于机器人本体的,例如轮式编码器、相机、激光等;
    安装于环境中的,如导轨、二维码标识等;

开源SLAM方案

2. ORB-SLAM系统

同时运行三个线程:

  • 跟踪:确定当前帧位姿;
  • 建图:完成局部地图构建;
  • 回环修正:回环检测以及基于回环信息修正系统漂移;

2.1 关键词介绍

(1)地图点

  • 世界坐标系下的3D点坐标;
  • 观测方向,即所有可以观测到该特征点的视图所产生的观测方向均值;
  • ORB特征描述子;
  • 该点能被观测到的最大距离与最小距离;

(2)关键帧

  • 摄像机位姿;
  • 内参数;
  • 该帧中提取到的全部ORB特征描述子,以及它们和地图点之间的对应关系;

(3)共视图

一种有向无权图,节点为关键帧,如两个节点共享的地图点数量大于阈值(至少15个),则存在一条边,边的权重设置为共享地图点的个数。

(4)本质图

是共视图的子图,保留所有节点,边数量相较于共视图更少,尽量减少边,其作用是加速回环校正的计算。
本质图=生成树+共视图边权重超过100的边+回环边

2.2 跟踪线程

跟踪(Tracking):给定当前帧,从图像提取ORB特征,根据上一帧估计当前帧姿态,估计失败时,尝试全局重定位初始化位姿,构建局部地图进一步优化位姿,并确定是否设置成关键帧。

2.3 建图线程

建图(LocalMapping):完成局部地图构建。包括对关键帧的插入,验证最近生成的地图点并进行筛选,然后生成新的地图点,实用局部光束法平差(Local BA),最后再对插入的关键帧进行筛选,去除多余的关键帧。

2.4 回环修正线程

回环修正(LoopClosing):包含闭环检测和闭环校正两步。闭环探测先使用词袋模型找到闭环图片,然后通过Sim3算法计算相似变换。闭环校正主要是闭环融合和Essential Graph的图优化。

计算机视觉之三维重建——深入浅出SFM系统与SLAM系统的核心算法相关推荐

  1. 计算机视觉之三维重建-SFM系统

    SFM系统 1.PnP问题 2. RANSAC拟合 3.本质矩阵与单应矩阵 4.sift特征提取 *2视图欧式结构恢复求解流程 *openMVG系统 Tracks 联通图 计算流程 北邮三维重建课笔记 ...

  2. 据我所知,这是第一个完整实现运动分割、动态目标追踪等的「开源」动态SLAM系统!...

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 今天给大家分享一篇最新文章,VDO-SLAM :一种动态目标感知的视觉SLAM系统,原文名称 VDO- ...

  3. 《计算机视觉之三维重建》笔记1-数学基础

    2012年就接触了三维视觉和SLAM,monoSLAM,基于EKF的.当时这个方向还没有起来,现在在ARVR.机器人.自动驾驶中都需SLAM技术.疫情出不去,居家办公之余,决定重温一下三维视觉和SLA ...

  4. 用于自动驾驶的混合稀疏-稠密单目SLAM系统

    点击上方"计算机视觉工坊",选择"星标" 干货第一时间送达 作者丨泡椒味的口香糖 来源丨 GiantPandaCV 0. 引言 随着自动驾驶系统的推广,越来越多 ...

  5. 《计算机视觉之三维重建》笔记3-单视几何

    北邮鲁鹏老师的课程<计算机视觉之三维重建(深入浅出sfm和SLAM核心算法)> 笔记 3,单视几何 3.1 2D 直线 平面上直线用 l = ( a , b , c ) T l=(a,b, ...

  6. VDO-SLAM :一种动态目标感知的视觉SLAM系统

    VDO-SLAM :一种动态目标感知的视觉SLAM系统 (VDO-SLAM :A Visual Dynamic Object-aware SLAM System) 论文地址:https://arxiv ...

  7. 任意多相机系统的SLAM重设计

    点击上方"小白学视觉",选择加"星标"或"置顶" 重磅干货,第一时间送达 本文转自:计算机视觉life 前言 在SLAM系统中增加更多的相机 ...

  8. (转载)动态SLAM系统:VDO-SLAM!

    动态SLAM系统:VDO-SLAM!  这篇博客是转载 计算机视觉life 公众号中的文章.这篇文章是对VDO-SLAM论文的全文翻译,是 !!真人工翻译!!不是机器翻译,我看了之后觉得挺好,所以分享 ...

  9. 论文简述 | CamVox: 一种低成本、高精度的激光雷达辅助视觉SLAM系统

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 摘要 将激光雷达与基于相机的同步定位和建图(SLAM)相结合是提高整体精度的有效方法,尤其是在大规模室 ...

最新文章

  1. 机器学习 阴性集的选择 —— drug-target interactions (DTIs)
  2. media适配css
  3. AMD宣布裁员7% 约710员工将失去工作
  4. 【ElasticSearch】es 线程池 ThreadPool 的封装
  5. 利用Office加载项进行持久化控制的6种姿势
  6. TokenInsight:反映区块链行业整体表现的TI指数较昨日同期上涨3.55%
  7. Deploy Oracle 10.2.0.5 on Red Hat Enterprise Linux 6.4
  8. (void) (_x == _y)
  9. 购物网站首页设计(HTML CSS JS layui )
  10. Matlab sym syms
  11. 从官网下载mod_jk.so
  12. 兴趣题:猴子吃桃问题
  13. Causal Reasoning from Meta-reinforcement Learning(自用笔记)
  14. 老毛桃装ubuntu
  15. html表单的基本结构
  16. KSM(Kernel Samepage Merging) 剖析:Linux 内核中的内存去耦合
  17. 某某文学网站小说爬虫
  18. 计算机主机寿命多长,一般电脑的寿命是多久
  19. 我的世界服务器清道夫不显示,我的世界清道夫指令 | 手游网游页游攻略大全
  20. GO语言reflect反射篇

热门文章

  1. 英语教师计算机研修总结,英语教师个人研修总结范文
  2. Excel基础—Office2019安装
  3. GeoServer结合FWTools切片工具发布影像金字塔切片
  4. phonegap-百度社会化分享-andriod插件-v2.0
  5. 力扣刷题1、7、9(小小白亲测,Bug你准没我的多,hhh)
  6. ElasticsearchBboss MySQL 同步数据到Elasticsearch
  7. 性能优化的 10 个技巧
  8. 年仅28岁的程序员宣布从字节跳动退休,他是如何实现财务自由的?
  9. 教资(信息技术学科知识与教学能力)13-1信息技术课程知识
  10. 蚂蚁金服 Service Mesh 双十一实战