The motivation of developing this Instance Lable Tool comes from the demand to label the training data of paper DOOBNet. This tool can also use for labeling instance segmentation. If you find Instance Label Tool useful for you, please consider Star or citing:
@article{wang2018doobnet,
title={DOOBNet: Deep Object Occlusion Boundary Detection from an Image},
author={Wang, Guoxia and Liang, Xiaohui and Li, Frederick WB},
journal={arXiv preprint arXiv:1806.03772},
year={2018}
}
- Support converting to COCO json format
- Fix status bar's message display
This tool tests sucessfully on Ubuntu 16.04.
- python2.7
- pyqt4
- cv2
- json
- scipy
- numpy
- getpass
- Run install instruction.
- (Optional) Modify
config.json
to meet your demands, e.g. categories. - Write a
imagelist.json
file and save to the same folder with images. - Click 'Open' to load
imagelist.json
. - Click 'Left button' of mouse to draw a instance polygon and press 'Q' key to close the polygon (there are more than one polygon if the instance consist of multipart).
- Press 'E' key to create a new instance label from the drawn polygons.
- Continue to label all instances.
- (Optional) Select 'boundary' type to automatically generate occlusion boundary.
- Press 'Ctrl+S' to save the labels of current image or Press 'Right' key to label the next image.
{
"categories": [
{
"id" : int,
"name" : str,
"supercategory" : str
}
]
}
Hotkey | Action |
---|---|
- | Decrease instance labels non-transparency |
+ | Increase instance non-transparency |
← | Previous image |
→ | Next image |
o | Open the imagelist.json file |
q | Close the drawing Polygon |
e | New Instance from the drawn closed polygons |
c | Delete select instance or drawing polygons |
0 | Temporarily not show instance labels |
w/s/a/d | Move up/down/left/right the canvas |
Ctrl + s | Save the modifies |
Ctrl + Left Click | Select or deselect a instance |
Shift + Left Click | Delete a point of the closed polygon |
Left Click | Add a point to the drawing polygon, select a point and drag, or change occlusion boundary direction. |
Right Click | Delete the lastest point of the drawing polygon |
Mouse Wheel | Zoom in or zoom out |
Space + Mouse Drag | Move the canvas |
{
"imgHeight": int,
"imgWidth": int,
"objects": list,
"boundaries": dict (Optional)
}
{
"date": str,
"deleted": bool,
"id": int,
"label": str,
"polygon": list,
"user": str,
"verified": bool
}
{
"date": str,
"deleted": bool,
"polygon": list,
"user": str,
"verified": bool
}
Instance Label Tool is released under the MIT License