安装、测试和训练OpenPCDet:一篇详尽的指南

简介

OpenPCDet是一个用于3D目标检测的开源工具箱,它提供了多种数据集的加载器,支持多种模型,并且易于扩展。在本博客中,我将引导你完成OpenPCDet的安装过程,并展示如何测试和训练预训练模型。

安装OpenPCDet

环境要求

在开始之前,请确保你的系统满足以下要求:

  • Linux操作系统(Ubuntu 14.04/16.04/18.04/20.04/21.04已测试)
  • Python 3.6或更高版本
  • PyTorch 1.1或更高版本(测试了1.1, 1.3, 1.5到1.10)
  • CUDA 9.0或更高版本(PyTorch 1.3+需要CUDA 9.2+)
  • spconv库(v1.0, v1.2或v2.x)

安装步骤

  1. 克隆仓库

    git clone https://github.com/open-mmlab/OpenPCDet.git
    #官网测试的是pcdet v0.5
    #可以直接使用master进行编译,等其出错再说。
    #使用如下命令进行切换
    git tag
    #v0.1.0
    #v0.1.1
    #v0.2.0
    #v0.3.0
    #v0.5.0
    #v0.5.2
    git checkout v0.5.2
  2. 安装依赖库

    • 安装SparseConv库。根据你的PyTorch版本选择合适的spconv版本。
    • 对于PyTorch 1.1,安装spconv v1.0(commit 8da6f96)。
    • 对于PyTorch 1.3+,安装spconv v1.2或使用作者推荐的Docker。
    • 或者,你可以使用pip安装最新的spconv v2.x。

    注意:1、30系列的需要使用Cuda11. 否则会报如下错误。

        For Ampere-based NVIDIA GPUs, such as GeForce 30 series and NVIDIA A100, CUDA 11 is a must.
        For older NVIDIA GPUs, CUDA 11 is backward compatible, but CUDA 10.2 offers better compatibility and is more lightweight.

    2、安装spconv,直接使用命令安装

    pip install spconv-cu113
  3. 安装OpenPCDet及其依赖

    python setup.py develop
    #pytorch安装
    #测试pytroch1.6、 1.7的可以。
    #30系列显卡
    conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch
    #20系列显卡
    conda install pytorch==1.6.0 torchvision==0.7.0 cudatoolkit=10.2 -c pytorch

数据集准备

OpenPCDet支持多种数据集,包括KITTI、NuScenes、Waymo、Lyft和Pandaset。以下是准备KITTI数据集的示例:

  1. 下载官方KITTI 3D目标检测数据集,并按以下结构组织文件:

    OpenPCDet
    ├── data
    │   ├── kitti
    │   │   ├── ImageSets
    │   │   ├── training
    │   │   │   ├── calib & velodyne & label_2 & image_2 & (optional: planes) & (optional: depth_2)
    │   │   ├── testing
    │   │   │   ├── calib & velodyne & image_2
  2. 生成数据信息:

    python -m pcdet.datasets.kitti.kitti_dataset create_kitti_infos tools/cfgs/dataset_configs/kitti_dataset.yaml

测试预训练模型

测试预训练模型是一个了解OpenPCDet性能的好方法。以下是测试步骤:

  1. 下载预训练模型:下载所需的预训练模型并将其放置在适当的位置。

  2. 测试模型

    python test.py --cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE} --ckpt ${CKPT}
    #ex
    python test.py --cfg_file ./cfgs/kitti_models/pointpillarback.yaml --ckpt ../checkpoints_office/pointpillar_7728.pth

    其中${CONFIG_FILE}是配置文件的路径,${BATCH_SIZE}是批处理大小,${CKPT}是检查点文件的路径。

  3. 使用Tensorboard绘制性能曲线

    python test.py --cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE} --eval_all

训练模型

训练自己的模型是机器学习中最激动人心的部分之一。以下是训练模型的基本步骤:

  1. 准备数据集:按照上文所述准备你的数据集。

  2. 配置训练参数:在train.py脚本中设置所需的参数,如批处理大小和训练周期。

  3. 开始训练

    • 使用单个GPU:

      python train.py --cfg_file ${CONFIG_FILE}
      #ex
      python train.py --cfg_file ./cfgs/kitti_models/pointpillar.yaml
    • 使用多个GPU或多台机器:

      sh scripts/dist_train.sh ${NUM_GPUS} --cfg_file ${CONFIG_FILE}
  4. 监控训练过程:使用Tensorboard或其他可视化工具监控训练过程。

结论

OpenPCDet是一个功能强大的3D目标检测工具箱,它为研究人员和开发人员提供了一个易于使用的平台。通过本指南,你应该能够安装OpenPCDet,测试预训练模型,并开始训练你自己的模型。祝你在3D目标检测领域的探索中取得成功!

关注我的公众号auto_driver_ai(Ai fighting), 第一时间获取更新内容。

  • 12
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值