[Paper Reading] TextSLAM: Visual SLAM With Semantic Planar Text Features
- 提供了室内和室外数据集,室内的真值由动捕提供,室外的真值由sfm提供(COLMAP)
几何信息
平面的参数化
如何表示 Text Patch 呢,换言之如何参数化呢?
- 类似光线投射,平面表示为 $\theta$,归一化平面上的点如果在平面上,使用$\rho = \theta ^T \tilde{m}$ 求得该点的深度,从而获得该点的 3D 坐标
这个 $\theta$ 如何求得呢?考虑空间上的平面方程,使用某一帧相机的相机坐标系: \(n_1 x + n_2 y + n_3 z + d = 0\)
表达得更紧凑一些,即
\[n^Tp + d = 0\]A straightforward parameterization of a text plane could be directly using the four parameters (n1,n2,n3,d) of the plane equation. However, this is an over-parameterization that leads to rank deficiency in the nonlinear least-squares optimization. We hence adopt a compact parameterization that contains only three parameters.
也就是说,平面只有三自由度(因为沿着平面沿着自身移动,以及绕着垂直于自身的向量旋转,得到的还是自身),而使用平面方程来表征的话需要四个参数,这样会在非线性优化阶段带来不满秩的问题,从而导致优化的不稳定。
那么该如何减少到三个参数来表示呢?其实很简单,整个方程乘上一个系数仍然成立,那么我们直接令方程最后的常数项为 1,这样就可以用三个参数来表示平面了
\[\frac{n^T}{d} p + 1 = 0\]除了优化计算上的好处,这种表示有什么几何上的用处呢?结合视觉的场景,我们可以利用这种表示,来获取相机归一化平面上的任意一个点,向外射出,与该平面的交点的深度:
\[\rho = \frac{1}{z}, \tilde{m} = [u,v,1] = \rho p\] \[\frac{n^T}{d}\frac{\tilde{m}}{\rho} + 1 = 0\] \[\rho = - \frac{n^T}{d} \tilde{m} = \theta^T \tilde{m}\]如果我们通过平面检测算法,得到至少三个属于平面的点的相机归一化平面坐标及其深度
,我们就可以求出平面的参数 $\theta$:
构建观测模型
如何构建观测模型呢?
首先我们要明确构建观测模型的目的,为的是利用观测模型,输入状态变量,输出得到预测值,之后与实际的观测值进行对比,如果完全一致,则表明状态的估计完全正确,如果不一致,则需要调整状态的估计值,尽可能地让预测值和观测值一致。
因此第一步,考虑我们关心的状态有哪些,测量值有哪些?第二步,怎么把状态和测量值关联起来。第三步,怎么对比预测值和观测值,即挑选一个合适的度量。
从直观的角度思考,有两个机位,前方有一个平面块,显然重投影的表达式和 两个机位的位姿
、平面的位姿
有关,即
$m$ 是平面上的点在第一帧图像上(host image plane)的投影(归一化坐标),$m’$ 是平面上的点在第二帧图像上(target image plane)的投影,$T_h$ 和 $T_s$ 分别是第一帧和第二帧相机位姿。
推导的思路如下:
- 第一帧图像中检测到了平面上的一个点,归一化坐标为 $m$, 齐次坐标为 $\tilde{m}$
- 计算该点在第一帧机位下的 3D 坐标:$p = \tilde{m} / \rho = \tilde{m} / (\theta^T \tilde{m})$
- 把该点的 3D 坐标转换到第二帧机位下 $p’ = Rp + t$
- 此时第二帧图像里的该点的齐次坐标 $m’$ 正比于 $\rho’$,即 $m’ \sim R\rho p + t \rho = R\tilde{m} + t \theta^T \tilde{m} $
- $m’ \sim (R + \theta^T t) \tilde{m} = H\tilde{m} $
使用文本块的观测值(第二帧的图像)和预测值之间的所有像素光度误差平方和作为损失函数。
\[\]We take each text regionas a single patch and align it to other frames directly by minimizing the difference between them instead of detecting the word once again.
语义信息
场景文本的语义具有场景不变性,对场景的理解和数据关联十分有利。
语义信息由两部分组成,文本字符串 和 可信损失。可信损失就是个度量,越低表示质量越好,越可信。可信损失又由两部分组成,语义部分和几何部分。
语义部分直接由文本提取器给出的置信度直接得到。
几何部分则考虑什么样的情况最有利于观测平面块上的文本?面朝平面块,且距离文本块不要太远,算是合适的视角,此时观测到的文本也更可信。