参考: 图像语义分割标注工具labelme制作自己的数据集用于mask-rcnn训练_ZealCV的博客-CSDN博客_语义分割标注工具

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

官方教程: GitHub - wkentaro/labelme: Image Polygonal Annotation with Python (polygon, rectangle, circle, line, point and image-level flag annotation).

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下。

然后在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

打开如下页面

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 项目中,已经提供了各种转化脚本,我们直接使用即可

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 在做目标检测任务时,需要用到labelImg进行画框标注,在之前的文章中已经介绍过该工具的使用方法。然而如果是做语义分割的任务时,就不能只是标注框里,需要用另外一种工具labelme进行标注,本文对该工具的安装使用方法进行介绍。官方教程:https://github.co...
1. Labelme 是什么? Labelme 是一个图形界面的图像标注软件。其的设计灵感来自于http://labelme.csail.mit.edu/。它是用 Python 语言编写的,图形界面使用的是 Qt(PyQt)。 实例分割样例(VOC) 其它样例(场景分割,目标检测,分类) 各形状标注样例(多边形,矩形,圆形,多段线,线段,点) 2. Labelme 能干啥? 对图像进行多边形,矩形,圆形,多段线,线段,点形式的标注(可用于目标检测,图像分割,等任务)。 对图...
1、没有安装anacode的建议先安装anacode,anacode安装教程在此不做赘述 2、在anacode创建labelme环境,使用的是python3.6版本,命令行如下所示: conda create --name=labelme python=3.6 3、因为是图形界面,需要安装Qt5,所以进入创建的环境使用:conda activate labelme 然后使用 pip install pyqt5 命令行安装 Qt5 4、然后使用 pip install labelme 安装labelme
labelme是一个非常好用的免费的标注软件,博主看了很多其他的博客,有的直接是翻译稿,有的不全面。对于新手入门还是有点困难。因此,本文的主要是详细介绍labelme该如何使用。 提示:以下是本篇文章正文内容 一、labelme是什么? labelme是图形图像注释工具,它是用Python编写的,并将Qt用于其图形界面。说直白点,它是有界面的, 像软件一样,可以
Windows下Anaconda的下载与安装 Python有好多种安装方法,一种是直接下载python安装包,另一种是安装Anaconda,我们都知道我们在应用python的时候不同的领域需要安装相对应得包。例如Numpy,pandas…等。相对于前者。Anaconda的安装可以为我们提供好多便利。 Anaconda下载 Anaconda 官网下载地址:https://www.continuum....