前言

最近,在做实时性计算的东西,最初用的语义分割unet,发现它在服务器级GPU下推理的特别慢,但是精度还不错,但是我们追求的是实时性,所以我们还是用一下目标检测,最终选定yolov5

yolov5的数据集大家都知道,是需要知道每个锚框的,需要image和txt,而我的语义分割数据集有json文件
如图所示

#!/usr/bin/python

下文的8标注文件夹底下就是一些json格式的文件
json格式的样子:


这里面是只有一类,points是当初给的图片(没有用labelme标过的)后来标的一些框的坐标,比如,我这块地有个鼠洞,我需要把他标出来,这样就生成了json格式的文件

-- coding: UTF-8 --

!H:\Anaconda3\envs\new_labelme\python.exe

import argparse
import json
import os
import os.path as osp
import base64
import warnings
import PIL.Image
import yaml
from labelme import utilsdef main():json_file = "D:/sd/裁切/8标注"# freedom
list_path = os.listdir(json_file)
print('freedom =', json_file)
for i in range(0, len(list_path)):path = os.path.join(json_file, list_path[i])if os.path.isfile(path):data = json.load(open(path))img = utils.img_b64_to_arr(data['imageData'])lbl, lbl_names = utils.labelme_shapes_to_label(img.shape, data['shapes'])captions = ['%d: %s' % (l, name) for l, name in enumerate(lbl_names)]lbl_viz = utils.draw_label(lbl, img, captions)# out_dir = osp.basename(path).replace('.', '_')out_dir = osp.basename(path).split('.json')[0]save_file_name = out_dir# out_dir = osp.join(osp.dirname(path), out_dir)if not osp.exists(json_file + 'mask'):os.mkdir(json_file + 'mask')maskdir = json_file + 'mask'if not osp.exists(json_file + 'mask_viz'):os.mkdir(json_file + 'mask_viz')maskvizdir = json_file + 'mask_viz'out_dir1 = maskdir# if not osp.exists(out_dir1):#     os.mkdir(out_dir1)# PIL.Image.fromarray(img).save(out_dir1 + '\\' + save_file_name + '_img.png')PIL.Image.fromarray(lbl).save(out_dir1 + '/' + save_file_name + '.png')PIL.Image.fromarray(lbl_viz).save(maskvizdir + '/' + save_file_name +'_label_viz.png')with open(osp.join(out_dir1, 'label_names.txt'), 'w') as f:for lbl_name in lbl_names:f.write(lbl_name + '\n')warnings.warn('info.yaml is being replaced by label_names.txt')info = dict(label_names=lbl_names)with open(osp.join(out_dir1, 'info.yaml'), 'w') as f:yaml.safe_dump(info, f, default_flow_style=False)print('Saved to: %s' % out_dir1)
if __name__ == '__main__':
# base64path = argv[1]main()

转换结果:

我们生成了与image相对应的txt文件

如100_0001_0007_1_4.jpg与上图中的txt相对应,所以我们这个做法省去了你用labelme一个一个标(如果一个一个标,估计要一年这么多要检测的物体),所以这个python脚本还是很成功的。
txt效果图:

第一个为类别,因为只有一类,以后的为每个锚框的数值

语义分割数据集转目标检测数据集相关推荐

  1. LidarMultiNet:在单个多任务网络中统一LiDAR语义分割、三维目标检测和全景分割

    Abstract 这份技术报告介绍了2022年Waymo开放数据集3D语义分割挑战赛的第一名获奖解决方案.我们的网络称为LidarMultiNet,将主要的LiDAR感知任务(例如3D语义分割.目标检 ...

  2. 收藏 | 使用合成数据集做目标检测

    点上方计算机视觉联盟获取更多干货 仅作学术分享,不代表本公众号立场,侵权联系删除 转载于:作者:Sergey Nikolenko 编译:ronghuaiyang    |    AI公园 AI博士笔记 ...

  3. 九大遥感目标检测数据集(附下载链接)

    遥感领域目标检测数据集 码字不易,点个赞再走呗 1. UCAS-AOD 3.25G 1.1基本信息 UCAS-AOD (Zhu et al.,2015)用于飞机和汽车的检测,包含飞机与汽车2类样本以及 ...

  4. 【yolo5】目标检测数据集制作

    目录 1.先验知识 2. VOC和COCO数据集: 2.1 VOC形式及其数据结构XML特点(好像可以使用py库中工具直接进行清洗) 2.1.1 VOC数据集的组织结构如下所示 2.1.2 XML的操 ...

  5. 制作目标检测数据集入门到精通(一)常用数据集(及下载数据网站)汇总

    目录 前言 1.目标识别知名数据集 1.1 PASCAL VOC 1.2 MS COCO 1.3 ImageNet 2 人脸识别相关 2.1 FERET人脸数据库 2.2 CMU Multi-PIE人 ...

  6. SAR目标检测数据集汇总

    SAR目标检测数据集汇总 文章目录 SAR目标检测数据集汇总 1. MSTAR (1996) 2. OpenSARShip2.0 (2017) 3. SSDD / SSDD+ (2020) 4. AI ...

  7. 目标检测数据集MSCOCO简介

    简介 介绍一下目标检测领域另外一个比较有名的数据集 MS COCO (Microsoft COCO: Common Objects in Context) . MSCOCO 数据集是微软构建的一个数据 ...

  8. 目标检测数据集PASCAL VOC简介

    简介 PASCAL VOC挑战赛 (The PASCAL Visual Object Classes )是一个世界级的计算机视觉挑战赛, PASCAL全称:Pattern Analysis, Stat ...

  9. COCO目标检测数据集的读取方法与Python工具脚本

    COCO (Common Objects in COntext) 是一个大型的图像数据集,提供了目标检测.分割.看图说话等多个任务的标签.COCO的标注文件是用json格式编写的,初次接触时需要花十来 ...

最新文章

  1. 【Luogu】P3927 SAC E#1 - 一道中档题 Factorial
  2. python详细安装教程3.8-手把手教你安装Python3.8环境
  3. Elastic-Job发展历史
  4. Rabbitmq如何设置优先级队列?如何限流?如何重试?如何处理幂等性?
  5. Storm消费Kafka异常 - topic其中两个分区达到某个值不进行消费,持续阻塞
  6. 通过线程监控socket服务器是否done机
  7. dubbo 学习笔记 -- provider端
  8. chrome正受到自动软件的控制_河南科信混凝土搅拌站电脑全自动控制系统PLY1200A称重控制器上位机软件现场安装调试...
  9. JavaScript的类型转换
  10. 在虚拟机、Mac 电脑和旧电脑上绕过 TPM 安装 Windows 11 的方法总结(提供通用无 TPM 检测镜像下载)
  11. 【深度学习案例】手写数字项目实现-1.数据集介绍
  12. 2019清华大学、中山大学、中传自主招生笔试面试真题
  13. 广东省汕尾市谷歌卫星地图下载
  14. flowchart图
  15. SQL Sever:关于外键引用无效表的问题
  16. 精选20个高品质的免费素材,可以下载PSD格式
  17. reverse()和reverse_copy()用法
  18. win10升级后CFT加载程序占用CPU高解决办法
  19. 信息安全实验六:RSA数字签名算法 2019.06.01
  20. Carbon中文使用手册

热门文章

  1. 使用编译搭建LNMP环境
  2. java字符转整形_java-字符串转整形
  3. CentOS8 安装/测试 etcd
  4. 单目视觉(2):SFM之概述(一)
  5. CMD命令进入文件夹
  6. apache dubbo入门之简介
  7. photoshop2019安装使用图文教程_图文(附安装包)
  8. 测试设计点-微信输入法语音转文字
  9. 安装 Python 环境(详细图解 Anaconda 安装)
  10. U盘刻录Centos镜像