目标检测,将voc格式转化为coco格式详细过程

这篇具有很好参考价值的文章主要介绍了目标检测,将voc格式转化为coco格式详细过程。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

在目标检测方法研究中,数据集的格式至关重要,为了减小模型的训练时长,需要现在小数据集进行模型研究,从而需要将VOC数据集转化为coco格式。下面一步一步来看:

1. 下载VOC数据集

Pascal VOC,即Pattern Analysis, Statical Modeling and Computational Learning Visual Object Classes。详细可参考:http://host.robots.ox.ac.uk/pascal/VOC/

以及论文:http://host.robots.ox.ac.uk/pascal/VOC/pubs/everingham10.pdf

数据集下载,在linux系统用以下命令直接下载即可:

# VOC 2007
# 训练验证集
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtrainval_06-Nov-2007.tar
# 测试集
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCtest_06-Nov-2007.tar
# 开发工具包代码和文档
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2007/VOCdevkit_08-Jun-2007.tar


# VOC 2012
wget http://host.robots.ox.ac.uk/pascal/VOC/voc2012/VOCtrainval_11-May-2012.tar

解压方式可参考我之前的文章,进行批量一键解压:https://blog.csdn.net/qq_33854260/article/details/121861169?spm=1001.2014.3001.5502

2. 生成coco格式的标签文件:

这里参考github的代码:https://github.com/KKKSQJ/DeepLearning/blob/master/others/label_convert/voc2coco.py

注意这里需设置voc的根目录,如:

voc_data_dir = './VOC_2007/VOCtrainval_06-Nov-2007/VOCdevkit/VOC2007'
json_save_path = './VOC_2007_COCO/voc2007_train.json'
split = 'train' # train  val  test
parseXmlFilse(data_dir=voc_data_dir, json_save_path=json_save_path, split=split)

运行一次,可在目标文件夹得到对应的标签json文件;修改参数,再次运行,从而分别得到train,val, test的json文件。

3. 配置文件目录:

先来看coco文件目录:

目标检测,将voc格式转化为coco格式详细过程

annotations:存放标签文件,即生成的json文件,需要创建相同的文件,并拷贝过来:

目标检测,将voc格式转化为coco格式详细过程

 创建数据图片文件夹,并把voc对应的数据拷贝过来。然而,VOC的训练和测试图片都放在一起。提前创建好目标文件夹,之后用我撰写的以下脚本来划分,脚本代码如下:

import os
import shutil

voc_train_val_img = "./voc_coco/voc2007/JPEGImages"
train_txt = "./voc_coco/VOCtrainval_06-Nov-2007/VOCdevkit/VOC2007/ImageSets/Main/train.txt"
val_txt = "./voc_coco/VOCtrainval_06-Nov-2007/VOCdevkit/VOC2007/ImageSets/Main/val.txt"

voc_coco_train_target_dir = "./voc_coco/voc2007/train2007"
voc_coco_val_target_dir = "./voc_coco/voc2007/val2007"

with open(train_txt, "r") as f:
    train = f.read()
    tp = train.split("\n")
    for j in range(len(tp)):
        file_path = os.path.join(voc_train_val_img, tp[j]+".jpg")
        tar_path = os.path.join(voc_coco_train_target_dir, tp[j]+".jpg")
        if os.path.exists(file_path):
            shutil.move(file_path, tar_path)
        else:
            print("Non-exist file", file_path)

print("Train data splited!...")

with open(val_txt, "r") as f:
    train = f.read()
    tp = train.split("\n")
    for j in range(len(tp)):
        file_path = os.path.join(voc_train_val_img, tp[j]+".jpg")
        tar_path = os.path.join(voc_coco_val_target_dir, tp[j]+".jpg")
        if os.path.exists(file_path):
            shutil.move(file_path, tar_path)
        else:
            print("Non-exist file", file_path)

print("Val data splited!...")

转换完成后的结果:

目标检测,将voc格式转化为coco格式详细过程

 希望能对大家有帮助~~~~

 文章来源地址https://www.toymoban.com/news/detail-454873.html

到了这里,关于目标检测,将voc格式转化为coco格式详细过程的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • [数据集][目标检测]垃圾目标检测数据集VOC格式14963张44类别

    数据集格式:Pascal VOC格式(不包含分割的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):14963 标注数量(xml文件个数):14963 标注类别数:44 标注类别名称:[\\\"toiletries\\\",\\\"plastic utensils\\\",\\\"seasoning bottles\\\",\\\"leftovers\\\",\\\"chopsticks\\\",\\\"ceramic utensils\\\",\\\"pots\\\",\\\"metal utensils\\\",\\\"cutting boards\\\",\\\"ol

    2024年02月11日
    浏览(31)
  • [数据集][目标检测]道路坑洼目标检测数据集VOC格式1510张2类别

    数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):1510 标注数量(xml文件个数):1510 标注类别数:2 标注类别名称:[\\\"keng\\\",\\\"jingai\\\"] 每个类别标注的框数: keng count = 3166 jingai count = 442 使用标注工具:labelI

    2024年02月12日
    浏览(26)
  • [数据集][目标检测]钢材表面缺陷目标检测数据集VOC格式2279张10类别

    数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):2279 标注数量(xml文件个数):2279 标注类别数:10 标注类别名称:[\\\"yueyawan\\\",\\\"siban\\\",\\\"hanfeng\\\",\\\"chongkong\\\",\\\"shuiban\\\",\\\"yahen\\\",\\\"youban\\\",\\\"yaozhe\\\",\\\"zhehen\\\",\\\"yiwu\\\"] 每个类别标注的

    2024年02月12日
    浏览(33)
  • YOLO目标检测——VOC2007数据集+已标注VOC格式标签下载分享

    VOC2007数据集是一个经典的目标检测数据集,该数据集包含了20个常见的目标类别,涵盖了人、动物、交通工具等多个领域,共同11220图片。使用lableimg标注软件标注,标注框质量高,标签格式为VOC格式(即xml标签),可以直接用于YOLO系列的目标检测。 数据集点击下载 :YOLO目

    2024年02月09日
    浏览(33)
  • [数据集][目标检测]PCB板缺陷目标检测数据集VOC格式693张6类别

    数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):693 标注数量(xml文件个数):693 标注类别数:6 标注类别名称:[\\\"missing_hole\\\",\\\"spurious_copper\\\",\\\"spur\\\",\\\"mouse_bite\\\",\\\"open_circuit\\\",\\\"short\\\"] 每个类别标注的框数: missin

    2024年02月12日
    浏览(25)
  • 目标检测数据集格式转换:将labelme格式转为YOLO以及VOC格式

    一个目标检测项目需要自己找图片标注数据进行训练,训练需要YOLO格式,但数据增广需要VOC格式,该文记录如何将labelme标注的数据格式转为YOLO格式,再从YOLO格式转为VOC格式,只作为自己用的记录,如果你刚好也需要这么干,或者需要文中提到的某一种转换,也可以参考一下

    2024年02月08日
    浏览(35)
  • [数据集][目标检测]昆虫检测数据集VOC+YOLO格式1873张7类别

    数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):1873 标注数量(xml文件个数):1873 标注数量(txt文件个数):1873 标注类别数:7 标注类别名称:[\\\"Boerner\\\",\\\"Leconte\\\",\\\"Linnaeus\\\",\\\"acuminatus\\\",\\\"arma

    2024年03月19日
    浏览(47)
  • 道路坑洞数据集(坑洞目标检测)VOC+YOLO格式650张

        路面坑洞的形成原因是由于设计、施工、养护处理不当、控制不适和受气候、环境、地质、水文等自然因素影响,以及车辆的运行和车辆超载运行导致路面破损,出现坑洞的现象。 路面坑洞的分类: (1)路面混凝土板中坑洞:位于砼板表面,形状小、深度浅多为不规则

    2024年02月04日
    浏览(32)
  • [数据集][目标检测]牛羊检测数据集VOC+YOLO格式3393张2类别

    数据集格式:Pascal VOC格式+YOLO格式(不包含分割路径的txt文件,仅仅包含jpg图片以及对应的VOC格式xml文件和yolo格式txt文件) 图片数量(jpg文件个数):3393 标注数量(xml文件个数):3393 标注数量(txt文件个数):3393 标注类别数:2 标注类别名称:[\\\"cow\\\",\\\"sheep\\\"] 每个类别标注的框数: cow

    2024年03月19日
    浏览(34)
  • [数据集][目标检测]裸土识别裸土未覆盖目标检测数据集VOC格式857张2类别

    数据集格式:Pascal VOC格式(不包含分割路径的txt文件和yolo格式的txt文件,仅仅包含jpg图片和对应的xml) 图片数量(jpg文件个数):857 标注数量(xml文件个数):857 标注类别数:2 标注类别名称:[\\\"luotu\\\",\\\"normal\\\"] 每个类别标注的框数: luotu count = 863 normal count = 30 使用标注工具:labelImg

    2024年02月09日
    浏览(30)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包