Il s'agit de la commande i.segmentgrass qui peut être exécutée dans le fournisseur d'hébergement gratuit OnWorks en utilisant l'un de nos multiples postes de travail en ligne gratuits tels que Ubuntu Online, Fedora Online, l'émulateur en ligne Windows ou l'émulateur en ligne MAC OS.
PROGRAMME:
Nom
je.segment - Identifie les segments (objets) à partir des données d'imagerie.
MOTS-CLÉS
imagerie, segmentation, classification, reconnaissance d'objets
SYNOPSIS
je.segment
je.segment --Aidez-moi
je.segment [-dw] groupe=prénom sortie=prénom порог=flotter [méthode=un magnifique]
[similarité=un magnifique] [taille minimale=entier] [Mémoire=entier] [itérations=entier]
[graines=prénom] [bornes=prénom] [bonté=prénom] [--écraser] [--vous aider] [--verbeux]
[--calme] [--ui]
Drapeaux:
-d
Utilisez 8 voisins (quartier 3x3) au lieu des 4 voisins par défaut pour chaque pixel
-w
Entrée pondérée, n'effectuez pas la mise à l'échelle par défaut des cartes raster en entrée
--écraser
Autoriser les fichiers de sortie à écraser les fichiers existants
--Aidez-moi
Imprimer le récapitulatif d'utilisation
--verbeux
Sortie du module verbeux
--silencieux
Sortie module silencieuse
--interface utilisateur
Forcer le lancement de la boîte de dialogue GUI
Paramètres:
groupe=prénom [obligatoire]
Nom du groupe d'images d'entrée
sortie=prénom [obligatoire]
Nom de la carte raster en sortie
порог=flotter [obligatoire]
Seuil de différence entre 0 et 1
Seuil = 0 fusionne uniquement les segments identiques ; seuil = 1 fusionne tout
méthode=un magnifique
Méthode de segmentation
Options : région_croissance
Valeur par défaut: région_croissance
similarité=un magnifique
Méthode de calcul de similarité
Options : euclidien, manhattan
Valeur par défaut: euclidien
taille minimale=entier
Nombre minimum de cellules dans un segment
La dernière étape fusionnera les petits segments avec leur meilleur voisin
Options : 1-100000
Valeur par défaut: 1
Mémoire=entier
Mémoire en Mo
Valeur par défaut: 300
itérations=entier
Nombre maximal d'itérations
Valeur par défaut: 20
graines=prénom
Nom de la carte raster en entrée avec les valeurs initiales de départ
bornes=prénom
Nom de la carte raster de délimitation/contrainte en entrée
Doit être des valeurs entières, chaque zone sera segmentée indépendamment des autres
bonté=prénom
Nom de la carte d’estimation de l’adéquation de l’ajustement en sortie
DESCRIPTION
La segmentation d'images ou reconnaissance d'objets est le processus de regroupement de pixels similaires en
segments uniques, également appelés objets. Les algorithmes basés sur les frontières et les régions sont
décrit dans la littérature, actuellement un algorithme de croissance et de fusion de régions est
mis en œuvre. Chaque objet trouvé lors du processus de segmentation reçoit un identifiant unique et est
une collection de pixels contigus répondant à certains critères. Notez le contraste avec l'image
classification où tous les pixels similaires les uns aux autres sont affectés à la même classe et
n’ont pas besoin d’être contigus. Les résultats de la segmentation d'images peuvent être utiles en eux-mêmes,
ou utilisé comme étape de prétraitement pour la classification des images. Le prétraitement de segmentation
L'étape peut réduire le bruit et accélérer la classification.
NOTES
Région Plantes en croissance et Fusion
Cet algorithme de segmentation examine séquentiellement tous les segments actuels de la carte raster.
La similarité entre le segment courant et chacun de ses voisins est calculée
selon la formule de distance donnée. Les segments seront fusionnés s'ils répondent à un certain nombre de
critères, notamment :
1 La paire est mutuellement la plus similaire (la distance de similarité sera
plus petit que tout autre voisin), et
2 La similarité doit être inférieure au seuil d'entrée. Le processus est répété
jusqu'à ce qu'aucune fusion ne soit effectuée lors d'une passe complète.
Similitude et seuil
La similarité entre les segments et les objets non fusionnés est utilisée pour déterminer quels objets
sont fusionnés. Des valeurs de distance plus petites indiquent une correspondance plus étroite, avec un score de similarité de
zéro pour des pixels identiques.
Lors d'un traitement normal, les fusions ne sont autorisées que lorsque la similarité entre deux segments
est inférieure à la valeur seuil donnée. Cependant, lors du passage final, si un minimum
une taille de segment de 2 ou plus est indiquée avec le taille minimale paramètre, segments avec un plus petit
le nombre de pixels sera fusionné avec leur voisin le plus similaire même si la similarité est
supérieur au seuil.
Le manuel de formation порог doit être supérieur à 0.0 et inférieur à 1.0. Un seuil de 0 permettrait
seuls les pixels de valeurs identiques pourraient être fusionnés, alors qu'un seuil de 1 permettrait à tout
à fusionner. Les premiers tests empiriques indiquent que des valeurs seuils de 0.01 à 0.05 sont
des valeurs raisonnables pour commencer. Il est recommandé de commencer avec une valeur faible, par exemple 0.01, et
puis effectuez une segmentation hiérarchique en utilisant la sortie de la dernière exécution comme graines pour
prochaine course.
Calcul Formules
Les distances euclidiennes et Manhattan utilisent la définition normale, en considérant chaque raster
dans le groupe d’images en tant que dimension. À l'avenir, le calcul de la distance prendra également
compte des caractéristiques de forme des segments. Les distances normales sont alors
multiplié par le poids radiométrique d’entrée. Ensuite une contribution supplémentaire est ajoutée :
(1-poids radio) * {douceur * poids de douceur + compacité * (1-poids de douceur)},
où compacité = longueur du périmètre / sqrt (surface) et douceur = longueur du périmètre /
Boîte englobante. La longueur du périmètre est estimée comme le nombre de pixels côtés du segment
a.
Les graines
La carte de départ peut être utilisée pour fournir soit des pixels de départ (points aléatoires ou sélectionnés à partir de
lequel démarrer le processus de segmentation) ou des segments de départ. Si les graines sont le résultat de
une segmentation précédente avec un seuil inférieur, une segmentation hiérarchique peut être effectuée.
Les différentes approches sont automatiquement détectées par le programme : tous les pixels ayant
Les valeurs de départ identiques et contiguës se verront attribuer un ID de segment unique.
Il est prévu que le taille minimale sera mis à 1 si une carte de départ est utilisée, mais le programme
permettra d’utiliser d’autres valeurs. Si les deux options sont utilisées, l'itération finale qui
ignore le seuil ignorera également la carte de départ et forcera les fusions pour tous les pixels (pas
juste des segments qui ont poussé/fusionné à partir des graines).
Maximum nombre of starting segments
Pour l'algorithme de croissance de région sans démarrer les graines, chaque pixel est séquentiellement
numéroté. La limite actuelle du stockage CELL est de 2 milliards d’ID de segment de départ. Si la
La carte initiale comporte un plus grand nombre de pixels non nuls. Il existe deux solutions :
1 Utilisez les pixels de départ. (Un maximum de 2 milliards de pixels peuvent être étiquetés avec
entiers.)
2 Utilisez des segments de départ. (Par classification initiale ou d'autres méthodes.)
Boundary contraintes
Les contraintes de limite limitent la contiguïté des pixels et des segments. Chaque valeur unique
Présent dans le bornes raster sont considérés comme un MASQUE. Donc aucun segment dans la finale
une carte segmentée franchira une frontière, même si leurs données spectrales sont très similaires.
Minimum Segment Taille
Pour réduire l'effet du sel et du poivre, un taille minimale supérieur à 1 ajoutera un supplémentaire
passer au traitement. Lors de la passe finale, le seuil est ignoré pour tous les segments
plus petit que la taille définie, forçant ainsi les très petits segments à fusionner avec leurs plus grands segments.
voisin similaire.
Bonté of Forme
Le manuel de formation bonté L'ajustement pour chaque pixel est calculé comme 1 - distance du pixel au
objet auquel il appartient. La distance est calculée avec le similarité méthode. UNE
la valeur 1 signifie des valeurs identiques, un ajustement parfait, et une valeur de 0 signifie le maximum possible
distance, pire ajustement possible.
EXEMPLES
Segmentation of RVB orthophoto
Cet exemple utilise l'orthophotographie incluse dans l'ensemble de données d'échantillon NC. Mettre en place un
groupe d'images :
i.group group=ortho_group input=ortho_2001_t792_1m@PERMANENT
Définissez la région sur une région de test plus petite (résolution prise à partir de la photographie ortho d’entrée).
g.region -p raster=ortho_2001_t792_1m n=220446 s=220075 e=639151 w=638592
Essayez un seuil bas et vérifiez les résultats.
i.segment group=ortho_group output=ortho_segs_l1 seuil=0.02
D'après une inspection visuelle, il semble que cela entraîne trop de segments. Augmenter le
seuil, en utilisant les résultats précédents comme valeurs de départ et en définissant une taille minimale de 2 :
i.segment group=ortho_group output=ortho_segs_l2 seuil=0.05 graines=ortho_segs_l1 min=2
i.segment group=ortho_group sortie=ortho_segs_l3 seuil=0.1 graines=ortho_segs_l2
i.segment group=ortho_group sortie=ortho_segs_l4 seuil=0.2 graines=ortho_segs_l3
i.segment group=ortho_group sortie=ortho_segs_l5 seuil=0.3 graines=ortho_segs_l4
La sortie ortho_segs_l4 avec порог=0.2 a encore trop de segments, mais la sortie
avec порог=0.3 comporte trop peu de segments. Une valeur seuil de 0.25 semble être une bonne
choix. Il y a aussi du bruit dans l'image, forçons ensuite tous les segments plus petits que
10 pixels à fusionner avec leur voisin le plus similaire (même s'ils sont moins similaires)
que requis par notre seuil) :
Définissez la région pour qu'elle corresponde à l'ensemble des cartes du groupe.
g.region -p raster=ortho_2001_t792_1m@PERMANENT
Courir je.segment sur la carte complète :
i.segment group = sortie ortho_group = seuil ortho_segs_final = 0.25 min = 10
Le traitement de l'intégralité de l'image ortho avec près de 10 millions de pixels a pris environ 450 fois plus
puis pour la dernière manche.
Segmentation of panchromatique indirect
Cet exemple utilise le canal panchromatique de la scène Landsat7 inclus dans le Nord
Exemple d'ensemble de données de Caroline :
# créer un groupe avec un seul canal
i.group group = entrée monobande = lsat7_2002_80
# définir la région de calcul sur la bande Landsat7 PAN
g.région raster=lsat7_2002_80 -p
# effectuer une segmentation avec minsize=5
i. groupe de segments = seuil monobande = 0.05 minsize = 5 \
output=lsat7_2002_80_segmented_min5 goodness=lsat7_2002_80_goodness_min5
# effectuer une segmentation avec minsize=100
i.segment group = seuil monobande = 0.05 minsize = 100
output=lsat7_2002_80_segmented_min100 goodness=lsat7_2002_80_goodness_min100
Canal panchromatique original de la scène Landsat7
Canal panchromatique segmenté, taille minimale = 5
Canal panchromatique segmenté, taille minimale = 100
TOUT
Fonctionnalités
· Tests complémentaires des caractéristiques de forme (douceur, compacité), si cela
ça a l'air bien, il faudrait l'ajouter. (in le progrès)
· Distance de Malahanobis pour le calcul de similarité.
Utilisez le of Segmentation Résultats
· Améliorez la sortie facultative de ce module, ou mieux encore, ajoutez un module pour
i.segment.metrics.
· Fournir des mises à jour à je.maxlik pour garantir que le résultat de la segmentation peut être utilisé comme
entrée pour la fonctionnalité de classification existante.
· Intégration/workflow pour r.fuzzy (Ajouter sur).
Vitesse
· Voir create_isegs.c
Références
Ce projet a été développé pour la première fois lors du GSoC 2012. Documentation du projet, Image
Les références de segmentation et d’autres informations se trouvent sur le wiki du projet.
Les informations sur la classification dans GRASS sont disponibles sur le wiki.
Utilisez i.segmentgrass en ligne à l'aide des services onworks.net