YOLOv3 车辆,行人,自行车检测

分手后的思念是犯贱 2022-08-31 04:44 294阅读 0赞

参考地址
https://github.com/ghimiredhikura/Complex-YOLOv3
(另有基于YOLOv4的https://github.com/maudzung/Complex-YOLOv4-Pytorch)

Requirements

numpy
torch=1.1
torchvision
tensorflow
terminaltables
tqdm
opencv-python
shapely

实测torch 1.2.0+cu92及tensorflow 2.3.0可运行

安装及测试

按照项目说明安装并运行test_both_side_detection.py即可进行测试,预研过程中并未发生异常

测试数据集替换

模型须要指定data/KITTI/object中的一个文件夹作为–folder的参数给出测试数据集,
并给出data/KITTI/ImageSets中的一个文件作为–split的参数给出具体测试样本的编号,
可参考data/KITTI/object/sampledata及data/KITTI/object/sample.txt

由于Complex-YOLO进行的是detection,其自带的sample也是KITTI的detection dataset,呈现结果时缺乏连续直观性
可考虑在KITTI的tracking dataset上进行测试:

  1. 下载http://www.cvlibs.net/datasets/kitti/eval\_tracking.php的calib、velodyne、image\_2
  2. 提取特定sequence作为测试数据,例如0019:
    2.1 提取data_tracking_velodyne.zip的training/velodyne/0019为tracking/velodyne
    2.2 提取data_tracking_image_2.zip的training/image_02/0019为tracking/image_2(不是02)
    2.3 提取data_tracking_calib.zip的training/calib/0019.txt,将其中R_rect、Tr_velo_cam、Tr_imu_velo分别改成
    R0_rect、Tr_velo_to_cam、Tr_imu_to_velo
    2.4 修改并执行如下所示的代码:

    import os
    from shutil import copyfile

    src = “/mnt/43BFE6BAB7D5B0D9/KITTI_TMP/tracking/0019.txt” #0019.txt的位置
    dst = “/mnt/43BFE6BAB7D5B0D9/KITTI_TMP/tracking/calib/“ #先创建的tracking/calib文件夹

    在tracking/calib中为sequence0019的每一帧创建calib文件,从000000开始编号

    for i in range(1059): #1059为sequence0019的帧数

    1. name = '%06d'%i+'.txt'
    2. copyfile(src,dst+name)

    生成放在ImageSets中的测试样本编号,这里为整个sequence0019

    with open(‘/mnt/43BFE6BAB7D5B0D9/KITTI_TMP/tracking/track.txt’,’w’) as f:

    1. for i in range(1059):
    2. f.writelines('%06d'%i+'\n')
    3. 2.5 按照sampledatasample.txt的方式,将tracking放到data/KITTI/objecttrack.txt放到ImageSets即可

效果评价

能同时识别car、pedestrian、cyclist,准确率和召回率都非常好,没有明显误判和漏判;
能够很好地捕捉目标的朝向;
因为逐帧detection效果很好,有做成tracking的潜质;
由于测试代码包含可视化部分,且GPU并未完全利用起来,测试过程中FPS较低(~3),尚不清楚模型本身的推断速度;

发表评论

表情:
评论列表 (有 0 条评论,294人围观)

还没有评论,来说两句吧...

相关阅读

    相关 分析YOLOv3目标检测

    前言 YOLOv3模型比之前的模型复杂了,但是精度也提高了。YOLOv3最大的变化包括两点:使用残差模型和采用FPN架构。YOLO2曾采用passthrough结构来检测

    相关 opencv行人检测

    行人检测是视觉领域很热也很有用的一个主题,特别是在无人驾驶中,行人检测的重要性不言而喻。 在之前进行了人脸检测之后,行人检测就显得简单多了。过程大致与人脸检测一样,都是先加载