29 lines
1.2 KiB
Markdown
29 lines
1.2 KiB
Markdown
## Fish Detection YOLO Pipeline
|
|
|
|
We plan to train our own YOLO model specifically for fish detection. The workflow and TODOs are:
|
|
|
|
1. **Labeling**
|
|
- Use `labelme` to annotate selected fish images.
|
|
- Convert annotations to YOLO format (e.g., using `labelme2yolo` or a custom script).
|
|
|
|
2. **Training & Testing Scripts**
|
|
- Implement `train_yolo.py` that:
|
|
- Loads the annotated dataset via a configurable dataloader.
|
|
- Supports dataset splits (train/val/test) and typical YOLO hyperparameters.
|
|
- Saves checkpoints and training logs.
|
|
- Implement `test_yolo.py` that:
|
|
- Loads trained checkpoints.
|
|
- Runs inference/evaluation on validation or test sets.
|
|
- Outputs metrics (precision/recall/mAP) and visualizes detections.
|
|
|
|
3. **Data Loaders**
|
|
- Provide reusable dataloaders that:
|
|
- Handle YOLO-format labels and image augmentations.
|
|
- Support batching, shuffling, and CPU/GPU prefetching.
|
|
- Can be shared between training and testing scripts.
|
|
|
|
> TODO Summary
|
|
> - [ ] Annotate images with `labelme`.
|
|
> - [ ] Create `train_yolo.py` with dataloaders + training logic.
|
|
> - [ ] Create `test_yolo.py` with dataloaders + evaluation/visualization.
|