YOLO分割数据集制作:使用Labelme工具制作分割数据集(.json)并转化为YOLO的数据集的格式(.txt)

news/2024/7/10 3:08:44 标签: YOLO, json, python, 目标检测

YOLO分割数据集制作

    • 一、Labelme制作数据集
    • 二、将labelme格式的数据转换为coco格式(转换后的coco格式还是json文件)
    • 三、将coco格式转换为YOLO格式

一、Labelme制作数据集

  • 打开labelme,标注数据,生成文件目录如下:

json_11">二、将labelme格式的数据转换为coco格式(转换后的coco格式还是json文件)

  • 代码下载:instance_segmentation

  • 修改:

    • 找到78行

      class_name_to_id = {}
      for i, line in enumerate(open(args.labels).readlines()):
          # class_id = i-1  # starts with -1
          class_id = i ## 没有背景,所以索引地址从0开始
          class_name = line.strip()
          if class_id == -1:
              assert class_name == "__ignore__"
              continue
      
    • 创建labels.txt(与data文件夹在同一个文件目录中)

      • data
      • labels.txt

      labels.txt内容:

      ```dotnetcli
      __ignore__
      class 0
      class 1
      ....
      
      ```
      
  • 开始转换json格式

    python labelme2coco.py ..path/data ..path/data_dataset_coco --labels labels.txt
    

YOLO_51">三、将coco格式转换为YOLO格式

  • 文件下载:COCO2YOLO

  • 修改

    • 修改1:找到 306 行
      ## with open((fn / f).with_suffix('.txt'), 'a') as file:
      with open((fn / f[11:]).with_suffix('.txt'), 'a') as file:
      
    • 修改2:找到主函数:修改json路径为你的文件路径
      if source == 'COCO':
          convert_coco_json('..path/data_dataset_coco',  # directory with *.json
                            use_segments=True,
                            cls91to80=True)
      
  • 开始转换json格式

    python">python general_json2yolo.py
    
  • 生成的yolo标注文件在:./new_dir/labels/annotations/


http://www.niftyadmin.cn/n/182998.html

相关文章

wordpress6.2 优化日志

wordpress英文版6.2,twenty-twenty three。有些优化手段个人感觉没有必要,或条件限制暂时没有做,标记为“未做”。经过这个过程认为核心程序没有优化的必要,在具体部署的时候才有优化的需求。尤其是各插件、主题,需要优…

借助 ONLYOFFICE 宏通过 OpenAI 数据填充单元格

AI 技术现已取得重大进展,同时也成为了颇具价值的工具,可帮助我们自动化工作流。在​​之前的帖子​​中,我们提到过可使用 OpenAI 生成文章的 ONLYOFFICE 宏。那么在本文中,我们将为您演示一个可将通过 OpenAI 获取的数据填入电子…

(树状数组,线段树)(数组模拟哈希)(解题步骤)acwing数星星

(树状数组,线段树)(数组模拟哈希)(解题步骤) 题链 https://www.acwing.com/problem/content/1267/ 没买课的点不开,耗子尾汁 文末放图片 解决问题先看本质,找数据范围…

Redis7高级之缓存双写一致性之更新策略探讨(三)

1.缓存双写一致性 如果redis中有数据 需要和数据库中的值相同 如果redis中无数据 数据库中的值是最新值,且准备回写redis 缓存按照操作分 只读缓存读写缓存 同步直写策略 写数据库后也同步写 redis 缓存,缓存中的数据和数据中的一致对于读写缓存来说&a…

maven命令上传jar包到nexus

系列文章目录 一、Linux 安装Nexus3.42.0-01图文教程 二、nexus创建Maven私服图文教程 三、使用nexus上传jar包图文教程 四、IDEA Maven项目上传jar包到nexus仓库图文教程 五、IDEA 中使用maven从nexus中下载jar包 图文教程 maven命令上传jar包到nexus系列文章目录前言一、mav…

redis基本常用命令

set(字符串):set:格式(set key value)--->存储或者修改字符串。get:格式(get key )--->获取对应key的值。mset:格式( mset key1 value1 key…

九龙证券|重磅文章引爆两大板块!千亿煤炭龙头强势涨停!

A股今天走势分化,创业板指逆市拉升;港股走势疲弱,恒生科技指数一度跌超3%。 具体来看,A股方面,沪指弱势震荡下探,盘中一度跌超1%,午后跌幅收窄;创业板指走势微弱,午后涨超…

【Spring Boot基础】@ConfigurationProperties的使用

一、代码展示 1、新建Person类,代码如下: package com.lc.springboot_testbilbil;import org.springframework.boot.context.properties.ConfigurationProperties; import org.springframework.stereotype.Component; import org.springframework.web.…