Intelligent information-measuring system for real-time control of geometric and physico-mechanical parameters of polyurethane shoe soles.
Detect and classify defects on polyurethane soles in several categories, despite moderate disturbances such as dust, glare, and varying lighting conditions.
| Layer | Choice | Notes |
|---|---|---|
| Language | Python 3.10+ | Main inference and backend language. |
| Object detection | Ultralytics YOLOv8 | One detector instance per camera channel. |
| Web backend | FastAPI | Serves REST/WebSocket APIs for the UI and camera channels. |
| Web UI | HTML + htmx / vanilla JS | Lightweight, channel tabs, history, validation, retraining. |
| Database | SQLite (production ready via aiosqlite) |
Stores events, images paths, labels, config snapshots. |
| Camera capture | OpenCV + picamera2 / RTSP URLs |
IP cameras or Raspberry Pi cameras. |
| Image augmentation | Albumentations | Synthetic dust, lighting, rotation for training/testing. |
| Training loop | Ultralytics Python API | Fine-tune YOLO on collected verified data. |
| Configuration | JSON files in config/ |
Per-channel preprocessing and model settings. |
| Testing | pytest | Unit and integration tests. |
| Environment | Linux-like OS, RTX 2060 workstation | 2–3 Raspberry Pi / IP cameras, Full HD. |
Project documentation lives in docs/.
pip.uv venv .venv source .venv/bin/activate
uv pip install -e ".[dev]"
config/example.json to config/local.json and adjust camera / model settings.pytest