数据标注-labelme

Anaconda

首先安装 Anaconda,然后运行下列命令:

##################
## for Python 2 ##
##################
conda create --name=labelme python=2.7
source activate labelme
# conda install -c conda-forge pyside2
conda install pyqt
pip install labelme
# 如果想安装最新版本,请使用下列命令安装:
# pip install git+https://github.com/wkentaro/labelme.git

##################
## for Python 3 ##
##################
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

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

Windows

首先按照anaconda的操作安装,然后进行如下操作:

# Windows 上的 Pillow5 会导致 dll 加载错误,所以请安装 Pillow4。
# 详情见:https://github.com/wkentaro/labelme/pull/174
conda install pillow=4.0.0

Labelme 使用教程

Labelme 能够进行多种形式的图像数据标注。Labelme 以 JSON 文件存储标注信息。下面介绍一些 labelme 软件的基本操作。

labelme  # 打开labelme软件

labelme apc2016_obj3.jpg  # 指定图像文件
labelme apc2016_obj3.jpg -O apc2016_obj3.json  # 保存后关闭labelme
labelme apc2016_obj3.jpg --nodata  # JSON文件不包含图像数据,而包含图像的相对路径
labelme apc2016_obj3.jpg \
  --labels highland_6539_self_stick_notes,mead_index_cards,kong_air_dog_squeakair_tennis_ball  # 指定 label list

labelme data_annotated/  # 指定图像文件夹
labelme data_annotated/ --labels labels.txt  # 使用文件指定 label list


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:指定输出文件夹

关于命令行参数的更多信息,可以使用 labelme --help 命令查看。

分类标注

使用 labelme 进行图像分类标注的教程详见:https://github.com/wkentaro/labelme/tree/v3.11.2/examples/classification

目标检测标注

使用 labelme 进行目标检测标注的教程详见:https://github.com/wkentaro/labelme/tree/v3.11.2/examples/bbox_detection

场景分割标注

使用 labelme 进行场景分割标注的教程详见:https://github.com/wkentaro/labelme/tree/v3.11.2/examples/semantic_segmentation

实例分割标注

使用 labelme 进行实例分割标注的教程详见:labelme/examples/instance_segmentation at v3.11.2 · wkentaro/labelme · GitHub

其它形式的标注

Labelme 除了能进行上面形式的标注,还能进行下面形式的标注:

  • 多边形
  • 矩形
  • 圆形
  • 多段线
  • 线段

使用 labelme 进行其它形式的标注的教程详见:https://github.com/wkentaro/labelme/tree/v3.11.2/examples/primitives

命令行工具

1. labelme_draw_json:
使用该命令可以快速查看JSON格式的标注。
2. labelme_json_to_dataset:
使用该命令可以将JSON文件转为一组图像和标签文本文件。
3. labelme_draw_label_png:
将label文本文件以图例的形式绘制到PNG格式的标签上,并显示出来。Labelme 常见问题
如何将 JSON 文件转换为 NumPy 数组?请查阅 examples/tutorial。
如何加载 PNG 标签文件?请查阅 examples/tutorial。
如何获取语义分割的标注?请查阅 examples/semantic_segmentation。
如何获取实例分割的标注?请查阅 examples/instance_segmentation。

Testing

pip install hacking pytest pytest-qt
flake8 .
pytest -v tests

Developing

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

# Install anaconda3 and labelme
curl -L https://github.com/wkentaro/dotfiles/raw/master/local/bin/install_anaconda3.sh | bash -s .
source .anaconda3/bin/activate
pip install -e .

将 labelme 打包成可执行文件

下面的代码说明了如何构建独立可执行文件(Linux,Windows,macOS)。当然,我们也发布了预编译版本。

# Setup conda
conda create --name labelme python==3.6.0
conda activate labelme

# Build the standalone executable
pip install .
pip install pyinstaller
pyinstaller labelme.spec
dist/labelme --version


 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值