python把ChestX-Det-Dataset的json样本转为COCO数据集的json格式

news2024/12/17 9:41:33

ChestX-Det-Dataset数据集网址:https://github.com/Deepwise-AILab/ChestX-Det-Dataset/tree/main
在这里插入图片描述
数据集JSON内容:

[
    {
        "file_name": "36199.png",
        "syms": [],
        "boxes": [],
        "polygons": []
    },
    {
        "file_name": "36302.png",
        "syms": [
            "Effusion"
        ],
        "boxes": [
            [
                799,
                666,
                937,
                761
            ]
        ],
        "polygons": [
            [
                [
                    799,
                    678
                ],
                [
                    799,
                    678
                ],
                [
                    799,
                    680
                ],
                [
                    801,
                    681
                ],
                [
                    805,
                    684
                ],
                [
                    807,
                    684
                ],
                [
                    809,
                    685
                ],
                [
                    811,
                    686
                ],
                [
                    813,
                    686
                ],
                [
                    814,
                    686
                ],
                [
                    817,
                    687
                ],
                [
                    820,
                    687
                ],
                [
                    824,
                    690
                ],
                [
                    827,
                    690
                ],
                [
                    830,
                    691
                ],
                [
                    832,
                    691
                ],
                [
                    833,
                    691
                ],
                [
                    836,
                    693
                ],
                [
                    837,
                    693
                ],
                [
                    840,
                    695
                ],
                [
                    844,
                    696
                ],
                [
                    848,
                    696
                ],
                [
                    851,
                    697
                ],
                [
                    854,
                    697
                ],
                [
                    855,
                    697
                ],
                [
                    856,
                    698
                ],
                [
                    861,
                    699
                ],
                [
                    864,
                    699
                ],
                [
                    870,
                    701
                ],
                [
                    872,
                    703
                ],
                [
                    875,
                    704
                ],
                [
                    878,
                    705
                ],
                [
                    881,
                    705
                ],
                [
                    886,
                    707
                ],
                [
                    890,
                    709
                ],
                [
                    894,
                    711
                ],
                [
                    896,
                    713
                ],
                [
                    897,
                    714
                ],
                [
                    899,
                    714
                ],
                [
                    902,
                    716
                ],
                [
                    903,
                    717
                ],
                [
                    906,
                    720
                ],
                [
                    908,
                    721
                ],
                [
                    910,
                    725
                ],
                [
                    912,
                    726
                ],
                [
                    914,
                    728
                ],
                [
                    916,
                    731
                ],
                [
                    916,
                    732
                ],
                [
                    917,
                    733
                ],
                [
                    918,
                    734
                ],
                [
                    921,
                    738
                ],
                [
                    922,
                    740
                ],
                [
                    924,
                    741
                ],
                [
                    925,
                    744
                ],
                [
                    927,
                    745
                ],
                [
                    929,
                    747
                ],
                [
                    930,
                    751
                ],
                [
                    931,
                    752
                ],
                [
                    934,
                    753
                ],
                [
                    935,
                    755
                ],
                [
                    935,
                    756
                ],
                [
                    935,
                    757
                ],
                [
                    936,
                    758
                ],
                [
                    937,
                    759
                ],
                [
                    937,
                    761
                ],
                [
                    937,
                    759
                ],
                [
                    937,
                    757
                ],
                [
                    937,
                    756
                ],
                [
                    937,
                    752
                ],
                [
                    937,
                    750
                ],
                [
                    937,
                    747
                ],
                [
                    937,
                    745
                ],
                [
                    937,
                    744
                ],
                [
                    937,
                    743
                ],
                [
                    937,
                    741
                ],
                [
                    937,
                    740
                ],
                [
                    937,
                    739
                ],
                [
                    937,
                    738
                ],
                [
                    937,
                    737
                ],
                [
                    937,
                    735
                ],
                [
                    937,
                    733
                ],
                [
                    937,
                    731
                ],
                [
                    937,
                    729
                ],
                [
                    937,
                    728
                ],
                [
                    937,
                    726
                ],
                [
                    937,
                    723
                ],
                [
                    937,
                    720
                ],
                [
                    937,
                    717
                ],
                [
                    937,
                    716
                ],
                [
                    936,
                    714
                ],
                [
                    935,
                    710
                ],
                [
                    935,
                    709
                ],
                [
                    935,
                    708
                ],
                [
                    934,
                    705
                ],
                [
                    934,
                    704
                ],
                [
                    934,
                    703
                ],
                [
                    934,
                    702
                ],
                [
                    933,
                    701
                ],
                [
                    933,
                    698
                ],
                [
                    933,
                    696
                ],
                [
                    931,
                    695
                ],
                [
                    931,
                    692
                ],
                [
                    931,
                    691
                ],
                [
                    930,
                    690
                ],
                [
                    930,
                    686
                ],
                [
                    930,
                    685
                ],
                [
                    929,
                    681
                ],
                [
                    929,
                    680
                ],
                [
                    929,
                    679
                ],
                [
                    929,
                    677
                ],
                [
                    928,
                    674
                ],
                [
                    928,
                    673
                ],
                [
                    927,
                    672
                ],
                [
                    927,
                    671
                ],
                [
                    925,
                    671
                ],
                [
                    924,
                    668
                ],
                [
                    924,
                    666
                ],
                [
                    924,
                    667
                ],
                [
                    924,
                    669
                ],
                [
                    924,
                    672
                ],
                [
                    924,
                    674
                ],
                [
                    923,
                    677
                ],
                [
                    923,
                    678
                ],
                [
                    923,
                    679
                ],
                [
                    923,
                    680
                ],
                [
                    922,
                    681
                ],
                [
                    921,
                    683
                ],
                [
                    921,
                    684
                ],
                [
                    920,
                    685
                ],
                [
                    918,
                    685
                ],
                [
                    918,
                    686
                ],
                [
                    915,
                    689
                ],
                [
                    912,
                    690
                ],
                [
                    910,
                    691
                ],
                [
                    909,
                    692
                ],
                [
                    908,
                    692
                ],
                [
                    906,
                    692
                ],
                [
                    905,
                    693
                ],
                [
                    904,
                    693
                ],
                [
                    902,
                    695
                ],
                [
                    900,
                    695
                ],
                [
                    900,
                    695
                ],
                [
                    899,
                    695
                ],
                [
                    898,
                    695
                ],
                [
                    896,
                    695
                ],
                [
                    894,
                    693
                ],
                [
                    891,
                    693
                ],
                [
                    887,
                    693
                ],
                [
                    886,
                    693
                ],
                [
                    884,
                    693
                ],
                [
                    881,
                    692
                ],
                [
                    879,
                    692
                ],
                [
                    876,
                    691
                ],
                [
                    874,
                    691
                ],
                [
                    870,
                    690
                ],
                [
                    867,
                    690
                ],
                [
                    866,
                    690
                ],
                [
                    863,
                    690
                ],
                [
                    861,
                    689
                ],
                [
                    860,
                    689
                ],
                [
                    857,
                    689
                ],
                [
                    856,
                    687
                ],
                [
                    854,
                    687
                ],
                [
                    851,
                    687
                ],
                [
                    848,
                    686
                ],
                [
                    845,
                    686
                ],
                [
                    842,
                    686
                ],
                [
                    840,
                    686
                ],
                [
                    839,
                    685
                ],
                [
                    837,
                    685
                ],
                [
                    834,
                    684
                ],
                [
                    828,
                    683
                ],
                [
                    825,
                    683
                ],
                [
                    822,
                    681
                ],
                [
                    819,
                    680
                ],
                [
                    815,
                    679
                ],
                [
                    814,
                    679
                ],
                [
                    812,
                    679
                ],
                [
                    811,
                    679
                ],
                [
                    811,
                    678
                ],
                [
                    808,
                    677
                ],
                [
                    806,
                    675
                ],
                [
                    803,
                    675
                ],
                [
                    802,
                    675
                ],
                [
                    801,
                    675
                ]
            ]
        ]
    },

转化后coco格式样本json:

在这里插入图片描述
使用的python代码如下:

import json
import os
import sys
import cv2
from tqdm import tqdm
import math

che_json = './chetrain.json'
dst_json = './chestrain_coco.json'
test_img = './train_data/train'

# che_json = './chetest.json'
# dst_json = './chetest_coco.json'
# test_img = './test_data/test'

def polygon_area(vertices):
    n = len(vertices)
    area = 0.0
    for i in range(n):
        x1, y1 = vertices[i]
        x2, y2 = vertices[(i + 1) % n]
        area += (x1 * y2 - x2 * y1)
    return abs(area) / 2.0

def main():
    coco_data = {
        "info": {},
        "licenses": [],
        "categories": [],
        "images": [],
        "annotations": []
    }
	category_mapping = {}
    category_id = 1
    image_id = 1
    annotation_id = 1
    with open(che_json,'r',encoding='utf-8') as js:
        json_info = json.load(js)
    
    image = {}
    annotation = {}
    boxid = 0
    for jsfo in tqdm(json_info):
        image['file_name'] = jsfo['file_name']
        img =cv2.imread(test_img + '/' + jsfo['file_name']) 
        image['height'] = img.shape[0]
        image['width'] = img.shape[1]
        image['id'] = image_id
        coco_data["images"].append(image)
        image = {}
        category_name = jsfo['syms']
        for ii in range(len(category_name)):
            if category_name[ii] not in category_mapping:
                category_mapping[category_name[ii]] = category_id
                coco_data["categories"].append({
                    "supercategory": category_name[ii],
                    "id": category_id,
                    "name": category_name[ii]
                })
                category_id += 1
        box_cnt = len(jsfo['boxes'])
        for i in range(box_cnt):
            boxid = boxid + 1
            segpnts = []
            segtmp = jsfo['polygons'][i]
            for segt in segtmp:
                segpnts.append(segt[0])
                segpnts.append(segt[1])
            segarea = polygon_area(segtmp)
            annotation['segmentation'] = [segpnts]
            annotation['image_id'] = image_id
            annotation['area'] = segarea
            boxtmp = jsfo['boxes'][i]
            x_left,y_left,x_br,y_br = boxtmp
            box_w,box_h = x_br-x_left, y_br-y_left
            annotation['bbox'] = [x_left,y_left,box_w,box_h]
            annotation['category_id'] = category_mapping[category_name[i]]
            annotation['id'] = boxid
        coco_data["annotations"].append(annotation)
        annotation = {}
        image_id = image_id + 1
    with open(dst_json,'w') as jsout:
        json.dump(coco_data, jsout)

if __name__=='__main__':
    main()

先跑训练集或先跑验证集会生成category_mapping 的字典内容,生成后统一用同一个,就可以保证训练集和验证集的标签一致

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1140349.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

分享一下怎么做陪诊小程序

在当今快节奏的社会中,人们的生活压力越来越大,尤其是在大城市中,由于工作繁忙,生活节奏快,很多人都感到看病难、看病贵的问题。为了解决这一问题,陪诊小程序应运而生。陪诊小程序是一种可以提供线上预约、…

基于SSM民宿预订及个性化服务系统-计算机毕设 附源码 04846

SSM民宿预订及个性化服务系统 摘 要 伴随着国内旅游经济的迅猛发展民宿住宿行在国内也迎来了前所未有的发展机遇。传统的旅游模式已难以满足游客日益多元化的需求,随着人们外出度假的时间越来越长,导致人们在住宿的选择上更加追求舒适、个性化的住宿体验…

vue+Fullcalendar

vueFullcalendar: vueFullcalendar项目代码https://gitee.com/Oyxgen404/vue--fullcalendar.git

CSS样式(盒子模型,内外边距等设置)

盒子模型 目标:掌握盒子模型组成部分,使用盒子模型布局网页区域 01-选择器 结构伪类选择器 基本使用 作用:根据元素的结构关系查找元素。 选择器说明E:first-child查找第一个E元素E:last-child查找最后一个E元素E:nth-child(N)查找第N个E…

jquery-picture-cut 任意文件上传 (CVE-2018-9208)

jquery-picture-cut 任意文件上传 (CVE-2018-9208) 漏洞描述 picture cut是一个jquery插件,以非常友好和简单的方式处理图像,具有基于bootstrap或jquery ui的漂亮界面,具有ajax上传,从资源管理器拖动图像…

Error: no matching distribution found for tensorflow-cpu==2.6.*

目录 install_tensorflow()安装过程中遇到的问题 查找解决方案过程中: 解决办法: install_tensorflow()安装过程中遇到的问题 在服务器上安装tensorflow时,遇到了一个报错信息: 在网上找到一个类似的错误(TensorFlow…

【EI会议征稿】第二届纯数学、应用数学与计算数学国际学术会议(PACM 2024)

第二届纯数学、应用数学与计算数学国际学术会议(PACM 2024) 2024 2nd International Cnference on Pure, Applied and Computational Mathematics (PACM 2024) 第二届纯数学、应用数学计算数学国际学术会议 (PACM2024) 将于2024年1月19-21日在中国厦门隆…

利用a标签锚点定位实现切换页面的部分内容

最近在做一个数据可视化大屏的作业,其中需要实现点击不同的按钮,大屏中间内容呈现不同的数据分析图表,页面其他部分不发生改变。之前考虑过复制多个页面然后改变中间的页面,但是这样会导致文件冗余,而且由于静态文件放…

【机器学习项目实战案例目录】项目详解 + 完整源码

前言 大家好,我是阿光。 本专栏整理了《机器学习项目实战案例》,内包含了各种不同的入门级机器学习项目,包含项目原理以及源码,每一个项目实例都附带有完整的代码。 正在更新中~ ✨ 🚨 我的项目环境: 平…

为什么要学Selenium自动化测试?

开发人员在编写代码时总是会考虑到不同的应用场景,但也可能会出现实现效果不如预期的情况。同样的原则也适用于测试代码,编写测试代码的主要目的是测试现有产品的功能、发现错误并使产品100%无错误。 有句话说得好:"真相总是比小说更离奇…

台积电2纳米黑科技 - 晶背供电 | 百能云芯

近期,台积电总裁魏哲家在一次法说会中透露了有关2纳米芯片的最新进展,并提到了“晶背供电”技术,这个领域的神秘黑科技正逐渐引起人们的兴趣。 在最近的台积电法说会上,总裁魏哲家不仅提到了2纳米制程的进展,还透露&am…

关于接口|常见电商API接口种类|接口数据类型|接口请求方法

常见接口种类# Http/Https接口: 通过http/https协议传送接口数据(通常按字符串/二进制传输), 如常见的网页表单, https安全性更好 RESTful Api: REST表述性状态传递. 一种设计风格,基于http/https协议, 把一切接口视为资源, 接口要分版本,在统一的域名下管理, 不同的方法(get…

MySQL索引揭秘,详解索引概念与作用,让你的数据库查询快如闪电

简介:MySQL索引的建立对于MySQL的高效运行是很重要的,索引可以大大提高MySQL的检索速度。打个比方,如果合理的设计就像汉语字典的目录页,可以按拼音、笔画、偏旁部首等排序的目录快速查找到需要的字。数据库索引用于快速找出在数据…

若依进行tab页面切换时要求不刷新页面 vue3

若依进行tab页面切换时要求不刷新页面 vue3 看看个人中心怎么实现的 然后vue文件是这样的,注意大小写咯

C语言数据结构之数据结构入门

目录 数据结构介绍 数据结构发展史 何为算法 数据结构基础 基本概念和术语 四大逻辑结构(Logic Structure) 数据类型 理解复杂度概念 时间空间复杂度定义 度量时间复杂度的方法 程序运行时的内存与地址 编程预备 数据结构介绍 数据结构发展…

新框架Nue.js以及如何搭建框架(详细介绍)

先把官方文档已经github放在这里 链接: Nue官方文档👈点击即可跳转 链接: Nue官方github👈点击即可跳转 入门 NueJS是一个非常小(2.3kb minzipped)的JavaScript库,用于构建用户界面。它是Nue工具集的核心。它就像Vue.j…

工业级PoE交换机的工作原理

工业级POE交换机非常普遍,在许多供电不便的项目中被广泛使用,主要用于数据传输通信。大多数工业级POE交换机都是非网管型的,即插即用,配置简单,非常方便!然而,您了解它的工作原理吗?…

电机控制运放选型基本知识

概述 电机控制中一般使用运放搭配检流电阻实现电流采样。以下几个运放参数作为基本的考量对象。 共模电压和差模电压 共模电压 这个参数表示运放正负输入端分别对地的电压的平均值,即运放两端输入电压的中点电位,超过规格书限制的共模输入电压将损坏运…

Linux系统下的文件系统、各文件系统下目录结构及作用

要利用任何Linux系统,你需要对Linux的文件和目录(也称文件夹)了解。 Linux shell命令行中,文件和目录不是直观看见。需要使用:cd、ls、pwd等shell命令在目录之间切换。 Linux文件被收集到目录中,目录形成一个层级或树状结构: 一个目录可能包含其他目录,这些目录被称为子…

2023年下半年WSK-PETS5考试内容大纲及题型解析

国家公派留学人员全国外语水平考试(WSK-PETS5)成绩作为国家留学基金委(CSC)认可语言成绩证明,一直备受公派访问学者、博士后申请者的关注。随着下半年考试时间的临近,知识人网小编特整理出本次考试内容大纲…