AVOD:Aggregate View Object Detection跑通(官方README小补充)

烂漫一生 提交于 2020-12-04 09:56:33

本地环境

Ubuntu20.04 + anaconda + tensorflow-gpu1.3.0 + cudatookit8.0 +
cudnn6.0 + protobuf3.14.0(protobuf用3.2.0会报错)

1. protobuf文件解释

protobuf是google的一个开源的用来做数据通信的库,在avod/protos文件中有很多.proto文件,这些文件定义了通信用的数据内容和格式,但是想在程序中使用他们,得使用protobuf对他们进行编译,给每个.proto文件生成一个python文件。执行中之后会提示有语法错误,只需看avod/protos文件中是否生成了python文件,生成即可。

2. 配置环境变量

工程是基于python编写的,定义了很多模块,这些模块之间需要互相调用,但各个模块又是相对独立的,所以需要把各个模块的路径添加到python的环境变量中,以方便他们之间互相调用。不配置环境变量导致调用包的时候报错

在终端输入以下指令打开设置环境变量的文件,添加绝对路径(没有gedit用vim)

gedit ~/.bashrc
export PYTHONPATH=/path/to/your/avod:/path/to/your/avod/wavedata:$PYTHONPATH
source ~/.bashrc

3. 准备数据集

原作者使用KITTI数据集,其中说明一下附加数据文件,包括以下两部分:

trainval.txt、train.txt、val.txt:这三个文件帮助程序把训练数据又重新分为训练集和验证集
planes:这个是作者自己生成的路面平面拟合参数。

最后把下载好的Kitti数据集调整至如下格式:

在这里插入图片描述

4. 生成min-batch

mini-batch 是 RPN 所需要的东西,执行成功后会在avod/data/下生成如下两个文件夹label_clustersmini_batches

5. 训练

执行python avod/experiments/run_training.py 若只有单块GPU, 将run_training.py中的default_device改成0

6. 训练后查看tensorboard
在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

7. 查看结果

执行demos/show_predictions_2d.py会产生结果图,图片自动存放在文件夹avod/data/outputs/pyramid_cars_with_aug_example/predictions/images_2d/predictions/val/120000/0.1

在这里插入图片描述
在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!