Homography变换

0 具体做法

code: MaskTheFace

  • 通过人脸关键点检测模型,可以得到特定点的像素坐标\(\{\vec{x_1}, \vec{x_2}, .., \vec{x_n}\}\)
  • 找到口罩戴在脸上,特定点在口罩图像上的像素坐标\(\{\vec{y_1}, \vec{y_2}, ..., \vec{y_n}\}\)
  • 通过homography变换,将口罩“贴”在人脸图像上

1 透视投影: Perspective Projection

介绍针孔相机模型前,我们需要对以下4个坐标系有所区分:

  • 世界坐标系
  • 相机坐标系
  • 图像坐标系(and 归一化图像坐标系)
  • 像素坐标系

世界坐标系—> 相机坐标系的转换,涉及到相机外参\(R\)\(T\)
相机坐标系—> 图像坐标系的转换,涉及到相机内参\(f\)
图像坐标系—> 像素坐标系的转换,设计到相机内参\(s_x、s_y、s_\theta、o_x、o_y\)

1.1 针孔相机模型

假设相机坐标系下点P的坐标是\([X, Y, Z]\),对应像平面上的点是\(p = [x, y]\),焦距为f,根据相似三角形可以得到从相机坐标系到图像坐标系的变换。(还没到像素坐标系)
image

\[ \begin{aligned} \left\{\begin{array}{l} \frac{f}{Z} =\frac{x}{X} \\ \frac{f}{Z}=\frac{y}{Y} \\ \end{array}\right. \Rightarrow \left\{\begin{array}{l} x=f \cdot \frac{x}{Z} \\ y=f \cdot \frac{Y}{Z} \end{array}\right.\\ \end{aligned} \]

\[\begin{aligned} Z\left[\begin{array}{l} x \\ y \\ 1 \end{array}\right] &=\left[\begin{array}{lll} f & 0 & 0 \\ 0 & f & 0 \\ 0 & 0 & 1 \end{array}\right]\left[\begin{array}{l} X \\ Y \\ Z \end{array}\right] \end{aligned} \]

用齐次坐标系表示,可以写成下面的形式:
image

1.2 各坐标系的变换——相机内参和外参

相机外参是相机的刚体运动,体现在世界坐标系到相机坐标系的坐标变换。相机内参体现在相机坐标系到图像坐标系到像素坐标系的变换。这部分内容也可参考TUM的PPT。
image
image

参考资料:
《Multiview Geometry Chapter 3——Perspective Projection》(TUM)

2 对极几何

根据两组2D点估计相机运动,可以使用对极几何求解
根据两组3D点估计相机运动,可以使用迭代最近点ICP求解

image
image
image

下面这张PPT需要注意两点:

  • \(x_1\)\(x_2\)归一化像平面上的坐标。
  • 对于向量\(u \in R^{3}\), 它的反称矩阵左乘一个向量,相当于它叉乘该向量。(右手法则)

\[\widehat{u}=\left(\begin{array}{ccc} 0 & -u_{3} & u_{2} \\ u_{3} & 0 & -u_{1} \\ -u_{2} & u_{1} & 0 \end{array}\right) \in \mathbb{R}^{3 \times 3}\]

\[\widehat{u} v=u \times v \]

image
image

参考资料:
《Multiview Geometry Chapter 5——Reconstruction from Two Views: Linear Algorithms》(TUM)

3 单应性变换

image
image

上面第一张PPT的第一个公式可以用下面这幅图来解释。
image

参考资料:
《Multiview Geometry Chapter 5——Reconstruction from Two Views: Linear Algorithms》(TUM)

posted @ 2021-11-21 11:25  渐渐的笔记本  阅读(349)  评论(0编辑  收藏  举报