• 安装、测试和训练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. 克隆仓库

      1. git clone https://github.com/open-mmlab/OpenPCDet.git
      2. #官网测试的是pcdet v0.5
      3. #可以直接使用master进行编译,等其出错再说。
      4. #使用如下命令进行切换
      5. git tag
      6. #v0.1.0
      7. #v0.1.1
      8. #v0.2.0
      9. #v0.3.0
      10. #v0.5.0
      11. #v0.5.2
      12. 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. 否则会报如下错误。

      1. For Ampere-based NVIDIA GPUs, such as GeForce 30 series and NVIDIA A100, CUDA 11 is a must.
      2. 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及其依赖

      1. python setup.py develop
      2. #pytorch安装
      3. #测试pytroch1.61.7的可以。
      4. #30系列显卡
      5. conda install pytorch==1.7.1 torchvision==0.8.2 torchaudio==0.7.2 cudatoolkit=11.0 -c pytorch
      6. #20系列显卡
      7. 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目标检测数据集,并按以下结构组织文件:

      1. OpenPCDet
      2. ├── data
      3. │ ├── kitti
      4. │ │ ├── ImageSets
      5. │ │ ├── training
      6. │ │ │ ├── calib & velodyne & label_2 & image_2 & (optional: planes) & (optional: depth_2)
      7. │ │ ├── testing
      8. │ │ │ ├── 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. 测试模型

      1. python test.py --cfg_file ${CONFIG_FILE} --batch_size ${BATCH_SIZE} --ckpt ${CKPT}
      2. #ex
      3. 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:

        1. python train.py --cfg_file ${CONFIG_FILE}
        2. #ex
        3. 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_drive_ai(Ai fighting), 第一时间获取更新内容。

  • 相关阅读:
    目标检测——小麦穗头数据集
    【无人机】基于SDRE对NPS II无人机进行点对点(调节)控制(Matlab代码实现)
    凌特杯,第二届,数字音频传输。simulink matlab
    泽众TestOne自动化测试平台,挡板测试(Mock测试)上线了!!
    git项目迁移到新仓库,且保留原项目的历史记录
    SQL:增、删、改、查 基本语句 Navicat建库(用法 + 例子)
    6个团队建设管理游戏
    【深蓝学院】手写VIO第4章--基于滑动窗口算法的 VIO 系统:可观性和 一致性--笔记
    常用adb 命令
    python3
  • 原文地址:https://blog.csdn.net/laukal/article/details/139395806