• Aucun résultat trouvé

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

Modèle de Perception

4.2 Une approche basée sur les descripteurs profonds

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

Nous avons adapté l’approche FCN afin de pouvoir détecter un concept via les classifieurs bi-naires RF associés à chacun des nœuds de notre modèle de connaissance (figure 4.10). De la même manière, nous pouvons également détecter la présence d’une instance particulière à partir d’un des-cripteur de référence lui étant attaché. Dans un FCN classique, la dernière couche (f c8pour AlexNet et VGG) correspond à des régions recouvrantes auxquelles sont associé un vecteur de probabilité, chaque coordonnée correspondant à une classe. Nous la remplaçons par une couche Random Forest de même hauteur et largeur que la couche précédentef c7_convmais de profondeur1(la probabilité d’être de la classe représentée par le RF). On peut ensuite modifier le Random Forest employé en fonction de la classe à rechercher sans avoir à recharger le FCN en mémoire GPU.

On utilise exactement le même principe pour la recherche d’instance. On remplace la couche f c8par une couche de similarité cosinus, également de même hauteur et largeur quef c7_conv et de profondeur1. Le seul paramètre de cette couche est le descripteur de référence. En pratique, il est modifiable sur un FCN préchargé en mémoire.

Dans la suite, l’utilisation des descripteurs CNN dans nos travaux sera justifiée en analysant certaines de leur propriétés. Tout d’abord, nous montrerons que ces descripteurs sont bien adaptés à la représentation d’instance (réalisation physique d’une classe). Pour cela, différentes causes de variations de ces descripteurs dans le cas d’objets supposés rigides seront analysées

− Dans un premier temps, les variations entre objets d’une même classe seront analysées à partir des similarités intra-classe.

− Dans un second temps, nous inspecterons une autre cause de variation de ces descripteurs liée aux transformations de similaritéSIM(2)7. Malgré la forte non-linéarité des CNN, on observera que la variation des descripteurs reste relativement régulière. Nous proposerons ensuite des exploitations de cette propriété. Nous finirons sur une formalisation sous forme matricielle dans le but de justifier et de mieux exploiter cette propriété des réseaux.

Chacun de ces résultats sera comparé en fonction de la profondeur à laquelle sont extraits les des-cripteurs et pour différents réseaux (AlexNet, VGGNet et GoogLeNet).

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 classePlatecontiennent un certain nombre d’outliers correspondant à un homonyme dePlate(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.

Notre intérêt se porte ici sur les distances intra-classe. Sont-elles suffisamment faibles pour

per-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 quela 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 à savoirconv5pour Alex-Net etconv5_3pour 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 couchesinception_5aetinception_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

é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é.