1 Star 2 Fork 1

Harri / 目标检测数据集标注

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
该仓库未声明开源许可证文件(LICENSE),使用请关注具体项目描述及其代码上游依赖。
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
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格式数据的通用套路(核心代码).

`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('<annotation>\n')
                xml.write('\t<filename>' + imgId_frame_name + '</filename>\n')
                xml.write('\t<size>\n')
                xml.write('\t\t<width>' + str(width) + '</width>\n')
                xml.write('\t\t<height>' + str(height) + '</height>\n')
                xml.write('\t\t<depth>' + str(depth) + '</depth>\n')
                xml.write('\t</size>\n')
                cnt = 0
                for bbox in bboxs:
                    xmin, ymin, xmax, ymax = bbox
                    class_name = 'obstacles'
                    #
                    xml.write('\t<object>\n')
                    xml.write('\t\t<name>' + class_name + '</name>\n')
                    xml.write('\t\t<bndbox>\n')
                    xml.write('\t\t\t<xmin>' + str(xmin) + '</xmin>\n')
                    xml.write('\t\t\t<ymin>' + str(ymin) + '</ymin>\n')
                    xml.write('\t\t\t<xmax>' + str(xmax) + '</xmax>\n')
                    xml.write('\t\t\t<ymax>' + str(ymax) + '</ymax>\n')
                    xml.write('\t\t</bndbox>\n')
                    xml.write('\t</object>\n')
                    cnt += 1
                assert cnt > 0
                xml.write('</annotation>')`

空文件

简介

关于目标检测方向数据集格式的转换工具 https://github.com/DLLXW/objectDetectionDatasets 展开 收起
Python
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Python
1
https://gitee.com/Harris-X/objectDetectionDatasets.git
git@gitee.com:Harris-X/objectDetectionDatasets.git
Harris-X
objectDetectionDatasets
目标检测数据集标注
master

搜索帮助