DeepLab est une famille d'architectures réseau de neurones profondes pour la segmentation sémantique, une tâche de vision par ordinateur qui attribue une étiquette de classe à chaque pixel d'une image. Développés par des chercheurs de Google (initialement chez Google Research, puis intégrés à Google DeepMind), les modèles DeepLab se distinguent par leur utilisation de la convolution atrous (dilatée), une technique qui élargit le champ réceptif des filtres sans augmenter le nombre de paramètres ni perdre de résolution spatiale. La famille a évolué à travers plusieurs versions, chacune introduisant des raffinementements dans l'architecture et la méthodologie d'entraînement, et elle obtient constamment des résultats de pointe sur des ensembles de données de référence tels que PASCAL VOC et Cityscapes.
L'innovation centrale de DeepLab est l'application de la convolution atrous, également connue sous le nom de convolution dilatée, à la segmentation sémantique. Dans une convolution standard, un filtre est appliqué à une région du sans interruption de l'entrée. La convolution atrous insère des zéros (trous) entre les poids des filtres, les espaçant efficacement. Le taux de dilatation contrôle l'écart ; un taux de 1 est une convolution standard, tandis que des taux plus élevés élargissent le champ de vision. Cela permet au réseau de capturer des informations à partir d'un contexte plus large tout en ne redimensionnant pas les cartes de caractéristiques, ce qui est crucial pour préserver les détails fins dans les contours de segmentation. De plus, DeepLab utilise le pooling spatial pyramidal atrous (ASPP), un module qui applique plusieurs convolutions atrous avec des taux de dilatation différents en parallèle, puis fusionne leur sorties. Cette approche multi-échelle aide le modèle à reconnaître des objets de tailles variées.
Premières versions : DeepLabv1 et DeepLabv2
La première version, DeepLabv1, a été introduite en 2015 et combinait la convolution atrous avec des champs de coûts aléatoires conditionnels (CRF) entièrement connectés pour le post-traitement. Le CRF affinait la sortie grossière du réseau en implémentant une cohérence spatiale, accentuées les limites des objets. DeepLabv2, présenté en 2016, a ajouté le module ASPP et remplacé le backbone VGG-16 par un ResNet, améliorant la précision et l'efficacité. Le modèle v2 a obtenu les meilleurs résultats sur la référence PASCAL CVC 2012, définissant une nouvelle norme dans le domaine.
DeepLabv3 et DeepLabv3+
DeepLabv3, publié en 2017, a simplifié l'architecture en supprimant le post-traitement CRF, car le module ASPP avec normalisation par lots s'est avéré suffisant pour capturer le contexte à plusieurs échelles. Il a également introduit une structure encodeur-décodeur plus efficace dans sa version ultérieure DeepLabv3+, qui ajoute un module de décodage pour affiner les contours de segmentation, notamment pour les petits objets. DeepLabv3+ est devenu une référence largement adoptée dans la communauté apprentissage automatique, souvent utilisée comme fondation pour d'autres tâches telles que la segmentation d'instances et la segmentation panoptique. Sa performance sur des ensembles de données comme Cityscapes et dans le domaine de la conduite autonome des ligents a fait de son choix pour des applications réelles.
Détails techniques et entraînement
Les modèles DeepLab utilisent généralement un réseau inverse pré-entraîné, tel que ResNet ou Xception, avec les couches entièrement connectées finales retirées. La sortie, qui détermine le rapport entre la taille de l'image d'entrée et celle de la carte de caractéristiques à la sortie, est un hyperparamètre clé. DeepLabv3+ utilise souvent une marge de sortie de 16 pendant l'entraînement et de 8 pendant l'inférence pour équilibrer la vitesse et la précision. L'entraînement suit des techniques standard comme que la augmentation de données, la normalisation par lots et une optimisation par descente de gradient stochastique ou variantes. La fonction de perte est typiquement une perte de classification croisée par pixel, parfois combinée à des pertes auxiliaires pour le gain de performance.
Applications et impact
DeepLab a été utilisé dans de nombreux domaines, notamment la conduite autonome (Waymo et d'autres sociétés utilisent des modèles de segmentation similaires pour la compréhension de la scène), l'analyse d'images médicales (par exemple, la segmentation d'organes ou de tumeurs dans les tomodensitométries), l'analyse d'images satellite et la réalité augmentée. Son influence s'étend au-delà de la segmentation sémantique ; la technique de convolution atrous a été adoptée dans d'autres architectures, comme U-Net et des modèles de détection d'objets. La famille DeepLab est également un composant courant dans des systèmes comme plus grands, notamment pour l'édition d'images et les applications de IA générative qui requièrent des bordures précises d'objet.
Le développement de DeepLab reflète les tendances plus vastes dans le apprentissage profond : le passage de caractéristiques ascendantes, l'importance de fusion multi-échelles, et la recherche d'architectures qui équilibrent précision et efficacité computationnelle. Bien que des modèles plus récents américains, comme ceux basés sur les transformeurs et modèles linguistiques larges, sur datés du vocabulaire dans les régions de référence sur toutes les mesures, la famille DeepLab reste une référence fondamentale dans le domaine.