目录

多视图几何-恢复相机位姿内参的几种方法

多视图几何–恢复相机位姿/内参的几种方法

恢复相机位姿的几种方法

1分解投影矩阵

1.1投影矩阵分解为相机内外参矩阵的完整解析

投影矩阵(Projection Matrix)是计算机视觉中将三维世界点映射到二维像素坐标的核心工具,其本质是相机内参矩阵(Intrinsic Matrix)和外参矩阵(Extrinsic Matrix)的联合作用。


一、投影矩阵的数学构成

投影矩阵

P P

P 是一个

3 × 4 3 \times 4

3

×

4 的矩阵,其表达式为:

P

K ⋅ [ R   ∣   t ] P = K \cdot [R \ | \ t]

P

=

K

[

R

t

]

其中:

  • K K

    K 是内参矩阵(

    3 × 3 3 \times 3

    3

    ×

    3 ),包含焦距

    f x , f y f_x, f_y

    f

    x

    ,

    f

    y

    和主点坐标

    ( c x , c y ) (c_x, c_y)

    (

    c

    x

    ,

    c

    y

    ) ,形式为:

    K

    [ f x 0 c x 0 f y c y 0 0 1 ] K = \begin{bmatrix} f_x & 0 & c_x \ 0 & f_y & c_y \ 0 & 0 & 1 \end{bmatrix}

    K

    =

    f

    x

    0

    0

    0

    f

    y

    0

    c

    x

    c

    y

    1

  • [ R   ∣   t ] [R \ | \ t]

    [

    R

    t

    ] 是外参矩阵(

    3 × 4 3 \times 4

    3

    ×

    4 ),由旋转矩阵

    R R

    R (

    3 × 3 3 \times 3

    3

    ×

    3 )和平移向量

    t t

    t (

    3 × 1 3 \times 1

    3

    ×

    1 )组成,表示世界坐标系到相机坐标系的变换。

关键性质

  1. 投影矩阵前三列

    P [ : , 1 : 3 ] P_{[:,1:3]}

    P

    [

    :

    ,

    1

    :

    3

    ]

    对应

    K ⋅ R K \cdot R

    K

    R ,第四列

    P [ : , 4 ] P_{[:,4]}

    P

    [

    :

    ,

    4

    ]

    对应

    K ⋅ t K \cdot t

    K

    t 。

  2. 任何非奇异的前三列矩阵均可通过分解唯一确定

    K K

    K 和

    R R

    R 。


二、分解步骤与数学方法
1. 分离内参矩阵 K K K 和外参旋转矩阵 R R R

对投影矩阵的前三列进行 RQ分解 (或等效的 QR分解 ):

K ⋅ R

P [ : , 1 : 3 ] ⇒ RQ分解 ⇒ K , R K \cdot R = P_{[:,1:3]} \quad \Rightarrow \quad \text{RQ分解} \quad \Rightarrow \quad K, R

K

R

=

P

[

:

,

1

:

3

]

RQ

分解

K

,

R

  • RQ分解 :将矩阵分解为一个上三角矩阵(对应内参

    K K

    K )和一个正交矩阵(对应旋转

    R R

    R )。由于

    K K

    K 是上三角矩阵,

    R R

    R 是正交矩阵(满足

    R T R

    I R^T R = I

    R

    T

    R

    =

    I ),此分解是唯一的。

  • 验证分解结果

    • 检查

      K K

      K 的最后一行为

      [ 0 , 0 , 1 ] [0, 0, 1]

      [

      0

      ,

      0

      ,

      1

      ] ,否则需对矩阵进行归一化。

    • 若分解后

      R R

      R 的行列式不为

      1 1

      1 (即非旋转矩阵),需调整符号以保证其为合法旋转矩阵。

2. 求解平移向量 t t t

从投影矩阵第四列提取

K ⋅ t K \cdot t

K

t ,并通过逆运算得到平移向量:

t

K − 1 ⋅ P [ : , 4 ] t = K^{-1} \cdot P_{[:,4]}

t

=

K

1

P

[

:

,

4

]

示例 :若

K

[ f x 0 c x 0 f y c y 0 0 1 ] K = \begin{bmatrix} f_x & 0 & c_x \ 0 & f_y & c_y \ 0 & 0 & 1 \end{bmatrix}

K

=

f

x

0

0

0

f

y

0

c

x

c

y

1

,则

K − 1

[ 1 / f x 0 − c x / f x 0 1 / f y − c y / f y 0 0 1 ] K^{-1} = \begin{bmatrix} 1/f_x & 0 & -c_x/f_x \ 0 & 1/f_y & -c_y/f_y \ 0 & 0 & 1 \end{bmatrix}

K

1

=

1/

f

x

0

0

0

1/

f

y

0

c

x

/

f

x

c

y

/

f

y

1

3. 分解的唯一性与约束条件
  • 尺度等价性 :投影矩阵

    P P

    P 的尺度不确定性(即

    P P

    P 和

    λ P \lambda P

    λ

    P 等价)需通过附加约束(如焦距的物理单位)确定。

  • 非奇异条件 :分解要求

    P P

    P 的前三列矩阵非奇异(即

    det ⁡ ( P [ : , 1 : 3 ] ) ≠ 0 \det(P_{[:,1:3]}) \neq 0

    det

    (

    P

    [

    :

    ,

    1

    :

    3

    ]

    )

    =

    0 )。


2分解单应矩阵

2.1世界坐标到像素坐标

当世界坐标为平面时,投影矩阵此时为特殊的单应矩阵,利用张正友标定法原理可以求解相机位姿。

2.2像素坐标到像素坐标

当单应矩阵描述两张照片的射影关系时,有数值法和解析法:

《Motion and structure from motion in a piecewise planar environment》

《3d reconstruction based on homography mapping》

《Deeper understanding of the homography decomposition for vision based control》


3分解本质矩阵

3.1 基本矩阵分解得到相机位姿的完整解析

在双目视觉或多视图几何中,基本矩阵(Fundamental Matrix)描述了不同视角间图像点对应的对极几何约束关系。分解基本矩阵以恢复相机位姿(旋转矩阵

R R

R 和平移向量

t t

t )是三维重建与SLAM系统的核心步骤。以下结合数学推导、分解方法及工程实践,详细阐述其实现过程。


一、基本矩阵与本质矩阵的关系

基本矩阵

F F

F 和本质矩阵

E E

E 是理解对极几何的关键:

  1. **基本矩阵

    F F

    F** :

    定义两视图间的对极约束关系,满足:

    x ′ T F x

    0 \mathbf{x}’^T F \mathbf{x} = 0

    x

    T

    F

    x

    =

    0

    其中

    x \mathbf{x}

    x 和

    x ′ \mathbf{x}'

    x

    ′ 为归一化平面坐标点。

  2. **本质矩阵

    E E

    E** :

    当相机内参

    K K

    K 已知时,

    E E

    E 与

    F F

    F 的关系为:

    E

    K T F K E = K^T F K

    E

    =

    K

    T

    F

    K

    E E

    E 可分解为旋转矩阵

    R R

    R 和平移向量

    t t

    t 的组合:

    E

    [ t ] × R E = [t]_\times R

    E

    =

    [

    t

    ]

    ×

    R

    其中

    [ t ] × [t]_\times

    [

    t

    ]

    ×

    为平移向量

    t t

    t 的斜对称矩阵。


二、分解本质矩阵的数学步骤
1. 奇异值分解(SVD)

对本质矩阵

E E

E 进行SVD分解:

E

U Σ V T E = U \Sigma V^T

E

=

U

Σ

V

T

其中

Σ

diag ( σ 1 , σ 2 , 0 ) \Sigma = \text{diag}(\sigma_1, \sigma_2, 0)

Σ

=

diag

(

σ

1

,

σ

2

,

0

) ,

σ 1 ≈ σ 2 \sigma_1 \approx \sigma_2

σ

1

σ

2

。根据Hartley的归一化方法,

Σ \Sigma

Σ 可替换为

diag ( 1 , 1 , 0 ) \text{diag}(1,1,0)

diag

(

1

,

1

,

0

) 以消除尺度影响。

2. 构造候选解

分解后,旋转矩阵

R R

R 和平移向量

t t

t 的可能组合为:

R

U W V T 或 R

U W T V T R = U W V^T \quad \text{或} \quad R = U W^T V^T

R

=

U

W

V

T

R

=

U

W

T

V

T

t

U ⋅ 3 或 t

− U ⋅ 3 t = U_{\cdot 3} \quad \text{或} \quad t = -U_{\cdot 3}

t

=

U

3

t

=

U

3

其中:

W

[ 0 − 1 0 1 0 0 0 0 1 ] W = \begin{bmatrix} 0 & -1 & 0 \ 1 & 0 & 0 \ 0 & 0 & 1 \end{bmatrix}

W

=

0

1

0

1

0

0

0

0

1

这会产生 四组候选解

( R 1 , t 1 ) , ( R 1 , − t 1 ) , ( R 2 , t 1 ) , ( R 2 , − t 1 ) (R_1, t_1), (R_1, -t_1), (R_2, t_1), (R_2, -t_1)

(

R

1

,

t

1

)

,

(

R

1

,

t

1

)

,

(

R

2

,

t

1

)

,

(

R

2

,

t

1

) 。

3. 解的唯一性筛选

通过 正深度约束 筛选正确解:

  1. 对匹配点对

    x ↔ x ′ \mathbf{x} \leftrightarrow \mathbf{x}'

    x

    x

    ′ ,计算三角化后的3D点

    P P

    P 在相机坐标系下的深度

    Z Z

    Z 。

  2. 若所有点的深度

    Z Z

    Z 均为正,则该解为物理可行解。

  3. 若存在多组可行解,需结合多视图几何或先验信息进一步判断。

4PnP方法

通过已知的3d点和对应的2d点,直接求解相机位姿,主要有直接线性变换,p3p,EPnP,BA等。

参考:

MVG

slam14讲