• Aucun résultat trouvé

Prédiction par pixels

4.3.2 Réseaux entièrement convolutifs

Plutôt que d’utiliser un réseau conçu pour la classification d’image et de l’adapter à la segmentation d’image, Long et al. [Lon+15] montrent comme construire des réseaux de neurones convolutifs spécialisés à la segmentation.

Fig. 4.9.: Les parties entièrement connectées d’un réseau peuvent être transformées en couche convolutives permettant d’utiliser des sorties à différentes tailles. Image tirée du papier [Lon+15].

Pour cela, ils ont conçu un réseau dit entièrement convolutif. Ils ont montré qu’une couche entièrement connectée est équivalente à une couche convolutive dont le masque de convolution est de taille 1 × 1.

En effet, nous avons vu qu’une carte de caractéristiques est obtenue en faisant la combinaison des convolutions des N cartes de caractéristiques d’entrée f par les masque g de taille S × S et de demi taille K × K avec K = S−12 (voir le détail dans la partie 2.1.3) : (f ∗ g)j(n, m) = bj+ N X i=1 K X n0=−K K X m0=−K fi(n + n0, m + m0) × gij(n0, m0)

Or si les masque de convolution ont une taille de 1 × 1 alors K = 1−1

2 = 0 ce qui donne : (f ∗ g)j(n, m) = bj+ N X i=1 fi(n, m) × gi(0, 0)

On retrouve donc la formule d’un perceptron (vue dans la partie 2.1.1) à savoir :

y = b + N X i=0 wixi Avec wi = gi(0, 0).

L’avantage d’utiliser une couche de convolutions à la place d’une couche entièrement connectée est que les dimensions des images d’entrée ne sont plus contraintes par le réseau (voir figure 4.9). En effet, une couche entièrement connectée prend en entrée

un vecteur de caractéristiques de taille fixe alors qu’une couche de convolution, de par la fenêtre glissante des masques de convolutions, prend en entrée des cartes de caractéristiques de tailles quelconques (mais tout de même plus grande que la taille des masques de convolutions) et produit des sorties dont les tailles dépendent de celles des entrées. Ainsi, un réseau entièrement convolutif prend des tailles d’images quelconque en entrée et produit des sorties dont la taille varie en fonction des dimensions d’entrée.

Fig. 4.10.:Des convolutions sont utilisées pour reconstruire les cartes de caractéristiques et augmenter la taille de la prédiction finale. Afin de permettre une meilleure re-construction, les cartes de caractéristiques extraites dans les parties convolutives sont aussi utilisées. Image tirée du papier [Lon+15].

Néanmoins, à cause des opérateurs de sous-échantillonnage, les dimensions en sortie ne sont toujours pas les mêmes que les dimensions d’entrée. Afin d’augmenter les tailles des sorties du réseau, ils rajoutent, après le réseau convolutif, une partie dite "déconvolutive" dont l’objectif est d’augmenter la taille des cartes de caractéristiques. Pour cela, ils utilisent des opérations de sur-échantillonnages (par interpolation des cartes de caractéristiques ou avec des convolutions dont le pas est inférieur à 1) sui-vies d’opérateurs de convolutions. De plus, pour aider les convolutions à reconstruire les cartes de caractéristiques, ils ajoutent aussi l’information extraite dans la partie convolutive (voir schémas 4.10). Néanmoins, ces opérations de reconstructions sont compliquées et l’apprentissage du réseau est laborieux puisqu’il nécessite plusieurs étapes d’apprentissage (une par opération de reconstruction). C’est pourquoi ils ajoutent les couches une à une lors de l’entraînement et ne parviennent pas à re-construire complètement les cartes de caractéristiques. Leur prédiction reste à une résolution d’un huitième de l’image d’entrée d’origine.

4.3.3 Réseau conv-déconv

Noh et al. [Noh+15] ont repris les travaux de Long et al. et améliorent l’apprentis-sage de la partie déconvolutive. Dans leurs travaux, ils présentent un réseau composé de deux parties, une partie convolutive et une partie déconvolutive symétrique (voir figure 4.11). La partie convolutive est un réseau de neurones classique composé, entre autres, d’opérateurs de convolution et de sous-échantillonnage. Dans leurs

Fig. 4.11.:Réseau Conv-Deconv utilisé par Noh et al. Le réseau est composé de deux parties : une partie convolutive (à gauche) et une partie déconvolutive symétrique (à droite). Dans leurs expériences, ils utilisent un réseau de type VGG16 pour la partie convolutive. Image tirée du papier [Noh+15]

travaux, Noh et al. ont utilisé un réseau de type VGG16 (voir partie 2.3.3) mais n’importe quelle architecture peut être utilisée. La deuxième partie, déconvolutive est symétrique à la première. Elle permet de reconstruire les cartes de caractéris-tiques grâce à des opérateurs de déconvolutions et de sur-échantillonnage (voir figure 4.12).

(a)Illustration des opérateurs de convolution

et déconvolution.

(b)Illustration des opérateurs de maximum

pooling et maximum unpooling.

Fig. 4.12.:Opérateurs de convolution et de maximum pooling ainsi que leurs équivalents permettant la reconstruction des cartes de caractéristiques. Image tirée du pa-pier [Noh+15].

L’opérateur de déconvolution (voir figure 4.12a) correspond à l’opération inverse d’un opérateur de convolution. Quand l’opérateur de convolution prend une fenêtre d’entrée afin de calculer une valeur de sortie, l’opérateur de déconvolution prend en entrée une valeur et permet de calculer plusieurs sorties. Cet opérateur peut être vu comme une généralisation d’une augmentation de résolution par interpolation linéaire, où l’interpolation linéaire est remplacée par une interpolation pondérée par des poids appris lors de l’entraînement.

L’opérateur de sur-échantillonnage est très intéressant. Dans leur réseau, Noh et

al. utilisent des opérateurs appelés "maximum unpooling" liés aux opérateurs de

sous-échantillonnages de type maximum pooling présents dans la partie convolutive. Lors de l’évaluation d’une image, les opérateurs de maximum pooling de la partie convolutive conservent les positions des valeurs maximales observées. Ces positions, liées aux images d’entrée et non pas aux paramètres entraînables du réseau, sont ensuite utilisées par les opérateurs de maximum unpooling, présents dans la partie déconvolutive, afin de reconstruire les cartes de caractéristiques (voir figure 4.12b).

Cette technique permet de transmettre une information entre la partie convolution et déconvolutive permettant à Noh et al. de reconstruire entièrement les cartes de caractéristiques et ainsi d’obtenir des sorties à la même résolution que les images d’entrées. De plus, leur réseau en deux parties, utilisant une partie convolutive classique, présente l’avantage de permettre l’utilisation d’un réseau pré-entraîné, ce qui permet une meilleure performance de classification.

Fig. 4.13.:Schémas du réseau SegNet [Bad+15] développé par Badrinarayanan et al. L’ar-chitecture de ce réseau est très proche de celle de Noh et al. illustrée dans la figure 4.11 mais ne possède pas de partie entièrement connectée. Image tirée du papier [Bad+15].

De manière parallèle au développement du réseau conv-deconv de Noh et al., Ba-drinarayanan et al. ont développé un réseau appelé SegNet [Bad+15] composé lui aussi d’une partie convolutive et une partie déconvolutive symétrique. La principale différence par rapport au réseau de Noh et al. est que SegNet ne possède pas de partie entièrement connectée (voir figure 4.11). Cela permet de réduire considéra-blement le nombre de paramètres du réseau permettant un entraînement plus facile et plus rapide.

Fig. 4.14.: Schémas du réseau Full Resolution Residual Network (FRRN) de Pohlen et

al. [Poh+16]. Le réseau est composé de deux réseaux interconnectés, un réseau

conv-deconv (en rouge) et un réseau résiduel (en bleu). Des opérateurs de redimensionnement sont utilisés pour connecter les deux (en gris). La figure est tirée du papier d’origine [Poh+16].

Finalement, un problème, lié à l’ajout d’une partie déconvolutive à la suite d’un réseau convolutif traditionnel, est que la profondeur des réseaux augmente forcé-ment. Par conséquent ces derniers retrouvent des difficultés d’entraînement (dû au problème de perte du gradient vue dans la partie 2.3.4). Une technique, permettant à la fois une bonne circulation du gradient et une reconstruction fine des cartes

de caractéristiques, a été développée par Pohlen et al. Avec leur Full Resolution Residual Network (FRRN) [Poh+16], ils combinent un réseau conv-déconv avec un réseau résiduel. Leur réseau est composé de deux chemins (un résiduel, un conv-deconv) partageant les mêmes cartes de caractéristiques (voir figure 4.14). Ainsi le réseau conv-deconv extrait des caractéristiques avec une forte sémantique et transmet les informations au réseau résiduel qui conserve une information haute résolution (et permet donc une reconstruction fine des cartes de caractéristiques) tout en permettant une bonne circulation du gradient (qui remonte le long du réseau résiduel jusqu’aux couches du réseau conv-deconv).

4.3.4 U-Network

Dans le réseau conv-déconv de Noh et al. une information est transmise entre les parties convolutive et déconvolutive sous la forme des indices des opérateurs de maximum pooling. Néanmoins, cette information est faible et la majorité de l’information permettant la reconstruction des cartes de caractéristiques doit donc passer par le goulot d’étranglement du réseau (c’est-à-dire la partie où les cartes de caractéristiques sont les plus petites, mais aussi les plus nombreuses). Cela pose une difficulté car, en plus d’extraire des informations sémantiques, la partie convolutive se retrouve à devoir aussi extraire des informations spatiales, permettant la reconstruction des cartes de caractéristiques.

Fig. 4.15.:U-Network. Les cartes de caractéristiques extraites avant les opérateurs de sous-échantillonnage de la partie convolutive sont concaténées aux cartes de carac-téristiques extraites après les opérateurs de sur-échantillonnage de la partie déconvolutive. Image tirée du papier [Ron+15].

Afin de permettre une meilleure circulation de l’information spatiale et donc une meilleure reconstruction, Ronneberger et al. [Ron+15] ont créé une architecture appelée U-Network (U-Net). De manière identique aux réseaux conv-deconv, les U-Networks ont une partie déconvolutive symétrique à la partie convolutive ce qui

permet d’avoir des cartes de caractéristiques dont les tailles sont compatibles (= iden-tiques) entre les parties deux parties du réseau (voir schémas 4.15). Ainsi les cartes de caractéristiques extraites dans la partie convolutive peuvent être concaténées à celle reconstruites dans la partie déconvolutive transférant ainsi une information spa-tiale plus importante et permettant une meilleure reconstruction. Dans des travaux récents, Newell et al. [New+16] ont montré qu’il est intéressant d’utiliser plusieurs U-Net en développant un réseau appelé "Stacked Hourglass U-Networks". Cette succession de partie convolutive et déconvolutive, utilisée conjointement avec une supervision intermédiaire, permet une meilleure collaboration entre les différentes cartes de caractéristiques et améliore la capacité de reconnaissance et localisation du réseau. Intuitivement on peut imaginer un processus répétitif d’essais et de corrections, avec un premier U-Net qui propose une prédiction et qui est corrigée par le second et ainsi de suite.

Fig. 4.16.:Schéma du réseau RefineNet [Lin+16b]. Le réseau suit le schéma d’un U-Net mais utilise un opérateur appelé refinenet afin de transformer les cartes de caractéristiques circulant de la partie convolutive à la partie déconvolutive. Image tirée du papier [Lin+16b].

Dans un réseau conv-deconv, la partie convolutive extrait des informations séman-tiques sur les différents objets composant une scène quand la partie déconvolutive reconstruit les cartes de caractéristiques avec les informations extraites. Par consé-quent, les cartes de caractéristiques n’ont donc pas les mêmes objectifs et donc pas les mêmes sémantiques, ce qui pose un problème dans les U-Net qui concatènent directement les cartes de caractéristiques de la partie convolutive à la partie dé-convolutive. Pour régler ce problème, Lin et al. ont développé un réseau appelé RefineNet [Lin+16b], qui utilise la même idée que pour les U-Net, mais qui, au lieu de concaténer directement les cartes de caractéristiques, utilise une unité appelée

refineNet, contenant des unités convolutives résiduelles, des opérateurs de fusion

multi-résolutions et un sous-échantillonnage résiduel (voir schémas 4.16). Leur module permet ainsi une transformation des cartes de caractéristiques extraites par la partie convolutive, assurant une meilleure compatibilité avec celles de la partie déconvolutive.