• Aucun résultat trouvé

4Segmentation sémantique

4.1.2 Mesure des performances en segmentation

Dans une tâche de régression, la fonction de perte utilisée pour entraîner le réseau est généralement identique à la mesure d’évaluations des algorithmes. Ce n’est pas le cas pour les problèmes de classification. En effet, un classifieur est entraîné en optimisant une erreur reposant sur les probabilités obtenues sur les exemples d’entraînement, alors que la performance de ce même classifieur repose sur le nombre d’exemples correctement classés. Les mesures détaillées dans cette section sont des mesures de performances qui permettent d’évaluer la qualité d’un classifieur et ne doivent pas être confondue avec les fonctions de pertes vues dans la section précédente 4.1.1 qui servent à entraîner le classifieur.

Matrice de confusion

Pour faciliter la visualisation et la compréhension des différents résultats d’un réseau de neurones (ou d’un classifieur quelconque), on construit généralement une matrice appelée matrice de confusion. Cette dernière répertorie et classe les différentes prédictions faites par le réseau en fonction de leurs classes cibles.

Def. 4.5

matrice de

Soit k le nombre de classes sémantiques à inférer, la matrice de confusion M est une matrice de taille k × k dans laquelle est rangé chacun des exemples d’apprentissage de

manière à ce que chaque ligne représente la classe prédite par un classifieur et chaque colonne la classe cible.

Vérité terrain Avion Bateau Voiture

Avion 11 6 2

Bateau 4 12 1

Prédiction faite par le

réseau Voiture 1 0 21

Tab. 4.1.: Exemple de matrice de confusion où la tâche consiste à séparer trois classes sémantiques : Avion, Bateau et Voiture. La case rouge représente les vrais positifs (TP) de la classe Avion, les cases vertes l’ensemble de faux positifs (FP) et les cases bleus l’ensemble des faux négatifs (FN).

Le tableau 4.1 montre un exemple de matrice de confusion où la tâche consiste à distinguer les classes Avion, Bateau et Voiture. Dans cet exemple, la base contient 16images de classe Avion, parmi lesquelles 11 ont été correctement classées, 4 ont été classées comme appartenant à la classe Bateau et une a été classée comme appartement à la classe Voiture. De plus, 6 images de la classe Bateau ainsi que 2 images de la classe Voiture ont été faussement rangées dans la classe Avion.

De manière générale, notons nij la valeur de la matrice M à la ligne i et à la colonne

j. Cette valeur correspond au nombre d’exemples d’entraînement classés dans la classe i et appartenant à la classe j. Pour une classe i donnée, on appelle :

TP (true positif ) le nombre d’exemples correctement classés, et donc T Pi= nii. — FP (false positif ) le nombre d’exemples classés comme appartenant à la classe i

alors que ce n’est pas le cas. Il est obtenu par la formule F Pi= ( k

P

j=1

nij) − nii.

FN (false negative) le nombre d’exemples classés comme n’appartenant pas à la

classe i alors que c’est le cas. Il est obtenu par la formule F Ni = ( k

P

j=1

nji) − nii

Mesure des performances par classe

À partir des vrais positifs (TP), faux positifs (FP) et faux négatifs (FN) décrits ci-dessus, on définit plusieurs mesures de performances. Bien qu’il en existe de nombreuses, nous ne listons ici que les principales utilisées.

La précision d’une classe i est le rapport des vrais positifs sur l’ensemble des échan-tillons rangés dans la classe i :

Def. 4.6 Précision Prei= T Pi T Pi+ F Pi = nii k P j=1 nij (4.4)

La précision d’une classe i correspond à la confiance que l’on peut accorder au classifieur quand ce dernier prédit qu’une image d’entrée appartient à cette classe i. Dans notre exemple (table 4.1), 19 images ont été rangées dans la classe Avion mais seulement 11 d’entre elles appartiennent réellement à cette classe. Par conséquent, la précision est de 11

19 = 0.57ce qui indique que si le réseau prédit qu’une image contient un avion, il y a 57% de chance qu’il ait raison.

Le Rappel de la classe i est le rapport des vrais positifs sur l’ensemble des échantillons appartenant réellement à classe :

Def. 4.7 Rappel Rapi = T Pi T Pi+ F Ni = nii k P j=1 nji (4.5)

Le rappel de la classe i correspond à la proportion d’exemples de la classe i qui ont été correctement classés. Dans notre exemple, le rappel de la classe Avion correspond au pourcentage d’exemples d’entraînement appartenant à la classe Avion qui ont été correctement classés par le classifieur. La matrice 4.1 nous indique que, parmi les 16 images d’avions, 11 ont été correctement rangées. Par conséquent, le rappel de la classe avion est de 1116 = 0.68.

La précision et le rappel sont deux mesures de performances non corrélées, dont l’utilisation dépend généralement de la tâche. Par exemple, si l’on veut détecter des tumeurs on va probablement vouloir privilégier le rappel, afin que toutes les tumeurs soient bien détectées par le réseau de neurones, quitte à avoir des faux positifs et donc une mauvaise précision. Un des problèmes liés à l’absence de corrélation de la précision et du rappel est qu’il peut être difficile de comparer les performances des différents algorithmes (on peut avoir une bonne précision, mais un mauvais rappel). Pour cela, il existe une mesure, appelée F-mesure permettant d’obtenir un compris en effectuant une moyenne harmonique entre précision et rappel, en fonction d’un paramètre β : Def. 4.8 Fβ-mesure Fβi = (1 + β 2) × (Prei× Rapi) β2× Prei+ Rapi = 2+ 1)T Pi 2+ 1)T Pi+ β2F Ni+ F Pi (4.6)

La F -mesure la plus communément utilisée est la F1-mesure où β = 1 et qui donne autant d’importance à la précision qu’au rappel :

Def. 4.9

F1-mesure F1i= 2 ×Prei× Rapi

Prei+ Rapi = 2 × T Pi 2 × T Pi+ F Ni+ F Pi = 2 × nii k P j=1 nij + k P j=1 nji (4.7)

Mesures des précisions globales

Les mesures de performances vues dans le paragraphe précédent sont des mesures unitaires. Elles permettent de mesurer les performances d’une unique classe en comparaison aux autres (détection, classification binaire ou "one versus all"). Pour mesurer des performances sur un ensemble de plusieurs classes, comme c’est géné-ralement le cas en segmentation sémantique, il faut utiliser des mesures globales. Pour la segmentation sémantique, ces mesures reposent sur le nombre de pixels correctement classés. En effet, les prédictions faites pour chacun des pixels sont considérées et sont rangées de la même manière dans une matrice de confusion.

La mesure la plus simple consiste à étendre la mesure du rappel à l’ensemble des classes. Elle correspond au nombre de pixels (et donc d’exemple) correctement classés, divisé par le nombre total de pixels.

Def. 4.10

Pixel accuracy

Soit k le nombre de classes considérées et nij le nombre de pixels de la classe i prédit comme appartenant à la classe j. La mesure du rappel global (ou pixel accuracy) est égale à : PA = k P i=1 nii k P i=1 k P j=1 nij (4.8)

Cette mesure présente un défaut lorsque les classes sont déséquilibrées, c’est-à-dire lorsqu’une classe possède beaucoup plus d’exemples d’entraînement qu’une autre. En effet, imaginons qu’une classe représente à elle seule 90% des exemples contenus dans une base d’entraînement, alors en prédisant cette classe de façon constante, sans même regarder l’entrée, on obtient 90% de rappel global.

Par conséquent, une seconde mesure de performance, appelée rappel moyen par

classe, consiste à pondérer les exemples d’entraînement de manière inversement

Def. 4.11

Mean class accuracy

Soit k le nombre de classes considérées et nij le nombre de pixels de la classe i prédits comme appartenant à la classe j. Le rappel moyen par classe (ou mean class accuracy en anglais) est défini par :

MCA = 1 k k X i=1 nii k P j=1 nij (4.9)

Un défaut du rappel moyen par classe est que ce dernier a tendance à privilégier une classe faiblement représentée au dépit de sa précision. En effet, dû à la pondération des échantillons, un faux négatif sur un exemple très représenté sera moins pénalisant (en termes de performance) qu’un faux négatif sur un exemple peu représenté. Par conséquent la mesure de performance la plus utilisée aujourd’hui en segmentation sémantique est l’intersection over union (IoU) aussi connu sous le nom d’index de Jaccard, qui cherche à concilier pixel accuracy et rappel moyen par classe.

Def. 4.12

Intersection over Union

Soit k le nombre de classes considérées et nij le nombre de pixels de la classe i prédits comme appartenant à la classe j. L’intersection over union est exprimée par :

IoU = 1 k k X i=1 nii k P j=1 nij + Pk j=1 nji− nii