• Aucun résultat trouvé

Fonctions de pertes pour la compression d’image

Chapitre 3. Compression par techniques d’apprentissage profond

3.1 Machine learning, deep learning et réseaux de neurones convolutifs

3.1.4 Fonctions de pertes pour la compression d’image

La fonction de pertes considérée est essentielle pour tout processus d’apprentissage, déterminant les propriétés et le comportement du réseau. Des choix adaptés sont par conséquent nécessaires afin d’assurer que le réseau fournit les résultats attendus.

En compression d’image, et même plus généralement dans tout traitement affectant la qualité d’une image, les fonctions de pertes ont pour but d’orienter le réseau vers la reconstruction d’une image le plus fidèle possible à l’image faisant office de vérité-terrain. En d’autres termes, une fonction de pertes va permettre au réseau de rendre la meilleure qualité d’image possible, par rapport à une référence qui est celle définie par la vérité terrain.

Dans le cadre de nos travaux de recherche, il s’est avéré que la fonction de pertes devient un élément majeur. Pour cette raison, détaillons à présent les différents types de fonctions de pertes que nous rencontrerons tout au long de ce manuscrit.

3.1.4.1 Fonctions de pertes « orientées pixel »

Les fonctions de pertes dites « orientées pixel » sont des fonctions qui vont comparer directement l’image reconstruite, au niveau de la valeur des pixels, à la vérité terrain. Pour cela, le plus souvent, des fonctions globales mesurant les distances entre contenu reconstruit et image cible sont utilisées. Parmi les distances le plus couramment utilisées, mentionnons en premier lieu la distance Euclidienne, ou norme L2, qui apparait comme la solution la plus intuitive. Cela conduit à la fonction de pertes d’Erreur Quadratique Moyenne (EQM), définie comme décrit dans l’équation (3.3).

ℒ%55T$ SUV;Wé WUVVY;Z , P [Vé\;W , $ ],^

;,_

(3.3)

La distance de Manhattan, ou norme L1, a également très vite été adoptée en raison de sa complexité de calcul moins importante. Il apparait également que l’utilisation de la norme L1 comme fonction de pertes apporte de meilleurs résultats en termes de PSNR [Zhao16] que l’EQM. Elle est définie comme décrit dans l’équation (3.4).

ℒ%55T ` SUV;Wé WUVVY;ZP [Vé\;W` Z

;

(3.4)

Les limitations des fonctions de perte comme l’EQM ou L1 viennent du caractère trop global dont les différences entre pixels individuels sont comptabilisées et prises en compte par ces mesures. Cela peut conduire, dans des certains cas à des résultats aberrants. Par exemple, si l’on change la valeur de chaque pixel d’une image de 5 unités, le résultat apparaitra comme identique à la vérité terrain pour l’œil humain, mais sera fortement pénalisé par ce type de fonction.

Dans [Wang04], les auteurs mettent en avant que l’œil humain soit bien adapté pour extraire les informations structurelles d’une scène. Ainsi, il serait bien plus sensible à des défauts de structure au sein d’une image altérée plutôt qu’à des variations des valeurs des pixels individuels. Pour pallier cet inconvénient, l’auteur propose un système d’évaluation alternatif au PSNR, permettant une bien meilleure fidélité quant à l’évaluation de la qualité d’une image par le système de vision humain, nommé Structural SIMilarity (SSIM).

La fonction de pertes est alors définie comme décrit dans l’équation (3.5) suivante :

ℒ%55aabc 1 P ddef SUV;Wé WUVVY;Z, [Vé\;W (3.5)

Une variante multi-échelle est également introduite, appelée Multi Scale-SSIM (MS-SSIM), qui combine les calculs des SSIM de plusieurs versions d’une image à multiples échelles. Cette métrique offre alors une meilleure robustesse que le SSIM simple. Notons que les métriques SSIM et MS- SSIM sont aujourd’hui les mesures de similarité les plus utilisées dans l’état de l’art.

3.1.4.2 Fonctions de pertes perceptuelles

Les fonctions de pertes orientées pixels permettent d’évaluer rapidement les résultats, et fournissent ainsi un moyen simple et direct de pouvoir effectuer des comparaisons entre différentes méthodes pour des objectifs de benchmarking. Malheureusement, même si l’introduction du SSIM a permis une première avancée, en prenant en compte d’une manière plus fine certaines caractéristiques du système visuel humain, ces méthodes d’évaluation dites « objective » sont encore très loin de pouvoir retranscrire la qualité d’une image du point de vue de la perception humaine.

De plus, le fait d’utiliser le même type de fonction à la fois pour l’entrainement et pour l’évaluation fait apparaître de forts biais. En effet, l’objectif d’un réseau de neurones est de minimiser sa fonction de pertes de manière incrémentale à travers des nombres très importants d’itérations, et ce, totalement indépendamment du contenu qu’il traite. Ceci est encore plus vrai avec la multiplication de la puissance des moyens de calcul grand public, permettant des réseaux de neurones à plusieurs millions, voire milliards de paramètres. De par ce fait, il est de plus en plus aisé de minimiser une fonction de pertes, si bien qu’il est très aisé d’obtenir d’excellents scores de PSNR ou de SSIM en les considérant comme fonctions de pertes et ce, indépendamment de la qualité de l’image. Cette idée est renforcée par l’étude menée dans [Chikkerur11]. Ainsi, on peut statuer qu’en continuant d’utiliser ces fonctions de pertes, nous nous retrouvons à atteindre un plafond ne permettant plus d’améliorer encore la qualité de contenus reconstruits.

Face à ce défi, un nouveau type de fonction de pertes, dites fonctions de perte « perceptuelle » est introduit dans [Johnson16]. Ici, les auteurs proposent deux applications pour valider ces fonctions de pertes, qui sont la super-résolution et le transfert de style. Néanmoins, ce type de perte peut s’appliquer également à d’autres problèmes de traitement d’images prenant en considération la qualité visuelle du résultat.

Le principe sous-jacent est le suivant : au lieu de calculer les fonctions de pertes directement dans le domaine spatial (soit le domaine des pixels de l’image), on réalise leur évaluation dans le domaine des paramètres du réseau. Pour des applications de reconstruction d’images par exemple, de très bons résultats sont obtenus en utilisant comme réseau de référence un réseau de classification d’images bien entrainé. L’exemple le plus utilisé, en raison de sa disponibilité et de son efficacité, se trouve être le réseau VGG (Visual Geometry Group) [Simonyan14], illustré Figure 3.9.

Figure 3.9 : Différentes architectures de réseaux VGG [Kumar19]

Le réseau VGG19 a été initialement développé dans le cadre de la compétition de classification d’images ImageNet ILSVRC-2014 [Russakovsky15]. Avec un taux d’erreur de 7.3%, le réseau VGG avait ainsi réalisé la percée de l’année 2015, en termes de classification d’images. VGG19 présente l’avantage d’être simple, rapide et facile à comprendre/manipuler. Il s’appuie sur une architecture à 5 couches de convolution, suivies par des couches denses, qui sont chargées du travail final de classification. De leur côté, les couches de convolution réalisent des tâches « d’extraction de caractéristiques », déterminant avec une complexité progressive les patterns/formes géométriques apparaissant au sein des images. De cette manière, les couches de convolution d’un réseau VGG pré- entrainé agissent comme un puissant extracteur de formes. Dans les faits, plus la couche considérée est profonde, plus les caractéristiques extraites sont génériques et de haut-niveau.

Ainsi, il est possible de définir une fonction de pertes perceptuelle, en calculant la distance (euclidienne) entre les caractéristiques obtenues au niveau des différentes couches d’un réseau VGG étalon, après activation, et celle obtenues par le réseau à entrainer.

Les résultats montrent que ce type de fonction de pertes a pour caractéristique de permettre des résultats correspondant bien plus à la perception humaine que ses homologues orientés pixel [Johnson16].

Après avoir passé en revue ces différentes notions de base de machine/deep learning, intéressons- nous à présent aux méthodologies directement liées à nos travaux de recherche, qui peuvent jouer notamment un rôle important dans la chaîne de compression d’images. Dans ce cadre, une première piste de développement concerne les techniques de super-résolution, décrites dans la section suivante.