# 目标检测数据集标注 **Repository Path**: Harris-X/objectDetectionDatasets ## Basic Information - **Project Name**: 目标检测数据集标注 - **Description**: 关于目标检测方向数据集格式的转换工具 https://github.com/DLLXW/objectDetectionDatasets - **Primary Language**: Python - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 3 - **Forks**: 1 - **Created**: 2021-10-15 - **Last Updated**: 2024-12-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: 目标检测, Python ## README # objectDetectionDatasets 目标检测数据集制作:VOC,COCO,YOLO等常用数据集格式的制作和互相转换脚本,demo/目录提供的原始的voc格式的20张原图和对应20个.xml标注. 下面的脚本都可以通过这个demo数据跑通. ## voc_split_trainVal.py 该脚本用于生成voc/目录下的ImageSets/..目录,分割了训练和验证集 ## voc_to_coco_V1.py 和 voc_to_coco_V2.py 这两个脚本都是实现从voc的.xml标注格式转换到coco的.json格式,只是有所区别 > - v1版本实现了转换的同时进行训练/验证的分割 > - v2版本包含了segemetation字段(当训练htc等需要分割的任务时候网络需要用到) ## convert_voc_to_yoloV5.py 和 convert_voc_to_yoloV3.py 两个脚本实现的功能几乎相同,灵活取用 > - V5脚本实现将voc格式的数据转化为yoloV5需要的.txt标注文件,运行该脚本,会在voc/目录下生成 worktxt/目录(yolo需要的格式). > - V3这个脚本除了生成.txt的标注(同上),还会生成一个trianval.txt的索引,以前的yolov3系列用的多一点 ## coco_split_trainVal.py 该脚本实现coco格式的数据分割出训练集和验证集,同时里面还实现了一个去除背景图的方法(没有标注框的图),可以结合上面的 voc_to_coco_v2.py使用. ## make_voc.py(其余各种格式转voc) 前面没有写coco转voc格式的脚本,make_voc.py就提供了一个制作voc格式数据的通用套路(核心代码). ```python `img = cv2.imread(image_path) height, width, depth = img.shape with codecs.open(anno_dir + imgId_frame_name[:-4] + '.xml', 'w', 'utf-8') as xml: xml.write('\n') xml.write('\t' + imgId_frame_name + '\n') xml.write('\t\n') xml.write('\t\t' + str(width) + '\n') xml.write('\t\t' + str(height) + '\n') xml.write('\t\t' + str(depth) + '\n') xml.write('\t\n') cnt = 0 for bbox in bboxs: xmin, ymin, xmax, ymax = bbox class_name = 'obstacles' # xml.write('\t\n') xml.write('\t\t' + class_name + '\n') xml.write('\t\t\n') xml.write('\t\t\t' + str(xmin) + '\n') xml.write('\t\t\t' + str(ymin) + '\n') xml.write('\t\t\t' + str(xmax) + '\n') xml.write('\t\t\t' + str(ymax) + '\n') xml.write('\t\t\n') xml.write('\t\n') cnt += 1 assert cnt > 0 xml.write('')` ```