目的:将kitti、Lisa数据集合并,进行训练
一、数据集准备,将两种数据集准备成VOC格式
kitti数据集(车辆行人等):http://www.cvlibs.net/datasets/kitti/eval_object.php
lisa数据集(47种交通标志):http://cvrr.ucsd.edu/LISA/lisa-traffic-sign-dataset.html
1、准备kitti数据集
创建VOCdevkit/traffic,并为其创建子目录:Annotations,ImageSets,JPEGImages
根据VOC格式要求,创建文件夹,解压kitti数据集得到:image_2,label_2两个文件,分别为图片、标注。
标注信息保存在txt文件,内容格式:Car 0.96 0 -0.86 0.00 199.21 302.21 369.00 1.50 1.78 3.69 -3.17 1.66 3.35 -1.57
将image_2内容复制到JPEGImages目录,
在traffic目录下创建create_kitti_xml.py脚本,生成xml格式的标注,参考:https://github.com/manutdzou/KITTI_SSD/blob/master/data/KITTI/KITTI_xml.py
from xml.dom.minidom import Document
import cv2
import os
def generate_xml(name,split_lines,img_size,class_ind):
doc = Document() # 创建DOM文档对象
annotation = doc.createElement('annotation')
doc.appendChild(annotation)
title = doc.createElement('folder')
title_text = doc.createTextNode('KITTI')
title.appendChild(title_text)
annotation.appendChild(title)
img_name=name+'.png'
title = doc.createElement('filename')
title_text = doc.createTextNode(img_name)
title.appendChild(title_text)
annotation.appendChild(title)
source = doc.createElement('source')
annotation.appendChild(source)
title = doc.createElement('database')
title_text = doc.createTextNode('The KITTI Database')
title.appendChild(title_text)
source.appendChild(title)
title = doc.createElement('annotation')
title_text = doc.createTextNode('KITTI')
title.appendChild(title_text)
source.appendChild(title)
size = doc.createElement('size')
annotation.appendChild(size)
title = doc.createElement('width')
title_text = doc.createTextNode(str(img_size[1]))
title.appendChild(title_text)
size.appendChild(title)
title = doc.createElement('height')
title_text = doc.createTextNode(str(img_size[0]))
title.appendChild(title_text)