前言
该项目提出了一种名为 EYOC (Extend Your Own Correspondences) 的无人监督远距离点云配准方法,旨在解决传统点云配准方法对姿态标签的依赖性及其在新数据分布上的泛化不足问题。EYOC 的核心创新在于利用渐进式自监督学习,通过多轮训练逐步扩展点云对的配准距离,使得模型能够适应新的点云分布而无需全球姿态标签。算法设计中,通过引入空间过滤和最近邻搜索等策略,有效提高了配准标签的精度。实验结果表明,EYOC 在多个自动驾驶数据集上的表现与有监督方法相当,同时在无标签条件下显示出更强的泛化能力。实验展示了 EYOC 在不同数据集上的显著性能提升,尤其在新数据集上的配准召回率提升了17.4%。
一、Overview of EYOC
Paper links:https://arxiv.org/abs/2403.03532, CVPR’24
Code links:https://github.com/liuQuan98/EYOC
二、项目复现
1.Requirements
Ubuntu 14.04 or higher
CUDA 11.1 or higher
Python v3.7 or higher
Pytorch v1.6 or higher
MinkowskiEngine v0.5 or higher
2.创建并配置conda虚拟环境
conda create -n eyoc python=3.7 pip=21.1
conda activate eyoc
笔者习惯嫌将项目下载下来,之后使用pycharm打开,在pycahrm的终端进行操作。
笔者是ubuntu20系统,配置4060显卡
conda install pytorch=1.9.0 torchvision cudatoolkit=11.1 -c pytorch -c nvidia
pip install numpy
在安装以上依赖包的时候,默认开发者们已经配备了梯子,由于网络连接引起的安装失败,此处不做讨论。
pip install -U git+https://github.com/NVIDIA/MinkowskiEngine -v --no-deps --install-option="--blas_include_dirs=${CONDA_PREFIX}/include" --install-option="--blas=openblas"
pip install -r requirements.txt
MinkowskiEngine需要单独安装,其余的包由requirements.txt一起安装。按照官网给我安装命令的顺序,在单独安装MinkowskiEngine的时候会报错,这是由于缺少openblas库。
cannot find -lopenblas: 没有那个文件或目录
collect2: error: ld returned 1 exit status
error: command '/usr/bin/g++' failed with exit code 1
使用下面的指令安装一下即可:
conda install openblas-devel -c anaconda
由于此时还没安装一些基本的依赖包,所以还会有别的报错,比如:
Best match: numpy 2.2.3
Processing numpy-2.2.3.tar.gz
error: Couldn't find a setup script in /tmp/easy_install-yhvpiyl4/numpy-2.2.3.tar.gz
也是一样的思路,补上这个库就行了,看博客的开发者们可以先装requirements.txt,再装这个ME,应该就能避免这个报错,问题不大。
Finished processing dependencies for MinkowskiEngine==0.5.4
到这儿,ME就装好了,下面装requirements.txt。
找个好的节点,开始装就行了,遇到哪个包有问题或者装不上,在requirements.txt注释一下,单独装上就行。
总结
源代码复现笔者遇到的问题都在上面了,运行之后,发现该项目并不适合笔者目前的研究,暂且搁置…