其他文章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/

4023

被折叠的 条评论
为什么被折叠?



