PVNet位姿估计网络简单复现2022-5-21

本文详细介绍了如何在Ubuntu环境下配置CUDA 10.2和Python 3.7,用于复现PVNet的3D物体检测算法。从数据集格式、环境搭建、代码安装到模型训练,每个步骤都有清晰的说明。作者强调了环境配置的细节,如使用特定版本的PyTorch,并提供了遇到问题时的解决建议。训练5个epoch后,模型保存并可用于可视化和评估。尽管训练时间短,但已能展示初步效果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

结果图

在这里插入图片描述

说明

本博客编写于2022年5月21日,复现时间是2022年5月20日,复现网络是PVNet。

环境

unbuntu18.04.6LTS
cuda版本10.2
gcc版本7.5.0
python版本按照需要采用的是3.7
GPU:GTX1070
CPU:i7
其他配置和要求的应该一样了

所需资源下载

项目总地址:https://zju3dv.github.io/pvnet/
论文:https://arxiv.org/pdf/1812.11788.pdf
代码:https://github.com/zju3dv/pvnet

注意:这里说明以下本文用到的代码是pvnet中的clean-pvnet,在代码中有说明。

本文使用的代码:https://github.com/zju3dv/clean-pvnet(本文用到了)

“本文使用的代码”是我下载的项目文件,“代码”不是本文下载的文件。

样例数据集:https://zjueducn-my.sharepoint.com/:u:/g/personal/pengsida_zju_edu_cn/Ec6Hd9j7z4lCiwDhqIwDcScBGPw2rsbn6FJh1C2FwbPJTw?e=xcKGAw(本文用到了)

注意:本文仅使用了LineMod数据集的一小部分,按照“本文使用的代码”链接的说明操作即可,有一定经验的人根据这个链接的提示操作完全能够复现。

训练前操作

数据集下载后的格式:
在这里插入图片描述

放在主文件中data目录下,像图片中的这样,否着路径会有问题。

配置环境:

conda create -n pvnet python=3.7
conda activate pvnet

# install torch 1.1 built from cuda 9.0
pip install torch==1.1.0 -f https://download.pytorch.org/whl/cu90/stable

pip install Cython==0.28.2
sudo apt-get install libglfw3-dev libglfw3
pip install -r requirements.txt

这里需要用到的pytorch环境是1.1.0,未试过最新的1.11.0环境,一般来说,还是按照需要的环境为好,否着容易出现由于版本迭代产生的问题。
对于最后一步,可以不必按照他的写法写,完全可以对照这requirements.txt文件自己慢慢用pip安装第三方包,一般来说,用官方镜像安装比较慢,可以试试用清华大学的镜像安装,如下面代码这样写:

pip install -i https://pypi.tuna.tsinghua.edu.cn/simple numpy==1.16.4

这样下载速度很快,下载不同的包,直接改包名即可。
但仍然有无法安装需要版本的被包,如下图所示,怎么办,安装最新版的呗。这里numpy只能安装最新的,否着运行会有小问题。
在这里插入图片描述环境配置好后,进行下一步

export CUDA_HOME="/usr/local/cuda-10.2"

python setup.py build_ext --inplace
cd ../nn
python setup.py build_ext --inplace
cd ../fps
python setup.py build_ext --inplace

# If you want to run PVNet with a detector
cd ../dcn_v2
python setup.py build_ext --inplace

# If you want to use the uncertainty-driven PnP
cd ../uncertainty_pnp
sudo apt-get install libgoogle-glog-dev
sudo apt-get install libsuitesparse-dev
sudo apt-get install libatlas-base-dev
python setup.py build_ext --inplace

首先临时配置CUDA的环境变量(这步不弄也可以,如果后面的操作没问题的话),然后在lib文件夹中的一个挺深的目录名为:ransac_voting的目录下打开终端(别忘记切换到pvnet虚拟环境),执行python setup.py build_ext --inplace命令,执行成功的话会在这个目录生成一个.so文件,然后按照提示分别在nn,fps文件夹里执行这个命令。至于后面的if的那些,随意,有的我执行不成功。

到这里会得到:
在这里插入图片描述看那个代码,虽然标红,但实际上并不影响运行,我做过实验(我研究了很长时间)。

然后是运行代码:

python run.py --type custom
python train_net.py --cfg_file configs/custom.yaml train.batch_size 4

软链接那些没有必要做,执行这两行代码就可以训练了

训练5个epoch后,汇保存一个pth模型,保存在data/model中,
运行下面的命令可以肉眼看效果(前提是训练后得到了模型哦,否着无意义)。

python run.py --type visualize --cfg_file configs/custom.yaml

运行下面的命令可以看评价指标(前提是训练后得到了模型哦,否着无意义)。

python run.py --type evaluate --cfg_file configs/custom.yaml

最终结果

这个是跑了10个epoch的效果。
在这里插入图片描述在这里插入图片描述当然训练时间过少,效果也没有那么的好。

本博客写的匆忙,如果有不对指出,还请指正。

### 如何复现 Clean-PVNet 项目 #### 下载源码 为了开始复现 Clean-PVNet 项目,首先需要获取该项目的源代码。可以通过 Git 命令来克隆仓库: ```bash git clone https://github.com/zju3dv/clean-pvnet.git ``` 此命令会将整个 Clean-PVNet 的最新版本下载到本地计算机上[^2]。 #### 配置开发环境 确保操作系统为 Ubuntu 20.04 并配备 NVIDIA GeForce RTX 3060 显卡以及对应的驱动程序(Driver Version: 525.125.06),CUDA 版本应设置为 12.0。PythonPyTorch 的具体版本分别为 Python 3.8.13 及 torch 1.8.1+cu111。这些软件栈的选择对于成功运行 Clean-PVNet 至关重要。 #### 安装依赖项 安装必要的库文件是至关重要的一步。这通常涉及到创建虚拟环境并激活它之后再执行 pip install 或 conda install 来加载所需的第三方模块。如果遇到缺少特定库的情况,则可以考虑手动复制缺失的库至目标位置作为临时解决方案。例如,在 Blender 中可能需要这样做: ```bash cp -r /path/to/source/python/lib/site-packages/missing_module* /path/to/target/blender_version/python/lib/python_version/site-packages/ ``` 这里的路径应当依据个人的具体情况进行调整[^3]。 #### 进行模型训练与测试 完成上述准备工作后,可以根据官方文档中的指导来进行数据集准备、参数设定等工作,并最终启动训练过程或评估预训练好的权重文件性能。具体的指令和选项取决于实际需求和个人偏好。
评论 25
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值