From 2c9cde84cab322378a422a2531fc0d1d4e0a6b73 Mon Sep 17 00:00:00 2001 From: kassam Date: Mon, 20 Apr 2026 00:02:37 +0400 Subject: [PATCH] Update 2026-04-20 00:02:36 --- README.md | 50 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) diff --git a/README.md b/README.md index 0ab898a..c826906 100644 --- a/README.md +++ b/README.md @@ -49,3 +49,53 @@ python -m saqr.robot.bridge --iface eth0 --source realsense --headless - [docs/DEPLOY.md](docs/DEPLOY.md) — full deploy + robot setup. - [docs/start.md](docs/start.md) — systemd auto-start workflow. - [docs/use_case_catalogue.pdf](docs/use_case_catalogue.pdf) — PPE use-case spec. + +## Data & Models + +The `data/` and `runtime/` directories are excluded from git (too large). +Download them separately before training or running inference. + +### `data/` — dataset and pre-trained weights + +Expected contents: + +``` +data/ + dataset/ + train/{images,labels}/ + valid/{images,labels}/ + test/{images,labels}/ + data.yaml + models/ + saqr_best.pt # Saqr YOLO11n fine-tuned on PPE + saqr_last.pt + yolo11n.pt # base YOLO11n + yolo26n.pt # base YOLO26n +``` + +Download: + +- **Dataset** (PPE, Roboflow): [testcasque/ppe-detection-qlq3d](https://universe.roboflow.com/testcasque/ppe-detection-qlq3d) + Open the Roboflow link → *Download Dataset* → format **YOLOv11** → unzip into `data/dataset/`. +- **Base YOLO weights**: [Ultralytics assets releases](https://github.com/ultralytics/assets/releases) + Grab `yolo11n.pt` (and optionally `yolo26n.pt`) into `data/models/`. +- **Saqr fine-tuned weights** (`saqr_best.pt`, `saqr_last.pt`): + Produced by training — see "Training" below. Or request from the maintainer. + +Place everything under `data/` so the tree matches above. + +### `runtime/` — training output (optional) + +Auto-generated when you run training. Not required for inference. +Contains confusion matrices, PR curves, batch previews, and the raw weights +under `runtime/runs/train/saqr_det/weights/`. + +### Training + +```bash +# after placing the dataset in data/dataset/ and base weights in data/models/ +python -m saqr.apps.train_cli --data data/dataset/data.yaml --weights data/models/yolo11n.pt +``` + +Outputs land in `runtime/runs/train/saqr_det/`. Copy the best checkpoint to +`data/models/saqr_best.pt` to use it at inference time.