Le déploiement de drones pour l'inspection des infrastructures n'est plus un concept futuriste ; c'est une norme opérationnelle actuelle. Cependant, un fossé important subsiste entre les modèles entraînés en laboratoire et leurs performances réelles. Lorsque vous lancez un drone à 90 mètres (300 pieds), vos objets cibles — fissures dans un pont, rouille sur une tour ou boulons desserrés sur une éolienne — n'occupent que quelques pixels dans le cadre. Ce problème de « haute altitude, basse résolution » (HALR) brise les modèles standard de détection d'objets, entraînant des taux élevés de faux négatifs et des défauts manqués.
Dans cet article, nous explorerons comment adapter les architectures YOLO (You Only Look Once) pour gérer ces entrées difficiles. Nous irons au-delà des scripts d'entraînement de base pour discuter des ajustements architecturaux, de l'augmentation spécialisée des données et des stratégies de post-traitement essentielles pour un déploiement robuste sur le terrain.
Le défi de la détection d'objets petits
Les modèles YOLO standard sont conçus avec des boîtes ancrées ou des cellules de grille optimisées pour les objets qui occupent une portion raisonnable de l'image. Dans les images aériennes, un défaut peut ne couvrir que 2x2 pixels. Lorsque cela traverse plusieurs couches de convolution, l'information spatiale est souvent perdue lors des opérations de pooling. Le modèle « oublie » efficacement l'existence de l'objet.
Pour contrer cela, nous devons préserver les détails à haute fréquence plus longtemps dans le réseau. Cela implique de modifier le backbone et le neck de notre architecture pour s'assurer que les cartes de caractéristiques conservent une résolution spatiale fine.
Stratégie 1 : Augmentation avancée des données
Entraîner un modèle à voir de petits objets nécessite une exposition synthétique à ceux-ci. Nous pouvons simuler les conditions HALR en recadrant aléatoirement des images haute résolution et en les redimensionnant vers le bas. Cela force le modèle à apprendre des caractéristiques à partir de petits patches flous.
Voici comment vous pouvez mettre en œuvre une augmentation Mosaic personnalisée en PyTorch qui cible spécifiquement la rétention des petits objets :
import torch
import torchvision.transforms.functional as F
import random
def small_object_mosaic(img1, img2, img3, img4, img1_label, img2_label, img3_label, img4_label):
"""
Simule les vues à haute altitude en redimensionnant les recadrages avant le mélange mosaic.
"""
# 1. Redimensionner les images originales haute résolution pour simuler une entrée drone basse résolution
scale_factor = random.uniform(0.3, 0.6) # Simule une altitude significative
# Appliquer un redimensionnement aléatoire aux entrées
s_img1 = F.resize(img1, int(img1.size[0] * scale_factor))
s_img2 = F.resize(img2, int(img2.size[1] * scale_factor))
# 2. Redimensionner vers le haut jusqu'à la taille originale pour le mélange mosaic
# Cela crée un aspect « pixelisé » que le modèle doit apprendre à résoudre
h_img1 = F.resize(s_img1, (img1.size[0], img1.size[1]))
# Procéder avec la logique standard de mélange mosaic en utilisant les images redimensionnées...
return h_img1, h_img2, h_img3, h_img4
Stratégie 2 : Mécanismes d'attention
L'ajout de modules d'attention aide le réseau à concentrer les ressources de calcul sur les régions informatives. L'intégration d'un module CBAM (Convolutional Block Attention Module) ou d'un simple bloc SE (Squeeze-and-Excitation) dans le backbone YOLO peut considérablement améliorer le rappel pour les petites cibles. Ces modules permettent au réseau de réévaluer dynamiquement les caractéristiques, amplifiant les signaux provenant des défauts potentiels et supprimant le bruit de fond.
Stratégie 3 : Post-traitement avec réglage du seuil IoU
La suppression non maximale (NMS) standard supprime souvent les détections valides pour les petits objets car le chevauchement des boîtes englobantes (IoU) avec la vérité terrain est naturellement faible en raison d'inexactitudes d'annotation ou de légers désalignements. Lors du traitement des données de drone, envisagez d'utiliser Soft-NMS au lieu de la NMS dure. Soft-NMS réduit le score des boîtes qui se chevauchent plutôt que de les supprimer entièrement, ce qui est crucial lors du traitement de l'incertitude légère dans la localisation des petits objets.
Conclusion
L'optimisation de YOLO pour l'inspection des infrastructures par drone ne consiste pas seulement à ajouter plus de couches ; il s'agit de respecter la physique des données d'entrée. En simulant des conditions de basse résolution pendant l'entraînement, en préservant les détails spatiaux grâce aux mécanismes d'attention et en ajustant les seuils de post-traitement, nous pouvons construire des modèles suffisamment résilients pour un déploiement réel. À mesure que le matériel des drones continue de s'améliorer, nos algorithmes doivent également évoluer pour suivre le rythme de la demande de maintenance des infrastructures automatisée, sûre et efficace.