一、传统算法方向
1. 光度与梯度增强型特征
适合:弱纹理但光照稳定的场景。
| 算法 | 核心思想 | 特点 |
|---|---|---|
| SIFT + RootSIFT / GLOH | 尺度空间 DoG + 方向直方图 | 对光照鲁棒性好,但弱纹理仍不稳。 |
| MSER (Maximally Stable Extremal Regions) | 基于区域灰度稳定性 | 在大块平滑区域仍可能检测出稳定区域。 |
| LATCH / BRISK / FREAK | 基于二进制描述子与邻域强度关系 | 速度快,但对低对比度区域较敏感。 |
| Harris-Laplace / Hessian-Affine | 多尺度角点 + 仿射不变性 | 在灰度变化较小的地方可能仍检测到少量点。 |
推荐组合:
MSER + RootSIFT 或 Harris-Affine + SIFT,能增强弱纹理区域的匹配成功率。
2. 区域相似性与块匹配类
适合:无明显特征点但有局部亮度变化的图像。
| 算法 | 思路 | 特征 |
|---|---|---|
| ZNCC / NCC / SSD Block Matching | 基于局部窗口的相关性 | 光照归一化后可在弱纹理中匹配小块。 |
| Census Transform + Hamming Distance | 灰度相对顺序编码 | 对亮度变化鲁棒,适合立体匹配。 |
| Mutual Information (MI) | 统计信息匹配 | 对光照差异适应性强,计算量较大。 |
常用于:
稠密匹配 / 立体匹配,如弱纹理立体重建中。
二、深度学习特征匹配方法
1. 基于深度特征点检测与描述的网络
| 方法 | 论文 | 特点 |
|---|---|---|
| SuperPoint (CVPR 2018) | "SuperPoint: Self-Supervised Interest Point Detection and Description" | 在低纹理下仍能提取稳定关键点;速度快,可端到端训练。 |
| R2D2 (NeurIPS 2019) | "Repeatable and Reliable Detector and Descriptor" | 强调关键点可重复性与描述可靠性。 |
| D2-Net (CVPR 2019) | "D2-Net: A Trainable CNN for Joint Detection and Description" | 特征密集,可在弱纹理中提取较多可用点。 |
| DISK (NeurIPS 2020) | "DISK: Learning local features with policy gradient" | 采用强化学习优化检测点位置,稳定性更强。 |
| Key.Net / AffNet / HardNet | 各种特征增强网络 | 对仿射、尺度变化与弱纹理都有提升。 |
推荐组合:
SuperPoint + SuperGlue(见下文),是当前弱纹理图像匹配最稳定的组合之一。
2. 基于深度匹配关系的端到端网络
| 方法 | 核心 | 特点 |
|---|---|---|
| SuperGlue (CVPR 2020) | 图神经网络(GNN)推理特征匹配关系 | 对弱纹理、低重叠、高噪声场景匹配性能极佳。 |
| LoFTR (CVPR 2021) | Transformer-based dense matching | 无需显式特征点检测,稠密特征匹配,对低纹理表现优异。 |
| LightGlue (CVPR 2023) | SuperGlue 的轻量化版本 | 性能接近 SuperGlue,速度更快,可实时运行。 |
| MatchFormer / RoMa / QuadTree Attention | Transformer + 多尺度特征金字塔 | 适合大场景和稀疏纹理。 |
推荐组合:
- LoFTR(视觉SLAM/结构重建首选)
- SuperPoint + LightGlue(轻量实时方案)
三、稀疏直接法(Sparse-Direct)与光度优化方法
适合:几乎没有明显纹理点,但图像梯度信息仍存在的情况。
| 算法 | 思路 | 应用 |
|---|---|---|
| DSO (Direct Sparse Odometry) | 光度一致性 + 稀疏像素集优化 | 无需特征点,弱纹理下表现优异。 |
| SVO (Semi-Direct Visual Odometry) | 直接法 + 特征法混合 | 在弱纹理区域可保持一定稳定性。 |
| LDSO (ICRA 2018) | DSO + Loop closure + ORB features | 稀疏直接 + 特征混合,更稳健。 |
特点:
直接法在弱纹理区域依赖于亮度梯度(不是特征点),因此可以在无明显角点时仍估计相机运动。
四、混合方法与融合策略
| 类型 | 方法 | 特点 |
|---|---|---|
| LiDAR-Visual 混合 | 将 LiDAR 辅助视觉特征匹配(如 FAST-LIVO、Super Odometry) | 用点云几何补充图像弱纹理区域。 |
| IMU-Visual 联合匹配 | 利用 IMU 先验限制匹配搜索区域(如 VINS-Mono、SuperVINS) | 在弱纹理时约束解空间。 |
| 光流辅助匹配 | RAFT、FlowNet2 等深度光流模型 | 对平滑区域可输出稠密光流场。 |
五、综合推荐
| 场景 | 推荐方案 |
|---|---|
| 弱纹理 + 实时SLAM | SuperPoint + LightGlue 或 LDSO |
| 弱纹理 + 高精度重建 | LoFTR 或 D2-Net + SuperGlue |
| 弱纹理 + 视觉+LiDAR融合 | FAST-LIVO 、Super Odometry(用LiDAR补约束) |
| 弱纹理 + 工业/金属/墙面检测 | Mutual Information Matching 或 DSO |
六、推荐阅读文献
- SuperGlue: Sarlin et al., CVPR 2020
- LoFTR: Sun et al., CVPR 2021
- R2D2: Revaud et al., NeurIPS 2019
- DSO: Engel et al., TPAMI 2018
- LDSO: Gao et al., ICRA 2018
- Super Odometry / FAST-LIVO: Zhang et al., RAL / IROS 2023
七、具体综合方案推荐细则
1.方案汇总
下面按 实时性(≥30 Hz) + 弱纹理鲁棒性 排序,推荐 Top 5 个实用组合(算法名 + 开源项目地址)。这些组合在 SLAM/VO 系统中具有较高的可用性,尤其适用于弱纹理场景,大家可以作为参考。
| 排序 | 算法组合 | 开源项目地址 | 说明 |
|---|---|---|---|
| 1 | FAST‑LIVO(LiDAR + IMU + Visual 紧耦合) | https://github.com/hku-mars/FAST-LIVO (GitHub) | 多传感器融合 (LiDAR + 相机 + IMU),实时能力强、弱纹理场景也能有较好表现。 |
| 2 | DSO(Direct Sparse Odometry) | https://github.com/JakobEngel/dso (GitHub) | 纯视觉直接法,无需依赖大量特征点,非常适合纹理少的场景。实时性良好。 |
| 3 | LoFTR(Detector-free Dense Matching) | 虽未提供明确官方项目地址,但论文 "LoFTR" 系统支持弱纹理匹配 (arXiv) | 采用 Transformer /稠密匹配方式,对弱纹理、低对比度场景表现优秀。实时稍有挑战但可优化。 |
| 4 | SuperPoint + LightGlue(深度特征 + 高效匹配) | SuperPoint: https://github.com/rpautrat/SuperPoint (GitHub) LightGlue: https://github.com/OroChippw/LightGlue-OnnxRunner (GitHub) | 深度特征检测 + 高效匹配方案,在弱纹理环境中优势明显,实时性取决于硬件加速。 |
| 5 | FAST‑LIO(LiDAR + IMU) | https://github.com/hku-mars/FAST-LIO (GitHub) | 虽少用了视觉特征对弱纹理进行补充,但在极弱纹理环境中 LiDAR+IMU 的方案依然极具实用。实时性强。 |
2.方案具体细节
说明(重要)
帧率仅作参考:实际 FPS 强烈依赖输入分辨率、点/特征数量、采样频率、实现优化与硬件(CPU/GPU/ARM)等。下列值基于论文、作者实现及社区基准测试的公开数据或 README。
1 --- FAST-LIVO(LiDAR + IMU + Visual,紧耦合)
-
代表论文 / 说明 :FAST-LIVO: Fast and Tightly-coupled Sparse-Direct LiDAR-Inertial-Visual Odometry (FAST-LIVO / FAST-LIVO2 系列),设计用于弱纹理场景通过把影像 patch 附到点云来做稀疏直接对齐。(arXiv)
-
开源实现 :GitHub ---
hku-mars/FAST-LIVO;更新/后续为FAST-LIVO2。(GitHub) -
典型运行帧率 :系统可在消费级笔记本/ARM 上实现实时;对某些配置的 FAST-LIVO/FAST-LIVO2,作者给出按 10Hz 图像(或 10Hz LiDAR+图像)输入的逐帧时间统计,表明能达到实时要求(系统整体设计面向嵌入式/ARM)。(参见作者仓库/论文运行统计)(arXiv)
-
优点
-
缺点 / 注意
- 系统整体复杂,需较多传感器标定(外参、时间同步)。
- 当只用单纯视觉时不再占优(需要 LiDAR 支持)。
-
建议场景 :有 LiDAR + 相机 + IMU 的移动机器人 / 灾难救援 / 室内外混合场景,且希望 ≥30Hz 的稳健定位。(arXiv)
2 --- DSO(Direct Sparse Odometry,稀疏直接视觉里程计)
-
代表论文 :Direct Sparse Odometry (DSO) (Jakob Engel 等)。(jakobengel.github.io)
-
开源实现 :
JakobEngel/dso(C++)。(GitHub) -
典型运行帧率 :单目在常见分辨率(如 640×480)下可在高性能 CPU 实现 30--60+ FPS;具体依赖于参数、图像分辨率与修剪策略(community benchmarks & issues)。(见 repo issues / 文献)(GitHub)
-
优点
- 直接法:不依赖稠密角点/特征,能在弱纹理或少特征区域(有少量梯度)下仍进行可靠跟踪。(jakobengel.github.io)
- 轻量且适合实时:实现成熟,参数可调以匹配实时性需求。(GitHub)
-
缺点 / 注意
- 对相机几何校准、滚动快门敏感(需精确标定),对大幅光照变化或过低梯度区域仍有失败风险。(GitHub)
-
建议场景 :只有相机 + IMU、弱纹理但有部分亮度梯度(如室内墙面、地面),需要轻量实时 VO。(jakobengel.github.io)
3 --- LoFTR(Detector-free Dense Matching) / EfficientLoFTR
-
代表论文 :LoFTR: Detector-Free Local Feature Matching with Transformers (及后续 EfficientLoFTR / QuadTreeAttention 改进)。LoFTR/高效版本在弱纹理和低重叠场景表现突出。(ResearchGate)
-
开源实现 :
zju3dv/LoFTR(GitHub);也有 Efficient/QuadTree 改进实现。(GitHub) -
典型运行帧率 :原始 LoFTR 在 GPU 上能达到可用实时/近实时(例如 10--30 FPS 视分辨率与模型版本),EfficientLoFTR 给出更好的推理速度/效率改进(可在更低算力上接近或超过 30 FPS 取决于输入)。务必在目标分辨率/硬件上做基准。(arXiv)
-
优点
- 无检测器 :直接在特征金字塔上做稠密/半稠密匹配,弱纹理下仍能产生稳健稠密对应。(ResearchGate)
- Transformer 结构对低对比与低纹理对齐更鲁棒。
-
缺点 / 注意
- 计算量较大,需 GPU 加速以保证高帧率(但 Efficient 变体显著提升效率)。(arXiv)
-
建议场景 :对匹配质量要求高(重建/精确对齐),系统允许搭配 GPU 的移动平台或服务器端处理。(ResearchGate)
4 --- SuperPoint (detector/descriptor) + LightGlue (fast matcher)
-
代表论文 / 方法:
- SuperPoint(self-supervised interest point detector & descriptor)
- LightGlue (ICCV 2023,面向速度的 SuperGlue 演进)(Hugging Face)
-
开源实现 :SuperPoint repo(
rpautrat/SuperPoint)与 LightGlue 官方实现(cvg/LightGlue)或社区 ONNX 运行器。(GitHub) -
典型运行帧率 :LightGlue 在 CPU 基准(512 keypoints)约 20 FPS (见社区 benchmark);在 GPU 上与轻量 SuperPoint 结合通常可以达到 ≥30 FPS(视关键点数量与加速情况)。(Hugging Face)
-
优点
- 深度学习特征能在弱纹理下找到更可重复的关键点与描述子。
- LightGlue 在准确率与速度之间有很好的折中(比 SuperGlue 快很多)。(CVF开放获取)
-
缺点 / 注意
- 仍依赖关键点密度与图像梯度;在极平滑无梯度表面(完全均匀)也可能失败。
- 需要神经网络推理,建议用 GPU 或高性能 CPU。(CVF开放获取)
-
建议场景 :需要高匹配质量又要兼顾实时性的视觉系统(如果有 GPU 更优);也适合作为特征级增强器与其他估计模块结合(如 VIO)。(CVF开放获取)
5 --- FAST-LIO(LiDAR + IMU,高帧率 LIO)
-
代表论文 / 实现 :FAST-LIO / FAST-LIO2 (direct scan-to-map,ikd-Tree incremental kd-tree,极高运行速率)(arXiv)
-
开源实现 :
hku-mars/FAST_LIO(及 FAST-LIO2)。(GitHub) -
典型运行帧率 :设计目标可支持 >100Hz LiDAR 输入(实现上针对不同 LiDAR 能做到高更新率);作为纯 LIO,实时性非常优秀(远超 30Hz 要求)。(GitHub)
-
优点
-
缺点 / 注意
- 缺少视觉信息时对颜色/光度相关任务(例如 texture-based loop closure)能力有限。
- 需要 LiDAR 硬件(成本/功耗)。
-
建议场景 :LiDAR 可用且对弱纹理/光照变化要求高的移动平台(自动驾驶、仓储机器人、室内测绘)。(arXiv)
汇总建议
- 有 LiDAR + 相机 + IMU,追求弱纹理下稳健与实时 → 选 FAST-LIVO / FAST-LIVO2 (Top1)。(arXiv)
- 只有相机(实时)且弱纹理场景 → 选 DSO (若无 GPU,直接法轻量且实时);若有 GPU 可优先考虑 LoFTR (精度更高)。(jakobengel.github.io)
- 需要高质量匹配但又要兼顾速度(可用 GPU) → SuperPoint + LightGlue / LoFTR (efficient) 。(CVF开放获取)
- 只有 LiDAR + IMU → 选 FAST-LIO / FAST-LIO2 (极高 fps,强几何约束)。(GitHub)