Colmap
文章平均质量分 73
人工智睿
代码是单纯的。
展开
-
Colmap学习四:后端resection部分(后方交会,PnP、P3P、EPnp、Nakano P3P)
PnP、P3P算法已经相对比较成熟,影响最后结果的主要是点的分布是否均匀,需要寻找Best view selection。1 后方交会(resection)模块:位于初始化之后,三角化之前目的:恢复相机相对于世界坐标系的位姿算法:PnP (Perspective-n-Point) ,是3D到2D计算前提:有位姿的6个未知参数,需要至少3对点才能求出唯一解2 Best view selectionview的选择不但会影响pose估计的质量还会影响后续的三角化的精度和完整性SFM以往的选原创 2022-05-23 13:48:40 · 962 阅读 · 0 评论 -
Colmap学习一:基础知识(坐标系、相机模型、整体框架)
colmap坐标系:a. 左上角坐标是(0.5,0.5)为了双线性插值b. 坐标系方向xyz分别是红绿蓝、右下前c. colmap的pose是word2camera的,与slam常用的传感器sensor2world不同:– 点P,camera为Pc,则:Pc = RP+t– 而对于camera2world: P = RPc + C, C = -(R转置)td. world坐标系的原点是在第一帧,但未必是(0,0,0),由于BA的优化有偏差相对坐标是后一帧相对前一帧的坐标,绝对坐标是相原创 2022-05-18 10:26:43 · 7833 阅读 · 3 评论 -
Colmap学习二:前端部分(特征点提取、匹配与剔除)
1 Colmap特征提取和描述colmap一般使用sift-gpu,涉及的知识:1.1 图像金字塔:DOG图像金字塔,再找极值1.2 SIFT特征检测与描述:确定主方向和128维的描述子,再归一化(消除光照的影响)。其中由于Euclidean distance 容易受较大值的影响,使用Hellinger distance更稳定。colmap先对sift的结果进行L1 normalize,再对每一个元素求平方根,得到的结果便是L2 normalized。在论文中给出了使用RootSIFT匹配的结果优原创 2022-05-18 17:42:50 · 7349 阅读 · 8 评论 -
Colmap学习三:后端Initialization部分(基础矩阵F、本质矩阵E和单应矩阵H)
1 寻找初始像对1.1手动选择ID1.2自动筛选①prior focal length存在情况下,开始筛选匹配点数由小到大排序第二张候选影像的匹配数目大于init_min_num_inliers(100)②两视图TriangulationR和t满足启动阈值2 基本矩阵FF矩阵的自由度=7从cv角度,3*3矩阵9个参数,因为up2scale自由度-1,又因为rank(F)=2自由度-1从摄影测量角度,5pose(确定射线位姿)+2 intrinsic(fx和fy,通常s=0,主原创 2022-05-19 15:24:27 · 1116 阅读 · 0 评论