Détection de la faune nocturne : Jeu de données haute résolution pour modèles YOLO

Présentation du jeu de données

L'étude de la biodiversité et la surveillance des réserves naturelles s'appuient désormais massivement sur la vision par ordinateur. Ce jeu de données est spécifiquement conçu pour répondre aux défis de l'identification animale en environnement nocturne, où les conditions d'éclairage sont précaires et les environnements complexes.

Le corpus comprend 17 000 images haute définition, intégralement annotées au format standard YOLO. Il couvre 17 espèces animales distinctes, permettant d'entraîner des modèles robustes pour la surveillance écologique automatisée.

Spécifications techniques et classes

Le jeu de données est structuré pour être immédiatement exploitable par les architectures de type YOLO (v5, v8, v10, etc.). Les classes incluses représentent un large spectre de la faune sauvage, allant des grands prédateurs aux petits mammifères :

  • Grands félins et ours : Tigre de Sibérie (AmurTiger), Léopard, Ours noir.
  • Ongulés : Cerf Sika, Chevreuil, Cerf porte-musc, Sanglier.
  • Petits et moyens carnivores : Blaireau, Chien viverrin, Renard roux, Zibeline, Belette, Martre à gorge jaune, Chat-léopard.
  • Autres : Lièvre, ainsi que des animaux domestiques pouvant errer en zone protégée (Vache, Chien).

Le fichier de configuration data.yaml se présente comme suit :


# Configuration du dataset pour la faune nocturne
nc: 17
names: [
  'AmurTiger', 'Badger', 'BlackBear', 'Cow', 'Dog', 
  'Hare', 'Leopard', 'LeopardCat', 'MuskDeer', 'RaccoonDog', 
  'RedFox', 'RoeDeer', 'Sable', 'SikaDeer', 'Weasel', 
  'WildBoar', 'Y-T-Marten'
]

Structure de l'archive

Pour garantir une évaluation scientifique rigoureuse, les données sont organisées en trois segments distincts : entraînement, validation et test.


faune_nocturne_root/
├── images/
│   ├── train/  # Images pour l'apprentissage
│   ├── val/    # Images pour le réglage des hyperparamètres
│   └── test/   # Images pour l'évaluation finale
└── labels/
    ├── train/  # Annotations correspondantes (YOLO format)
    ├── val/
    └── test/

Chaque fichier d'annotation .txt suit la syntaxe normalisée :
<id_classe> <x_centre> <y_centre> <largeur> <hauteur> (valeurs normalisées entre 0 et 1).

Défis de la détection nocturne

L'utilisation de ce dataset permet d'aborder plusieurs problématiques critiques en vision par ordinateur :

  • Imagerie infrarouge : Gestion des images monochroems issues des pièges photographiques.
  • Faible contraste : Distinction entre le pelage des animaux et l'arrière-plan forestier sombre.
  • Variations d'échelle : Détection de sujets allant du petit rongeur au grand prédateur occupant tout le cadre.

Implémentation avec Ultralytics YOLOv8

L'exemple suivant illustre comment initialiser l'entraînement d'un modèle de détection sur ce jeu de données spécifique.


from ultralytics import YOLO

def entrainer_detecteur_faune():
    # Initialisation d'un modèle pré-entraîné (version small pour l'équilibre vitesse/précision)
    detecteur = YOLO('yolov8s.pt')

    # Lancement du processus d'apprentissage
    configuration_entrainement = {
        "data": "faune_nocturne.yaml",
        "epochs": 120,
        "imgsz": 640,
        "batch": 16,
        "device": 0,  # Utilisation du GPU
        "augment": True  # Activation de l'augmentation de données
    }

    detecteur.train(**configuration_entrainement)

    # Validation du modèle sur le jeu de test
    performances = detecteur.val()
    print(f"Précision moyenne (mAP 50-95): {performances.box.map}")

if __name__ == "__main__":
    entrainer_detecteur_faune()

Optimisation et Prétraitement

Pour maximiser les performances sur ce type de données, il est recommandé d'appliquer des techniques spécifiques lors de l'entraînement :

  1. Augmentation de données mosaïque : Aide le modèle à reconnaître des objets partiellement occultés par la végétation.
  2. Équilibrage des classes : Certaines espèces étant plus rares, l'ajustement des poids de la fonction de perte peut prévenir le biais du modèle.
  3. Ajustement de l'exposition : Simuler numériquement différentes intensités de vision nocturne pour renforcer la robustesse du détecteur.

Applications concrètes

Les modèles entraînés avec ce dataset peuvent être déployés dans divers scénarios :

  • Dispositifs Edge AI : Analyse en temps réel sur des caméras intelligentes à basse consommation.
  • Systèmes d'alerte : Détection automatique d'espèces menacées ou signalement de conflits homme-faune.
  • Analyse statistique : Traitement massif de données historiques pour évaluer la densité de population d'une espèce.

Étiquettes: YOLOv8 Computer Vision Object Detection PyTorch deep learning

Publié le 7 juillet à 01h19