labelme 标注岩石薄片数据集流程

2024-06-21 21:28

本文主要是介绍labelme 标注岩石薄片数据集流程,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

labelme 数据标注使用流程

    • 1.打开anaconda环境
    • 2.打开labelme工具
    • 3.打开数据集文件夹
    • 4.开始标注
    • 5. 标注完成
    • 6. 修改labels.txt文件
    • 7. 将标注结果可视化
    • 8. 完成json转图片
    • 9. 全部命令总结

1.打开anaconda环境

在这里插入图片描述

2.打开labelme工具

输入下列两条命令,打开labelme工具
(前提是本机anaconda中已经安装了labelme工具)

conda activate labelme
labelme

输入完成后,此窗口不可关闭
在这里插入图片描述

3.打开数据集文件夹

注意:打开一个文件夹后,要将本文件夹中的所有图片全部标注完成后,再可以关闭labelme图形界面(防止文件混乱)
在这里插入图片描述

打开完成后界面如下:
在这里插入图片描述

4.开始标注

4.1 点击编辑按钮,选择创建标注的类型
这里选择create-AI-Polygon,采用ai辅助标注

注意:ai辅助标注速度块,但是精度或许不够,要注意附加手动调整来确保标注具有较高精度
在这里插入图片描述

4.2 在区域中间打上关键点来调整标注内容
在这里插入图片描述
4.3 调整完成后,左键双击完成本区域标注
完成本区域标注,,然后键入岩石类型,这里以test为例
在这里插入图片描述
4.4 键入标签后,右侧会显示标签列表
在这里插入图片描述
4.5 撤销标注点

若标注点打错,则可以选择单击右键,选择撤销最后的控制点,来撤销上一个操作

4.6 若ai辅助标注不合理,也可以选择"创建多边形"来进行数据标注
在这里插入图片描述

4.7 注意

1.若ai标注区域不合理,则需要人工手动调整,确保标注的准确性

2.一定要确保标注内容覆盖全图,不可以有漏标区域

5. 标注完成

本图片标注完成后,ctrl+s进行保存,之后进行下一幅图片的标注,
直到本文件夹的图片全部标注完成

图片被标注后,文件前会存在对勾。图片全部标注完成后,关闭labelme图形界面。
在这里插入图片描述

6. 修改labels.txt文件

在标注过程中,若是新加入的标签,则应该将其添加到labels.txt文件中
该txt文件为手动创建,文件存放在与标注图像文件夹同级的目录下,详见7.1
在这里插入图片描述

7. 将标注结果可视化

标注完成后,可以将标注结果的json文件批量转换为图像,用来作为图像标签
注意:以下命令需要根据自己的实际文件路径进行修改

7.1 首先,将python代码文件、标签名称与标注的图像文件夹放入同一级目录

在这里插入图片描述

7.2 在命令行窗口进入到标注文件夹下

进入文件夹后执行转换

python labelme2voc.py images_name target_name --labels labels.txt

其中 :
images_name 是标注图片路径,即原始图片与json所在文件夹
target_name 是要将结果保存的文件夹的名称
labels.txt 是存储标签名称

此处的命令需要根据自己实际的文件路径进行修
比如我的命令是

cd D:\项目\研究生资料文件\机器学习资料\机器学习数据集\南京大学岩石薄片数据集
D:
python labelme2voc.py 沉积岩 target_name --labels labels.txt

在这里插入图片描述

8. 完成json转图片

注意,下面这个例子中,标签并没有全部覆盖,说明这是一个不好的标签。

语义分割标签文件:
在这里插入图片描述
标签与原始图像展示
在这里插入图片描述

9. 全部命令总结

打开anaconda

conda activate labelme
labelme
#标注完成后再继续执行下列命令
cd D:\项目\研究生资料文件\机器学习资料\机器学习数据集\南京大学岩石薄片数据集
D:
python labelme2voc.py 沉积岩 target_name --labels labels.txt

这篇关于labelme 标注岩石薄片数据集流程的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



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

相关文章

解决pandas无法读取csv文件数据的问题

《解决pandas无法读取csv文件数据的问题》本文讲述作者用Pandas读取CSV文件时因参数设置不当导致数据错位,通过调整delimiter和on_bad_lines参数最终解决问题,并强调正确参... 目录一、前言二、问题复现1. 问题2. 通过 on_bad_lines=‘warn’ 跳过异常数据3

Spring Boot 中的默认异常处理机制及执行流程

《SpringBoot中的默认异常处理机制及执行流程》SpringBoot内置BasicErrorController,自动处理异常并生成HTML/JSON响应,支持自定义错误路径、配置及扩展,如... 目录Spring Boot 异常处理机制详解默认错误页面功能自动异常转换机制错误属性配置选项默认错误处理

C#监听txt文档获取新数据方式

《C#监听txt文档获取新数据方式》文章介绍通过监听txt文件获取最新数据,并实现开机自启动、禁用窗口关闭按钮、阻止Ctrl+C中断及防止程序退出等功能,代码整合于主函数中,供参考学习... 目录前言一、监听txt文档增加数据二、其他功能1. 设置开机自启动2. 禁止控制台窗口关闭按钮3. 阻止Ctrl +

java如何实现高并发场景下三级缓存的数据一致性

《java如何实现高并发场景下三级缓存的数据一致性》这篇文章主要为大家详细介绍了java如何实现高并发场景下三级缓存的数据一致性,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 下面代码是一个使用Java和Redisson实现的三级缓存服务,主要功能包括:1.缓存结构:本地缓存:使

在MySQL中实现冷热数据分离的方法及使用场景底层原理解析

《在MySQL中实现冷热数据分离的方法及使用场景底层原理解析》MySQL冷热数据分离通过分表/分区策略、数据归档和索引优化,将频繁访问的热数据与冷数据分开存储,提升查询效率并降低存储成本,适用于高并发... 目录实现冷热数据分离1. 分表策略2. 使用分区表3. 数据归档与迁移在mysql中实现冷热数据分

Spring Boot从main方法到内嵌Tomcat的全过程(自动化流程)

《SpringBoot从main方法到内嵌Tomcat的全过程(自动化流程)》SpringBoot启动始于main方法,创建SpringApplication实例,初始化上下文,准备环境,刷新容器并... 目录1. 入口:main方法2. SpringApplication初始化2.1 构造阶段3. 运行阶

C#解析JSON数据全攻略指南

《C#解析JSON数据全攻略指南》这篇文章主要为大家详细介绍了使用C#解析JSON数据全攻略指南,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录一、为什么jsON是C#开发必修课?二、四步搞定网络JSON数据1. 获取数据 - HttpClient最佳实践2. 动态解析 - 快速

使用Go实现文件复制的完整流程

《使用Go实现文件复制的完整流程》本案例将实现一个实用的文件操作工具:将一个文件的内容完整复制到另一个文件中,这是文件处理中的常见任务,比如配置文件备份、日志迁移、用户上传文件转存等,文中通过代码示例... 目录案例说明涉及China编程知识点示例代码代码解析示例运行练习扩展小结案例说明我们将通过标准库 os

Ubuntu 24.04启用root图形登录的操作流程

《Ubuntu24.04启用root图形登录的操作流程》Ubuntu默认禁用root账户的图形与SSH登录,这是为了安全,但在某些场景你可能需要直接用root登录GNOME桌面,本文以Ubuntu2... 目录一、前言二、准备工作三、设置 root 密码四、启用图形界面 root 登录1. 修改 GDM 配

MyBatis-Plus通用中等、大量数据分批查询和处理方法

《MyBatis-Plus通用中等、大量数据分批查询和处理方法》文章介绍MyBatis-Plus分页查询处理,通过函数式接口与Lambda表达式实现通用逻辑,方法抽象但功能强大,建议扩展分批处理及流式... 目录函数式接口获取分页数据接口数据处理接口通用逻辑工具类使用方法简单查询自定义查询方法总结函数式接口