Les différentes tâches classiques en vision par ordinateur¶

Principales tâches en computer vision¶

No description has been provided for this image

La classification d'images et de vidéos¶

Cette tâche consiste à apprendre, de manière supervisée, à prédire la classe associée à des images ou des vidéos, en utilisant respectivement des CNN 2D ou CNN 3D

La détection d'objets¶

Cette tâche consiste à apprendre de manière supervisée, à prédire les bounding boxes associées à la position d'un objet dans une image ou vidéo

Pour aller plus loin : quelques articles pour un tour d'horizon¶

  • Bon article vulgarisé pour une revue résumée modèles pour la détection d'objet, des classiques CNN aux Vision Transformers
  • Un article expliquant le principe des Mask R-CNN

La segmentation d'image¶

Cette tâche consiste à segmenter des structures présentes dans les images de manière supervisée ou non supervisée

Aperçu de l'état de l'art des modèles pré-entrainés¶

De nombreux modèles issus de la recherche¶

Ces dernières années les recherches en deep learning ont abouti à proposer des architectures de réseaux de neurones particulières, définissant l'état de l'art dans différentes tâches et distribués de manière pré-entrainées pour permettre leur réutilisation, souvent du fine-tuning. On peut évoquer, par exemple, certains modèles devenus classiques :

AlexNet : Classification¶

Il s'agit d'un des premiers modèles (désigné par Alex Krizhevsky), sorti en 2012, entraîné sur le fameux data set ImageNet à provoquer un bond important dans les performances des architectures basés sur les CNN (plus de 10 points en % de diminution de performances par rapport aux précédents modèles !). Il a grandement contribué à popularisé les features suivantes :

  • utilisation des fonctions d'activations ReLU (plutôt que tanh utilisée jusqu'alors)
  • optimisé pour l'utilisation de plusieurs GPU
  • utilisation de pooling

VGG : Classification¶

VGG est un successeur d'AlexNet, a lui aussi repoussé les performances des CNN et gagné le fameux concours ImageNet Large-Scale Visual Recognition Challenge (ILSVRC), avec une architecture originale qui a inspiré d'autres modèles après lui :

No description has been provided for this image

On trouve principalement des réseaux VGG pré-entrainés avec deux versions, suivant son nombre de couches :

  • VGG 16
  • VGG 19

Residual Neural Network (ResNet) : Classification & Détection d'objet¶

Les ResNet sont des catégories de réseaux qui présentent des "shortcut" ou "highways" forment une connection résiduelle, permettant de sauter certaines couches. Cette propriété été introduite pour contrer l'effet de dégration des performances en ajoutant de plus en plus couches dans les réseaux comme VGG, et améliore ainsi l'apprentissage et leur performances

No description has been provided for this image

Cette famille de réseaux pré-entrainés est disponible dans tensorflow avec différents nombre de couches:

  • RestNet 50
  • ResNet 101
  • ResNet150

MobileNet & EfficientNet¶

Il s'agit de familles de CNNs optimisés pour avoir des architectures plus réduites, tout en conservant de bonne performances, afin de pouvoir être utilisé sur des dispositifs avec des puissances de calcul plus limitées (comme sur les téléphones mobiles)

Unet : Segmentation¶

Il s'agit d'une famille de réseau, très performants et populaires pour la segmentation d'image, qui présente une architecture en U : elle juxtapose deux blocs de CNNs, l'encodeur et le decodeur :

No description has been provided for this image

L'encodeur est chargé d'extraire des features pertinentes des images d'entrées, d'en apprendre une représentation condensée ("codée" dans les couches centrales plus petites), et le décodeur, extraire ces représentations condensées des features, pour générer des features maps (ici des masques de segmentations)

Yolo: Détection d'objet¶

Il s'agit d'un des plus célèbres modèles pré-entrainés, spécialisé pour la détection d'objet et la segmentation. Sa dernière évolution (la version 9) inclut des améliorations méthodologiques comme le concept de Programable Gradient Information (PGI) ou de Generalized Efficient Layer Aggregation Network (GELAN)

Et plein d'autres ...¶

  • Liste des modèles pré-entrainés disponibles dans Tensorflow
  • Liste des modèles pré-entrainées disponibles dans PyTorch