labelme使用教程_labelme和labelimg区别

labelme使用教程_labelme和labelimg区别LabelMe可用于实例分割,语义分割,目标检测,分类任务的数据集标注工作。在线标注版本:http://labelme2.csail.mit.edu/Release3.0/index.php?message=1python版本:https://github.com/wkentaro/labelme分类标注:Classification目标检测标注:ObjectDetection语义分割标注:SemanticSegmentation实例分割标注:InstanceSegmentation视频

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

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

LabelMe 可用于实例分割,语义分割,目标检测,分类任务的数据集标注工作。

在线标注版本:http://labelme2.csail.mit.edu/Release3.0/index.php?message=1
python 版本:https://github.com/wkentaro/labelme

官方文档:

分类标注:Classification
目标检测标注:Object Detection
语义分割标注:Semantic Segmentation
实例分割标注:Instance Segmentation
视频标注:Video Annotation
其他形式标注:LabelMe Primitives

python版本使用

使用环境:Anaconda
python版本:2.7 / 3.6

1. 安装

# python2.7版本安装
conda create --name=labelme python=2.7
source activate labelme
# conda install -c conda-forge pyside2
conda install pyqt
pip install labelme
# if you'd like to use the latest version. run below:
# pip install git+https://github.com/wkentaro/labelme.git

# python3.6版本安装
conda create --name=labelme python=3.6
source activate labelme
# conda install -c conda-forge pyside2
# conda install pyqt
pip install pyqt5  # pyqt5 can be installed via pip on python3
pip install labelme

2. 使用

# 查看labelme使用方法
labelme --help
(labelme) @supermicro:~$ labelme --help
usage: labelme [-h] [--version] [--reset-config]
[--logger-level { 
debug,info,warning,fatal,error}]
[--output OUTPUT] [--config CONFIG_FILE] [--nodata]
[--autosave] [--nosortlabels] [--flags FLAGS]
[--labelflags LABEL_FLAGS] [--labels LABELS]
[--validatelabel { 
exact,instance}] [--keep-prev]
[--epsilon EPSILON]
[filename]
positional arguments:
filename              image or label filename
optional arguments:
-h, --help            show this help message and exit
--version, -V         show version
--reset-config        reset qt config
--logger-level { 
debug,info,warning,fatal,error}
logger level
--output OUTPUT, -O OUTPUT, -o OUTPUT
output file or directory (if it ends with .json it is
recognized as file, else as directory)
--config CONFIG_FILE  config file (default: /home/zyy/.labelmerc)
--nodata              stop storing image data to JSON file
--autosave            auto save
--nosortlabels        stop sorting labels
--flags FLAGS         comma separated list of flags OR file containing flags
--labelflags LABEL_FLAGS
yaml string of label specific flags OR file containing
json string of label specific flags (ex. { 
person-\d+:
[male, tall], dog-\d+: [black, brown, white], .*:
[occluded]})
--labels LABELS       comma separated list of labels OR file containing
labels
--validatelabel { 
exact,instance}
label validation types
--keep-prev           keep annotation of previous frame
--epsilon EPSILON     epsilon to find nearest vertex on canvas
  • -h–help 显示帮助信息
  • -V–version 显示 labelme 版本号
  • –output:指定输出标注文件的保存路径,如果路径以 .json 结尾,则保存为一个 .json 文件,否则默认保存为文件夹形式
  • –labels:用于指定标签名称,可以是用逗号分隔的 label list,也可以是包含标签的 txt 文件
  • –nodata:不保存图像到 JSON 文件

3. 分割任务标注示例

终端直接输入:

# 直接打开labelme
labelme
  • open:打开某一张图片
  • openDir:打开某一文件夹,加载其目录下的所有图片

通过 open 读取图片,选择 create polygons 手动进行勾画,全部完成后保存为 json 文件(在当前目录下):
在这里插入图片描述
右键单击可以选择不同的标注方式,比如 polygons 用于分割,rectangle 用于检测。

如果是实例分割,一个图像中有多只猫,标签的命名规则为:cat1、cat2 …,如果是语义分割就不用区分了。
在这里插入图片描述
labelme 可以进行多类别标注,Label List 显示当前已有的类别,Polygon Labels 显示当前已标注的区域,通过勾选 Polygon Labels 前面的 “√”,可以选择显示特定的分割区域:
在这里插入图片描述
要得到 label 文件,需要将 json 转换为单通道的 image,终端输入命令:

# 进入json文件保存目录
cd /path/to/your/jsonfile
# 转换
labelme_json_to_dataset <文件名>.json
# 比如
labelme_json_to_dataset cat.1.json

将在当前目录下得到一个文件夹 cat_1_json,包括四个文件:

  • img.png:原始图像
  • label.png:标签,uint8
  • label_viz.png:可视化的带标签图像
  • label_names.txt:记录了标签的名称

img.png
img.png
label.png:
label.png
label_viz.png:
label_viz.png

4. 其他说明

(1)启动 labelme 的方式:

# 直接打开labelme
labelme
# 打开某个文件夹,加载该文件夹下及其子文件夹下的所有图片
labelme path/to/imgfile/
# 直接打开指定的图片
labelme cat.1.jpg
# 标注保存为json文件同时自动关闭gui窗口
labelme cat.1.jpg -O cat.1.jpg.json
# 指定label list
labelme cat.1.jpg \
--labels cat,eye
# 或者传入文件形式的label list
--labels labels.txt

(2)将 JSON 文件转换为 image 和 label

# 在当前目录下生成一个文件夹cat_1_json
labelme_json_to_dataset cat.1.json
# 指定生成文件夹的名字为cat1
labelme_json_to_dataset cat.1.json -o cat1

(3)可视化 json 文件:

# 终端输入
labelme_draw_json cat.1.json

在这里插入图片描述

5. 加载标签png

label.png 用 scipy.misc.imread 或者 skimage.io.imread 读取可能会出错,推荐用 PIL.Image.open 读取:

>>> import numpy as np
>>> import PIL.Image
>>> label_png = 'imgs/cat1/label.png' # 设置标签文件路径
>>> lbl = np.asarray(PIL.Image.open(label_png))
>>> print(lbl.dtype)
dtype('uint8')
>>> np.unique(lbl)
array([0, 1, 2], dtype=uint8)
>>> lbl.shape
(280, 300)

查看 label.png:

# 终端输入
labelme_draw_label_png imgs/cat1/label.png

在这里插入图片描述

6. 生成VOC格式的标签数据

在下载的 labelme 的 zip 包里,路径 labelme/examples/semantic_segmentation 下,data_annotated 是原图和对应的 JSON 文件,data_dataset_voc 是 voc 格式的输出结果,labelme2voc.py 是转换的主函数,labels.txt 是标签类别。

1)文件组织形式如下:

  • *_annotated 存放原图和已经生成的对应 JSON 文件
  • 将 labelme 工程文件下的 labelme2voc.py 复制过来
  • 自己写一个 *.txt 文件,内容是分割的标签,最前面加上 __ignore___background_
    labels.txt 文件内容
    文件组织格式
    文件组织格式

2)转换为voc数据格式:

# 终端输入
./labelme2voc.py [图像路径] [voc文件夹名称] --labels [label list]
# 比如
./labelme2voc.py cat_annotated cat_dataset_voc --labels labels.txt

在当前目录下自动生成 cat_dataset_voc 文件夹(转换前确保不要有重名文件夹,否则会报错)
在这里插入图片描述
在这里插入图片描述

cat_dataset_voc 文件夹内容:
在这里插入图片描述
转换为 COCO 数据格式,同样的套路:

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

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/194661.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • LaTeX(4)——LaTeX插入图片「建议收藏」

    LaTeX(4)——LaTeX插入图片「建议收藏」转载请注明作者和出处:https://blog.csdn.net/qq_28810395运行平台:Windows10环境加编译器:Texlive2020+Texstudio编辑器如有需要IEEE模板文件的可以关注Stefan0704回复IEEE进行获取。前言  在Paper的排版中,对于图片的排版也是重点之一,一篇好的Paper,图片排版的不规范,直接决定了读者对Paper的第一印象,所以下面分享一下图片排版方法。排版方式图片的插入很简单呢,一般就是如下述的代码与结果所示,插入.

  • rapidgator怎么下东西_rapid

    rapidgator怎么下东西_rapid有时,可能想下载这里的文件.先要点到这里:正在下载文件,然后等一会儿.然后点慢速下载,然后有个九宫格验证.最后出现单击此处下载.要注意,是能够下载的.有时,一本书,不知道在哪去下载,那么搜索其asin号.如B08KLP3R9Y,然后就找到下载地址了….

  • pcharm激活码 3月最新注册码

    pcharm激活码 3月最新注册码,https://javaforall.cn/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

  • cocos2d-x精灵移动的方法

    cocos2d-x精灵移动的方法

    2021年11月30日
  • pycharm 连接数据库报错[通俗易懂]

    pycharm 连接数据库报错[通俗易懂]pycharm连接数据库报错请问出现下面报错是什么原因呢,数据库已连接,运行后就这样了C:\Users\MACHENIKE\PycharmProjects\untitled9\venv\Scripts\python.exeC:/Users/MACHENIKE/PycharmProjects/untitled11/venv/Online-Bookstore-Management-System-master/v1.0/Book_informationUI.pyTraceback(mostrec.

  • iOS8数字键盘加左下角完成button

    iOS8数字键盘加左下角完成button

发表回复

您的电子邮箱地址不会被公开。

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