使用YOLO训练Kitti数据集

   其他文章http://blog.csdn.net/baolinq

         上次写了一篇关于使用yolo训练VOC数据集的文章,传送门(http://blog.csdn.net/baolinq/article/details/78724314)。但是总不能只使用一个数据集,多使用几个数据集看看效果。因为我主要在做车辆和行人方面的检测。正好KITTI 数据集是做无人驾驶方面的公开权威数据集,包含大量公路,城市街道等各种路况的数据集,官方网站(http://www.cvlibs.net/datasets/kitti/index.php),很符合我的要求。

1.      下载KITTI 数据集

Kitti数据是利用车顶上的多个相机拍的,我这里只取了leftimage,也就是第一个,链接(http://www.cvlibs.net/datasets/kitti/eval_object.php?obj_benchmark=2d),有点大,12G左右。点击链接会让你填一个邮箱,真正的下载链接会发到你的邮箱,还有label文件。只有训练图片有标签,test图片没有标签,现在还不知道如何使用,有知道大神指导一下。我暂时是这样做的,后面我会把train图片分成train,val,和test三个部分

2.      KITTI 数据集转化为VOC数据集格式

如果你没有修改yolo网络的源码,我们知道,它需要的是VOC数据格式的训练集。那么VOC数据集格式是这么样的呢?简单来看一下:

 --VOC  
      --Annotations  
      --ImageSets  
        --Main  
       --Layout  
       --Segmentation  
     --JPEGImages  
     --SegmentationClass  
      --SegmentationObject 


后面两个是分割用到的,不用管他们。这里面用到的文件夹是Annotation、ImageSets和JPEGImages。其中文件夹Annotation中主要存放xml文件,每一个xml对应一张图像,并且每个xml中存放的是标记的各个目标的位置和类别信息,命名通常与对应的原始图像一样;而ImageSets我们只需要用到Main文件夹,这里面存放的是一些文本文件,通常为train.txt、test.txt等,该文本文件里面的内容是需要用来训练或测试的图像的名字(无后缀无路径);JPEGImages文件夹中放我们已按统一规则命名好的原始图像。

 

而KITTI数据集又是什么样的呢

Kitti的标记信息是一个txt,里面的内容如下:

Car 0.00 0 -1.67 642.24 178.50 680.14 208.68 1.381.49 3.32 2.41 1.66 34.98 -1.60 
Car 0.00 0 -1.75 685.77 178.12 767.02 235.21 1.50 1.62 3.89 3.27 1.67 21.18-1.60

 

以上内容的含义如下:(截图自https://github.com/NVIDIA/DIGITS/blob/v4.0.0-rc.3/digits/extensions/data/objectDetection/README.md

 

这部分参考http://blog.csdn.net/jesse_mx/article/details/65634482

大概了解了数据的格式,我们就开始转化吧。首先建立一系列的文件夹:

# scipts/文件夹下新建KITTIdevkit/KITTI两层子目录,所需文件放在KITTI/

Annotations/

评论 54
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值