PointPillars(二),跑通OpenPCDet中的demo

OpenPCDet解析 OpenPCDet: Open-MMLab 面向LiDAR点云表征的3D目标检测代码库OpenPCDet的github链接OpenPCDet 是一套基于PyTorch实现的点云3D目标检测代码库。设计思想点云数据集(KITTI、NuScene、Lyft、Waymo、PandaSet等)在数据格式与3D坐标系上往往定义各不相同,各式各样的点云感知算法(point-based、 voxel-based、one-stage/two-stage等)也形态各异因此基于数据-模型分离。 阅读详情

特别推荐读读这个。 https://blog.csdn.net/m0_37605642/article/details/128987547

PointPillar 3D目标检测模型详解-CSDN博客



参考链接(一)OpenPCDet 详细完整复现(Pointpillars、Pointrcnn、Second)进行训练,并进行评估和推理可视化

ubuntu20.04安装OpenPcdet,(CUDA版本11.8,显卡4090)(CUDA版本12.1,显卡3060)

Ubuntu安装GPU驱动+CUDA+cuDNN的安装方法

九步完成Pointpillars模型训练

一、环境搭建

1、安装Anaconda

Ubuntu安装Anaconda教程参考链接

中科大镜像源下载

sudo sh Anaconda3-2024.10-1-Linux-x86_64.sh
// 键入密码、按空格、License——>yes、路径选择/home/username/anaconda3、yes
source gedit ~/.bashrc
// 加入路径:export PATH="/home/username/anaconda3/bin:$PATH"
// 激活环境变量
source ~/.bashrc
conda list
// 进入虚拟环境
source ~/anaconda3/bin/activate root

2、cuda版本

torch与cuda对应安装:Previous PyTorch Versions | PyTorch

这里面都没有12.0,但是有12.1,尽量安装官网有的版本。

sudo apt install nvidia-driver-570  #实测520版本各种报错。
# 先查看nvidia-smi硬件型号。找到适合的cuda版本。显示最高版本是12.8。经查最低cuda11.8
​
nvcc -V   # 10.1

当前版本不支持,先删除 环境配置之cuda的卸载(ubuntu)

sudo apt-get --purge remove "*cublas*" "*cufft*" "*curand*" "*cusolver*" "*cusparse*" "*npp*" "*nvidia*"
sudo apt-get autoremove
sudo apt-get autoclean
​
sudo apt-get remove cuda
sudo apt-get remove cuda*
sudo dpkg -l | grep cuda  # 这里显示的所有残存都通过下面指令删除
sudo dpkg -P 残留文件

然后,手动删除CUDA的安装目录(通常是/usr/local/cuda-10.1):

sudo rm -rf /usr/local/cuda-10.1

如果之前设置了CUDA的环境变量(如PATH和LD_LIBRARY_PATH),也需要在.bashrc或.profile文件中将其删除或更新。

Ubuntu安装GPU驱动+CUDA+cuDNN的安装方法 - 小白跃升坊 - 博客园

wget https://developer.download.nvidia.com/compute/cuda/12.1.0/local_installers/cuda_12.1.0_530.30.02_linux.run
​
sudo service lightdm stop
​
sudo sh cuda_12.1.0_530.30.02_linux.run

因为上面已经安装了570,所以在黑屏下,不要在选择安装525的驱动了。12.1对应530,按照530来装。

然后添加环境变量。

export PATH=/usr/local/cuda-12.1/bin:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64:$LD_LIBRARY_PATH

就可以nvcc -V了。

3、安装cuda

重新下载安装cuda。CUDA Toolkit 11.8 Downloads | NVIDIA Developer

CUDA Toolkit Archive | NVIDIA Developer

选择自己对应的系统,然后选择哪种安装方式:在线

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-keyring_1.1-1_all.deb
sudo dpkg -i cuda-keyring_1.1-1_all.deb
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

离线

wget https://developer.download.nvidia.com/compute/cuda/repos/ubuntu2004/x86_64/cuda-ubuntu2004.pin
sudo mv cuda-ubuntu2004.pin /etc/apt/preferences.d/cuda-repository-pin-600
wget https://developer.download.nvidia.com/compute/cuda/12.8.1/local_installers/cuda-repo-ubuntu2004-12-8-local_12.8.1-570.124.06-1_amd64.deb
sudo dpkg -i cuda-repo-ubuntu2004-12-8-local_12.8.1-570.124.06-1_amd64.deb
sudo cp /var/cuda-repo-ubuntu2004-12-8-local/cuda-*-keyring.gpg /usr/share/keyrings/
sudo apt-get update
sudo apt-get -y install cuda-toolkit-12-8

以上都没用。

安装一定要在黑屏下操作。

【环境搭建】Python、PyTorch与cuda的版本对应表

torch与cuda对应安装:Previous PyTorch Versions | PyTorch

锁定pytorch2.1.0,python=3.9

3、配置cuDNN库

CUDA Deep Neural Network (cuDNN) | NVIDIA Developer

sudo apt-get -y install cudnn-cuda-12

cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

tar -xvf cudnn-linux-x86_64-8.9.4.25_cuda12-archive.tar.xz 
sudo cp cudnn-linux-x86_64-8.9.4.25_cuda12-archive/include/cudnn*.h /usr/local/cuda-12.1/include
sudo cp -P cudnn-linux-x86_64-8.9.4.25_cuda12-archive/lib/libcudnn* /usr/local/cuda-12.1/lib64/
sudo chmod a+r /usr/local/cuda-12.1/include/cudnn*.h /usr/local/cuda-12.1/lib64/libcudnn*
cat /usr/local/cuda-12.1/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

4、创建虚拟环境

conda create -n pcdet python=3.9
conda activate pcdet

5、安装pytorch

# CUDA 12.1
conda install pytorch==2.1.0 torchvision==0.16.0 torchaudio==2.1.0 pytorch-cuda=11.8 -c pytorch -c nvidia

检验:

python
import torch
torch.cuda.is_available()

6、安装spconv

pip install spconv-cu121

检验

import spconv

7、下载OpenPCDet

git clone https://github.com/open-mmlab/OpenPCDet.git
cd OpenPCDet
pip install -r requirements.txt #安装环境
python setup.py develop #安装pcdet

8、运行

python demo.py --cfg_file ./cfgs/kitti_models/pointpillar.yaml --ckpt ../pointpillar_7728.pth --data_path ../../data/data_object_velodyne/training/velodyne/000006.bin 

二、训练

1、下载 KITTI 数据集

从 KITTI 官方网站下载以下数据:

  • 点云数据:data_object_velodyne 文件夹,包含 .bin 格式的点云数据。

  • 标注信息:data_object_label_2 文件夹,包含目标的标注信息。

  • 校准信息:data_object_calib 文件夹,包含相机和激光雷达的校准参数。

  • 图像数据(可选):data_object_image_2 文件夹,包含彩色图像数据。

2、准备数据

2.1 数据格式转换

如果点云数据不是 .bin 格式,需要将其转换为 .bin 格式。例如,如果数据是 .pcd 格式,可以使用以下 Python 脚本进行转换:

import os
import numpy as np

def pcd2bin(pcdfolder, binfolder, start_idx, end_idx):
    ori_path = pcdfolder
    des_path = binfolder
    if not os.path.exists(des_path):
        os.makedirs(des_path)
    for idx in range(start_idx, end_idx + 1):
        filename = f"{idx:06d}"
        velodyne_file = os.path.join(ori_path, filename + '.pcd')
        if os.path.exists(velodyne_file):
            pl = read_pcd(velodyne_file)
            pl = pl.reshape(-1, 4).astype(np.float32)
            velodyne_file_new = os.path.join(des_path, filename + '.bin')
            pl.tofile(velodyne_file_new)
        else:
            print(f"File not found: {velodyne_file}")

def read_pcd(filepath):
    lidar = []
    header_passed = False
    with open(filepath, 'r') as f:
        for line in f:
            line = line.strip()
            if line.startswith('DATA'):
                header_passed = True
                continue
            if header_passed:
                linestr = line.split()
                if len(linestr) == 3:
                    linestr_convert = list(map(float, linestr)) 
【3D目标检测】环境搭建(OpenPCDet、MMdetection3d、Det3d) 在Conda虚拟环境中搭建MMdetection3d环境 阅读详情

相关推荐

三维目标检测之OpenPCDet环境配置及demo测试

记录了我所遇到的一些坑,希望能帮到你。详细的OpenPCDet框架环境搭建和demo测试过程。

记录和分享 1万+

基于openpcdet的Pointpillars之ROS可视化

pointpillars的ros可视化

weixin_58207716的博客 5415

Pointpillars三维点云实时检测

实现实时检测的pointpillars

slamer111的博客 6938

ROS点云的Pointpillars实时目标检测

ROS点云的Pointpillars实时目标检测

weixin_43807148的博客 8271

PointPillars 训练和部署

OpenPCDet/pcdet/ops/pointnet2/pointnet2_stack/src/sampling.cpp:4:10: fatal error: THC/THC.h: 没有那个文件或目录。的数据集,这个数据集是新加的,需要安装av2库才能够读取这个数据集,但是av2不支持python 3.6,python3.8就可以。2)不依赖系统cuda版本,安装带cudatollkit的pytorch,这里安装的1.11.0。1)根据系统的cuda版本安装pytorch,不带cudatoolkit。

智能机器人产学研基地 966

如何用OpenPCDet快速部署自定义点云检测模型(以Pointpillars为例)

本文详细介绍了如何使用OpenPCDet框架快速部署自定义点云检测模型,以Pointpillars算法为例。内容涵盖环境配置、模型切换、自定义数据适配、ROS接口集成及性能调优技巧,帮助开发者在自动驾驶和机器人感知领域高效实现点云目标检测。

weixin_30500105的博客 260

保姆级教程:在Ubuntu 18.04上从零搭建OpenPCDet,搞定Kitti数据集和PointPillars训练

本教程详细介绍了在Ubuntu 18.04系统上从零搭建OpenPCDet框架的全流程,包括环境配置、Kitti数据集处理以及PointPillars模型训练和评估。通过逐步指导,帮助用户快速掌握3D目标检测的关键技术,提升在激光雷达点云数据处理方面的实践能力。

weixin_42573113的博客 290

OpenPCDet:OpenPCDet工具箱,用于基于LiDAR的3D对象检测

OpenPCDet OpenPCDet是一个清晰,简单,自成体系的开源项目,用于基于LiDAR的3D对象检测。 它也是 , 和的官方代码版本。 概述 变更日志 [2020-11-27]错误修复:如果您想使用我们提供的Waymo评估工具(请参阅 ),请重新准备Waymo数据集(版本1.2)的验证信息。 请注意,您不需要重新准备训练数据和真实的数据库。 [2020-11-10]新增功能:最新的结果为提供了支持。 当前,我们在Waymo开放数据集上提供SECOND , PartA2和PV-RCNN的配置和结果,并且可以通过修改其数据集配置轻松支持更多模型。 [2020-08-10]错误修复:已更新提供的NuScenes模型,以修复加载错误。 如果您需要使用预训练的NuScenes模型,请重新下载它。 [2020-07-30] OpenPCDet v0.3.0已发布,具有以下功能: 现

3D视觉革命丨多相机协同拼接技术如何重塑工业检测边界

本文深入探讨了多相机协同拼接技术如何突破单台3D相机的物理局限,实现工业检测从“点面”到“立体”的无死角覆盖。通过拆解系统标定、同步融合等核心技术,并结合锂电池、长轴零件等实战案例,揭示了该技术如何以虚拟“超级视觉传感器”重塑检测边界,提升精度与效率。

weixin_29056865的博客 381

VTK的编译和部署,配合c++和visual studio2022,VTK开发环境的配置

在官网选择最新的版本下载之后进行解压,然后再里面创建build目录,方便后面使用cmake进行编译。

dz131lsq的博客 3219

ubuntu18.04安装R——无法连接上 dl.google.com:80 (6.6.6.6),连接超时&&E: 无法修正错误,因为您要求某些软件包保持现状,就是它们破坏了软件包间的依赖关系。

安装R的时候,sudo apt update 的时候出现错误: 查资料要修改/etc/apt/sources.list.d/google-chrome.list 文件 原来是: deb http://dl.google.com/linux/chrome/deb/ stable main 改为: deb [arch=amd64] http://dl.google.com/linux/chrom...

许希律的博客 4343

GD32主程序跑飞?可能是BOOT0引脚惹的祸(附J-LINK调试实录)

本文针对GD32微控制器程序下载后无法运行的典型问题,深入剖析了BOOT0引脚配置对启动模式的关键影响。通过结合J-LINK调试器与KEIL MDK环境,详细演示了如何从程序跑飞现象(如PC指向0x1FFF Fxxx)定位到硬件层面的BOOT0引脚与VDD短路故障,并提供了系统的硬件排查步骤与设计预防建议。

d6e7f8的博客 697

SIwave:在 SIwave 中释放计算频率扫描的强大功能

AEDT 的电路工具允许注入正确的电压和电流。要使用电路工具,SIwave 必须首先使用 PI 求解器求解结构的 S 参数。

jkh920184196的博客 1462

GStreamer Plugin之Gst-nvdewarper

支持三种投影类型 NVDS_META_SURFACE_FISH_PUSHBROOM, NVDS_META_SURFACE_FISH_VERTCYL 和NVDS_META_SURFACE_PERSPECTIVE_PERSPECTIVE。关于每个平面的NvDewarperSurfaceMeta参数(projection_type, surface_index, and source_id)以及内存中有效的矫正平面(num_filled_surfaces)包含RGBA格式的一帧的缓存。矫正后的RGBA格式。

pvmsmfchcs的博客 361

初探802.11协议(6)——Wi-Fi 6新特性简介

Wi-Fi 6新机制(特性)介绍

FanFF的博客 1518

YOLOv8与UNetV2融合:一种面向目标检测与图像分割的混合方法【附核心代码】

我们提出了一种基于YOLOv8和UNetV2相结合的混合架构。该架构利用YOLOv8作为主干进行目标检测,同时在YOLOv8的特征提取过程中,引入UNetV2来进行图像分割任务的增强。在该架构中,YOLOv8负责大范围目标检测和位置预测,而UNetV2则在检测网络的特征图基础上,通过其高效的上下文信息提取和细节恢复能力,进一步优化分割任务。在本文中,我们提出了一种改进YOLOv8的方法,通过引入图像分割网络UNetV2来提高图像分割检测性能。

一键难忘的博客 3513

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

jdk-8u144-linux-x64.tar.gz.

该资源为搭建Linux系统Java环境用,资源的后缀为tar.gz格式的压缩包

上一篇: 创业思考:小而美,摆脱棋子身份
下一篇: Pointpillars(三)工程实践
逍遥郎wj
逍遥郎wj 优质创作者: 人工智能技术领域 优质创作者: 人工智能技术领域
博客等级 码龄16年 4万+粉丝 329原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值