• labelme标注格式的数据集转COCO格式脚本


    1. MyEncoder 类
       - 这是一个自定义的 JSON 编码器类,用于处理 NumPy 数据类型。
       - 当将 NumPy 数组或其他 NumPy 数据类型转换为 JSON 格式时,默认的 JSON 编码器无法正确处理。这个自定义的编码器可以解决这个问题。

    2. labelme2coco 类
       - 这是执行从 Labelme JSON 格式到 COCO JSON 格式转换的主要类。

      __init__
         - 初始化类实例,传入 Labelme JSON 文件列表和保存 COCO JSON 文件的路径。

        - **data_transfer**:
         - 处理每个 Labelme JSON 文件,提取图像信息、类别信息和标注信息。

       - **image、categorie、annotation**:
         - 分别从 Labelme JSON 文件中提取图像信息、类别信息和标注信息。

       - **getcatid**:
         - 根据标签获取类别 ID。

       - **getbbox、mask2box**:
         - 计算给定点集或掩码的边界框。

       - **polygons_to_mask**:
         - 将多边形转换为掩码。

       - **data2coco**:
         - 将提取的信息组合成 COCO 格式的字典。

       - **save_json**:
         - 将 COCO 格式的字典保存为 JSON 文件。

    3. **主代码块**:
       - 从 `D:\\desktop\\2023\\Pigseg\\images` 目录下获取 Labelme JSON 文件列表。
       - 调用 `labelme2coco` 类,将 Labelme JSON 文件转换为 COCO JSON 格式,并保存到 `D:\\desktop\\2023\\Pigseg\\train.json` 路径下。

    ,这个脚本的主要功能是将 Labelme 标注格式的 JSON 文件转换为 COCO 标注格式的 JSON 文件,以便在 COCO 数据集框架下使用这些标注数据。这种转换对于将Labelme 创建的标注应用于 COCO 数据集相关的计算机视觉任务非常有帮助。
     

    如果要分为训练集train、验证集val,按一定的比例如7:3,

    我数据集中是一张图片对应一个json文件,则把70%的json文件和图片放到一个文件夹train,把剩下的30%的json文件放到val.下面的脚本文件需要放置对应的路径,记得分别修改路径和对应的train.json和val.json.

    脚本运行后则会生成train.json和val.json两个文件夹,这两个文件夹中对应的就是整合的每张图片的大的json文件,之后就可以到coco格式的模型上进行训练,还需要修改部分函数如coco.py,num_classes.py等。

    如果数据集图片是png,则修改一下脚本中的相应位置即可。

    1. # coding=gbk
    2. import argparse
    3. import json
    4. import matplotlib.pyplot as plt
    5. import skimage.io as io
    6. import cv2
    7. import labelme.utils as utils
    8. import numpy as np
    9. import glob
    10. import PIL.Image
    11. import os
    12. # import PIL
    13. #
  • 相关阅读:
    学习笔记2--自动驾驶技术国内外发展
    《设计模式》之代理模式
    css案例15——复选框样式修改(复选框变为圆角)
    Kafka是什么?
    最长递增子序列
    仿快看漫画微信小程序的实现
    【漏洞挖掘】Xray+rad自动化批量漏洞挖掘
    Python:实现modular exponential模指数算法(附完整源码)
    电脑硬件及电脑配置知识大全
    Python将已标注的两张图片进行上下拼接并修改、合并其对应的Labelme标注文件
  • 原文地址:https://blog.csdn.net/qq_53682472/article/details/139331253