YOLOv8s — Biolit Coastal Species Detection

Détection automatique d'espèces côtières (animaux et végétaux) entraîné sur des observations citoyennes issues de la plateforme Biolit. Phase de bootstrap autodistill : annotation automatique via GroundingDINO, sans annotation manuelle.

Model Details

Model Description

  • Developed by: mandresyandri
  • Model type: Object Detection — YOLOv8s
  • License: Apache 2.0
  • Finetuned from: yolov8s.pt (Ultralytics)
  • Training pipeline: autodistill — GroundingDINO (teacher) → YOLOv8 (student)

Model Sources


Uses

Direct Use

Détection de faune et flore côtière sur des photos terrain issues de sorties naturalistes. Deux classes : animal, plant.

Downstream Use

  • Crop automatique des espèces détectées en entrée d'un classificateur hiérarchique
  • Pré-annotation dans Label Studio pour correction manuelle
  • Filtrage des observations sans détection (hors scope)

Out-of-Scope Use

  • Images non côtières (milieu forestier, marin profond, etc.)
  • Identification fine à l'espèce (ce modèle détecte, ne classifie pas)
  • Contextes hors données citoyennes terrain

Bias, Risks, and Limitations

  • Les pseudo-labels GroundingDINO sont bruités — les annotations n'ont pas été vérifiées manuellement pour cette phase bootstrap.
  • L'ontologie est volontairement grossière (plant / animal) — pas de granularité taxonomique.
  • Les données sont biaisées vers les espèces les plus observées par les bénévoles Biolit (littoral atlantique et méditerranéen français).
  • Performances attendues en baisse sur des espèces rares ou peu représentées.

Recommendations

Utiliser ce modèle comme première passe de détection uniquement. Pour une identification fiable, coupler avec un classificateur fin et une boucle de validation humaine (Label Studio).


How to Get Started with the Model

from huggingface_hub import hf_hub_download
from ultralytics import YOLO

model_path = hf_hub_download(
    repo_id="mandresyandri/yolov8_biolit_crop",
    filename="runs/biolit_v2_bootstrap/weights/best.pt"
)

model = YOLO(model_path)

results = model("/content/100473_Crabe_bleu_americain_11137.jpg", conf=0.4)
results[0].show()

Training Details

Training Data

~10 000 images d'observations validées issues du CSV export Biolit, filtrées sur validee == TRUE. Pseudo-labels générés automatiquement par GroundingDINO avec l'ontologie {"plant": "plant", "animal": "animal"}.

Dataset : mandresyandri/biolit-coastal-species-dataset

Training Procedure

Preprocessing

  • Téléchargement parallèle des images (16 workers)
  • Suppression des images corrompues et < 100px
  • Sanitization des noms de fichiers (accents → ASCII)
  • Split train/val automatique par autodistill

Training Hyperparameters

Paramètre Valeur
Epochs 100
Batch size 32
Image size 640
Optimizer SGD
lr0 0.01
lrf 0.01
Momentum 0.937
Weight decay 0.0005
Warmup epochs 3
AMP True
Device CUDA

Evaluation

Metrics

Résultats à l'epoch 99 :

Métrique Valeur
Precision 0.800
Recall 0.727
mAP@50 0.804
mAP@50-95 0.735
val/box_loss 0.448
val/cls_loss 0.852

Courbes d'entraînement

results

confusion matrix

PR curve

F1 curve

Exemples de prédictions

val predictions batch 0


Environmental Impact

  • Hardware: GPU NVIDIA L4
  • Compute Region: Paris

Citation

@misc{biolit_yolov8_2026,
  author    = {mandresyandri},
  title     = {YOLOv8s Biolit Coastal Species Detection},
  year      = {2026},
  publisher = {HuggingFace},
  url       = {https://huggingface.co/mandresyandri/yolov8_biolit_crop}
}
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for mandresyandri/yolov8_biolit_crop

Finetuned
(4)
this model

Dataset used to train mandresyandri/yolov8_biolit_crop

Space using mandresyandri/yolov8_biolit_crop 1