快速导航×

VoxelNet:基于点云的三维空间信息逐层次学习网络2025-07-28 10:33:02
本文是对苹果公司2017年VoxelNet论文的复现项目介绍。该网络基于点云实现3D物体检测,通过VFE层提取体素特征,经3D卷积和RPN网络完成检测。项目可训练评估,但单卡训练未达论文精度,存在内存泄漏问题。还介绍了数据集准备、库安装、训练评估步骤及部分结果指标。

☞☞☞AI 智能聊天, 问答助手, AI 智能搜索, 免费无限量使用 DeepSeek R1 模型☜☜☜

voxelnet:基于点云的三维空间信息逐层次学习网络 -

VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection

VoxelNet:基于点云的三维空间信息逐层次学习网络

1、项目总览

①、简介

本项目主要是对来自2017年苹果公司基于点云的3D物体检测论文"VoxelNet: End-to-End Learning for Point Cloud Based 3D Object Detection"进行复现。 VoxelNet只利用点云数据,在无人驾驶环境下实现了高精度的三维物体检测。

Note:项目目前可以训练、可以评估预测。但是(单卡训练,bs=2,epoch=100)未达到论文精度(论文bs=16,epoch=160)。有兴趣的同学可以自己尝试

另外重要的是:训练存在内存泄漏问题,之前定位到dataloader泄漏,不知道是数据预处理部分有问题还是paddle的问题,但是自己没闲功夫修改了,具体位置有兴趣的同学自己排查吧。 不然就得训练一段时间断掉再resume,其中train_fix_oom.py就是采用了读取内存,超过阈值resume的方案~

想要复现指标,一个是要调整参数(主要是yaml文件里的参数,但是参数改动可能造成出错),一个是要把项目里的bug fix掉噢!我认为调大batchsize应该会有大的提升!但是我并未尝试过多卡训练,所以可能会出问题。

ps:本项目主要是从second修改而来,所以稍加修改即可复现second和pointpillar。

之前训练(未训练完)的某次结果指标:

美图云修 美图云修

商业级AI影像处理工具

美图云修 50 查看详情 美图云修
Car AP@0.70, 0.70, 0.70:bbox AP:53.40, 41.52, 35.37bev  AP:52.85, 40.87, 34.853d   AP:50.86, 36.90, 30.71aos  AP:28.13, 23.91, 21.17Car AP@0.70, 0.50, 0.50:bbox AP:53.40, 41.52, 35.37bev  AP:53.44, 42.09, 35.773d   AP:53.42, 41.90, 35.65aos  AP:28.13, 23.91, 21.17
   

2、网络简介

将三维点云划分为一定数量的Voxel,经过点的随机采样以及归一化后,对每一个非空Voxel使用若干个VFE(Voxel Feature Encoding)层进行局部特征提取,得到Voxel-wise Feature,然后经过3D Convolutional Middle Layers进一步抽象特征(增大感受野并学习几何空间表示),最后使用RPN(Region Proposal Network)对物体进行分类检测与位置回归。VoxelNet整个pipeline如下图所示。

①、网络结构

VoxelNet:基于点云的三维空间信息逐层次学习网络 -        

通过层叠的VFE层将体素编码,然后3D卷积进一步放大局部voxel特征,将点云转化成高维的体积的表达。最后通过RPN产生检测结果。

②、特征提取模块:VFE

VoxelNet:基于点云的三维空间信息逐层次学习网络 -        

3、RPN模块

VoxelNet:基于点云的三维空间信息逐层次学习网络 -        

论文中提到,RPN 中的 FCN网络分为 3 块,每一块都会实现 2x 效果的下采样率。然后,又实现了向上采样,将倒数 3 块上采样到固定的尺寸,然后拼接起来。最终,由上采样拼接后的卷积引出 2 个目标分支:概率图和回归图 注意它们的尺寸,概率图通道数是 2,代表正负 anchor 的概率,这个概率应该通过 softmax 处理过。 回归图的通道数是 7,代表的就是一个 anchor 的 3D 信息(x,y,z,l,w,h,theta)

②、损失函数

VoxelNet:基于点云的三维空间信息逐层次学习网络 -        

总体 Loss 由 2 部分组成:

  • 分类 Loss
  • 回归 Loss

3、网络训练

1、数据集的准备(十几分钟解压)

VoxelNet:基于点云的三维空间信息逐层次学习网络 -

    VoxelNet网络在KITTI数据集中的3D Detection数据集上面进行训练,数据集中包含7481张训练图片以及7518张测试图片,一共有80256个标记物体,并且测试模式包含普通的视角以及鸟瞰视角。

In [ ]
!rm -rf kitti/
!mkdir -p kitti/training/velodyne_reduced
!mkdir -p kitti/testing/velodyne_reduced
    In [ ]
!unzip data/data50186/data_object_calib.zip -d kitti/
    In [ ]
!unzip data/data50186/image_training.zip -d kitti/training/
!unzip data/data50186/data_object_label_2.zip -d kitti/training/
!unzip data/data50186/velodyne_training_1.zip -d kitti/training/
!unzip data/data50186/velodyne_training_2.zip -d kitti//training/
!unzip data/data50186/velodyne_training_3.zip -d kitti/training/
    In [ ]
!unzip data/data50186/image_testing.zip -d kitti/testing/
!unzip data/data50186/velodyne_testing_1.zip -d kitti/testing/
!unzip data/data50186/velodyne_testing_2.zip -d kitti/testing/
!unzip data/data50186/velodyne_testing_3.zip -d kitti/testing/
    In [ ]
!mv kitti/training/training/* kitti/training/
!rm -rf kitti/training/training/
!mv kitti/testing/testing/* kitti/testing/
!rm -rf kitti/testing/testing/
    In [ ]
!mkdir kitti/training/velodyne
!mv kitti/training/velodyne_training_1/* kitti/training/velodyne/
!mv kitti/training/velodyne_training_2/* kitti/training/velodyne/
!mv kitti/training/velodyne_training_3/* kitti/training/velodyne/
!rm -rf kitti/training/velodyne_training_1
!rm -rf kitti/training/velodyne_training_2
!rm -rf kitti/training/velodyne_training_3
!mkdir kitti/testing/velodyne
!mv kitti/testing/velodyne_testing_1/* kitti/testing/velodyne
!mv kitti/testing/velodyne_testing_2/* kitti/testing/velodyne
!mv kitti/testing/velodyne_testing_3/* kitti/testing/velodyne
!rm -rf kitti/testing/velodyne_testing_1
!rm -rf kitti/testing/velodyne_testing_2
!rm -rf kitti/testing/velodyne_testing_3
   

2、安装必要的库

In [ ]
!pip install shapely pybind11 protobuf scikit-image pillow fire scikit-image memory_profiler psutil
!pip install numpy==1.17!pip install numba==0.48.0
   

3、数据集处理与准备

    对KITTI数据集进行处理。

       

数据集应有结构

kitti/
├── training/
├──    	├── calib
├──    	├── image_2
├──    	├── label_2
├──    	├── velodyne
├──    	└── velodyne_reduced
├── testing/
├──    	├── calib
├──    	├── image_2
├──    	├── velodyne
├──    	└── velodyne_reduced
├── gt_database/
		├── 4264_Car_1.bin
    	...
├── kitti_dbinfos_train.pkl├── kitti_infos_test.pkl├── kitti_infos_train.pkl├── kitti_infos_trainval.pkl├── kitti_infos_val.pkl├── test.txt├── train.txt├── trainval.txt└── val.txt
    In [ ]
!tree -L 1 kitti/
    In [ ]
%cp -r kittiinfo/* kitti/
    In [ ]
%cd Voxelnet
    In [ ]
!python create_data.py create_kitti_info_file --data_path=/home/aistudio/kitti ## 报错的话,可能需要修改create_data.py内的路径
    In [ ]
!python create_data.py create_reduced_point_cloud --data_path=/home/aistudio/kitti
    In [ ]
!python create_data.py create_groundtruth_database --data_path=/home/aistudio/kitti
   

4、训练

In [15]
# !python train.py train --cfg_file=configs/voxelnet_kitti_car.yaml --model_dir=./output#或者!python train_mgpu.py --config=configs/voxelnet_kitti_car.yaml --model_dir=./output --use_vdl=True
   

5、评估

In [ ]
!python eval.py eval --cfg_file=configs/voxelnet_kitti_car.yaml --model_dir=./output
   

以上就是VoxelNet:基于点云的三维空间信息逐层次学习网络的详细内容,更多请关注其它相关文章!


# 主要是  # 个人网络营销推广方案  # 滁州网站建设创造辉煌  # 瓯海seo优化哪家好  # 商河引流营销推广  # 教育网站seo优化咨询  # 石家庄网站seo找行者SEO  # seo跟踪表  # 北京小红书运营推广营销报价  # 深圳seo 营销  # seo关键词优化零金手指排名十七  # 会有  # 实现了  # 的是  # python  # 官网  # 苹果公司  # 有兴趣  # 美图  # 一言  # 中文网  # fig  # udio  # igs  # red  # ai  # 苹果 


相关栏目: 【 企业资讯168 】 【 行业动态50218 】 【 媒体报道120512


相关推荐: typescript 如何使用  typescript中如何引入本地js  爱奇艺vip会员可以同时几个人用?  mac如何使用vi命令行  如何用dos命令启动u盘  如何判断固态硬盘端口  固态硬盘如何外接  bc是什么意思  win10如何打开dos命令窗口大小  分享一个稳定的ao3镜像网址  单身交友必备软件  ensp命令如何提示  typescript是做什么用的  typescript是什么类型的语言  固态硬盘坏了如何换硬盘  市盈率百分位roe是什么意思  命令行下如何导出数据库  typescript是什么软件  16苹果有哪些机型  单片机加热片怎么制作  买的5g手机但是没有5g网络怎么办  unix时间戳转换公式  一尺是多少厘米  折叠屏手机信号哪个最强  花呗征信不好如何恢复 如何修复不良的花呗征信  datediff快捷函数怎么用  学typescript有什么用  夸克高考为什么不靠谱  使用typescript对团队有什么要求  typescript为什么能运行  nfc近场通讯功能是什么意思  苹果16有哪些变化尺寸  苹果16更新了哪些功能  如何创建sql命令  哪些库是typescript  苹果16会升级哪些  手机nfc功能功能是什么意思  复制 命令如何撤销  春运抢票最快几天能成功  折叠屏手机好不好,耐不耐用  空调power灯一直闪是什么意思  如何设置从固态硬盘启动  显示器上power键是什么意思  如何安装台式机固态硬盘  j*a中如何创建列表数组  如何安装笔记本固态硬盘  如何选择启用固态硬盘  固态硬盘如何显示  360n6锁屏壁纸怎么设置  165开头的是什么电话号码