Smart-Labelme is a graphical image annotation tool for various image annotation needs such as classification, semantic segmentation, polygonal rois etc.
It support some smart features like annotation tracking, auto contouring etc. to speed up annotation task.
It is written in Python and uses Qt for its graphical interface.
Auto contouring feature using OpenCV grab cut
Auto tracking of polygons between frames
- Image annotation for polygon, rectangle, circle, line and point.
- Image flag annotation for classification and cleaning.
- Auto-contouring for fast polygon annotation.
- Auto tracking to track and copy polygon annotations between frames.
- Scripts for semantic segmentation creation from polygonal annotations.
- Video annotation.
- GUI customization (predefined labels / flags, auto-saving, label validation, etc).
- Exporting VOC-format dataset for semantic/instance segmentation.
- Exporting COCO-format dataset for instance segmentation.
- Ubuntu / macOS / Windows
- Python2 / Python3
- PyQt4 / PyQt5 / PySide2
Download the source code onto your local system. Build package using python setup tool. Install the package on your system using pip.
git clone https://github.com/bhavyaajani/smart-labelme
cd smart-labelme
python setup.py build
pip install .
Run smart_labelme --help
for detail.
The annotations are saved as a JSON file.
smart_labelme # just open gui
--output
specifies the location that annotations will be written to. Annotations will be stored in this directory with a name that corresponds to the image that the annotation was made on.- The first time you run labelme, it will create a config file in
~/.labelmerc
. You can edit this file and the changes will be applied the next time that you launch labelme. If you would prefer to use a config file from another location, you can specify this file with the--config
flag. - Without the
--nosortlabels
flag, the program will list labels in alphabetical order. When the program is run with this flag, it will display labels in the order that they are provided. - Flags are assigned to an entire image.
- Labels are assigned to a single polygon.
This repo is the fork of wkentaro/labelme.
If you use this project in your research or wish to refer to the baseline results published in the README, please use the following BibTeX entry.
@misc{smart-labelme2020,
author = {Bhavya Ajani},
title = {{Smart-labelme: Video / Image Annotation (Polygon, Semantic mask, Classification) with Python}},
howpublished = {\url{https://github.com/bhavyaajani/smart-labelme}},
year = {2020}
}
@misc{labelme2016,
author = {Kentaro Wada},
title = {{labelme: Image Polygonal Annotation with Python}},
howpublished = {\url{https://github.com/wkentaro/labelme}},
year = {2016}
}