平面方程
对于空间平面方程,可以使用点法式。设\(\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