GMOSS Detection de lignes pour le GNEX06 Vinciane Lacroix Signal and Image Center Royal Military Academy, Belgium CNES Réunion ORFEO 17/01/07
Plan Détection de routes= détection de lignes (dans l'image) Introduction: GMOSS et GNEX Détection de routes= détection de lignes (dans l'image) + connaissance (hors image) Détection de lignes: Gradient Contraint (1996 – 1998) Feature-extraction using the constrained gradient. ISPRS Journal of Photogrammetry and Remote Sensing, 53:85-94, April 1998 Solution implantée dans la boite-à-outils ORFEO Exemples Avantages/ Désavantages Nouvelles améliorations Conclusions
GMOSS GNEX06 Global MOnitoring for Security and Stability: Network of excellence AIM: EO for Security (plus sur le site: http://gmoss.jrc.it/) GNEX06: 10-11 Octobre 2006 exercice en temps réel: simulation d'une crise sur base d'un scénario fictif http://www.zki.caf.dlr.de/events/2006/gnex06/gnex06_2006_en.html presque tous les partenaires répartis en 3 équipes en 36h fournir des produits de cartographie rapide (carte de changements/ carte des routes/ couverture du sol) à partir de données EO et de cartes existantes
Résultats de RMA pour la détection des routes Détection de lignes claires: entrée: Raster filtre: en chaque pixel: Type:claire/foncée Contraste (norme) Direction Suppression des Nmax de type clair Suivi des maxima de type clair CNES: intéressant pour la boite à outils ORFEO
Détection de routes Dans des images de résolution 5m/10m les routes apparaissent comme des lignes claires/foncées contrastées suivant: le revêtement (réfléchissant ou non) le voisinage (plus réfléchissant ou non) la largeur de la route (ligne fine/région) et le canal Dans le visible la plupart des routes forment des lignes claires
Détection de routes Mais parfois: Lignes ni claires ni foncées « accidents » sur la route
Détection de lignes: le Gradient Contraint Observation: Les vecteurs de gradient pointent dans des directions opposées de part et d'autre d'une ligne. Ligne claire: gradient vers l'intérieur Ligne foncée: gradient vers l'extérieur Le contraste de la ligne est d'autant plus important que la norme de ces gradients est importante. Idée: Calculer le produit scalaire des vecteurs opposés dans un voisinage 3x3 Nécessaire mais pas suffisant
Filtre de lignes Calcul de gradient: gradient gaussien Ou: filtre donnant un champ vectoriel En chaque pixel p: Fenêtre 3x3: pour chaque paire L k (p) = - G k . G k+4 Norme: L (p) = max {0, sqrt (L k (p) } Direction: dir de G kmax - G kmax+4 (et ignore sens) Type: claire:G kmax . d kmax < 0 et G kmax+4 . d kmax +4< 0 foncée:G kmax . d kmax >0 et G kmax+4 . d kmax +4 > 0 Suppression non-maxima Suivi des maxima
Exemples
Avantages/désavantages module compatible avec: n'importe quel calcul de gradient (Gaussien, Deriche, spécifique à image SAR, etc.) N'importe quelle méthode de vectorisation suppression de non-maxima: mais attention aux jonctions Suivi des maxima « Filling gaps » peut servir d'entrée à des processus d'optimisation très simple à implanter résultats satisfaisants: Pour courbes et droites Pour plusieurs largeurs Désavantages réponse de points isolés pour les routes: Attention aux lignes ni claires ni foncées Nécessite connaissance pour compléter le réseau
Améliorations RAPPEL: Fenêtre 3x3: pour chaque paire L k (p) = - G k . G k+4 Norme: L (p) = max {0, sqrt (L k (p) } Type: claire:G kmax . d kmax < 0 et G kmax+4 . d kmax +4< 0 foncée:G kmax . d kmax >0 et G kmax+4 . d kmax +4 > 0 Suppression des NonMax: Problèmes aux jonctions Suivi des Max: Calcul pour les 4 paires du voisinage: paire « négative » ou claire paire « positif » ou foncée paire « indéfinie » G k . d k >0 et G kmax+4 . d kmax+4< 0 G k . d k < 0 et G kmax+4. d kmax+4 > 0 Ligne claire: existe paire négative ou autre Ligne foncée: existe paire négative ou autre Ligne claire et foncée: existe paire négative et paire positive Pas de Suppression de NonMax mais règles pour suivi: Début: 2 claires/foncées Suite: préférence pour max claire/foncée
Ameliorations (2) Lmax= Max k(Lk + Lk+4) else indéfinie Direction: dir de G kmax - G kmax+4 Direction: dir de Lmax si Lk >0 et Lk+4 >0 Lmax= Max k(Lk + Lk+4) else indéfinie Point: 4 paires claires ou foncées + |G proj_k | > |G perp_k | Fin de ligne: Direction indéfinie Suivi: De fin de ligne vers Point
G= Nclair*25+Nindéfini*5+Nfoncé Exemples Norme Ligne Claire Norme Ligne Foncée Point 2Clair2Foncé G= Nclair*25+Nindéfini*5+Nfoncé Exemples
Résumé et Conclusions Améliorations à court terme: meilleure direction exploitation pour la suppression des Nonmax et suivi Pistes de recherche: routes dans les agglomérations: pas uniquement lignes claires/foncées extraction de buildings exploitation de l'ombre ajout de connaissance Disponible dans ORFEO toolbox: Filtre pour extraction de lignes claires/foncées Schéma similaire à la détection de contour filtrage pour obtenir un Champs vectoriel Basé sur le produit scalaire de paires opposées symétriquement au centre d'un voisinage 3x3 Suppression des Non Maxima Suivi des Maxima