惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

酷 壳 – CoolShell
酷 壳 – CoolShell
G
Google Developers Blog
L
LangChain Blog
Y
Y Combinator Blog
Vercel News
Vercel News
WordPress大学
WordPress大学
大猫的无限游戏
大猫的无限游戏
博客园 - Franky
V
Visual Studio Blog
小众软件
小众软件
月光博客
月光博客
A
About on SuperTechFans
H
Hackread – Cybersecurity News, Data Breaches, AI and More
T
The Blog of Author Tim Ferriss
有赞技术团队
有赞技术团队
M
MIT News - Artificial intelligence
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
博客园 - 【当耐特】
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
MongoDB | Blog
MongoDB | Blog
Jina AI
Jina AI
美团技术团队
量子位

RealCat

📝笔记:图像匹配挑战赛回顾(CVPR 2023) | RealCat 📝笔记:Stable Diffusion QR-Code | RealCat 📝笔记:Python zip() | RealCat 📝笔记:图像匹配挑战赛回顾(CVPR 2022) | RealCat 📝笔记:5秒钟训练NeRF,NVIDIA Instant NeRF 测试 | RealCat 📝笔记:Visualization Localization Revisited(under construction...) | RealCat 📝笔记:使用vlfeat的Matlab接口简单实现BOW以及VLAD | RealCat 📝笔记:一些关于KD-Tree的知识点 | RealCat 📝笔记:简明矩阵求导术之分子布局与分母布局 | RealCat 📝笔记:使用Clockwise/Spiral Rule技巧轻松读懂变量/函数声明 | RealCat 🔨工具:优雅地下载Youtube视频 | RealCat 🔨工具:每日自动获取arXiv论文摘要 | RealCat 🎃资料: 从Eigen向量化谈内存对齐 | RealCat 📝笔记:图像匹配挑战赛总结 (SuperPoint + SuperGlue 缝缝补补还能再战一年) | RealCat 📝笔记:CVPR 2021 | PixLoc: 端到端场景无关视觉定位算法(SuperGlue一作出品) | RealCat 📝笔记:港大MARS实验室 R3LIVE (R2LIVE升级) 鲁棒实时RGB雷达视觉惯导紧耦合状态估计 | RealCat 🔨工具:bash常用命令 | RealCat 📝笔记:VSLAM基础知识导图 | RealCat 📝笔记:Patch-NetVLAD论文阅读 | RealCat 📝笔记:光场相机能否用于SLAM? | RealCat 📝笔记:读写文本常用操作 | RealCat 📝笔记:CVPR 2020 视觉定位挑战赛冠军方案 | RealCat 📝笔记:三维重建系列 COLMAP: Structure-from-Motion Revisited | RealCat 🐈芒果驾到 | RealCat 📝笔记:GMS一种基于运动统计的快速鲁棒特征匹配过滤算法 | RealCat 🌡️秋天到了,还是很热 | RealCat 📝笔记:AdaLAM: Revisiting Handcrafted Outlier Detection 超强外点滤除算法 | RealCat 🔨工具:使用vercel加速Hexo静态博客访问 | RealCat 📝笔记:ORB-SLAM3论文阅读 | RealCat 🔨工具:解决Github挂图及龟速访问 | RealCat
📝笔记:ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-...
2021-10-17 · via RealCat

论文题目“Pixel-Perfect Structure-from-Motion with Featuremetric Refinement”(通过在特征尺度优化进行高精度 SFM),获得 ICCV 2021 最佳学生论文。

本文的优化框架可在任何基于局部特征点的 SFM 流程中使用,使用 CNN 提取图像特征图(dense features),根据稀疏的特征匹配得到初始的 tracks,调整每一个 track 对应的特征点在图像中的位置;根据调整后的位置进行 SFM 重建,重建过程中的 BA 优化残差由重投影误差变为 Featuremetric 误差。

背景

注意到本文的作者是Paul‑Edouard Sarlin,该作者近两年发表了几项高质量的成果,如superglue(CVPR 2020)/pixloc(CVPR 2021)。

本文算法开源:https://github.com/cvg/pixel-perfect-sfm , 该算法后续会集成到视觉定位工具包hloc中。

论文:https://arxiv.org/abs/2108.08291

项目:https://psarlin.com/pixsfm

SLIDES: https://psarlin.com/pixsfm/assets/pixsfm_slides.pdf

摘要

在 3D 重建任务中,跨视角的可复检的特征点检测尤为重要。原有的 SFM 框架中,特征提取之后其位置并不会发生改变,若这个过程中出现了一定误差,势必造成后续几何结构的误差累计。

本文针对以上 SFM 框架中的两个步骤进行了优化:1. 特征匹配后使用 Featuremetric 对特征点位置进行优化;2. 增量重建过程中通过类似的 Featuremetric 进行 BA(重投影误差变为 Featuremetric 误差)。本文算法通过大量实验验证,其在 SFM 任务中表现非常优秀。

关键技术点

总览:本文的优化框架可在任何基于局部特征点的 SFM 流程中使用,首先使用 CNN 提取图像特征图(dense features),根据稀疏的特征匹配得到初始的 tracks,调整每一个 track 对应的特征点在图像中的位置;根据调整后的位置进行 SFM 重建,重建过程中的 BA 优化残差由重投影误差变为 Featuremetric 误差。

输入: 张 SFM 建图图像:

输出:场景地图,包括 3D 点:

相机位姿:

相机内参:

特征位置调整

图像表征:图像的像素强度表示对视角/光照等因素的变化较为敏感,本文采用了 CNN feature 的方式表示一张图像。具体的,对于图像:

使用S2DNet提取到一个 维特征图:

注:特征图在通道上做了 归一化以提高泛化性,特征图的长宽与原图相同。

目标函数:对于每一个 track,调整它包含的 2D 特征点的位置,构建如下 featurematric 误差:

其中 表示特征点 之间的关联置信度,该置信度可由特征描述子的余弦距离 表示。可以看到,该过程对于每一个 track 是独立进行的,计算效率非常高。另外,为了保证例如视觉定位的性能,需要保持特征点复检率不发生较大改变,此时需要限制特征优化的最大变动距离:

其中 为未调整的原始位置, 表示特征点位置调整的最大距离,实验中设为 8(pixels)。

注意 :上式中有一个小歧义需要指出。因为来自于不同的图像,如它们分别位于图与图。但是上式中将特征图的下标都写成了:

这显然是有问题的。针对该问题,我在GitHub提交了一个#issue31咨询了作者的看法,作者认同了我的理解。以下是作者的回复截图:

BA 优化

上述过程完成了特征点位置的优化,随后进行几何校验以及增量或者全局重建。对于重建过程,本文设计了如下误差函数:

其中 为 Huber 核函数:

是某个固定的参考向量,它被定义为距离 track 观测均值特征最近点那个向量。

实验

实验平台:8 CPU cores (Intel Xeon E5-2630v4) and one NVIDIA RTX 1080 Ti。

3D 三角化

在给定相机内参与位姿的情况下评价本文算法的生成的地图点精度。上述表格中 Accuracy 表示 3D 点满足不同阈值的比例,Completeness 表示有 3D 点被成功三角化并满足阈值的比例(类似于召回率)。本文算法相比于 Patch Flow,能够提升在严格阈值下的精度与完整度,且均比未优化的精度与完整度高。

相机位姿估计

上述表格展示了平移量的 AUC 精度曲线,本文算法相比于未优化与 Patch Flow 均有很大优势,SuperPoint 特征相比于其他特征点提取器提升力度明显。

SFM 性能

本文算法在两个任务中获得显著的性能提升,其中 stereo 任务评价的是图像之间的相对位姿精度,这对于全局 SFM 的位姿初值计算尤为重要;multi-view 任务是针对包含张图像的集合进行增量位姿优化,该任务评价的是该集合内部相机的相对位姿。

下图是算法优化前后特征点位置的分布,可以看到本文方法得到的特征点位置(绿点)在不同视角间是保持一致的,而原始的特征点(蓝点)容易受到提取噪声的干扰,导致了 SFM 重投影的 2D 点(红点)出现了非一致。

其他

  1. 消融实验
  2. 耗时 上图展示了本文算法进行 SFM 的耗时统计,相比 Patch-Flow,本文算法耗时大幅度降低;在 Aachen Day-Night v1.1 数据集测试,7K 图像规模耗时小于 2 小时。

结论

  1. 提供了一种用于优化 SFM 建图精度的方案,能够大幅度提升建图精度与后续的视觉定位精度。
  2. 本文算法在进行 BA 时需要占用较大的运行内存空间(feature maps),特别是面对大规模场景重建时,具体使用时需要权衡计算量与精度。