Détection d’objets pour les nuls Partie 2: CNN, DPM et Overfeat

La partie 2 présente plusieurs conceptions classiques d’architecture de travail neuronal convolutif pour la classification des images (AlexNet, VGG, ResNet), ainsi que des modèles DPM (Deformable Parts Model) et Overfeat pour la reconnaissance d’objets.

Introduction de la partie 1 de la série “Détection d’objets pour les nuls”: (1) le concept de vecteur de gradient d’image et comment l’algorithme HOG résume les informations sur tous les vecteurs de gradient dans une image; (2) comment l’algorithme de segmentation d’image fonctionne pour détecter les régions qui contiennent potentiellement des objets; (3) comment l’algorithme de recherche sélective affine les résultats de la segmentation d’image pour une meilleure proposition de région.

Dans la partie 2, nous sommes sur le point d’en savoir plus sur les architectures de réseaux neuronaux à convolution classiques pour la classification des images. Ils jettent les bases de nouveaux progrès sur les modèles d’apprentissage profond pour la détection d’objets. Allez vérifier la partie 3 si vous souhaitez en savoir plus sur R-CNN et les modèles associés.

Liens vers tous les articles de la série: .

CNN pour la classification des images

CNN, abréviation de “Réseau neuronal convolutionnel”, est la solution idéale pour les problèmes de vision par ordinateur dans le monde de l’apprentissage en profondeur. Il était, dans une certaine mesure, inspiré par le fonctionnement du système cortex visuel humain.

Opération de convolution

Je recommande fortement ce guide de l’arithmétique de convolution, qui fournit une explication claire et solide avec des tonnes de visualisations et d’exemples. Concentrons-nous ici sur la convolution bidimensionnelle car nous travaillons avec des images dans cet article.

En bref, l’opération de convolution fait glisser un noyau prédéfini (également appelé “filtre”) au-dessus de la carte des entités d’entrée (matrice de pixels d’image), en multipliant et en ajoutant les valeurs du noyau et des entités d’entrée partielles pour générer la sortie. Les valeurs forment une matrice de sortie, comme d’habitude, le noyau est beaucoup plus petit que l’image d’entrée.

 Opération de convolution

Fig. 1. Une illustration de l’application d’un noyau sur la carte d’entités d’entrée pour générer la sortie. (Source de l’image: Documentation River Trail)

La figure 2 présente deux exemples réels de la convolution d’un noyau 3×3 sur une matrice 2D 5×5 de valeurs numériques pour générer une matrice 3×3. En contrôlant la taille du rembourrage et la longueur de foulée, nous pouvons générer une matrice de sortie d’une certaine taille.

 Opération de convolution  Opération de convolution

Fig. 2. Deux exemples d’opération de convolution 2D: (en haut) pas de remplissage et foulées 1×1; (en bas) rembourrage de zéros de bordure 1×1 et foulées 2×2. (Source de l’image: deeplearning.net)

AlexNet (Krizhevsky et al, 2012)

  • 5 couches de convolution + 2 couches MLP + 1 couche LR
  • Utilisez des techniques d’augmentation des données pour étendre l’ensemble de données d’entraînement, telles que les traductions d’images, les réflexions horizontales et les extractions de correctifs.

 Exemple de ppération de convolution

Fig. 3. L’architecture d’AlexNet. (Source de l’image: lien)

VGG (Simonyan et Zisserman, 2014)

  • Le réseau est considéré comme ” très profond ” à son époque; 19 couches
  • L’architecture est extrêmement simplifiée avec seulement 3×3 couches convolutives et 2×2 couches de mise en commun. L’empilement de petits filtres simule un filtre plus grand avec moins de paramètres.

ResNet (He et al., 2015)

  • Le réseau est en effet très profond; 152 couches d’architecture simple.
  • Bloc résiduel : Certaines entrées d’une certaine couche peuvent être transmises au composant deux couches plus tard. Les blocs résiduels sont essentiels pour garder un réseau profond entraînable et éventuellement fonctionner. Sans blocs résiduels, la perte d’apprentissage d’un réseau simple ne diminue pas de manière monotone à mesure que le nombre de couches augmente en raison des gradients de disparition et d’explosion.

 Bloc résiduel

Fig. 4. Une illustration du bloc résiduel de ResNet. D’une certaine manière, nous pouvons dire que la conception des blocs résiduels est inspirée de V4 qui reçoit une entrée directement de V1 dans le système de cortex visuel humain. (source de l’image de gauche: Wang et al., 2017)

Mesures d’évaluation: mAP

Une métrique d’évaluation courante utilisée dans de nombreuses tâches de reconnaissance et de détection d’objets est “mAP”, abréviation de “précision moyenne moyenne”. C’est un nombre de 0 à 100; une valeur plus élevée est meilleure.

  • Combinez toutes les détections de toutes les images de test pour dessiner une courbe de rappel de précision (courbe PR) pour chaque classe; La “précision moyenne” (AP) est l’aire sous la courbe PR.
  • Étant donné que les objets cibles sont dans des classes différentes, nous calculons d’abord AP séparément pour chaque classe, puis la moyenne sur les classes.
  • Une détection est un vrai positif si elle a une “intersection sur l’union” (IoU) avec une boîte de vérité au sol supérieure à un certain seuil (généralement 0,5; si c’est le cas, la métrique est “[email protected]”)

Modèle de Pièces Déformables

Le Modèle de Pièces Déformables (DPM) (Felzenszwalb et al., 2010) reconnaît des objets avec un modèle graphique de mélange (champs aléatoires de Markov) de pièces déformables. Le modèle se compose de trois composantes principales:

  1. Un filtre racine grossier définit une fenêtre de détection qui couvre approximativement un objet entier. Un filtre spécifie des poids pour un vecteur d’entités de région.
  2. Filtres de pièces multiples qui couvrent des parties plus petites de l’objet. Les filtres de pièces sont appris à deux fois la résolution du filtre racine.
  3. Un modèle spatial pour marquer les emplacements des filtres de pièces par rapport à la racine.

DPM

Fig. 5. Le modèle DPM contient (a) un filtre racine, (b) plusieurs filtres de pièces à une résolution deux fois supérieure et (c) un modèle de notation de l’emplacement et de la déformation des pièces.

La qualité de détection d’un objet est mesurée par le score des filtres moins les coûts de déformation. Le score correspondant \(f\), en termes simples, est:

\\]

dans lequel,

  • \( x\) est une image avec une position et une échelle spécifiées ;
  • \(y\) est une sous-région de \(x\).
  • \(\beta_\text{root}\) est le filtre racine.
  • \(\beta_\text{part}\) est un filtre de partie.
  • cost() mesure la pénalité de la pièce s’écartant de son emplacement idéal par rapport à la racine.

Le modèle de partition de base est le produit scalaire entre le filtre \(\beta\) et le vecteur caractéristique de région \(\Phi(x)\): \(f(\beta,x) = \beta\cdot\Phi(x)\). L’ensemble de fonctionnalités \(\Phi(x)\) peut être défini par HOG ou d’autres algorithmes similaires.

Un emplacement racine avec un score élevé détecte une région avec de fortes chances de contenir un objet, tandis que les emplacements des parties avec des scores élevés confirment une hypothèse d’objet reconnue. Le document a adopté la SVM latente pour modéliser le classificateur.

 Processus d'appariement DPM

Fig. 6. Le processus d’appariement par DPM. (Source de l’image: Felzenszwalb et coll., 2010)

L’auteur a affirmé plus tard que les modèles DPM et CNN ne sont pas deux approches distinctes de la reconnaissance d’objets. Au lieu de cela, un modèle DPM peut être formulé comme un CNN en déroulant l’algorithme d’inférence DPM et en mappant chaque étape à une couche CNN équivalente. (Vérifiez les détails dans Girshick et al., 2015!)

Overfeat

Overfeat est un modèle pionnier d’intégration des tâches de détection, de localisation et de classification des objets dans un seul réseau neuronal convolutif. L’idée principale est de (i) effectuer une classification d’image à différents endroits sur des régions de plusieurs échelles de l’image de manière à fenêtre coulissante, et (ii) prédire les emplacements de la boîte englobante avec un régresseur entraîné au-dessus des mêmes couches de convolution.

L’architecture du modèle Overfeat est très similaire à AlexNet. Il est formé comme suit:

 Entraînement en surcharge

Fig. 7. Les étapes d’entraînement du modèle de surcharge pondérale. (Source de l’image: lien)

  1. Entraînez un modèle CNN (similaire à AlexNet) sur la tâche de classification d’image.
  2. Ensuite, nous remplaçons les couches de classement supérieures par un réseau de régression et l’entraînons à prédire les boîtes de délimitation d’objets à chaque emplacement spatial et à chaque échelle. Le régresseur est spécifique à une classe, chacun généré pour une classe d’image.
    • Entrée: Images avec classification et boîte englobante.
    • Sortie : \((x_\text{left}, x_\text{right}, y_\text{top}, y_\text{bottom})\), 4 valeurs au total, représentant les coordonnées des bords de la boîte englobante.
    • Perte: Le régresseur est entraîné pour minimiser la norme \(l2\) entre la boîte englobante générée et la vérité au sol pour chaque exemple d’entraînement.

Au moment de la détection,

  1. Effectuer une classification à chaque emplacement à l’aide du modèle CNN pré-formé.
  2. Prédire les boîtes de délimitation d’objets sur toutes les régions classifiées générées par le classificateur.
  3. Fusionnez des boîtes de délimitation avec un chevauchement suffisant de la localisation et une confiance suffisante d’être le même objet du classificateur.

Cité comme:

@article{weng2017detection2, title = "Object Detection for Dummies Part 2: CNN, DPM and Overfeat", author = "Weng, Lilian", journal = "lilianweng.github.io/lil-log", year = "2017", url = "http://lilianweng.github.io/lil-log/2017/12/15/object-recognition-for-dummies-part-2.html"}

Référence

Vincent Dumoulin et Francesco Visin. “Un guide de l’arithmétique de convolution pour l’apprentissage en profondeur.” Préimpression arXiv : 1603.07285 (2016).

Haohan Wang, Bhiksha Raj et Eric P. Xing. ” Sur l’origine du Deep Learning.” Préimpression arXiv : 1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester et Deva Ramanan. “Détection d’objets avec des modèles basés sur des pièces formés de manière discriminante.”IEEE transactions on pattern analysis and machine intelligence 32, no. 9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell et Jitendra Malik. “Les modèles de pièces déformables sont des réseaux de neurones convolutifs.” En Proc. IEEE Conf. sur la Vision par ordinateur et la reconnaissance de formes (CVPR), pp. 437-446. 2015.

Sermanet, Pierre, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus et Yann LeCun. “OverFeat: Reconnaissance, Localisation et Détection intégrées à l’aide de Réseaux convolutifs” arXiv preprint arXiv: 1312.6229 (2013).

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.