• Aucun résultat trouvé

4.2 Une approche basée sur les descripteurs profonds

4.2.4 Descripteur image générique pour la représentation d’instance

Un certain nombre de nos processus (cf figure 1.1) nécessitent l’utilisation de descripteurs image (classification, tracking, représentation d’instance). On peut trouver un ensemble riche de méthodes pour chacun de ces processus avec des descripteurs image différents tels que SIFT (Scale Invariant

4.2. UNE APPROCHE BASÉE SUR LES DESCRIPTEURS PROFONDS

WordnetId Nombre d’images

Paper-cup (Gobelet) n03216710 125 Cup (Tasse) n03147509 153 Car (Voiture) n02958343 839 Dog (Chien) n02084071 609 Apple (Pomme) n07739125 409 Cat (Chat) n02121620 381 Plate (Assiette) n03960374 151 Knife (Couteau) n03623556 138

Table 4.2 – Classes utilisées pour nos expériences sur la représentation d’instance par descripteurs issus de CNN. On se limite à un sous-ensemble de n = 120 images pour les similarités extra- classes. Les images de la classe Plate contiennent un certain nombre d’outliers correspondant à un homonyme de Plate (sens de plaque d’immatriculation)

AlexNet VGG GoogleNet

Aléatoire

Entrainé

Figure 4.11 – Moyenne des similarités intra-classe ( ) et extra-classes( ) pour chaque couche des trois CNNs AlexNet, VGG et GoogLeNet

Feature Transform) [Low99] ou HoG (Histogram of Oriented Gradients) [DT05]. Plus récemment, les descripteurs extraits de couches intermédiaires de CNN ont prouvé être suffisamment génériques pour être utilisés dans des tâches pour lesquels ils n’ont pas été entraînés [DJV+13] [RASC14] [HBKM15]. Cependant, nous sommes intéressés en particulier par leur usage pour la représentation d’instance. L’efficacité de tels descripteurs pour l’apprentissage de classifieur est un fait reconnu : les descripteurs ainsi appris maximisent la distance inter-classes tout en minimisant la distance intra-classe.

mettre la classification mais également suffisamment élevées pour pouvoir séparer deux instances d’une même classe ? Comment ces distances varient-elles selon la profondeur des couches et selon l’architecture des réseaux ? C’est ce à quoi nous allons chercher à répondre dans cette partie. Pour cela, nous considérons un ensemble de classes avec pour chaque image la vraie position (bounding box) de l’objet à partir d’ImageNet (cf Table 4.2). Nous considérons ensuite les trois CNNs suivants (avec leurs dernières couches) :

− AlexNet : fc7, fc6, conv5, conv4, conv3 − VGG : fc7, fc6, conv5_3, conv5_2, conv4_3

− GoogleNet : pool5, inception_5a, pool4, inception_4d, inception_4b

Pour chaque image, le descripteur issu de chaque couche est extrait et normalisé. Les similarités co- sinus sont ensuite calculées entre les pairs de descripteurs de même classe et de classes différentes. La figure 4.11 représente sous forme de graphique la moyenne des similarités obtenues, dans le cas où les réseaux ont leur poids initialisés aléatoirement et dans le cas entraîné.

Le principal résultat contre-intuitif de l’analyse de ces courbes est que la similarité minimale

est atteinte pour la dernière couche de convolution. On voit que pour chaque réseau entraîné, la

similarité minimale est atteinte pour la dernière couche de convolution à savoir conv5 pour Alex- Net et conv5_3 pour VGG. GoogLeNet est un peu différent, car il a deux couches intermédiaires (inception_4a et inception_4d) qui, lors de la phase d’entraînement, sont rattachées à des couches entièrement connectées et à une fonction de coût. On voit que dans ce cas aussi, le minimum est atteint pour les deux couches inception_5a et inception_4b.

Ce résultat est surprenant. En effet, on peut s’attendre à avoir des valeurs de similarités qui diminuent avec la réduction du champ réceptif en descendant dans les couches inférieures d’un réseau. C’est ce qu’on a cherché à confirmer en reprenant les mêmes calculs mais avec des réseaux dont les poids ont été fixés aléatoirement (1èreligne de la figure 4.11). On observe bien la diminution de similarité en descendant vers les couches inférieures.

Ceci semble donc indiquer que la dernière couche de convolution d’un réseau est la plus ap- propriée pour la représentation d’instance. De plus, parmi les trois réseaux considérés ici, VGG est celui pour lequel la similarité est minimum. GoogLeNet, quant à lui, donne des similarités plus éle- vées. Dans les applications de la littérature pour lesquelles il est souhaitable d’avoir des similarités maximums entre objets de même classe, la performance des descripteurs est liée à la profondeur du réseau [GBC16] [PLR+16]. Or ici on souhaite minimiser la similarité entre instances d’une même classe tout en profitant de la robustesse des descripteurs CNNs. Autrement dit, il est cohérent d’ob- tenir un meilleur compromis avec des réseaux n’ayant pas une trop grande capacité. Ce constat sera

4.2. UNE APPROCHE BASÉE SUR LES DESCRIPTEURS PROFONDS

également vérifié dans les sections 4.2.5 et 4.2.6 étudiant la variation de ces descripteurs selon des transformations de similarité.

Nous ne pouvons cependant qu’émettre des hypothèses quant à la justification théorique de ce phénomène. La singularité de la dernière couche de convolution est qu’elle est la dernière ayant encore une information de spatialité. Il ne serait donc pas absurde d’y observer des phénomènes particuliers lors de la rétropropagation du gradient durant la phase d’entraînement. Les descripteurs, et donc leur similarité, ne sont pas que fonction de l’instance considérée. Si l’on considère une instance fixe mais avec une pose différente, on obtiendra un descripteur différent. En particulier, il a été montré dans la littérature la sensibilité des CNNs à la rotation et leur relative invariance à la translation et au changement d’échelle via les opérations de convolutions et de pooling. Nous nous intéressons donc dans la suite aux variations de ces descripteurs selon des transformations de similarité.