cpp基础
视觉SLAM
相似变换、仿射变换、射影变换的区别
等距变换:相当于是平移变换(t)和旋转变换(R)的复合,等距变换前后长度,面积,线线之间的角度都不变。自由度为6(3+3) 相似变换:等距变换和均匀缩放(S)的一个复合,类似相似三角形,体积比不变。自由度为7(6+1) 仿射变换:一个平移变换(t)和一个非均匀变换(A)的复合,A是可逆矩阵,并不要求是正交矩阵,仿射变换的不变量是:平行线,平行线的长度的比例,面积的比例。自由度为12(9+3) 射影变换:当图像中的点的齐次坐标的一般非奇异线性变换,射影变换就是把理想点(平行直线在无穷远处相交)变换到图像上,射影变换的不变量是:重合关系、长度的交比。自由度为15(16-1) 参考:多视图几何总结——等距变换、相似变换、仿射变换和射影变换
Homography、Essential和Fundamental Matrix的区别
Essential matrix:本质矩是归一化图像坐标下的基本矩阵的特殊形式,其参数由运动的位姿决定,与相机内参无关,其自由度为6,考虑scale的话自由度为5。
Fundamental Matrix对两幅图像中任何一对对应点x和x′基础矩阵F都满足条件:
秩只有2,因此F的自由度为7。它自由度比本质矩阵多的原因是多了两个内参矩阵。
Homography Matrix可以将一个二维射影空间的点变换该另一个二维射影空间的点,如下图所示,在不加任何限制的情况下,仅仅考虑二维射影空间中的变换,一个单应矩阵H HH可由9个参数确定,减去scale的一个自由度,自由度为8。
参考多视图几何总结——基础矩阵、本质矩阵和单应矩阵的自由度分析
描述PnP算法
已知空间点世界坐标系坐标和其像素投影
PnP问题有多种解法,通用的算法有P3P、EPnP、DLT、UPnP、MRE等,其中P3P、EPnP、DLT、UPnP为线性变换求解,MRE即最小二乘法,是用非线性优化的方式构建最小二乘问题进行迭代求解。
闭环检测常用方法
ORB_SLAM采用词袋模型进行闭环检测。 HBST: Hamming Binary Search Tree:https://gitlab.com/srrg-software/srrg_hbst 深度学习方法NetVLAD:https://github.com/QVPR/Patch-NetVLAD