labelme图像标注_ai标注工具

labelme图像标注_ai标注工具参考:https://blog.csdn.net/u011574296/article/details/79740633在做目标检测任务时,需要用到labelImg进行画框标注,在之前的文章中已经介绍过该工具的使用方法。然而如果是做语义分割的任务时,就不能只是标注框里,需要用另外一种工具labelme进行标注,本文对该工具的安装使用方法进行介绍。官方教程:https://github.co…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

参考:https://blog.csdn.net/u011574296/article/details/79740633

在做目标检测任务时,需要用到labelImg进行画框标注,在之前的文章中已经介绍过该工具的使用方法。然而如果是做语义分割的任务时,就不能只是标注框里,需要用另外一种工具labelme进行标注,本文对该工具的安装使用方法进行介绍。

官方教程:https://github.com/wkentaro/labelme#anaconda

1 安装方法

1.1 Ubuntu

# Ubuntu 14.04 / Ubuntu 16.04
# Python2
# sudo apt-get install python-qt4  # PyQt4
sudo apt-get install python-pyqt5  # PyQt5
sudo pip install labelme
# Python3
sudo apt-get install python3-pyqt5  # PyQt5
sudo pip3 install labelme

1.2 Windows

========20210525更新==========

windows 上直接下载可执行文件即可,不需要再执行下边的安装步骤

============以下内容可忽略============

首先确保电脑上安装好python和pip,具体安装方法参考这个链接的第1、第2步即可

下载安装anaconda,选择适合自己python版本以及对应系统的,一路默认安装就可以。

安装好后在程序里选择prompt,相当于windows下的cmd,只不过运行目录直接在anaconda下。

labelme图像标注_ai标注工具

然后在prompt里依次输入如下指令:

conda create --name=labelme python=2.7(这一步python=*选择自己的Python版本)
activate labelme
conda install pyqt
pip install labelme

下次启动的时候先启动labelme的conda环境,即按照以下步骤启动

activate labelme
labelme

启动后找到目标文件夹,在使用过程中发现,如果存在中文路径或中文名字的时候,会报编码相关的错,暂时还没有找到解决方法,因此文件中不要出现中文

2 使用方法

2.1 启动

在终端执行以下命令:

labelme

打开如下页面

labelme图像标注_ai标注工具

2.2 标注

点击open dir,选择标注文件所在的文件夹,然后开始标注。注意标注的时候,假如你要标注的对象为人和狗,在画掩码过程中,一幅图像中如果有多个person、dog,命名规则为person1、person2…… dog1、dog2……。因为labelme生成的标签为一个label.png文件,这个文件只有一通道,在你标注时同一标签mask会被给予一个标签位,而mask要求不同的实例要放在不同的层中。最终训练索要得到的输入为一个w*h*n的ndarray,其中n为该图片中实例的个数。(如果是做语义分割,则没必要如此区分)

labelme图像标注_ai标注工具

标注完成后,会生成一个json文件

3 文件转换

标注完成后,我们得到原图和对应的 json 文件,需要转化成 colormap 标注图,在 labelme 项目中,已经提供了各种转化脚本,我们直接使用即可

git clone https://github.com/wkentaro/labelme.git
cd ./labelme/examples/semantic_segmentation/

然后把图片和 json 文件全部拷贝到 data_annotated 文件夹下,然后运行以下脚本

python labelme2voc.py data_annotated/ data_dataset_voc --labels labels.txt --noviz

生成 data_dataset_voc 文件夹,保存了标注图片 

.
├── data_annotated
│   ├── 2011_000003.jpg
│   ├── 2011_000003.json
│   ├── 2011_000006.jpg
│   ├── 2011_000006.json
│   ├── 2011_000025.jpg
│   └── 2011_000025.json
├── data_dataset_voc
│   ├── class_names.txt
│   ├── JPEGImages
│   │   ├── 2011_000003.jpg
│   │   ├── 2011_000006.jpg
│   │   └── 2011_000025.jpg
│   ├── SegmentationClass
│   │   ├── 2011_000003.npy
│   │   ├── 2011_000006.npy
│   │   └── 2011_000025.npy
│   ├── SegmentationClassPNG
│   │   ├── 2011_000003.png
│   │   ├── 2011_000006.png
│   │   └── 2011_000025.png
│   └── SegmentationClassVisualization
│       ├── 2011_000003.jpg
│       ├── 2011_000006.jpg
│       └── 2011_000025.jpg
├── labelme2voc.py
├── labels.txt
└── README.md

 

 
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/194737.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • KNIME数据库扩展指南

    KNIME数据库扩展指南KNIME 数据库扩展指南介绍 KNIME 数据库扩展提供了一组 KNIME 节点 这些节点允许连接到 JDBC 兼容的数据库 这些节点位于 节点存储库 中的 数据库 类别中 您可以在其中找到许多数据库访问 操作和编写节点 数据库节点是每个 KNIMEAnalyti 安装的一部分 不需要安装任何其他的 KNIME 扩展 本指南描述了 KNIME 数据库扩展 并除其他外 展示了如何连接到数据库以及如何在数据库内部执行数据操作 外链图片转存失败 源站可能有防盗链机制 建议将图片保存下来直接上传

    2025年8月15日
    7
  • vue项目更新后清除浏览器缓存

    vue项目更新后清除浏览器缓存项目场景:vue项目更新后清除浏览器缓存解决方案:build/webpack.prod.conf.js里打包的文件路径添加时间戳constVersion=newDate().getTime()//获取当前时间戳output:{path:config.build.assetsRoot,//添加当前时间戳Version到打包的js文件中filename:utils.assetsPath(‘js/[name].[chunk..

    2022年7月18日
    17
  • hmacsha256 java_java实现HMACSHA256(md5私钥key)加密签名

    hmacsha256 java_java实现HMACSHA256(md5私钥key)加密签名最近在练习一个 api 时要对参数进行加密 描述如下 签名机制每次请求 privateapi 都需要验证签名 发送的参数示例 param array amount 1 price 10000 type buy nonce 3key 5zi7w 4mnes swmc4 egg9b f2iqw 396z4 g541bsignatu 459c69d25c49

    2026年2月3日
    0
  • linux下lighttpdserver的具体安装步骤 以及对flv流媒体的支持配置[通俗易懂]

    linux下lighttpdserver的具体安装步骤 以及对flv流媒体的支持配置

    2022年2月3日
    41
  • 理解几种常见的进程间通信方式

    理解几种常见的进程间通信方式什么是进程间通信广义上讲,进程间通信(Inter-ProcessCommunication,IPC)是指运行在不同进程(不论是否在同一台机器)中的若干线程间的数据交换。从上面的定义可以得出两点:参与通信的进程即可以运行在同一台机器上,也可以运行在各自的设备环境中(RemoteProcedureCallProtocol,RPC)。如果进程是跨机器运行的,则通常是由网络连接在一起。实现方

    2022年10月9日
    4
  • sklearn库主要模块功能简介

    sklearn库主要模块功能简介数据科学系列:sklearn库主要模块功能简介01sklearn简介sklearn,全称scikit-learn,是python中的机器学习库,建立在numpy、scipy、matplotlib等数据科学包的基础之上,涵盖了机器学习中的样例数据、数据预处理、模型验证、特征选择、分类、回归、聚类、降维等几乎所有环节,功能十分强大,目前sklearn版本是0.23。与深度学习库存在pytorch、TensorFlow等多种框架可选不同,sklearn是python中传统机器学习的首选库,不存在其他竞争

    2022年10月18日
    6

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号