Offline-first AI-assisted annotation, segmentation, and dataset intelligence tool for Edge AI, ADAS, and computer vision datasets.
VisionForge is a local desktop tool for preparing computer vision datasets for training, validation, and edge deployment.
LabelImg helps you draw boxes. VisionForge helps you prepare datasets for training, validation, and edge deployment.
It supports manual annotation, optional YOLO auto-labeling, optional SAM-compatible segmentation assistance, class grouping, dataset analysis, augmentation, train/val/test splitting, export, and report generation.
Most annotation tools focus on drawing labels. Real-world dataset work needs more than that.
VisionForge is designed for the complete dataset preparation workflow:
- Annotate images manually
- Auto-label using object detection models
- Generate segmentation masks from prompt boxes
- Review AI predictions before accepting them
- Manage and group classes for ADAS / Edge AI
- Analyze dataset quality and class balance
- Split datasets safely for training
- Export to training-ready formats
- Generate reports for dataset readiness
VisionForge is not meant to replace every platform. CVAT, Label Studio, Roboflow, and LabelImg are strong tools. VisionForge focuses on an offline-first, developer-friendly workflow for serious dataset preparation.
- Manual bounding-box annotation
- Select, move, resize, and delete boxes
- Class assignment and class management
- Auto-save project workflow
- Keyboard shortcuts for fast labeling
- Supports JPG, JPEG, PNG, BMP, and WEBP images
- Optional YOLO auto-labeling
- Lazy dependency loading so the app works without heavy AI packages
- Confidence and IoU threshold settings
- Current-image and dataset-level auto-labeling flow
- AI prediction review status:
pendingacceptedrejectededited
- Optional SAM / SAM-compatible segmentation backend
- Generate masks from detection boxes
- Generate masks from manually drawn prompt boxes
- Convert segmentation masks to polygons
- Convert masks/polygons to bounding boxes
- Export COCO segmentation annotations
- Total images and annotation count
- Annotated vs unannotated images
- Class-wise object count
- Annotation source breakdown
- AI review status breakdown
- Object size distribution
- Class imbalance detection
- Missing/broken file warnings
- Detection vs segmentation coverage
VisionForge includes a dataset readiness score out of 100 based on:
- Annotation coverage
- Class balance
- Object size diversity
- Small object coverage
- File health
- AI review completion
- Split quality
- Dataset scale
- Segmentation coverage
Example warnings:
- Pothole class is underrepresented
- Too many pending AI predictions
- Small object coverage is weak
- Train/val/test split is not class-balanced
- Possible video-frame leakage risk
- Augmentation with bbox correction for supported transforms
- Dataset randomizer with filename mapping
- Train/val/test splitter
- Class-balanced split option
- Grouped class export for ADAS/embedded deployment
- YOLO Detection TXT
- Pascal VOC XML
- COCO Detection JSON
- COCO Segmentation JSON
- CSV Summary
- Grouped Class Export
More screenshots and GIFs will be added as the project evolves.
git clone https://github.com/samwin27-sudo/VisionForge.git
cd VisionForgemacOS / Linux:
python3 -m venv .venv
source .venv/bin/activateWindows:
python -m venv .venv
.venv\Scripts\activatepip install --upgrade pip
pip install -r requirements.txtpython run.pyVisionForge works without AI dependencies. Manual annotation does not require YOLO, SAM, or PyTorch.
Install AI features only when needed.
pip install -r requirements-ai.txtDownload a small YOLO test model:
python scripts/download_yolo_models.py --model yolov8n.ptThen load the model from:
models/yolo/yolov8n.pt
pip install -r requirements-segmentation.txtRead the SAM download guide:
scripts/download_sam_models.md
Recommended first checkpoint:
sam_vit_b_01ec64.pth
Place it inside:
models/sam/
VisionForge does not ship pretrained model weights inside the repository.
This keeps the repository lightweight and avoids redistributing third-party model files.
Local model files should be placed inside:
models/
yolo/
yolov8n.pt
your_custom_model.pt
sam/
sam_vit_b_01ec64.pth
The .gitignore is configured to prevent accidental commits of large model files such as:
*.pt
*.pth
*.onnx
*.tflite
*.ckpt
*.safetensors
- Batch auto-annotation for the full dataset
- Single-image auto-annotation and full-dataset auto-annotation use the same settings dialog
- Editable COCO/ADAS class mapping, for example
Vehicle = car, truck, bus, train - Optional YOLO + SAM workflow to generate segmentation polygons from detected boxes
- Remember default YOLO and SAM models until the user changes them
- Class-colored bounding boxes for easier review
- More standard augmentation options: grayscale, contrast, saturation, blur, noise, sharpen, vertical flip, random crop, resize, and small-angle rotation
-
Run the app:
python run.py
-
Click Open Dataset and select an image folder.
-
Add or import classes.
-
Draw bounding boxes manually.
-
Optional: run YOLO auto-labeling.
-
Review AI predictions before exporting.
-
Analyze the dataset.
-
Export labels in YOLO, VOC, COCO, or CSV format.
-
Generate a dataset report.
| Shortcut | Action |
|---|---|
A / Left Arrow |
Previous image |
D / Right Arrow |
Next image |
Delete / Backspace |
Delete selected annotation |
Ctrl + S |
Save project |
Ctrl + O |
Open dataset |
Ctrl + E |
Export |
Ctrl + Shift + E |
Quick export using last export settings |
Ctrl + R |
Generate report |
Ctrl + A |
Auto-label current image |
Ctrl + Shift + A |
Auto-label full dataset |
Ctrl + M |
Toggle segmentation visibility |
Ctrl + G |
Open class grouping manager |
Space |
Accept current AI prediction |
X |
Reject current AI prediction |
VisionForge stores project metadata in:
visionforge_project.json
It tracks:
- Dataset path
- Classes and colors
- Class groups
- Image metadata
- Bounding boxes
- Segmentation polygons/masks
- AI confidence scores
- Annotation source
- Review status
- Export settings
VisionForge supports grouping raw classes into deployment-friendly categories.
Example:
car + bus + truck -> Vehicle
motorcycle + bicycle -> Bike
person -> Pedestrian
pothole -> Road Damage
speedbreaker -> Road Feature
traffic_light + sign -> Road Signage
Export options:
- Original classes
- Grouped classes
- Both original and grouped outputs
VisionForge can generate:
dataset_report.html
dataset_summary.xlsx
class_distribution.csv
image_annotation_summary.csv
readiness_score.json
warnings_and_recommendations.txt
Reports include:
- Dataset summary
- Class distribution
- Annotation status breakdown
- Object size distribution
- Readiness score
- Warnings and recommendations
- Export and split summaries
VisionForge/
run.py
requirements.txt
requirements-ai.txt
requirements-segmentation.txt
requirements-dev.txt
README.md
LICENSE
visionforge/
ui/
core/
ai/
exporters/
importers/
analysis/
augment/
split/
randomizer/
models/
README.md
scripts/
download_yolo_models.py
download_sam_models.md
docs/
examples/
tests/
Install development dependencies:
pip install -r requirements-dev.txtRun tests:
PYTHONPATH=. pytest -qCompile check:
python -m compileall -q visionforge testsPlanned improvements:
- Better polygon editing tools
- More segmentation backends
- SAM2 support
- ONNX/TFLite model preview support
- Dataset versioning
- Video frame sequence-aware splitting
- More augmentation controls
- COCO panoptic export
- Plugin system for custom model backends
- Better Mac/Windows packaging
- Demo GIFs and sample datasets
VisionForge is an early public release.
Current limitations:
- Segmentation workflow is modular but still improving in the UI
- SAM checkpoint selection is currently documented more than fully automated
- Polygon editing tools are basic
- Large dataset performance needs more stress testing
- AI auto-labeling quality depends on the model used
- Production ADAS validation still requires separate testing and verification
Contributions are welcome.
Useful areas:
- UI polish
- Segmentation workflow improvements
- Exporter validation
- Dataset analysis metrics
- Testing with larger datasets
- Documentation and screenshots
- Packaging for macOS / Windows / Linux
Before opening a pull request, please run:
python -m compileall -q visionforge tests
PYTHONPATH=. pytest -qMIT License.
See LICENSE.
VisionForge helps prepare datasets. It does not guarantee model accuracy, regulatory compliance, or ADAS production safety.
Always validate datasets, models, and deployment behavior before using them in real-world or safety-critical systems.
