--- license: apache-2.0 tags: - object-detection - image-classification - biology - coastal - yolov8 - bioclip - onnx base_model: Ultralytics/YOLOv8 base_model_relation: finetune pipeline_tag: object-detection --- # Biolit : identification d'espèces côtières Modèles du projet **[Biolit](https://www.biolit.fr)** (Data for Good, saison 14). Les observateurs de Biolit photographient la faune et la flore du littoral. Ces modèles retrouvent l'espèce sur la photo puis proposent son identification taxonomique. Le traitement se fait en deux temps : ``` photo ──► detection/ ──► crop ──► classification/ ──► taxonomie │ └─► conf < 0.4 : pas de crop ``` ## Organisation du repo Un dossier par étape, dans l'ordre du traitement : ``` detection/ ├── model.onnx └── model.pt classification/ ├── mlp_model.pt ├── proto_model.npz ├── tax_lookup.pkl └── bioclip_features.npz ``` - `detection/` repère l'espèce principale sur la photo et dit si c'est une plante ou un animal. Sa sortie (le crop) est l'entrée de l'étape suivante. - `classification/` reçoit ce crop et propose sa position dans la taxonomie. Chaque dossier peut être téléchargé seul : ```bash hf download DataForGood/yolov8_biolit_crop --include "detection/*" ``` ## 1. Détection : `detection/` Un YOLOv8s fine-tuné sur environ 1 400 photos Biolit annotées à la main. Pour chaque photo, il garde une seule détection : la plus confiante. Le crop de cette détection est ensuite transmis à la classification. | Caractéristique | Valeur | |---|---| | Classes | `0: plant`, `1: animal` | | Entrée | image RGB letterboxée, `(1, 3, 640, 640)`, valeurs dans `[0, 1]` | | Sortie | `(1, 6, 8400)` : 4 coordonnées de boîte et 2 scores, pour 8 400 boîtes | | Seuil | `conf = 0.4` : en dessous, pas de crop | | Fichier | Description | |---|---| | `model.onnx` | Version à utiliser (ONNX opset 18), sans PyTorch ni Ultralytics | | `model.pt` | Poids PyTorch d'origine (Ultralytics 8.0.81), gardés comme référence | L'export ONNX a été vérifié face au modèle PyTorch : mêmes sorties brutes, à 0.001 px près sur les boîtes et 0.000004 près sur les scores. ## 2. Classification : `classification/` | Fichier | Description | |---|---| | `mlp_model.pt` | Classifieurs MLP par niveau taxonomique | | `proto_model.npz` | Prototypes par taxon | | `tax_lookup.pkl` | Correspondance entre les classes et la taxonomie | | `bioclip_features.npz` | Features d'images précalculées | *Section à compléter.* ## Historique Les anciens entraînements (`runs/`) sont conservés dans le tag [`v0-avant-nettoyage`](https://huggingface.co/DataForGood/yolov8_biolit_crop/tree/v0-avant-nettoyage).