removed gradio

This commit is contained in:
2025-12-23 18:24:40 -07:00
parent 43a34aaf00
commit 8804b45067
12 changed files with 1363 additions and 2271 deletions

View File

@ -1,12 +1,12 @@
# Saw Mill Knot Detection
This repository contains a complete wood defect detection system with a web-based annotation GUI and separate training/deployment scripts. Supports multiple model frameworks (RF-DETR, RT-DETR, YOLOv6, YOLOX) and is optimized for deployment on OAK-D cameras.
This repository contains a complete wood defect detection system with a Tkinter-based annotation GUI and separate training/deployment scripts. Supports multiple model frameworks (RF-DETR, RT-DETR, YOLOv6, YOLOX) and is optimized for deployment on OAK-D cameras.
## 🎯 Project Overview
- **Models**: RF-DETR, RT-DETR, YOLOv6, YOLOX (all MIT/Apache 2.0 licensed)
- **Dataset**: 20,276 wood surface defect images
- **Annotation GUI**: Gradio-based web interface for manual annotation
- **Annotation GUI**: Tkinter desktop app for manual annotation
- **Training Scripts**: Separate Python scripts for model training
- **Deployment**: OAK-D camera optimization with OpenVINO conversion
- **License**: All models free for commercial use
@ -47,21 +47,16 @@ pip install -r requirements.txt
### 2. Run the Annotation GUI
The repository includes an automated script that handles virtual environment activation:
```bash
# Run the GUI (automatically detects and activates venv/conda environment)
./run_gui.sh
# Or run manually
source .venv/bin/activate # or conda activate your_env
python annotation_gui.py
./run_tk_gui.sh --images-dir IMAGE/
# or
python tk_annotation_gui.py --images-dir IMAGE/
```
Install dependencies:
Auto-label requires Ultralytics for YOLO/RT-DETR weights:
```bash
pip install -U pip
pip install ultralytics gradio rfdetr
pip install ultralytics
```
### 2. Setup Datasets
@ -78,24 +73,13 @@ python setup_datasets.py # Creates dataset_coco/ and updates configs
### 3. Launch Annotation GUI
```bash
python annotation_gui.py
```
Tkinter version (new):
```bash
python tk_annotation_gui.py
# or
./run_tk_gui.sh
```
Open http://localhost:7860 in your browser to access the web-based annotation interface with:
- Image navigation with index display
- Auto-labeling with trained models
- Manual annotation tools with delete buttons
- Real-time result visualization
- Export to COCO format
The Tkinter GUI supports image navigation, autosave annotations, and optional auto-label.
### 4. Train Models
@ -127,7 +111,8 @@ python convert_for_deployment.py --model runs/training/weights/best.pt --output
```
saw_mill_knot_detection/
├── annotation_gui.py # Gradio web interface for annotation
├── tk_annotation_gui.py # Tkinter desktop annotation GUI
├── run_tk_gui.sh # Convenience launcher
├── train_model.py # Unified training script for all frameworks
├── convert_for_deployment.py # Model conversion for OAK-D deployment
├── TRAINING_README.md # Detailed training and deployment guide
@ -174,7 +159,7 @@ saw_mill_knot_detection/
### Annotation GUI Features
The Gradio-based annotation interface provides:
The Tkinter annotation GUI provides:
- **Image Navigation**: Browse through dataset with current index display
- **Auto-Labeling**: One-click defect detection using trained YOLOX model
@ -267,4 +252,3 @@ This project uses the Kaggle Wood Surface Defects dataset. Please refer to the o
- Kaggle for providing the wood surface defects dataset
- Ultralytics for the YOLO framework
- Gradio for the web interface framework