如何快速编译运行Fast-Robust-ICP:CMake+Eigen环境搭建与部署完整指南 📅 2026/8/24 8:20:24 如何快速编译运行Fast-Robust-ICPCMakeEigen环境搭建与部署完整指南【免费下载链接】Fast-Robust-ICP项目地址: https://gitcode.com/gh_mirrors/fa/Fast-Robust-ICPFast-Robust-ICP 是一款开源的 C 点云配准工具实现了快速鲁棒 ICP算法支持 ICP、Robust ICP、Point-to-Plane、Sparse ICP 等 8 种配准方法一键运行。本文带你完整搭建 CMake Eigen 环境约 5 分钟即可在 Linux / Windows 上完成编译、部署并运行项目自带的点云配准示例。一、项目简介Fast-Robust-ICP 点云配准工具能做什么Fast-Robust-ICP 是论文Fast and Robust Iterative Closest PointIEEE TPAMI 2022的官方开源代码纯 C14 编写仅依赖两个头文件库Header-onlyEigen 与 NanoFlann后者已随仓库提供因此环境搭建的负担非常轻。核心文件一览文件作用main.cpp程序入口解析命令行参数、调度 8 种配准方法FRICP.hFast/Robust ICP 核心算法ICP.h基础 ICP、Point-to-Plane、Sparse ICP 实现AndersonAcceleration.hAnderson 加速模块cmake/CMake 自动检测脚本Eigen、NanoFlanndata/示例点云source.ply、target.ply及配准结果样例二、环境依赖检查编译前需要准备什么在开始编译 Fast-Robust-ICP 之前先确认下表中的依赖项目已在 Ubuntu 16.04 gcc 5.4.0、Windows Visual Studio 2015 上验证通过依赖项用途版本要求CMake生成构建文件2.8 及以上C 编译器编译 C14 代码gcc 5.4 或 VS 2015Eigen矩阵运算3.3 及以上推荐OpenMP多线程加速可选自动检测NanoFlannKD 树最近点搜索无需安装include/nanoflann.hpp已内置三、快速安装 Eigen两条路线任选 Eigen 是本项目唯一的必装外部依赖二选一即可路线 1Ubuntu 一键安装推荐sudo apt-get install libeigen3-dev路线 2源码解压安装Windows / 离线环境适用下载 Eigen 3.3 并解压到项目的include目录下、命名为eigen确认以下两个文件存在include/eigen/Eigen/Denseinclude/eigen/unsupported/Eigen/MatrixFunctions⚠️ 第二个文件位于 unsupported 模块中Anderson 加速功能依赖它缺失会直接导致编译失败。四、CMake 一键编译步骤Linux 最快路径⚡依赖就绪后在项目根目录依次执行git clone https://gitcode.com/gh_mirrors/fa/Fast-Robust-ICP.git cd Fast-Robust-ICP mkdir build cd build cmake -DCMAKE_BUILD_TYPERelease .. make构建完成后build目录下会生成可执行文件FRICP。在 Linux 上CMakeLists.txt 还会自动为data目录创建软链接见第 32 行ln -f -s逻辑因此无需复制数据即可直接运行示例。五、Windows 平台编译部署Visual Studio 用户打开 CMake GUI分别指定源码目录与构建目录如build-win点击 Generate 生成 VS 解决方案VS 2015 或更高版本在 Visual Studio 中选择Release配置进行编译编译成功后data目录会被自动复制到构建目录随后可在 VS 中直接运行。六、运行示例配准你的第一对点云 ✅程序接受 4 个参数目标点云 源点云 输出目录 方法编号方法编号可省略默认使用 3 Robust ICP支持.ply非二进制与.obj格式cd build ./FRICP ./data/target.ply ./data/source.ply ./data/res/ 3运行结束后data/res/下会输出两个结果文件m3表示方法编号 3输出文件内容m3reg_pc.ply配准后的源点云m3trans.txt4×4 变换矩阵[R, t; 0, 1]8 种配准方法编号速查编号方法编号方法0ICPPoint-to-Point4ICP Point-to-Plane1AA-ICPAnderson 加速5Our Robust ICP Point-to-Plane2Our Fast ICP6Sparse ICP3Our Robust ICP默认7Sparse ICP Point-to-Plane进阶提供初始变换提升配准成功率如果两朵点云姿态差异较大可在 main.cpp 中将use_init设为true并通过file_init指定 4×4 初始变换矩阵文件格式与输出变换文件相同即可跳过默认的重心对齐、从粗对齐位姿开始精配准。七、常见问题排查Eigen 找不到怎么办 Q1CMake 报 Could not find Eigen3cmake/FindEigen3.cmake会按以下顺序查找Eigen/Geometry环境变量EIGEN3DIR下的include//usr/local/include/eigen3、/usr/include/eigen3、/usr/include等系统路径external/eigen/include最稳妥的解决办法是手动指定环境变量后重新执行 cmakeexport EIGEN3DIR/path/to/eigen # 指向包含 include/ 的 Eigen 根目录Q2报 Could not find NanoFlann确认项目内include/nanoflann.hpp存在本仓库已内置若使用外部版本可设置环境变量NANOFLANN_DIR指向其所在目录。Q3Point-to-Plane 方法报 without normals 错误目标点云缺少法线信息请改用 Point-to-Point 方法0/2/3或提供带法线的点云。Q4低重叠率场景配准效果差可参考 README.md 的说明将 main.cpp 第 63-67 行的重心对齐改为零向量source_mean(0,0,0), target_mean(0,0,0)更适合低重叠率数据。八、总结环境搭建到运行只需 5 步步骤操作1安装 Eigen 3.3apt-get install libeigen3-dev或解压至include/eigen2mkdir build cd build3cmake -DCMAKE_BUILD_TYPERelease ..4makeWindows 用 VS 编译解决方案5./FRICP ./data/target.ply ./data/source.ply ./data/res/ 3掌握以上步骤后你就能快速将 Fast-Robust-ICP 集成到自己的三维重建、机器人定位或 SLAM 项目中用一行命令完成点云配准。【免费下载链接】Fast-Robust-ICP项目地址: https://gitcode.com/gh_mirrors/fa/Fast-Robust-ICP创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考