Labelme教程

    在进行Semantic Segmentation(语义分割)研究时,图像标注是整个任务的基础和核心内容之一,图像标注是一项庞大且繁琐的工作,且标注图像的好坏,直接影响模型训练的效果。目前主要有人工标注、半自动标注和自动标注三种方式,其中手动标注的图像精度更高,手动标注常用的工具是Labelme(GitHub源代码),本文将对Labelme的安装和使用进行介绍。

    Labelme可以在Windows、MacOS和Linux系统上安装和使用,Labelme基于QT(PyQt)设计图形界面,编程语言采用的是Python。Labelme具有以下功能:

  • 对图像进行多边形,矩形,圆形,多段线,线段,点形式的标注(可用于目标检测,图像分割,等任务)。
  • 对图像进行进行 flag 形式的标注(可用于图像分类 和 清理 任务)。
  • 视频标注
  • 生成 VOC 格式的数据集(for semantic / instance segmentation)
  • 生成 COCO 格式的数据集(for instance segmentation)
Labelme使用视频讲解

    1. MiniConda环境安装

(1)下载MiniConda

Conda配置国内源:

conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/main
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/bioconda
conda config --set show_channel_urls yes

(2)在硬盘上创建一个文件夹用于存放标配住图片,进入该文件夹,在地址栏输入cmd回车

(3)创建环境,名称为labelme

conda create -n labelme

(4)激活环境,每次使用都要激活

conda activate labelme

   2. Labelme安装

   (1)采用Conda安装

conda install pyqt #安装Qt
pip install labelme

    (2)采用pip安装

pip install pyqt5
pip install labelme

    3. 打开Labelme

直接在控制台输入 labelme 回车即可,打开后Labelme主界面如下:

label me 
File Edit View' 
labelme started. 
Help
labelme界面

打开Labelme时可以添加命令行参数,主要命令行参数如下:

--flags: comma separated list of flags 或者 file containing flags
--labels:comma separated list of labels 或者 file containing labels
--nodata:stop storing image data to JSON file
--nosortlabels:stop sorting labels
--output:指定输出文件夹

     3. 标注

(1)打开labelme程序,点击Open打开一幅待标注图像,然后点击Create Polygons按钮

图像标注

(2)进行标注,需要注意的是,根据分类任务的不同,标注方式也不同,以上图为例,如果只是想区分背景和猫两类(语义分割),则可以将猫标注在一个多边形内,如果想要区分出猫,还要区分出是哪一只猫(全景分割),则需要将三只猫分别标注,本文以第二种方式举例。

标签设置

如上图所示,如果是语义分割,则只需要将三只猫绘制在同一个多边形内,然然输入类别,GroupID可以不输入,如果是全景分割,则需要将三只猫分别标注出,并用GroupID进行区分。

     4.标注图像导出

(1)将所有需要导出的标注图像和对应的json文件放置在同一目录下,并在该目录下启动命令行

(2)调用labelme_json_to_ dataset <json文件名>.json,导出成功后会自动生成如下文件

  • *.png  
  • info.yaml
  • label.png
  • label_names.txt
  • label_viz.png
输出结果
阅读剩余
THE END