-
当无法获得可靠的纹理信息来识别线条特征时,另一种选择是探索模型和相机的各种可能配置,直到我们获得图像和模型特征之间的几何一致性对应。
-
这包括两种类型的探索,(i)搜索对应地图空间[9],[10](ii)搜索姿势空间[11],[12],[13]。在第一种方法中,通过不同的可能对应图进行搜索,直到获得几何一致的姿态。在第二种方法中,通过不同的姿态参数值进行搜索,直到重新投影的模型特征与大量图像特征很好地对齐。这两种搜索在计算上都非常昂贵,需要基于某些假设的一些技术来加速它们
核心思想:在query camera和世界坐标系有一个轴对齐的情况下,一个2d-3d的line match可以确定旋转和一个平面(在世界坐标系下,3dline和相机中心都位于这个平面),这样如果有最少三个2d-3d的linematch就可以确定相机中心(3个平面交于一点)。
如果一个轴对齐之后,R矩阵就可以投影到2d平面,这样就只剩下一个参数有上述方程。
假设在世界坐标系下N和L的夹角为,那么可以遍历
和
,然后得到交集个数最大的地方,这个地方就是query camera的中心在世界坐标系下的位置,同时这时候的
就是相机的旋转->可得query的RT。
pipeline:
首先运行image retrieval 然后将candidate的3d line分别假设和当前query image 中的2d line作为一个匹配可以计算出一组和
。计算出所有的这两个参数之后,由于这两个参数都是有限的。因此可以迭代遍历计算出正确的camera 中心。
可并行
因此通过旋转将n和RL之间夹角达到90度
A表示的是camera的一个轴
根据轴角计算公式,找到A和001的叉乘向量。然后计算出角度就可以将世界坐标系最齐到camera坐标系的某个轴上
这个约束很强,如果<90度 A表示的是对齐的坐标轴(在重力对齐的时候可以认为是[0,01])由于n和L夹角在90度,所以如果<90度一定没有解,=90度有唯一解决,>90度有两个解L1和L2
对于三维直线
部分可见的段,至少其中一个
端点应位于摄影机前面。
,
,
这两个约束条件能work是因为该论文中的3d line是由module得到(cad),因此query的line的夹角一定是在3d line投影的夹角包裹着)