RetinaNet est une architecture de apprentissage automatique de réseau de neurones en une étape pour la détection d'objets, introduite par Tsung-Yi Lin, Priya Goyal, Ross Girshick, Kaiming He et Piotr Dollár dans un article de 2017 intitulé « Focal Loss for Dense Object Detection ». Elle a été développée à Facebook AI Research (désormais partie de Meta AI). Le modèle a été conçu pour combler l'écart de précision entre les détecteurs en une étape, généralement plus rapides mais moins précis, et les détecteurs en deux étapes comme Faster R-CNN, plus lents mais plus précis. RetinaNet atteint une haute précision en introduisant la focal loss, une nouvelle fonction de perte qui réduit la contribution des exemples négatifs faciles pendant l'entraînement, permettant au modèle de se concentrer sur les exemples difficiles et les classes d'objets rares.
RetinaNet est un réseau entièrement convolutif qui utilise un backbone de Feature Pyramid Network (FPN) pour extraire des caractéristiques multi-échelles, suivi de deux sous-réseaux spécifiques à la tâche : l'un pour classer les objets et l'autre pour régresser les boîtes englobantes. Le sous-réseau de classification applique la focal loss, tandis que le sous-réseau de régression utilise une perte L1 lisse standard. L'architecture est conçue pour la détection dense, ce qui signifie qu'elle prédit des objets à chaque emplacement spatial sur plusieurs échelles, sans nécessiter d'étape séparée de proposition de régions.
Architecture et Focal Loss
L'innovation centrale de RetinaNet est la focal loss, qui modifie la perte d'entropie croisée standard pour la classification. La focal loss ajoute un facteur de modulation \((1 - p_t)^\gamma\) au terme d'entropie croisée, où \(p_t\) est la probabilité estimée par le modèle pour la classe réelle et \(\gamma\) est un paramètre de focalisation (généralement fixé à 2). Ce facteur réduit la contribution de la perte des exemples bien classés (où \(p_t\) est élevé), empêchant le vaste nombre d'exemples de fond faciles de submerger le signal d'entraînement. L'article a démontré que la focal loss seule, sans modifications architecturales, suffisait pour égaler ou dépasser la performance des détecteurs en deux étapes.
Le réseau utilise un backbone de ResNet (ResNet-50 ou ResNet-101) combiné à un Feature Pyramid Network pour produire des cartes de caractéristiques à plusieurs échelles, des caractéristiques de bas niveau à haute résolution aux caractéristiques de haut niveau à basse résolution. Chaque niveau de la pyramide alimente les sous-réseaux de classification et de régression, qui sont partagés à travers toutes les échelles. Cette conception permet la détection d'objets de tailles variées, du petit au grand, en un seul passage avant.
Performance et Résultats de Référence
Dans l'article original, RetinaNet a atteint une précision moyenne (AP) de pointe de 39,1 sur le benchmark COCO test-dev avec un backbone ResNet-101-FPN, surpassant les détecteurs en une étape précédents tels que SSD et YOLOv2, et égalant ou dépassant la performance des détecteurs en deux étapes comme Faster R-CNN. Avec un backbone plus grand (ResNeXt-101-FPN), il a atteint une AP de 40,8. Le modèle a également démontré une vitesse d'inférence élevée, fonctionnant jusqu'à 5,4 images par seconde sur un GPU NVIDIA M40 avec le backbone ResNet-50, ce qui le rend adapté aux applications en temps réel.
Les auteurs ont noté que la focal loss était particulièrement efficace pour gérer le déséquilibre de classes extrême - dans COCO, il y a environ 100 000 emplacements candidats par image mais seulement quelques objets, les exemples de fond surpassant largement les exemples de premier plan. En réduisant le poids des négatifs faciles, RetinaNet a obtenu une convergence plus rapide et une meilleure précision finale que les détecteurs denses précédents.
Impact et Héritage
RetinaNet est devenu une référence standard dans la recherche en vision par ordinateur et a été largement adopté dans l'industrie pour des applications telles que la conduite autonome, la surveillance et l'imagerie médicale. Ses principes de conception ont influencé les détecteurs d'objets ultérieurs, notamment EfficientDet et les modèles en une étape plus récents. La focal loss a également été adaptée à d'autres tâches, comme la segmentation sémantique et le traitement du langage naturel, où des problèmes de déséquilibre de classes se posent.
Dans les frameworks de apprentissage profond, RetinaNet est implémenté dans des bibliothèques populaires telles que Detectron2, torchvision de PyTorch et TensorFlow Object Detection API, facilitant son utilisation par les chercheurs et les praticiens. Il a été utilisé comme composant dans des systèmes plus vastes d'intelligence artificielle, notamment dans Tesla pour la détection de véhicules et de piétons, et dans la technologie de conduite autonome de Waymo, bien que ces entreprises aient depuis migré vers des architectures personnalisées.
Extensions et Variantes
Plusieurs extensions de RetinaNet ont été proposées. Une variante notable est RetinaMask, qui étend RetinaNet à la segmentation d'instances en ajoutant une branche de prédiction de masques. Une autre est FCOS (Fully Convolutional One-Stage), qui repose sur des principes similaires mais utilise une prédiction basée sur le centre sans boîtes d'ancrage. Les chercheurs ont également exploré l'intégration de mécanismes d'attention, comme dans le DEtection TRansformer (DETR), qui utilise une architecture transformeur mais aborde toujours le même problème de détection dense.
L'article original de RetinaNet a été très cité, avec plus de 10 000 citations en 2024, reflétant son influence significative sur le domaine de la détection d'objets. Ses contributions à la conception de fonctions de perte restent une technique standard dans l'entraînement des réseaux de prédiction dense.