VoxelNeXt论文复现

VoxelNeXt论文复现

代码链接:GitHub - dvlab-research/VoxelNeXt: VoxelNeXt: Fully Sparse VoxelNet for 3D Object Detection and Tracking (CVPR 2023)
原文地址:https://arxiv.org/abs/2303.11301

A Brief Introduction

VoxelNeXt直接使用了稀疏卷积网络完全通过体素特征检测和跟踪3D对象,而不需要转换到密集检测头以及NMS后处理,实现了速度和精度更好的权衡。

Getting Started

step0 Check the environment

My environment:

  • Linux (tested on Ubuntu 20.04)
  • Python 3.8
  • PyTorch 1.10
  • CUDA 11.3 (11.1 or higher)
  • gcc 9.3.0
  • cmake 3.16.3

step1 Clone the repo

git clone https://github.com/dvlab-research/VoxelNeXt && cd VoxelNeXt

step2 Install the environment

注意,在VoxelNeXt的readme中,是跟着OpenPCDet的doc安装环境,建议新开一个虚拟环境

Install pcdet v0.5

NOTE: Please re-install pcdet v0.5 by running python setup.py develop even if you have already installed previous version.

a. Clone this repository. (不需要,VoxelNeXt-master本身就是改了名字的该repo)

git clone https://github.com/open-mmlab/OpenPCDet.git

b. Install the dependent libraries as follows:

  • Install the SparseConv library, we use the implementation from [spconv].

    • If you use PyTorch 1.1, then make sure you install the spconv v1.0 with (commit 8da6f96) instead of the latest one.
    • If you use PyTorch 1.3+, then you need to install the spconv v1.2. As mentioned by the author of spconv, you need to use their docker if you use PyTorch 1.4+.
    • You could also install latest spconv v2.x with pip, see the official documents of spconv.

    这是很重要的一步,该库需要适配我们的环境,具体注意点如下:

    1. 先在自己的环境里测试是否已存在spconv,若存在,测试其版本:
    #spconv1.x版本
    import spconv
    a = spconv.SparseModule()
    #spconv2.x版本,import的同时会自动编译
    import spconv.pytorch as spconv
    a = spconv.SparseModule()
    

    由于1.x版本基本在现在不用了,而且可能要手动编译,建议根据官方提供的方法彻底删除原来的库,在环境中存在多个不同版本的spconv会导致错误 (所以建议在虚拟环境中开发)。

    1. 确认自己环境干净,直接pip 2.x版本的spconv,注意与cuda版本对应。

    2. 在pip后,注意再次进行a步骤的测试,验证2.x版本spconv以安装成功。具体相关问题可以参考https://blog.csdn.net/AaaA00000001/article/details/127031829

c. Install this pcdet library and its dependent libraries by running the following command:

python setup.py develop

NOTE: 编译时注意查看 gcc和cmake版本

d. 这一步是在OpenPCDet的demo里的,安装可视化mayavi或者open3d两者都可以,可以安装其中一个,也可以两个都安装,安装前者需要额外的依赖。

NOTE: 其实requirement是不完全的,后期需要补充安装av2和kornia模块,直接pip即可。

step3 Evaluation

a. 准备数据集,这里以nuscenes为例

pip install pycocotools
pip install pip install nuscenes-devkit==1.0.5

# nuscenes_dataset.py中需要修改一下自己实际存放数据集的路径,这一步是处理nuscenes格式,创建data infos,使之可以被OpenPCDet调用
python -m pcdet.datasets.nuscenes.nuscenes_dataset \
			--func create_nuscenes_infos \
			--cfg_file tools/cfgs/dataset_configs/nuscenes_dataset.yaml \
			--version v1.0-trainval (or v1.0-mini)

# 参考链接:https://zhuanlan.zhihu.com/p/599090187
原始格式
OpenPCDet
├── data
│   ├── nuscenes
│   │   │── v1.0-trainval (or v1.0-mini)
│   │   │   │── samples # 对keyframes的,各种sensor的数据,包括了相机、毫米波雷达和激光雷达
│   │   │   │── sweeps # intermediate frames(过渡帧或中间帧)的sensor data
│   │   │   │── maps # 存放着所有的map files,包括栅格化后的png图片和向量化后的json文件
│   │   │   │── v1.0-trainval (or v1.0-mini) # 存放着所有meta data和annotations的JSON table

处理后的格式
OpenPCDet
├── data
│   ├── nuscenes
│   │   │── v1.0-trainval (or v1.0-mini)
│   │   │   │── samples 
│   │   │   │── sweeps
│   │   │   │── maps 
│   │   │   │── v1.0-trainval (or v1.0-mini) # 存放着所有meta data和annotations的JSON table
        │   │── gt_database_10sweeps_withvelo # mini版本里没有
        │   │── nuscenes_infos_10sweeps_train.pkl
        │   │── nuscenes_infos_10sweeps_val.pkl
        │   │── nuscenes_dbinfos_10sweeps_withvelo.pkl

参考链接:https://blog.csdn.net/Mao_Jonah/article/details/120567084 

处理日志:
网络图片地址

这里引用了知乎 @零呀 同学的图,若有问题请与我联系。
参考链接:https://zhuanlan.zhihu.com/p/599090187

NOTE: 如使用nuscense_mini数据集,要修改VoxelNeXt-master/tools/cfgs/dataset_configs/nuscenes_dataset.yaml :
VERSION: ‘v1.0-trainval’VERSION: ‘v1.0-mini’

b. eval
先下载预训练模型:

nuScenes Detection	Set	mAP	NDS	Download
VoxelNeXt	        val	60.5	66.6	Pre-trained
这个对应的cfg文件是:
VoxelNeXt/tools/cfgs/nuscenes_models/cbgs_voxel0075_voxelnext.yaml
cd tools 
bash scripts/dist_test.sh NUM_GPUS --cfg_file PATH_TO_CONFIG_FILE --ckpt PATH_TO_MODEL
#For example,
bash scripts/dist_test.sh 8 --cfg_file PATH_TO_CONFIG_FILE --ckpt PATH_TO_MODEL
H_TO_CONFIG_FILE --ckpt PATH_TO_MODEL
#For example,
bash scripts/dist_test.sh 8 --cfg_file PATH_TO_CONFIG_FILE --ckpt PATH_TO_MODEL

注意到有些内容引用了其他同学,若有问题请与我联系

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 5
    评论
CVPR 2023是计算机视觉和模式识别的顶级会议,UAV(无人机)在该会议上是一个热门的研究领域。 UAV(无人机)技术在过去几年中取得了显著的发展和广泛的应用。它们被广泛用于农业、测绘、监测和救援等领域。CVPR 2023将成为研究者们交流、展示和分享无人机相关研究的理想平台。 首先,CVPR 2023将提供一个特殊的无人机研究专题,以探讨该领域的最新进展和创新。研究人员可以提交和展示基于无人机的计算机视觉和模式识别的研究成果。这些研究可能涉及无人机导航、目标识别、图像处理等方面,以解决现实世界中的问题。 其次,CVPR 2023也将包括无人机在计算机视觉和模式识别中的应用研究。无人机可以提供独特的视角和数据采集能力,用于处理各种计算机视觉任务,如物体检测、场景分割等。研究者可以展示他们基于无人机的方法与传统方法的对比实验结果,并讨论无人机在这些领域的优势和局限性。 此外,CVPR 2023还将包括与无人机相关的新兴技术和趋势的讨论。例如,无人机与深度学习、增强现实等领域的结合,将推动计算机视觉和模式识别的研究和应用取得更大的突破。研究者可以分享他们在这些交叉领域中的创新成果,并与其他学者进行深入的讨论和合作。 总之,CVPR 2023将为无人机在计算机视觉和模式识别领域的研究提供一个重要的平台。它将促进学术界和工业界之间的合作与交流,并为未来的无人机技术发展提供新的思路和方向。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值