代码复现 : voxelnet_tensorflow版本

程序代码:https://github.com/qianguih/voxelnet

环境

运行系统:Ubuntu 18.04
使用语言:Python 3.6
硬件支持:GTX2080Ti + CUDA10.0 + CUDNN7.6.5 + TensorFlow-gpu1.15.4

安装依赖

根据readme要求需要安装以下库依赖库

  • opencv
  • shapely
  • numba
  • easydict

程序安装

1、克隆代码

2、编译Cython模块

python setup.py build_ext --inplace

3、编译评估(evaluation)代码

cd kitti_eval
g++ -o evaluate_object_3d_offline evaluate_object_3d_offline.cpp

4、向评估(evaluation)脚本授予执行权限

cd kitti_eval
chmod +x launch_test.sh

数据准备

1、下载数据

从KITTI官方网址下载3D KITTI检测数据集,下载的数据要包括:

  • Velodyne point clouds (29 GB): input data to VoxelNet
  • Training labels of object data set (5 MB): input label to VoxelNet
  • Camera calibration matrices of object data set (16 MB): for
    visualization of predictions
  • Left color images of object data set (12 GB): for visualization of
    predictions

2、裁剪数据

在该项目中,我们使用裁剪的点云数据进行训练和验证。 图像坐标外部的点云将被删除。 更新data / crop.py中的目录,然后运行data / crop.py生成裁剪的数据。 请注意,裁剪的点云数据将覆盖原始点云数据。

3、数据分类

根据此处的协议将训练集分为训练集和验证集。并重新排列文件夹,使其具有以下结构:

└── DATA_DIR
       ├── training   <-- training data
       |   ├── image_2
       |   ├── label_2
       |   └── velodyne
       └── validation  <--- evaluation data
       |   ├── image_2
       |   ├── label_2
       |   └── velodyne

4、更新config.py和kitti_eval / launch_test.sh中的数据集目录

五、开始训练

1、在config.py中指定要使用的GPU

在config.py中找到以下内容:

__C.GPU_AVAILABLE = '0,1'

然后改成以下内容:

__C.GPU_AVAILABLE = '0'

2、使用所需的超参数运行train.py以开始训练

python train.py --alpha 1 --beta 10

请注意,原作者在本文中介绍的超参数设置无法产生高质量的结果。因此,此处指定了其他设置。

在两个Nvidia 1080 Ti GPU上进行的培训大约需要3天(如论文中所述,共160个epochs)。在训练过程中,训练统计信息记录在log/default中,可以通过tensorboard监视。模型保存在save_model / default中。中间验证结果储到文件夹predictions/XXX/data中,其中XXX为epoch数。指标将被计算并保存在predictions/XXX/log中。如果将–vis标志设置为True,则中间结果的可视化结果将转储到文件夹references / XXX / vis中。

3、训练结束之后,执行parse_log.py将生成学习曲线

python parse_log.py predictions

4、查看训练模型
在save_model / pre_trained_car中有一个针对car的预训练模型。

六、评估

1、训练完成后,运行test.py -n默认值以对验证集产生最终预测。将-n标志更改为pre_trained_car将开始测试预训练模型(目前仅提供汽车模型)。

python test.py

结果将转储到predictions/data中。如果想要转储可视化文件,请将–vis标志设置为True,并将其保存到predictions/vis中。

2、运行以下命令以测量预测的定量性能:

./kitti_eval/evaluate_object_3d_offline [DATA_DIR]/validation/label_2 ./predictions

至此VoxelNet_TensorFlow训练过程已经结束,但是这个版本的代码,非常的耗内存,经常导致机器死机,(我就是这样,跑到几轮就内存满了,跑不动了,等加了内存条再说吧),代码需要进一步的优化。

七、作者的表现

下表列出了当前的实施和训练方案。
鸟瞰检测性能:基于KITTI验证集的AP
在这里插入图片描述
参考(感谢)
https://blog.csdn.net/r1141207831/article/details/102943740
https://blog.csdn.net/r1141207831/article/details/96423897

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值