Labelme is a popular open source labling tool, in our case we added some funtionalities in order to allow auto labeling for Keypoint Detection.
Make sure you have anaconda installed, then create a new environment with the following commands, activate it and install labelme :
conda env create --file req.yaml
conda activate labelme
pip install labelme
Then make sure to be in the base labelme/director and execute :
pip install -e .
You can then open the tool, with the following : (make sure you are in the labelme/labelme folder where all the .py files are)
conda activate labelme
python __main__.py
In order to use auto labeling :
download the .pt weights of the neural net by running the .sh file in the RektNet/ folder.
We use the MIT dataset as provided in their repo.
You might need to rename the folder to unlabeled dependig on the download.
Then you should be good to go !
The usage is relatively straightforward, make sure the point pattern matches the one below if you need to correct something :
The label names can also be seen on the right side, so you should easily be able to see where each point belongs. In the middle section, of the cone bot always stands for the lower point and top for the higher one.
Prediction :
to automatically predict an image, just click the "predict image" button, the labels will be stored automatically and can be corrected. A prediction only happens if a .json label file does not exist yet for this file.
Cuda Enable :
if you have a cuda capable GPU (Nivida), you can speed up the prediction a little bit by clicking this button. Once you click it again it will switch back to GPU mode. Take a look at the terminal for information on which mode it switches to.
Make sure to git branch when you label as a team :
git branch <your_name>labeling
git checkout <your_name>labeling
you can then label and just push it to your branch when you have made progress. Thank you for your support !
- Ubuntu / macOS / Windows
- Python2 / Python3
- PyQt4 / PyQt5 / PySide2
- Conda