平面方程

对于空间平面方程,可以使用点法式。设\(\mathbf{n} = [a, b, c]^T\)为平面法向量,平面内任意两点组成的向量\(\mathbf{xx_0} = [x-x_0, y - y_0, z - z_0]^T\).由垂直向量点乘得:

\[ \begin{aligned} \mathbf{n} \cdot \mathbf{xx_0} &= \mathbf{n}^T \mathbf{xx_0} \\ &= a(x - x_0) + b(y - y_0) + c(z - z_0) \\ &= ax + by + cz + (-ax_0 - ay_0 - az_0)\\ &= 0 \\ \end{aligned} \]

点\(\mathbf{p} = [x_1, y_1, z_1]^T\)到平面内的距离(D)由相关证明可得到:

\[ D = \frac{ax_1 + by_1 + cz_1 + d}{\sqrt{a^2 + b^2 + c^2}} \]

若法向量为单位向量,则:

\[ D = \mathbf{n}^T p + d \]

Text Feature 参数化

对于点p的参数化,已知图像平面点\(m = [u, v, 1]^T\)以及逆深度\(\rho = \frac{1}{h}\)则点的坐标:

\[ p = [uh, vh, h]^T = h\mathbf{m} = \frac{\mathbf{m}}{\rho} \]

如果点p在平面内,则:

\[ h \cdot \left(\mathbf{n}^T/d\right) \ \mathbf{m} = 0 \]

因此逆深度可以计算为:

\[ \rho = 1/h = \frac{-\mathbf{n}^T}{d} \mathbf{m} = \mathbf{\theta}^T \mathbf{m} \]

因此平面可以参数化为:

\[ \theta = [\theta_1, \theta_2, \theta_3]^T = -\frac{\mathbf{n}}{d} \]

在另一方面,当我们知道最少3个点在平面内,就可以计算出平面参数:

\[ \left[\begin{array}{c} \tilde{\boldsymbol{m}}_{1}^{\mathrm{T}} \\ \vdots \\ \tilde{\boldsymbol{m}}_{n}^{\mathrm{T}} \end{array}\right] \boldsymbol{\theta}=\left[\begin{array}{c} \rho_{1} \\ \vdots \\ \rho_{n} \end{array}\right], n \geq 3 \]

因此:

\[ \mathbf{p} = \frac{\mathbf{m}}{\rho} = \frac{\mathbf{m}}{\mathbf{\theta}^T \mathbf{m}} \]

重投影误差

由homography transformation\(\mathbf{H} \sim \mathbf{R}+t \boldsymbol{\theta}^{\mathrm{T}}\)

\[ \begin{array}{l} u^{\prime}=\left(\boldsymbol{r}_{1} \tilde{\boldsymbol{m}}+t_{1} \tilde{\boldsymbol{m}}^{\mathrm{T} \boldsymbol{\theta}}\right) /\left(\boldsymbol{r}_{3} \tilde{\boldsymbol{m}}+t_{3} \tilde{\boldsymbol{m}}^{\mathrm{T}} \boldsymbol{\theta}\right) \\ \boldsymbol{v}^{\prime}=\left(\boldsymbol{r}_{2} \tilde{\boldsymbol{m}}+t_{2} \tilde{\boldsymbol{m}}^{\mathrm{T}} \boldsymbol{\theta}\right) /\left(\boldsymbol{r}_{3} \tilde{\boldsymbol{m}}+t_{3} \tilde{\boldsymbol{m}}^{\mathrm{T}} \boldsymbol{\theta}\right) \end{array} \]

其中\(r_1 r_2 r_3\)为旋转矩阵行向量,表示为:

\[ m^{\prime}=h\left(m, T_{h}, T_{t}, \theta\right) \]

Reference

[1] TextSLAM: Visual SLAM with Planar Text Features [2] East: an efficient and accurate scene text detector https://github.com/argman/EAST [3] https://mathworld.wolfram.com/Point-PlaneDistance.html