Reinventing The Wheel?!!!!
In the world, there are many good image-labeling tools for object detection. -e.g. , (Yolo_mark, BBox-Label-Tool, labelImg).
But... I've reinvented one...
When I used the pre-existing programs to annotate a training set for YOLO V3, I was sooooooooooo bored...
So I thought why it is so boring??
And I found an answer.
The answer is that pre-existing programs are not sensitive.
So I decided to make a sensitive image-labeling tool for object detection.
It's the SENSITIVE image-labeling tool for object detection!
YoloLabel.2023-01-10.22-06-06.mp4
I refer to the website of Joseph Redmon who invented the YOLO.
Pre-built binaries are available on the Releases page.
| OS | Download | Note |
|---|---|---|
| Windows (x64) | YoloLabel-Windows-x64.zip | Unzip and run YoloLabel.exe |
| Linux (x64) | YoloLabel-Linux-x64.AppImage | chmod +x and run |
| macOS (Apple Silicon) | YoloLabel-macOS.dmg | Open DMG and drag to Applications |
-
Download YoloLabel-Windows-x64.zip
-
Unzip
-
Run YoloLabel.exe
-
Download YoloLabel-Linux-x64.AppImage
-
Make executable and run
chmod +x YoloLabel-Linux-x64.AppImage
./YoloLabel-Linux-x64.AppImage
-
Download YoloLabel-macOS.dmg
-
Open the DMG and drag
YoloLabel.appto Applications -
Launch YoloLabel from Applications
Build from source: If you prefer, install Qt 6 (
brew install qt@6), clone this repo, then runqmake && make. See Build with ONNX Runtime for auto-label support.
- Put your .jpg, .png -images into a directory (In this tutorial I will use the Kangarooo and the Raccoon Images. These images are in the 'Samples' folder.)
- Put the names of the objects, each name on a separate line and save the file( .txt, .names).
- Run Yolo Label!
- Click the button 'Open Files' and open the folder with the images and the file(''.names or ''.txt) with the names of the objects.
- And... Label!... Welcome to Hell... I really hate this work in the world.
This program has adopted a different labeling method from other programs that adopt "drag and drop" method.
To minimize wrist strain when labeling, I adopted the method "twice left button click" method more convenient than
"drag and drop" method.
drag and drop
twice left button click
- End
./YoloLabel [dataset dir] [class file] [model.onnx]
# Examples
./YoloLabel ../project/dataset/objects/frames ../project/dataset/objects/obj_names.txt
./YoloLabel ../project/dataset/objects/frames ../project/dataset/objects/obj_names.txt yolov8n.onnx
./YoloLabel ../project/dataset/objects/frames yolov8n.onnx
Arguments are detected by file extension — .onnx files are loaded as YOLO models, all other files are loaded as class name lists. When a model with embedded class names is loaded without a class file, class names are populated from the model automatically.
Tired of drawing every single bounding box by hand? Load a pre-trained YOLO model and let it do the boring work for you.
YOLO-Label supports local ONNX inference — just export any Ultralytics detection model to .onnx and load it. Class names, input size, and model configuration are all read from the ONNX metadata automatically. No separate config files needed.
Any Ultralytics detection model exported with model.export(format="onnx"):
| Model | Note |
|---|---|
| YOLOv5 | Anchor-based, objectness score |
| YOLOv8, YOLO11, YOLO12, YOLOv26 | Anchor-free |
| End-to-end models | NMS baked in |
- Open your dataset as usual (images + class file)
- Click Load Model and select a
.onnxfile - Adjust the confidence threshold with the slider (default 25%)
- Click Auto Label (or press
R) to detect objects on the current image - Click Auto Label All to batch-process all images
- Review and correct results using the existing manual annotation tools — auto-labeled boxes can be moved, deleted, or undone (
Ctrl+Z)
Tip: You can skip the class file entirely. If the model has embedded class names (all Ultralytics exports do), they will be loaded automatically.
Pre-built releases include ONNX Runtime. To build from source with auto-label support:
# Download ONNX Runtime (one-time setup)
./scripts/download_onnxruntime.sh
# Build
qmake YoloLabel.pro "ONNXRUNTIME_DIR=$PWD/onnxruntime"
make -j$(nproc)Without ONNX Runtime, the app builds and works normally — just without the auto-label feature.
Use the Contrast slider at the top of the window to adjust image brightness/contrast in real-time. This is useful when labeling dark or overexposed images. The slider ranges from 0% to 100% (default 50%).
A timer in the status bar counts how many hours (and minutes/seconds) you have been using the program. It runs only while the window is focused (switches to another app to pause). Use the Reset button in the status bar to zero the timer at any time.
It was replaced by the shortcut Ctrl + D.
You can access all image by moving horizontal slider bar. But when you control horizontal slider bar, the last processed image will not be saved automatically. So if you want not to lose your work, you should save before moving the horizontal slider bar.
I've reinvented the wheel.
-
Upload binary file for easy usage for windows and ubuntu -
deployment for ubuntu -
macOS Developer signing for Gatekeeper














