| Features | Description |
|---|---|
| π€ Upload new underwater images | User can upload new image(s) via the web interface |
| βοΈ Auto-label with YOLO + SAM | YOLO detects β SAM segments each detection |
| πΌοΈ Display results interactively | Show segmentation overlays + class-wise masks |
| π Calculate % coverage | Pixel-based area per class (for each image) |
| πΎ Download annotations & coverage | Export JSON or image+mask zip archive |
- Frontend + Backend: Streamlit (modern, fast, interactive UI)
- Model Backend: Your fine-tuned YOLO model + pretrained SAM model
- Image Ops: OpenCV & NumPy
- Optional Storage: Save results locally or integrate with Firebase/GCP later.
project/
βββ custom-yolo/ # folder containing pre-trained YOLO model but .gitignored
βββ images/ # raw images to label
βββ output/
β βββ masks/ # generated masks
β βββ overlays/ # visualization of predictions
β βββ annotations.json # structured result
βββ sam-model # contains the Segment Anything Model
βββ scr/ # contains notebook
| βββ app.py
βββ readMe.md
βββ requirements.txt- Save this file as app.py
- Place yolo_model.pt and sam_b.pt in the same directory
- Run the requirement file
pip install -r requirements.txt- Install dependencies:
pip install streamlit opencv-python pillow ultralytics- Run the app:
streamlit run project/scr/app.py