目标检测VOC数据集标注XML文件转EasyDL数据集标注Json格式

简介: 目标检测VOC数据集标注XML文件转EasyDL数据集标注Json格式

首先需要创建数据集,该平台可以自己上传数据在线标注,需要耗费较长时间。由于本人已有标注好的VOC格式的目标检测数据集,所以就想能不能直接利用起来在平台上训练。经发现可以上传有标注信息的本地数据集。


   按照其示例标注json格式对VOC格式数据集中的Xml文件进行转换,代码如下:


import os
import xml.etree.cElementTree as ET
import json
#解析Xml中标注框的label和bbox
def get_bbox(xmlname):
    sig_xml_box = []
    label_name=[]
    tree = ET.parse(xmlname)
    root = tree.getroot()
    for i in root:  # 遍历一级节点
        if i.tag == 'object':
            for j in i:
                if j.tag == 'name':
                    cls_name = j.text
                    label_name.append(cls_name)
                if j.tag == 'bndbox':
                    bbox = []
                    xmin = 0
                    ymin = 0
                    xmax = 0
                    ymax = 0
                    for r in j:
                        if r.tag == 'xmin':
                            xmin = eval(r.text)
                        if r.tag == 'ymin':
                            ymin = eval(r.text)
                        if r.tag == 'xmax':
                            xmax = eval(r.text)
                        if r.tag == 'ymax':
                            ymax = eval(r.text)
                    bbox.append(xmin)
                    bbox.append(ymin)
                    bbox.append(xmax)
                    bbox.append(ymax)
                    sig_xml_box.append(bbox)
    return label_name, sig_xml_box
#获得转换Json文件
def get_json(xml_dir):
    xml_list = os.listdir(xml_dir)
    for xml_name in xml_list:
        json_name = xml_name.split('.')[0]+'.json'
        json_path = os.path.join(json_dir,json_name)
        xml_path =os.path.join(xml_dir,xml_name)
        label_name,sigxml_bbox = get_bbox(xml_path)
        ann_js = {}
        annotations = []
        for index, box in enumerate(sigxml_bbox):
            anno = {}
            anno['name'] = label_name[index]
            anno['x1'] = box[0]
            anno['y1'] = box[1]
            anno['x2'] = box[2]
            anno['y2'] = box[3]
            annotations.append(anno)
        ann_js['labels'] = annotations
        json.dump(ann_js, open(json_path, 'w'), indent=4)  # indent=4 更加美观显示

   生成格式如下:


请.png


   然后将原图和Json文件打包为Zip,压缩包要求的格式如下:


去.png


    打包上传至数据中心即可开始训练。


    EasyDL分类数据集制作可跳至:EasyDL分类训练数据集Json生成


    转载请注明出处,谢谢合作。


目录
打赏
0
0
0
0
1
分享
相关文章
怎么取消对project.private.config.json这个文件的git记录
通过以上步骤,您可以成功取消对 `project.private.config.json`文件的Git记录。这样,文件将不会被包含在未来的提交中,同时仍保留在您的工作区中。
60 28
关于商品详情 API 接口 JSON 格式返回数据解析的示例
本文介绍商品详情API接口返回的JSON数据解析。最外层为`product`对象,包含商品基本信息(如id、name、price)、分类信息(category)、图片(images)、属性(attributes)、用户评价(reviews)、库存(stock)和卖家信息(seller)。每个字段详细描述了商品的不同方面,帮助开发者准确提取和展示数据。具体结构和字段含义需结合实际业务需求和API文档理解。
探索大型语言模型LLM推理全阶段的JSON格式输出限制方法
本篇文章详细讨论了如何确保大型语言模型(LLMs)输出结构化的JSON格式,这对于提高数据处理的自动化程度和系统的互操作性至关重要。
对比JSON和Hessian2的序列化格式
通过以上对比分析,希望能够帮助开发者在不同场景下选择最适合的序列化格式,提高系统的整体性能和可维护性。
127 3
拍立淘按图搜索API接口返回数据的JSON格式示例
拍立淘按图搜索API接口允许用户通过上传图片来搜索相似的商品,该接口返回的通常是一个JSON格式的响应,其中包含了与上传图片相似的商品信息。以下是一个基于淘宝平台的拍立淘按图搜索API接口返回数据的JSON格式示例,同时提供对其关键字段的解释
Python中序列化/反序列化JSON格式的数据
【11月更文挑战第4天】本文介绍了 Python 中使用 `json` 模块进行序列化和反序列化的操作。序列化是指将 Python 对象(如字典、列表)转换为 JSON 字符串,主要使用 `json.dumps` 方法。示例包括基本的字典和列表序列化,以及自定义类的序列化。反序列化则是将 JSON 字符串转换回 Python 对象,使用 `json.loads` 方法。文中还提供了具体的代码示例,展示了如何处理不同类型的 Python 对象。
如何在Python中高效实现CSV到JSON的数据转换
在实际项目中,数据格式转换是常见问题,尤其从CSV到JSON的转换。本文深入探讨了多种转换方法,涵盖Python基础实现、数据预处理、错误处理、性能优化及调试验证技巧。通过分块处理、并行处理等手段提升大文件转换效率,并介绍如何封装为命令行工具或Web API,实现自动化批量处理。关键点包括基础实现、数据清洗、异常捕获、性能优化和单元测试,确保转换流程稳定高效。
127 83
处理从API返回的JSON数据时返回Unicode编码字符串怎么处理
在处理API返回的JSON数据时,遇到类似`\u7f51\u7edc\u8fde\u63a5\u9519\u8bef`的Unicode编码字符串,可使用JavaScript内置方法转换为可读文字。主要方法包括:1. 使用`JSON.parse`自动解析;2. 使用`decodeURIComponent`和`escape`组合解码;3. 在API调用中直接处理响应数据。这些方法能有效处理多语言内容,确保正确显示非ASCII字符。
淘宝商品评论数据API接口详解及JSON示例返回
淘宝商品评论数据API接口是淘宝开放平台提供的一项服务,旨在帮助开发者通过编程方式获取淘宝商品的评论数据。这些数据包括评论内容、评论时间、评论者信息、评分等,对于电商分析、用户行为研究、竞品分析等领域都具有极高的价值。
|
2月前
|
解析电商商品详情API接口系列,json数据示例参考
电商商品详情API接口是电商平台的重要组成部分,提供了商品的详细信息,支持用户进行商品浏览和购买决策。通过合理的API设计和优化,可以提升系统性能和用户体验。希望本文的解析和示例能够为开发者提供参考,帮助构建高效、可靠的电商系统。
49 12
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等