labelme使用笔记:目标检测数据集标注和语义分割数据集批量生成

本文主要是介绍labelme使用笔记:目标检测数据集标注和语义分割数据集批量生成,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

AI应用开发相关目录

本专栏包括AI应用开发相关内容分享,包括不限于AI算法部署实施细节、AI应用后端分析服务相关概念及开发技巧、AI应用后端应用服务相关概念及开发技巧、AI应用前端实现路径及开发技巧
适用于具备一定算法及Python使用基础的人群

  1. AI应用开发流程概述
  2. Visual Studio Code及Remote Development插件远程开发
  3. git开源项目的一些问题及镜像解决办法
  4. python实现UDP报文通信
  5. python实现日志生成及定期清理
  6. Linux终端命令Screen常见用法
  7. python实现redis数据存储
  8. python字符串转字典
  9. python实现文本向量化及文本相似度计算
  10. python对MySQL数据的常见使用
  11. 一文总结python的异常数据处理示例
  12. 基于selenium和bs4的通用数据采集技术(附代码)
  13. 基于python的知识图谱技术
  14. 一文理清python学习路径
  15. Linux、Git、Docker常用指令
  16. linux和windows系统下的python环境迁移
  17. linux下python服务定时(自)启动
  18. windows下基于python语言的TTS开发
  19. python opencv实现图像分割
  20. python使用API实现word文档翻译
  21. yolo-world:”目标检测届大模型“
  22. 爬虫进阶:多线程爬虫
  23. python使用modbustcp协议与PLC进行简单通信
  24. ChatTTS:开源语音合成项目
  25. sqlite性能考量及使用(附可视化操作软件)
  26. 拓扑数据的关键点识别算法
  27. python脚本将视频抽帧为图像数据集
  28. 图文RAG组件:360LayoutAnalysis中文论文及研报图像分析
  29. Ubuntu服务器的GitLab部署
  30. 无痛接入图像生成风格迁移能力:GAN生成对抗网络
  31. 一文理清OCR的前世今生
  32. labelme使用笔记

文章目录

  • AI应用开发相关目录
  • 简介
  • 部署
  • 使用


简介

Labelme 是一个开源的数据标注工具,它能够帮助用户为图像、视频等数据添加标签,以供机器学习模型训练使用。Labelme 支持多种类型的标注,包括目标检测、分割、分类等任务,用户可以通过绘制矩形框、多边形、圆形等图形来标注对象,也可以进行像素级的分割标注。

Labelme 的特点包括:

跨平台:Labelme 支持多个操作系统,包括 Windows、macOS 和 Linux。
易于使用:它有一个直观的用户界面,方便用户进行标注工作。
灵活性:支持多种格式的输出,包括常见的 PASCAL VOC、COCO 等格式,方便与其他机器学习框架集成。
可扩展性:Labelme 支持插件,用户可以根据自己的需求定制或扩展功能。
社区支持:作为一个开源项目,Labelme 拥有活跃的社区,用户可以获取支持或分享经验。
Labelme 在学术界和工业界都有广泛的应用,特别是在计算机视觉领域。

部署

conda create -n labelme python=3.6
conda activate labelme
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple labelme

使用

在这里插入图片描述
如上图所示,在labelme指定虚拟环境下运行labelme指令。
在这里插入图片描述
可以选择Open打开一张图片对图片进行标注;
Open Dir选择图片保存的路径,即可标注多张图片。其中,保存ison到指定文件夹:File->Change Output Dir ->选择指定文件夹路径;
create polygons可以进行描边界点,通用还有矩形框等标注方式。
在这里插入图片描述
框住或标注图形后输入对应label即可。

Ctrl+S:保存标注
D:下一张图片
S:上一张图片

一般的目标检测、分类等任务到此结束了,可以使用标注数据集进行算法模型训练。
但对于语义分割等任务还需根据标注生成语义图像。
cd 到指定存储生成的json文件的地址。
运行如下指令即可获得目标数据。

labelme_json_to_dataset  <文件名>.json

在这里插入图片描述
json中包含png原图、yaml文件、png语义图像。

当然这只是一张图像而已,一张一张生成太麻烦,可通过如下代码批量生成:

# labelme版本:3.16.2
import os
import subprocess# JSON文件所在目录,一定要确保json文件与原图像在同一文件夹
json_dir = r"img2\labelme_jsons"# 遍历JSON文件
for json_file in os.listdir(json_dir):if json_file.endswith('.json'):# 构建labelme转换命令json_path = os.path.join(json_dir, json_file)cmd = 'labelme_json_to_dataset ' + json_path# 执行命令subprocess.run(cmd.split())

这篇关于labelme使用笔记:目标检测数据集标注和语义分割数据集批量生成的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1078469

相关文章

Linux系统性能检测命令详解

《Linux系统性能检测命令详解》本文介绍了Linux系统常用的监控命令(如top、vmstat、iostat、htop等)及其参数功能,涵盖进程状态、内存使用、磁盘I/O、系统负载等多维度资源监控,... 目录toppsuptimevmstatIOStatiotopslabtophtopdstatnmon

Android kotlin中 Channel 和 Flow 的区别和选择使用场景分析

《Androidkotlin中Channel和Flow的区别和选择使用场景分析》Kotlin协程中,Flow是冷数据流,按需触发,适合响应式数据处理;Channel是热数据流,持续发送,支持... 目录一、基本概念界定FlowChannel二、核心特性对比数据生产触发条件生产与消费的关系背压处理机制生命周期

java使用protobuf-maven-plugin的插件编译proto文件详解

《java使用protobuf-maven-plugin的插件编译proto文件详解》:本文主要介绍java使用protobuf-maven-plugin的插件编译proto文件,具有很好的参考价... 目录protobuf文件作为数据传输和存储的协议主要介绍在Java使用maven编译proto文件的插件

SpringBoot线程池配置使用示例详解

《SpringBoot线程池配置使用示例详解》SpringBoot集成@Async注解,支持线程池参数配置(核心数、队列容量、拒绝策略等)及生命周期管理,结合监控与任务装饰器,提升异步处理效率与系统... 目录一、核心特性二、添加依赖三、参数详解四、配置线程池五、应用实践代码说明拒绝策略(Rejected

C++ Log4cpp跨平台日志库的使用小结

《C++Log4cpp跨平台日志库的使用小结》Log4cpp是c++类库,本文详细介绍了C++日志库log4cpp的使用方法,及设置日志输出格式和优先级,具有一定的参考价值,感兴趣的可以了解一下... 目录一、介绍1. log4cpp的日志方式2.设置日志输出的格式3. 设置日志的输出优先级二、Window

SQL中如何添加数据(常见方法及示例)

《SQL中如何添加数据(常见方法及示例)》SQL全称为StructuredQueryLanguage,是一种用于管理关系数据库的标准编程语言,下面给大家介绍SQL中如何添加数据,感兴趣的朋友一起看看吧... 目录在mysql中,有多种方法可以添加数据。以下是一些常见的方法及其示例。1. 使用INSERT I

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

Qt使用QSqlDatabase连接MySQL实现增删改查功能

《Qt使用QSqlDatabase连接MySQL实现增删改查功能》这篇文章主要为大家详细介绍了Qt如何使用QSqlDatabase连接MySQL实现增删改查功能,文中的示例代码讲解详细,感兴趣的小伙伴... 目录一、创建数据表二、连接mysql数据库三、封装成一个完整的轻量级 ORM 风格类3.1 表结构

使用Docker构建Python Flask程序的详细教程

《使用Docker构建PythonFlask程序的详细教程》在当今的软件开发领域,容器化技术正变得越来越流行,而Docker无疑是其中的佼佼者,本文我们就来聊聊如何使用Docker构建一个简单的Py... 目录引言一、准备工作二、创建 Flask 应用程序三、创建 dockerfile四、构建 Docker

Python使用vllm处理多模态数据的预处理技巧

《Python使用vllm处理多模态数据的预处理技巧》本文深入探讨了在Python环境下使用vLLM处理多模态数据的预处理技巧,我们将从基础概念出发,详细讲解文本、图像、音频等多模态数据的预处理方法,... 目录1. 背景介绍1.1 目的和范围1.2 预期读者1.3 文档结构概述1.4 术语表1.4.1 核