|Project Name||Stars||Downloads||Repos Using This||Packages Using This||Most Recent Commit||Total Releases||Latest Release||Open Issues||License||Language|
|Labelimg||19,793||9||4||19 days ago||28||October 11, 2021||423||mit||Python|
|LabelImg is now part of the Label Studio community. The popular image annotation tool created by Tzutalin is no longer actively being developed, but you can check out Label Studio, the open source data labeling tool for images, text, hypertext, audio, video and time-series data.|
|Label Studio||13,099||3||15 hours ago||159||June 16, 2022||552||apache-2.0||Python|
|Label Studio is a multi-type data labeling and annotation tool with standardized output format|
|Albumentations||12,041||64||155||12 days ago||52||June 15, 2022||369||mit||Python|
|Fast image augmentation library and an easy-to-use wrapper around other libraries. Documentation: https://albumentations.ai/docs/ Paper about the library: https://www.mdpi.com/2078-2489/11/2/125|
|Cvpr2023 Paper Code Interpretation||11,480||2 months ago||40|
|Pytorch Book||10,517||6 months ago||133||mit||Jupyter Notebook|
|PyTorch tutorials and fun projects including neural talk, neural style, poem writing, anime generation (《深度学习框架PyTorch：入门与实战》)|
|Cvat||9,415||8 hours ago||2||September 08, 2022||477||mit||TypeScript|
|Annotate better with CVAT, the industry-leading data engine for machine learning. Used and trusted by teams at any scale, for data of any scale.|
|Computervision Recipes||8,950||4 months ago||65||mit||Jupyter Notebook|
|Best Practices, code samples, and documentation for Computer Vision.|
|Ultralytics||8,419||8 hours ago||716||agpl-3.0||Python|
|NEW - YOLOv8 🚀 in PyTorch > ONNX > CoreML > TFLite|
|Pytorch Grad Cam||7,414||1||10 days ago||25||May 20, 2022||71||mit||Python|
|Advanced AI Explainability for computer vision. Support for CNNs, Vision Transformers, Classification, Object detection, Segmentation, Image similarity and more.|
|Awesome Project Ideas||6,856||3 months ago||1||mit|
|Curated list of Machine Learning, NLP, Vision, Recommender Systems Project Ideas|
LabelImg, the popular image annotation tool created by Tzutalin with the help of dozens contributors, is no longer actively being developed and has become part of the Label Studio community. Check out Label Studio, the most flexible open source data labeling tool for images, text, hypertext, audio, video and time-series data. Install Label Studio and join the slack community to get started.
LabelImg is a graphical image annotation tool.
It is written in Python and uses Qt for its graphical interface.
Annotations are saved as XML files in PASCAL VOC format, the format used by ImageNet. Besides, it also supports YOLO and CreateML formats.
This is the simplest (one-command) install method on modern Linux distributions such as Ubuntu and Fedora.
pip3 install labelImg labelImg labelImg [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
Linux/Ubuntu/Mac requires at least Python 2.6 and has been tested with PyQt 4.8. However, Python 3 or above and PyQt5 are strongly recommended.
Python 3 + Qt5
sudo apt-get install pyqt5-dev-tools sudo pip3 install -r requirements/requirements-linux-python3.txt make qt5py3 python3 labelImg.py python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
Python 3 + Qt5
brew install qt # Install qt-5.x.x by Homebrew brew install libxml2 or using pip pip3 install pyqt5 lxml # Install qt and lxml by pip make qt5py3 python3 labelImg.py python3 labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
Python 3 Virtualenv (Recommended)
Virtualenv can avoid a lot of the QT / Python version issues
brew install python3 pip3 install pipenv pipenv run pip install pyqt5==5.15.2 lxml pipenv run make qt5py3 pipenv run python3 labelImg.py [Optional] rm -rf build dist; pipenv run python setup.py py2app -A;mv "dist/labelImg.app" /Applications
Note: The Last command gives you a nice .app file with a new SVG Icon in your /Applications folder. You can consider using the script: build-tools/build-for-macos.sh
Install Python, PyQt5 and install lxml.
Open cmd and go to the labelImg directory
pyrcc4 -o libs/resources.py resources.qrc For pyqt5, pyrcc5 -o libs/resources.py resources.qrc python labelImg.py python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
If you want to package it into a separate EXE file
Install pyinstaller and execute: pip install pyinstaller pyinstaller --hidden-import=pyqt5 --hidden-import=lxml -F -n "labelImg" -c labelImg.py -p ./libs -p ./
Download and install Anaconda (Python 3+)
Open the Anaconda Prompt and go to the labelImg directory
conda install pyqt=5 conda install -c anaconda lxml pyrcc5 -o libs/resources.py resources.qrc python labelImg.py python labelImg.py [IMAGE_PATH] [PRE-DEFINED CLASS FILE]
docker run -it \ --user $(id -u) \ -e DISPLAY=unix$DISPLAY \ --workdir=$(pwd) \ --volume="/home/$USER:/home/$USER" \ --volume="/etc/group:/etc/group:ro" \ --volume="/etc/passwd:/etc/passwd:ro" \ --volume="/etc/shadow:/etc/shadow:ro" \ --volume="/etc/sudoers.d:/etc/sudoers.d:ro" \ -v /tmp/.X11-unix:/tmp/.X11-unix \ tzutalin/py2qt4 make qt4py2;./labelImg.py
You can pull the image which has all of the installed and required dependencies. Watch a demo video
The annotation will be saved to the folder you specify.
You can refer to the below hotkeys to speed up your workflow.
data/predefined_classes.txtdefine the list of classes that will be used for your training.
A txt file of YOLO format will be saved in the same folder as your image with same name. A file named "classes.txt" is saved to that folder too. "classes.txt" defines the list of class names that your YOLO label refers to.
You can edit the data/predefined_classes.txt to load pre-defined classes
(Choose Display Labels mode in View to show/hide lablels)
When pressing space, the user can flag the image as verified, a green background will appear. This is used when creating a dataset automatically, the user can then through all the pictures and flag them instead of annotate them.
The difficult field is set to 1 indicates that the object has been annotated as "difficult", for example, an object which is clearly visible but difficult to recognize without substantial use of context. According to your deep neural network implementation, you can include or exclude difficult objects during training.
In case there are issues with loading the classes, you can either:
Send a pull request
Citation: Tzutalin. LabelImg. Git code (2015). tzutalin/labelImg