La couche de convolution
La convolution est une opération mathématique simple généralement utilisée pour le traitement et la reconnaissance d’images.
À quoi sert la convolution ?
Son but est de repérer la présence d'un ensemble de features dans les images reçues en entrée.
Pour cela, on réalise un filtrage par convolution : le principe est de faire "glisser" une fenêtre représentant la feature sur l'image, et de calculer le produit de convolution entre la feature et chaque portion de l'image balayée.
Une feature est alors vue comme un filtre : les deux termes sont équivalents dans ce contexte.
Remarque
Dans un premier temps, on définit la taille de la fenêtre de filtre située en haut à gauche.
La fenêtre de filtre, représentant la feature, se déplace progressivement de la gauche vers la droite d’un certain nombre de cases défini au préalable (le pas) jusqu’à arriver au bout de l’image.
À chaque portion d’image rencontrée, un calcul de convolution s’effectue permettant d’obtenir en sortie une carte d’activation ou feature map qui indique où est localisées les features dans l’image : plus la feature map est élevée, plus la portion de l’image balayée ressemble à la feature.
Exemple d’un filtre de convolution classique
Lors de la partie convolutive d’un Convolutional Neural Network, l’image fournie en entrée passe à travers une succession de filtres de convolution. Par exemple, il existe des filtres de convolution fréquemment utilisés et permettant d’extraire des caractéristiques plus pertinentes que des pixels comme la détection des bords (filtre dérivateur) ou des formes géométriques. Le choix et l’application des filtres se fait automatiquement par le modèle.
Parmi les filtres les plus connus, on retrouve notamment le filtre moyenneur (calcule pour chaque pixel la moyenne du pixel avec ses 8 proches voisins) ou encore le filtre gaussien permettant de réduire le bruit d’une image fournie en entrée :
Voici un exemple des effets de ces deux différents filtres sur une image comportant un bruit important (on peut penser à une photographie prise avec une faible luminosité par exemple). Toutefois, un des inconvénients de la réduction du bruit est qu’elle s’accompagne généralement d’une réduction de la netteté :
Comme on peut l’observer, contrairement au filtre moyenneur, le filtre gaussien réduit le bruit sans pour autant réduire significativement la netteté.
Outre sa fonction de filtrage, l’intérêt de la partie convolutive d’un CNN est qu’elle permet d’extraire des caractéristiques propres à chaque image en les compressant de façon à réduire leur taille initiale, via des méthodes de sous-échantillonnage tel que le Max-Pooling.
