源码地址:
git clone https://github.com/labelmeai/labelme.git
描述
是一个图形图像注释工具,灵感来自 http://labelme.csail.mit.edu .
它是用比顿编写的,并使用QT进行图形化接口。
实例分割的VOC数据集示例。
其他例子(语义分割、B箱检测和分类)。
各种原语(多边形、矩形、圆、线和点)。
特点
- 多边形、矩形、圆、线和点的图像注释。( 导师的 )
- 用于分类和清理的图像标记注释。( #166 )
- 视频注释。( 视频注释 )
- Gui定制(预先定义的标签/标记、自动保存、标签验证等)。( #144 )
- 输出用于语义/实例分割的词汇格式化数据集。( 语义分割 , 实例分割 )
- 输出协同格式数据集,例如分割。( 实例分割 )
安装指南
如果你是新来的,你可以从 实验室安装指南 (免费),其中包括:
- 安装指南 适用于所有平台:Windows,MacOS,和Linux
- 一步一步的教程 :编辑、导出和与其他程序集成的第一个注释
- 宝贵资源汇编 为了进一步的勘探。
安装
有各种选择:
- 平台不可知式安装: anconda3
- 平台专用安装: ubuntu , macOS ,Windows
anaconda3
你需要安装 anaconda3 ,然后往下跑:
# python3
conda create --name=labelme python=3
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
# or you can install everything by conda command
# conda install labelme -c conda-forge
ubuntu
sudo apt-get install labelme# or
sudo pip3 install labelme# or install standalone executable from:
# https://github.com/wkentaro/labelme/releases
macOS
brew install pyqt # maybe pyqt5
pip install labelme# or
brew install wkentaro/labelme/labelme # command line interface
# brew install --cask wkentaro/labelme/labelme # app# or install standalone executable/app from:
# https://github.com/wkentaro/labelme/releases
windows
conda create --name=labelme python=3
conda activate labelme
pip install labelme# or install standalone executable/app from:
# https://github.com/wkentaro/labelme/releases
用法
跑labelme --help
为了细节。
注释保存为 Json 文件。
labelme # just open gui# tutorial (single image example)
cd examples/tutorial
labelme apc2016_obj3.jpg # specify image file
labelme apc2016_obj3.jpg -O apc2016_obj3.json # close window after the save
labelme apc2016_obj3.jpg --nodata # not include image data but relative image path in JSON file
labelme apc2016_obj3.jpg \--labels highland_6539_self_stick_notes,mead_index_cards,kong_air_dog_squeakair_tennis_ball # specify label list# semantic segmentation example
cd examples/semantic_segmentation
labelme data_annotated/ # Open directory to annotate all images in it
labelme data_annotated/ --labels labels.txt # specify label list with a file
命令行参数
--output
指定注释写入的位置。如果地点结束了。JSON,将为这个文件编写一个单一的注释。如果指定一个位置,则只能对一个图像进行注释。JSON。如果地点没有结束。JSON,程序将假设它是一个目录。注释将存储在此目录中,其名称对应于注释中的图像。- 第一次运行实验室时,它将在
~/.labelmerc
.您可以编辑这个文件,下次启动标签时将应用更改。如果您希望从另一个位置使用配置文件,则可以使用--config
旗子。 - 没有
--nosortlabels
国旗,程序将按字母顺序列出标签。当程序使用这个标志运行时,它将按提供标签的顺序显示标签。 - 旗帜被分配给整个图像。 例子
- 标签被分配到一个多边形。 例子
常见问题
- 如何将JSON文件转换为数字数组? 看 实例/教程 .
- 如何加载标签PNG文件? 看 实例/教程 .
- 如何获得用于语义分割的注释? 看 examples/semantic_segmentation .
- 如何获得实例分割的注释? 看 examples/instance_segmentation .
例子
- 图像分类
- 边框检测
- 语义分割
- 实例分割
- 视频注释
如何安装
git clone https://github.com/wkentaro/labelme.git
cd labelme# Install anaconda3 and labelme
curl -L https://github.com/wkentaro/dotfiles/raw/main/local/bin/install_anaconda3.sh | bash -s .
source .anaconda3/bin/activate
pip install -e .
如何构建独立可执行程序
下面是如何在MacOS、Linux和Windows上构建独立的可执行程序。
# Setup conda
conda create --name labelme python=3.9
conda activate labelme# Build the standalone executable
pip install .
pip install 'matplotlib<3.3'
pip install pyinstaller
pyinstaller labelme.spec
dist/labelme --version