ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM

背景

论文题目“Pixel-Perfect Structure-from-Motion with Featuremetric Refinement”(通过在特征尺度优化进行高精度 SFM),发表于 ICCV 2021 (oral)。

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第1张图片

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

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第2张图片

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第3张图片

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

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

摘要

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第4张图片

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

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

关键技术点

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

输入: N N N 张 SFM 建图图像 { I i } \{\mathbf{I}_i\} { Ii}

输出:场景地图,包括 3D 点 { P i } ∈ R 3 \{\mathbf{P}_i\} \in \mathbb{R}^3 { Pi}R3,相机位姿 ( R i , t i ) ∈ S E ( 3 ) \left(\mathbf{R}_i, \mathbf{t}_i\right) \in \mathbf{SE}(3) (Ri,ti)SE(3),相机内参 { C i } \{\mathbf{C}_i\} { Ci}

特征位置调整

图像表征:图像的像素强度表示对视角/光照等因素的变化较为敏感,本文采用了 CNN feature 的方式表示一张图像。具体的,对于图像 I i \mathbf{I}_i Ii,使用S2DNet提取到一个 D D D 维特征图 F i ∈ R W × H × D \mathbf{F}_{i} \in \mathbb{R}^{W \times H \times D} FiRW×H×D。注:特征图在通道上做了 L 2 L_2 L2 归一化以提高泛化性,特征图的长宽与原图相同。

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

E F K A j = ∑ ( u , v ) ∈ M ( j ) w u v ∥ F i ( u ) [ p u ] − F i ( v ) [ p v ] ∥ γ E_{\mathrm{FKA}}^{j}=\sum_{(u, v) \in \mathcal{M}(j)} w_{u v}\left\|\mathbf{F}_{i(u)}\left[\mathbf{p}_{u}\right]-\mathbf{F}_{i(v)}\left[\mathbf{p}_{v}\right]\right\|_{\gamma} EFKAj=(u,v)M(j)wuvFi(u)[pu]Fi(v)[pv]γ

其中 w u , v w_{u,v} wu,v 表示特征点 u u u v v v 之间的关联置信度,该置信度可由特征描述子的余弦距离 d u ⊤ d v \mathbf{d}_{u}^{\top} \mathbf{d}_{v} dudv 表示。可以看到,该过程对于每一个 track 是独立进行的,计算效率非常高。另外,为了保证例如视觉定位的性能,需要保持特征点复检率不发生较大改变,此时需要限制特征优化的最大变动距离 ∥ p u − p u 0 ∥ ≤ K \left\|\mathbf{p}_{u}-\mathbf{p}_{u}^{0}\right\| \leq K pupu0K,其中 p u 0 \mathbf{p}_{u}^{0} pu0 为未调整的原始位置, K K K 表示特征点位置调整的最大距离,实验中设为 8(pixels)。

BA 优化

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

E F B A = ∑ j ∑ ( i , u ) ∈ T ( j ) ∥ F i [ Π ( R i P j + t i , C i ) ] − f j ∥ γ E_{\mathrm{FBA}}=\sum_{j} \sum_{(i, u) \in \mathcal{T}(j)}\left\|\mathbf{F}_{i}\left[\Pi\left(\mathbf{R}_{i} \mathbf{P}_{j}+\mathbf{t}_{i}, \mathbf{C}_{i}\right)\right]-\mathbf{f}^{j}\right\|_{\gamma} EFBA=j(i,u)T(j)Fi[Π(RiPj+ti,Ci)]fjγ

其中 γ \gamma γ 为 Huber 核函数, f j \mathbf{f}^{j} fj 是某个固定的参考向量,它被定义为距离 track j j j 观测均值特征最近点那个向量。

f j = argmin ⁡ f ∈ { f u j } ∥ μ j − f ∥  其中  μ j = argmin ⁡ μ ∈ R D ∑ f ∈ { f u j } ∥ f − μ ∥ γ \begin{aligned} \mathbf{f}^{j} &=\underset{\mathbf{f} \in\left\{\mathbf{f}_{u}^{j}\right\}}{\operatorname{argmin}}\left\|\boldsymbol{\mu}^{j}-\mathbf{f}\right\| \\ \text { 其中 } \boldsymbol{\mu}^{j} &=\underset{\boldsymbol{\mu} \in \mathbb{R}^{D}}{\operatorname{argmin}} \sum_{\mathbf{f} \in\left\{\mathbf{f}_{u}^{j}\right\}}\|\mathbf{f}-\boldsymbol{\mu}\|_{\gamma} \end{aligned} fj 其中 μj=f{ fuj}argminμjf=μRDargminf{ fuj}fμγ

实验

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

3D 三角化

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

相机位姿估计

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第5张图片

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

SFM 性能

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第6张图片

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

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

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第7张图片

其他

  1. 消融实验

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第8张图片

  1. 耗时

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第9张图片

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

结论

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

本文首发自我的公主号,定期分享SLAM定位建图技术(特征匹配、位姿估计、图优化等)、深度感知(双目视觉、TOF、结构光等)以及XR(VR、AR、MR等)领域干货,探讨以上领域在学术界与产业界研究与应用前景。

ICCV 2021最佳学生论文 | COLMAP 优化建图组件 Pixel-Perfect SFM_第10张图片

你可能感兴趣的:(自动驾驶,深度学习,机器学习,SFM)