complex-YOLOv4(二):浅test下complex_yolov3源码

complex-YOLOv4(二):浅test下complex_yolov3源码

      • 一、代码下载和环境准备
      • 二、快速测试(不用下载KITII数据集)
      • 三、整理数据集并检查
      • 四、浅测下mAP

一、代码下载和环境准备

$ git clone https://github.com/ghimiredhikura/Complex-YOLOv3
$ cd Complex-YOLO-V3/
$ sudo pip install -r requirements.txt

建议装到Anaconda虚拟环境中,因为这个代码是三年前发的了,配置的第三方库都是旧版本,仅仅适用于当前的项目。用完删掉就好,不会污染环境。

二、快速测试(不用下载KITII数据集)

1、首先下载预训练权重

$ cd checkpoints/
$ python download_weights.py

这里代码实现是从google云盘下载的。需要用梯子,不然权重下载不下来。我下载好放到网盘里了。自取。

链接:https://pan.baidu.com/s/1CfAwzms5CPPfyv-X-WHRig 
提取码:0yeh

如果从网盘下载就不需要执行downloadweights这一行代码了。将下载好的权重文件放到checkpoints文件夹下。
2、测试

1. $ python test_detection.py --split=sample --folder=sampledata  
2. $ python test_both_side_detection.py --split=sample --folder=sampledata

三、整理数据集并检查

不要对下载好的点云进行什么剪裁操作,直接用原始数据集。按照下图文件结构移动文件到相应位置。
也不需要进行train、val的划分什么的,因为代码读取数据集时会根据参数读取train.txt 或val.txt,本身就会自动划分的,所以不需要我们手动划分。

└── data/KITTI/object
       ├── training    <-- 7481 train data
       |   ├── image_2 <-- for visualization
       |   ├── calib
       |   ├── label_2
       |   ├── velodyne
       └── testing     <-- 7580 test data
           ├── image_2 <-- for visualization
           ├── calib
           ├── velodyne           

检查
$ pyhon check_dataset.py
要想成功运行,得改下代码。改下这行,不然会报错。

kitti_bev_utils.py line 174
//
cv2.line(img, (corners_int[0, 0], corners_int[0, 1]), (corners_int[3, 0], corners_int[3, 1]), (255, 255, 0), 2)

complex-YOLOv4(二):浅test下complex_yolov3源码_第1张图片
改改split参数和folder参数,看看能不能读取对应的数据集文件,数据集数量对不对,行就说明数据集整理好了,可以进行下一步了。

train:5763          
valid:1414
test:7518
这里的数据集个数比原始的少,是过滤了没有包含关注目标的点云文件

四、浅测下mAP

1)可视化显示测试结果

$ python test_detection.py
$ python test_both_side_detection.py

结果:
complex-YOLOv4(二):浅test下complex_yolov3源码_第2张图片
速度真的蛮快!

2)mAP测试:
tiny-yolov3
complex-YOLOv4(二):浅test下complex_yolov3源码_第3张图片
yolov3
complex-YOLOv4(二):浅test下complex_yolov3源码_第4张图片
跟代码作者给的数据一致。
complex-YOLOv4(二):浅test下complex_yolov3源码_第5张图片

这里就先不训练了,我试了试训练,我的cuda是11.4版本,训练时会出现非法内存访问。可能是版本不支持的问题,就没管了。

你可能感兴趣的:(三维目标检测,点云,目标检测)