前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >labelme图像标注_ai标注工具

labelme图像标注_ai标注工具

作者头像
全栈程序员站长
发布2022-10-01 15:21:14
1.1K0
发布2022-10-01 15:21:14
举报
文章被收录于专栏:全栈程序员必看

大家好,又见面了,我是你们的朋友全栈君。

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

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

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

1 安装方法

1.1 Ubuntu

代码语言:javascript
复制
# 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下。

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

代码语言:javascript
复制
conda create --name=labelme python=2.7(这一步python=*选择自己的Python版本)
activate labelme
conda install pyqt
pip install labelme

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

代码语言:javascript
复制
activate labelme
labelme

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

2 使用方法

2.1 启动

在终端执行以下命令:

代码语言:javascript
复制
labelme

打开如下页面

2.2 标注

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

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

3 文件转换

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

代码语言:javascript
复制
git clone https://github.com/wkentaro/labelme.git
cd ./labelme/examples/semantic_segmentation/

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

代码语言:javascript
复制
python labelme2voc.py data_annotated/ data_dataset_voc --labels labels.txt --noviz

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

代码语言:javascript
复制
.
├── 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.cn/194737.html原文链接:https://javaforall.cn

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2022年9月12日 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 安装方法
    • 1.1 Ubuntu
      • 1.2 Windows
      • 2 使用方法
        • 2.1 启动
          • 2.2 标注
          • 3 文件转换
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档