OverlapPredator

GitHub
593 86 较难 1 次阅读 今天MIT语言模型其他
AI 解读 由 AI 自动生成,仅供参考

OverlapPredator 是一款专为低重叠率场景设计的 3D 点云配准开源工具,其核心算法论文曾入选 CVPR 2021 口头报告。在三维视觉任务中,当两个扫描得到的点云数据重合部分很少时,传统方法往往难以准确对齐,而 OverlapPredator 正是为了解决这一难题而生。它能够智能识别点云中微小的重叠区域,并计算出精确的空间变换矩阵,从而实现高精度的模型拼接。

该工具特别适合计算机视觉领域的研究人员、算法工程师以及从事自动驾驶、机器人导航和三维重建开发的专业技术人员使用。其独特的技术亮点在于引入了注意力机制来预测点云的重叠度与可匹配性评分,使网络能够聚焦于关键的重叠区域,显著提升了在复杂环境下的鲁棒性。项目提供了基于 PyTorch 的完整实现,支持在 3DMatch、KITTI 等主流数据集上进行训练与评估,并预训练了多种模型供直接调用。无论是希望复现前沿学术成果,还是需要在实际工程中解决低重叠点云对齐问题,OverlapPredator 都是一个值得尝试的高效解决方案。

使用场景

某自动驾驶团队正在处理城市复杂路况下的多帧激光雷达数据,试图将重叠率极低的相邻扫描片段拼接成完整的高精度地图。

没有 OverlapPredator 时

  • 配准频繁失败:当车辆快速行驶导致前后两帧点云重叠区域小于 30% 时,传统算法(如 ICP 或 FPFH)无法找到足够的对应点,直接导致配准计算发散或报错。
  • 人工干预成本高:工程师不得不手动筛选关键帧或增加采集密度以强制提高重叠率,这大幅增加了数据采集时间和后期清洗工作量。
  • 地图出现断层:在隧道入口或急转弯等特征稀疏场景,生成的局部地图经常出现错位或断裂,无法满足厘米级建图需求。
  • 计算资源浪费:系统为了尝试匹配成功,往往需要暴力搜索大量错误的对应点对,导致 CPU/GPU 负载飙升且耗时漫长。

使用 OverlapPredator 后

  • 低重叠率下精准对齐:OverlapPredator 利用注意力机制专门提取重叠区域的特征,即使在重叠率仅为 10%-20% 的极端情况下,也能稳定计算出正确的变换矩阵。
  • 流程全自动化:无需再人为设定重叠阈值或筛选数据,系统可直接处理原始连续帧,显著缩短了从数据采集到成图的整体周期。
  • 复杂场景鲁棒性强:在纹理重复或缺乏明显几何特征的室内/隧道环境中,生成的地图连贯平滑,彻底消除了因配准错误导致的地图断层。
  • 推理效率显著提升:通过聚焦于高匹配可能性的区域,OverlapPredator 减少了无效计算,在保持高精度的同时将单次配准耗时降低了数倍。

OverlapPredator 的核心价值在于突破了传统算法对点云重叠率的依赖瓶颈,让低质量、大跨度的三维数据也能实现高效精准的自动拼接。

运行环境要求

操作系统
  • Linux
GPU

需要 NVIDIA GPU,测试环境为 GeForce RTX 3090 或 GTX 1080Ti,需支持 CUDA 11.2

内存

未说明(文档提示数据加载器可能因内存问题崩溃,建议增加 CPU RAM 或减少 worker 数量)

依赖
notes1. 代码已在 Python 3.8.5, PyTorch 1.7.1, CUDA 11.2, gcc 9.3.0 环境下测试通过。 2. 安装时需要编译 C++ 扩展(运行 cpp_wrappers/compile_wrappers.sh)。 3. 观察到数据加载器可能因内存问题随机崩溃,如遇此问题请减少 worker 数量或增加系统内存。 4. 提供基于 MinkowskiEngine 的稀疏卷积版本作为替代方案。
python3.8.5
torch==1.7.1
MinkowskiEngine (可选,用于稀疏卷积版本)
gcc==9.3.0
OverlapPredator hero image

快速开始

PREDATOR:低重叠度三维点云配准(CVPR 2021,口头报告)

本仓库是论文的官方实现:

PREDATOR:低重叠度三维点云配准

*黄圣宇, *赞·戈伊契奇米哈伊尔·乌斯维亚佐夫安德烈亚斯·维瑟康拉德·辛德勒
|苏黎世联邦理工学院 | * 共同第一作者

如需使用 MinkowskiEngine 作为骨干网络的实现,请查看 此链接

更多信息请访问 项目官网

Predator_teaser

联系方式

如有任何问题,请联系我们:

最新消息

  • 2021-08-09:我们更新了 arXiv 上的 论文,性能得到进一步提升!
  • 2021-06-02:修复了 k-nn 图中的特征提取 bug,请参阅此 issue 中的改进效果。敬请关注其他实验的更新!
  • 2021-05-31:请在 项目页面 上观看我们的视频和海报!
  • 2021-03-25:最终版已发布于 arXiv!我还就 Predator 进行了中文演讲,录像可在以下平台观看:BilibiliYoutube
  • 2021-02-28:基于 MinkowskiEngine 的 PREDATOR 发布
  • 2020-11-30:代码与论文正式发布。

使用说明

该代码已在以下环境中测试通过:

  • Python 3.8.5,PyTorch 1.7.1,CUDA 11.2,gcc 9.3.0,GeForce RTX 3090/GeForce GTX 1080Ti

注意:我们观察到数据加载器因内存问题而随机崩溃。若遇到类似情况,请尝试减少工作进程数或增加 CPU 内存。目前我们已发布基于稀疏卷积的 Predator 实现,详情请见 此处

环境要求

请在您的工作目录中运行以下命令以创建虚拟环境并安装所需依赖:

git clone https://github.com/overlappredator/OverlapPredator.git
virtualenv predator; source predator/bin/activate
cd OverlapPredator; pip install -r requirements.txt
cd cpp_wrappers; sh compile_wrappers.sh; cd ..

数据集与预训练模型

对于 KITTI 数据集,请按照 KITTI Odometry 官网 的说明下载 KITTI 奥多米测训练集。

我们提供:

  • 预处理过的 3DMatch 成对数据集(体素网格下采样后的片段及其真实变换矩阵)
  • 原始密集型 3DMatch 数据集
  • ModelNet 数据集
  • 在 3DMatch、KITTI 和 ModelNet 上的预训练模型

可通过运行以下命令下载预处理数据及模型:

sh scripts/download_data_weight.sh

若需下载原始密集型 3DMatch 数据,请执行:

wget --no-check-certificate --show-progress https://share.phys.ethz.ch/~gsg/pairwise_reg/3dmatch.zip
unzip 3dmatch.zip

文件夹组织如下:

  • 3dmatch
    • train
      • 7-scenes-chess
        • fragments
          • cloud_bin_*.ply
        • poses
          • cloud_bin_*.txt
    • test

3DMatch(室内)

训练

创建虚拟环境并下载数据集后,可使用以下命令训练 Predator:

python main.py configs/train/indoor.yaml

评估

对于 3DMatch,为复现主论文中的表 2,我们首先通过运行以下命令提取特征及重叠/匹配度分数:

python main.py configs/test/indoor.yaml

特征及分数将保存至 snapshot/indoor/3DMatch。随后可使用 RANSAC 估计变换参数,具体操作如下:

for N_POINTS in 250 500 1000 2500 5000
do
  python scripts/evaluate_predator.py --source_path snapshot/indoor/3DMatch --n_points $N_POINTS --benchmark 3DMatch --exp_dir snapshot/indoor/est_traj --sampling prob
done

根据 RANSAC 使用的点数不同,此过程可能需要几分钟。最终结果将存储在 snapshot/indoor/est_traj/{benchmark}_{n_points}_prob/result 中。若要在 3DLoMatch 基准上评估 PREDATOR,请在 configs/test/indoor.yaml 中将 3DMatch 更改为 3DLoMatch

演示

我们准备了一个小型演示,展示了使用 3DMatch 数据集中两个随机片段的完整 Predator 流程。要运行演示,请执行:

python scripts/demo.py configs/test/indoor.yaml

演示脚本将可视化输入点云、推断出的重叠区域以及根据估计变换参数对齐后的点云:

demo

ModelNet(合成数据)

训练

要在 ModelNet 上训练 PREDATOR,请运行:

python main.py configs/train/modelnet.yaml

我们提供一个小型脚本来评估 Predator 在 ModelNet 测试集上的表现,请运行:

python main.py configs/test/modelnet.yaml

由于 RANSAC 的随机性,旋转和平移误差可能会比报告的结果更好或更差。

KITTI(室外)

我们提供一个小型脚本来评估 Predator 在 KITTI 测试集上的表现。配置好 KITTI 数据集后,请运行:

python main.py configs/test/kitti.yaml

结果将保存到日志文件中。

自定义数据集

针对自定义数据集的训练和测试,我们有以下几点建议:

  • 若数据集场景与室内相似,请先运行 demo.py 检查模型的泛化能力,再进行重新训练。
  • 请务必在数据加载器中对数据进行体素下采样,可参考 kitti.py

引用

若您在工作中使用了本代码或将其应用于项目中,请考虑引用以下内容:

@InProceedings{Huang_2021_CVPR,
    author    = {Huang, Shengyu and Gojcic, Zan and Usvyatsov, Mikhail and Wieser, Andreas and Schindler, Konrad},
    title     = {Predator: Registration of 3D Point Clouds With Low Overlap},
    booktitle = {Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)},
    month     = {June},
    year      = {2021},
    pages     = {4267-4276}
}

致谢

在本项目中,我们使用了以下工作的官方实现(部分):

我们感谢各位作者开源他们的方法。同时,我们也感谢审稿人,尤其是第 2 位审稿人提供的宝贵意见。

常见问题

相似工具推荐

everything-claude-code

everything-claude-code 是一套专为 AI 编程助手(如 Claude Code、Codex、Cursor 等)打造的高性能优化系统。它不仅仅是一组配置文件,而是一个经过长期实战打磨的完整框架,旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。 通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能,everything-claude-code 能显著提升 AI 在复杂任务中的表现,帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略,使得模型响应更快、成本更低,同时有效防御潜在的攻击向量。 这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库,还是需要 AI 协助进行安全审计与自动化测试,everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目,它融合了多语言支持与丰富的实战钩子(hooks),让 AI 真正成长为懂上

150.7k|★★☆☆☆|今天
开发框架Agent语言模型

LLMs-from-scratch

LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目,旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型(LLM)。它不仅是同名技术著作的官方代码库,更提供了一套完整的实践方案,涵盖模型开发、预训练及微调的全过程。 该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型,却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码,用户能够透彻掌握 Transformer 架构、注意力机制等关键原理,从而真正理解大模型是如何“思考”的。此外,项目还包含了加载大型预训练权重进行微调的代码,帮助用户将理论知识延伸至实际应用。 LLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API,而是渴望探究模型构建细节的技术人员而言,这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计:将复杂的系统工程拆解为清晰的步骤,配合详细的图表与示例,让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础,还是为未来研发更大规模的模型做准备

90.1k|★★★☆☆|5天前
语言模型图像Agent

NextChat

NextChat 是一款轻量且极速的 AI 助手,旨在为用户提供流畅、跨平台的大模型交互体验。它完美解决了用户在多设备间切换时难以保持对话连续性,以及面对众多 AI 模型不知如何统一管理的痛点。无论是日常办公、学习辅助还是创意激发,NextChat 都能让用户随时随地通过网页、iOS、Android、Windows、MacOS 或 Linux 端无缝接入智能服务。 这款工具非常适合普通用户、学生、职场人士以及需要私有化部署的企业团队使用。对于开发者而言,它也提供了便捷的自托管方案,支持一键部署到 Vercel 或 Zeabur 等平台。 NextChat 的核心亮点在于其广泛的模型兼容性,原生支持 Claude、DeepSeek、GPT-4 及 Gemini Pro 等主流大模型,让用户在一个界面即可自由切换不同 AI 能力。此外,它还率先支持 MCP(Model Context Protocol)协议,增强了上下文处理能力。针对企业用户,NextChat 提供专业版解决方案,具备品牌定制、细粒度权限控制、内部知识库整合及安全审计等功能,满足公司对数据隐私和个性化管理的高标准要求。

87.6k|★★☆☆☆|6天前
开发框架语言模型

ML-For-Beginners

ML-For-Beginners 是由微软推出的一套系统化机器学习入门课程,旨在帮助零基础用户轻松掌握经典机器学习知识。这套课程将学习路径规划为 12 周,包含 26 节精炼课程和 52 道配套测验,内容涵盖从基础概念到实际应用的完整流程,有效解决了初学者面对庞大知识体系时无从下手、缺乏结构化指导的痛点。 无论是希望转型的开发者、需要补充算法背景的研究人员,还是对人工智能充满好奇的普通爱好者,都能从中受益。课程不仅提供了清晰的理论讲解,还强调动手实践,让用户在循序渐进中建立扎实的技能基础。其独特的亮点在于强大的多语言支持,通过自动化机制提供了包括简体中文在内的 50 多种语言版本,极大地降低了全球不同背景用户的学习门槛。此外,项目采用开源协作模式,社区活跃且内容持续更新,确保学习者能获取前沿且准确的技术资讯。如果你正寻找一条清晰、友好且专业的机器学习入门之路,ML-For-Beginners 将是理想的起点。

85.1k|★★☆☆☆|昨天
图像数据工具视频

funNLP

funNLP 是一个专为中文自然语言处理(NLP)打造的超级资源库,被誉为"NLP 民工的乐园”。它并非单一的软件工具,而是一个汇集了海量开源项目、数据集、预训练模型和实用代码的综合性平台。 面对中文 NLP 领域资源分散、入门门槛高以及特定场景数据匮乏的痛点,funNLP 提供了“一站式”解决方案。这里不仅涵盖了分词、命名实体识别、情感分析、文本摘要等基础任务的标准工具,还独特地收录了丰富的垂直领域资源,如法律、医疗、金融行业的专用词库与数据集,甚至包含古诗词生成、歌词创作等趣味应用。其核心亮点在于极高的全面性与实用性,从基础的字典词典到前沿的 BERT、GPT-2 模型代码,再到高质量的标注数据和竞赛方案,应有尽有。 无论是刚刚踏入 NLP 领域的学生、需要快速验证想法的算法工程师,还是从事人工智能研究的学者,都能在这里找到急需的“武器弹药”。对于开发者而言,它能大幅减少寻找数据和复现模型的时间;对于研究者,它提供了丰富的基准测试资源和前沿技术参考。funNLP 以开放共享的精神,极大地降低了中文自然语言处理的开发与研究成本,是中文 AI 社区不可或缺的宝藏仓库。

79.9k|★☆☆☆☆|3天前
语言模型数据工具其他

cs-video-courses

cs-video-courses 是一个精心整理的计算机科学视频课程清单,旨在为自学者提供系统化的学习路径。它汇集了全球知名高校(如加州大学伯克利分校、新南威尔士大学等)的完整课程录像,涵盖从编程基础、数据结构与算法,到操作系统、分布式系统、数据库等核心领域,并深入延伸至人工智能、机器学习、量子计算及区块链等前沿方向。 面对网络上零散且质量参差不齐的教学资源,cs-video-courses 解决了学习者难以找到成体系、高难度大学级别课程的痛点。该项目严格筛选内容,仅收录真正的大学层级课程,排除了碎片化的简短教程或商业广告,确保用户能接触到严谨的学术内容。 这份清单特别适合希望夯实计算机基础的开发者、需要补充特定领域知识的研究人员,以及渴望像在校生一样系统学习计算机科学的自学者。其独特的技术亮点在于分类极其详尽,不仅包含传统的软件工程与网络安全,还细分了生成式 AI、大语言模型、计算生物学等新兴学科,并直接链接至官方视频播放列表,让用户能一站式获取高质量的教育资源,免费享受世界顶尖大学的课堂体验。

79.8k|★☆☆☆☆|3天前
其他图像数据工具