Skip to content

CMDann/yolo-studio

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gif

YOLO Studio

YOLO Studio is a desktop developer tool for training, organizing, and remotely deploying YOLO computer vision models.

Project Overview

This project provides:

  • Local dataset management and dataset-building workflows
  • Configurable YOLO training with live metrics and logs
  • Discovery integrations for Roboflow Universe, Hugging Face Hub, Kaggle, and Open Images
  • Remote deployment and testing against Jetson/Raspberry Pi edge devices
  • Real-time camera inference with session capture
  • Offline evaluation with analytics dashboards
  • Cross-run analytics and experiment comparison
  • Project system for organizing assets under named roots

Setup

  1. Create and activate a Python 3.10+ virtual environment.
  2. Install dependencies:
pip install -r requirements.txt
  1. Launch the app:
python main.py

Architecture

+-------------------------- YOLO Studio (PyQt6) ---------------------------+
|                                                                          |
|  +---------------- UI Layer ----------------+    +------ Widgets -------+ |
|  | train | dataset | discover | remote      |    | log | chart | cards | |
|  | camera | evaluate | analytics            |    +----------------------+ |
|  +------------------------------------------+                           |
|                 |                                                    |
|                 v                                                    |
|  +------------------ Core Layers ----------------------------+         |
|  | models | services | workers | projects                   |         |
|  +----------------------------------------------------------+         |
|                 |                                                    |
|                 v                                                    |
|  +------------------------- Integrations ---------------------------+  |
|  | ultralytics | roboflow | huggingface_hub | websocket devices    |  |
|  +------------------------------------------------------------------+  |
+--------------------------------------------------------------------------+

Edge Device Agent (Jetson/RPi): edge/jetson_agent.py

Code Layout

  • core/models/: SQLAlchemy entities and DB session/bootstrap logic
  • core/services/: dataset and remote-device service classes
  • core/workers/: QThread background worker classes
  • ui/windows/: top-level window classes
  • ui/styles/: theme and styling modules
  • ui/tabs/, ui/widgets/: feature tabs and reusable UI components
  • Compatibility shims remain at legacy module paths (core/database.py, etc.) for safer import migration.

Usage Guide

Training Tab

  • Configure model architecture, dataset, and hyperparameters
  • Start/stop training jobs with live metrics and logs
  • Save successful runs and manage trained weights

Dataset Tab

  • Browse datasets stored in SQLite
  • Build datasets from local images and generate YOLO metadata
  • Review and export saved models Note: Project scope filters the dataset library and saved models.

Discover Tab

  • Search and download datasets from Roboflow Universe
  • Search and download models/datasets from Hugging Face Hub
  • Search Kaggle datasets/competitions and download datasets
  • Download Open Images subsets with class filters Note: Imported assets can be attached to the active project.

Remote Devices Tab

  • Register edge devices
  • Deploy model weights remotely
  • Run remote inference tests and store result metrics

Camera Tab

  • Run real-time webcam inference with overlays
  • Record frames, save snapshots, export detections CSV
  • Session metadata stored in the database

Evaluate Tab

  • Offline evaluation for datasets or image folders
  • Confusion matrix, PR curves, and confidence curves
  • Export reports as PDF + JSON

Analytics Tab

  • Cross-run history, loss overlays, and per-class heatmaps
  • Compare runs and export dashboard ZIP

Project System

  • Create/open/duplicate/delete projects
  • Store project config in project.yaml
  • Project selector filters all tabs

Edge Agent Setup

  1. Copy edge/jetson_agent.py and edge/agent_config.yaml to the device.
  2. Install Python dependencies on the device.
  3. Configure agent_config.yaml.
  4. Start the agent and verify connectivity from YOLO Studio.

Troubleshooting

  • Ensure Python version is 3.10+.
  • Confirm config.json contains valid API tokens when using external services.
  • Verify CUDA/device drivers for GPU-enabled edge inference.
  • Check application and edge agent logs for runtime errors.
  • On Linux desktops without working Wayland or XCB dependencies (e.g. missing libxcb-cursor0), YOLO Studio falls back to Qt's minimal platform. You can override with QT_QPA_PLATFORM if you want to force a specific backend.

Current Status

The application scaffold and core feature modules are implemented, including:

  • SQLAlchemy-backed metadata models and persistence helpers
  • Training, dataset, discover, and remote-device GUI tabs
  • QThread workers for long-running operations
  • WebSocket remote manager and edge agent protocol implementation

About

No description, website, or topics provided.

Resources

Stars

3 stars

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors