• Aucun résultat trouvé

UNE SECONDE APPROCHE BASÉE SUR LES ANGLES SPECTRAUX

EVOLUTION DE LA VALEUR DU NDVI DANS LA PARCELLE C5 (BLÉ DUR)

Au 12 juin Au 13 avril

V. ÉLABORATION D'UNE MÉTHODE DE COMPTAGE DES TOURNESOLS PAR COMPTAGE DES TOURNESOLS PAR

9. UNE SECONDE APPROCHE BASÉE SUR LES ANGLES SPECTRAUX

La faiblesse principale de la première méthode est qu'elle s'appuie sur des mesures dépendantes des conditions de luminosité. En traitement d'image, pour palier ce problème, on utilise des mesures basées sur les angles spectraux plutôt que sur les distances spectrales (Sohn et Rebello, 2002).

Illustration 33: Décalage entre le plan de semis et l'ortho-mosaïque

Illustration 32: Réduction du décalage après ajustement spatial du parcellaire

La figure ci-dessus est un repère 2D dont les deux dimensions correspondent aux bandes x et y. On compare ici deux pixels différents. Le premier est localisé en (x1, y1), et le second en (x2, y2). Les coordonnées rx et ry correspondent à des conditions d'illumination différente pour un objet identique. On constate alors la variation de la distance euclidienne (mesures d et rd) au contraire de l'angle des deux vecteurs qui reste constant. On appelle cette mesure l'angle spectrale.

Pour optimiser la procédure de classification, une amélioration de l'image source est réalisée. Les pixels de référence à partir desquels seront calculés les angles spectraux doivent être représentatifs des objets qu'ils représentent. Or, compte tenu de la résolution très fine de l'image, les objets présentent des hétérogénéités, notamment des pixels noirs (ombres) ou blancs (reflets). Trois solutions sont envisageables pour palier ce problème. La première est de calculer les angles spectraux à partir de régions plutôt que de pixels, mais Monteverdi ne le permet pas. Une deuxième est de réaliser un rééchantillonage par méthode bilinéaire, mais la réduction de la résolution posera problème pour la réalisation d'opérations morphologiques précises. La solution utilisée est l'application d'un filtre de lissage par moyenne et de rayon 4. Autrement dit, chaque pixel se voit attribuer la valeur moyenne des pixels voisins dans un rayon de 4 unités.

A partir de ce raster filtré, on calcule les angles spectraux depuis des pixels de références. Les rasters correspondant au calcul des angles spectraux sont crées sous Monteverdi. En pratique, l'application calcule, pour chaque pixel, l'angle spectral par rapport au pixel de référence indiqué selon la formule suivante :

Illustration 35: Distance et angle spectral (source : Sohn et al., 1999)

Illustration 36: Région avant lissage

Illustration 37: Région après lissage

Illustration 38: Raster d'angle spectral Soient SA la valeur de l'angle spectral, b la bande spectrale, r le pixel de référence, et p le pixel calculé

En sortie, obtient donc un raster monobande (cf. illustration ci-contre). Ici, l'angle spectral est calculé depuis une référence tournesol. On constate que le traitement discrimine efficacement les objets. Le bruit qui apparaît devra être traité par des opérations morphologiques adaptées.

Bien que les angles spectraux soient moins dépendants des variations d'illumination, il apparaît nécessaire de multiplier les rasters d'angles spectraux pour lisser les variations. On calcule ainsi six rasters dans des zones d'illumination variable : trois à référence tournesol, et trois à référence sol. Les valeurs des rasters à référence sol sont inversées pour correspondre aux rasters à référence

tournesol. Dans l'hypothèse où l'image est codée en 8 bits non-signés (valeurs de pixel comprises entre 0 et 255), l'expression suivante est utilisée : 255 – x (avec x valeur du pixel courant).

Dans l'objectif de fusionner les six rasters, ces derniers sont concaténés au sein d'une image multibande. La fusion s'opère par l'application d'une formule mathématique qui calcule, pour chaque pixel, la moyenne des six rasters. Un raster issu du calcul de six angles spectraux est alors obtenu en sortie.

En prévision de la vectorisation, le raster doit être binarisé. La binarisation est, en pratique, une classification à deux classes : un pixel prend soit la valeur de 0, soit la valeur de 1. Dans notre cas, elle est réalisée par l'application de l'expression suivante : if(x > 0, 1, 0). Autrement dit, pour chaque pixel, on teste si sa valeur est négative ou positive. Si elle est positive, le pixel prend la valeur de 1. Si, au contraire, elle est négative, alors le pixel prend la valeur de 0. En sortie, on obtient un raster binaire.

Illustration 39: Comparaison de deux rasters d'angle spectral sur une même région de l'image

Enfin, pour achever de préparer le raster à la vectorisation, sont successivement appliqués un filtre d'érosion d'intensité 1 (élimination du bruit et des régions de pixels les plus petites) puis un filtre de dilatation d'intensité 2 (regroupement des entités séparées). Dans le cas d'une intensité d'érosion trop forte, les tournesols les plus petits peuvent être manqués. Dans le cas d'une intensité de dilatation trop forte, deux tournesols peuvent être regroupées en une région de pixels. Les paramètres doivent donc être minutieusement ajustés.

Finalement, la vectorisation peut être lancée. En sortie, on dispose d'un fichier de formes dont les polygones correspondent aux tournesols. Par commodité, on convertit les polygones en points assimilés à leurs centroïdes. Le résultat obtenu est, cette fois, satisfaisant dans toutes les régions de l'image.

Illustration 40: Raster avant et après binarisation

Illustration 41: Exemple d'une erreur de détection due à une dilatation trop intense

Illustration 42: Résultat de la détection des tournesols

Dans les régions particulièrement mal gérées par la première méthode, on constate que le résultat est bien meilleur :

Évaluation de la méthode

Ech. Levés Détectés FP FN VP Précision Rappel

1 74 74 0 0 74 100,0% 100,0% 2 88 88 0 0 88 100,0% 100,0% 3 98 95 0 3 95 100,0% 96,9% 4 92 89 1 3 88 98,9% 96,7% 5 97 96 2 3 94 97,9% 96,9% 6 46 39 0 7 39 100,0% 84,8% 7 97 97 3 1 94 96,9% 98,9% 8 99 100 2 1 98 98,0% 99,0% 9 94 92 0 2 92 100,0% 97,9% 10 87 81 0 6 81 100,0% 93,1% 11 106 101 0 5 101 100,0% 95,3% 12 80 82 3 1 79 96,3% 98,8% 13 106 104 1 3 103 99,0% 97,2% 14 80 77 0 3 77 100,0% 96,3% 15 87 86 0 1 86 100,0% 98,9% 16 81 76 1 6 75 98,7% 92,6% 17 98 100 3 1 97 97,0% 99,0% 18 82 85 4 1 81 95,3% 98,8% 19 99 99 3 3 96 97,0% 97,0% 20 86 87 1 0 86 98,9% 100,0% 21 49 39 0 10 39 100,0% 79,6% 22 62 62 0 0 62 100,0% 100,0% 23 92 88 0 4 88 100,0% 95,7% 24 95 94 0 1 94 100,0% 98,9% 25 78 76 4 6 72 94,7% 92,3% TOT 2153 2107 28 71 2079 98,7% 96,7% MOY 86,12 84,28 1,12 2,84 83,16

Ech. = Échantillon correspondant à une micro-parcelle sélectionnée de manière aléatoire Levés = nombre de tournesols réellement présents dans la micro-parcelle

Détectés = nombres de tournesols détectés par la méthode de comptage

FP (Faux positif) = détection d’un tournesol alors que ce n’en était pas un (fausse alarme) FN (Faux négatif) = tournesol non-détecté

VP (Vrai positif) = tournesol détecté et confirmé

Précision = probabilité qu’un tournesol détecté soit bel et bien un tournesol = VP/(VP+FP)

Rappel = probabilité qu’un tournesol soit détecté = VP/(VP+FN)

plus de chances qu'un tournesol ne soit pas détecté plutôt qu'une détection soit fausse. On observe donc une tendance à la sous-estimation.

Une détection a 98,7 % d'être juste. Le risque qu'un tournesol détecté n'en soit pas un en vérité est donc très faible. En pratique, il s'agit généralement de mauvaises herbes et de tournesols doublés. En moyenne, on compte donc un peu plus d'une fausse détection par micro-parcelle.

Un tournesol a 3,3 % de chances d'être manqué. Le plus souvent, les tournesols oubliés sont les plus petits. Les mauvais résultats en échantillon 21, qui correspond à une parcelle de bordure où les tournesols ont peu levé, confirment cette tendance.

Documents relatifs