Questo è il comando i.segmentgrass che può essere eseguito nel provider di hosting gratuito OnWorks utilizzando una delle nostre molteplici workstation online gratuite come Ubuntu Online, Fedora Online, emulatore online Windows o emulatore online MAC OS
PROGRAMMA:
NOME
i.segmento - Identifica i segmenti (oggetti) dai dati delle immagini.
PAROLE CHIAVE
immagini, segmentazione, classificazione, riconoscimento di oggetti
SINOSSI
i.segmento
i.segmento --Aiuto
i.segmento [-dw] gruppo=Nome produzione=Nome soglia=galleggiante [metodo=stringa]
[somiglianza=stringa] [taglia minima=numero intero] [memoria=numero intero] [iterazioni=numero intero]
[semi=Nome] [limiti=Nome] [bontà=Nome] [--sovrascrivere] [--Aiuto] [--verboso]
[--silenzioso] [--ui]
Bandiere:
-d
Usa 8 vicini (quartiere 3x3) invece dei 4 vicini predefiniti per ogni pixel
-w
Input ponderato, non eseguire il ridimensionamento predefinito delle mappe raster di input
--sovrascrivi
Consenti ai file di output di sovrascrivere i file esistenti
--Aiuto
Riepilogo utilizzo stampa
--verboso
Uscita modulo dettagliata
--silenzioso
Uscita modulo silenzioso
--ui
Forza l'avvio della finestra di dialogo GUI
parametri:
gruppo=Nome [necessario]
Nome del gruppo di immagini di input
produzione=Nome [necessario]
Nome per la mappa raster di output
soglia=galleggiante [necessario]
Soglia differenza tra 0 e 1
Soglia = 0 unisce solo segmenti identici; soglia = 1 unisce tutto
metodo=stringa
Metodo di segmentazione
Opzioni: regione_in crescita
Predefinito: regione_in crescita
somiglianza=stringa
Metodo di calcolo della somiglianza
Opzioni: euclideo, manhattan
Predefinito: euclideo
taglia minima=numero intero
Numero minimo di celle in un segmento
Il passaggio finale unirà piccoli segmenti con il loro miglior vicino
Opzioni: 1-100000
Predefinito: 1
memoria=numero intero
Memoria in MB
Predefinito: 300
iterazioni=numero intero
Numero massimo di iterazioni
Predefinito: 20
semi=Nome
Nome per la mappa raster di input con i semi iniziali
limiti=Nome
Nome della mappa raster di delimitazione/vincolo di input
Devono essere valori interi, ogni area sarà segmentata indipendentemente dalle altre
bontà=Nome
Nome per la mappa di stima della bontà di adattamento in uscita
DESCRIZIONE
La segmentazione dell'immagine o il riconoscimento di oggetti è il processo di raggruppamento di pixel simili in
segmenti unici, detti anche oggetti. Gli algoritmi basati su confini e regioni sono
descritto in letteratura, attualmente un algoritmo di crescita e fusione della regione è
implementato. Ad ogni oggetto trovato durante il processo di segmentazione viene assegnato un ID univoco ed è
una raccolta di pixel contigui che soddisfano alcuni criteri. Nota il contrasto con l'immagine
classificazione in cui tutti i pixel simili tra loro sono assegnati alla stessa classe e
non è necessario che siano contigui. I risultati della segmentazione dell'immagine possono essere utili da soli,
o utilizzato come fase di pre-elaborazione per la classificazione delle immagini. La pre-elaborazione della segmentazione
passo può ridurre il rumore e accelerare la classificazione.
NOTE
destinazione Crescita e a Fusione
Questo algoritmo di segmentazione esamina in sequenza tutti i segmenti correnti nella mappa raster.
Viene calcolata la somiglianza tra il segmento corrente e ciascuno dei suoi vicini
secondo la formula della distanza data. I segmenti verranno uniti se soddisfano un numero di
criteri, tra cui:
1 La coppia è reciprocamente più simile tra loro (la distanza di somiglianza sarà
più piccolo di qualsiasi altro vicino), e
2 La somiglianza deve essere inferiore alla soglia di ingresso. Il processo si ripete
fino a quando non vengono effettuate unioni durante un passaggio completo.
somiglianza e a Soglia
La somiglianza tra i segmenti e gli oggetti non uniti viene utilizzata per determinare quali oggetti
sono fusi. Valori di distanza più piccoli indicano una corrispondenza più stretta, con un punteggio di somiglianza di
zero per pixel identici.
Durante la normale elaborazione, le unioni sono consentite solo quando la somiglianza tra due segmenti
è inferiore al valore di soglia indicato. Durante il passaggio finale, tuttavia, se un minimo
la dimensione del segmento di 2 o più è data con il taglia minima parametro, segmenti con un minore
il conteggio dei pixel verrà unito al vicino più simile anche se la somiglianza è
maggiore della soglia.
Le soglia deve essere maggiore di 0.0 e minore di 1.0. Una soglia di 0 consentirebbe
solo pixel di valore identico da unire, mentre una soglia di 1 consentirebbe tutto
da unire. I test empirici iniziali indicano che i valori di soglia da 0.01 a 0.05 sono
valori ragionevoli per iniziare. Si consiglia di iniziare con un valore basso, ad es. 0.01 e
quindi eseguire la segmentazione gerarchica utilizzando l'output dell'ultima esecuzione come semi per l'
prossima corsa.
Calcolo Formule
Sia la distanza euclidea che quella di Manhattan usano la definizione normale, considerando ogni raster
nel gruppo di immagini come dimensione. In futuro, il calcolo della distanza prenderà anche
tenendo conto delle caratteristiche di forma dei segmenti. Le distanze normali sono quindi
moltiplicato per il peso radiometrico in ingresso. Successivamente viene aggiunto un ulteriore contributo:
(1-radioweight) * {liscio * levigatezza peso + compattezza * (1-liscio peso)},
dove compattezza = Lunghezza perimetrale / sqrt( Area ) e levigatezza = Lunghezza perimetrale /
Rettangolo di selezione. La lunghezza del perimetro è stimata come il numero di pixel per lati del segmento
ha.
Semi
La mappa dei semi può essere utilizzata per fornire pixel seme (punti casuali o selezionati da
quale avviare il processo di segmentazione) o segmenti di seme. Se i semi sono i risultati di
una segmentazione precedente con soglia inferiore, può essere eseguita una segmentazione gerarchica.
I diversi approcci vengono rilevati automaticamente dal programma: tutti i pixel che hanno
valori seme identici e contigui verrà assegnato un ID segmento univoco.
Si prevede che il taglia minima sarà impostato su 1 se viene utilizzata una mappa seme, ma il programma
consentirà di utilizzare altri valori. Se vengono utilizzate entrambe le opzioni, l'iterazione finale che
ignora la soglia ignorerà anche la mappa seme e forzeràle unioni per tutti i pixel (non
solo segmenti che sono cresciuti/uniti dai semi).
Massimo numero of di partenza segmenti
Per l'algoritmo di crescita della regione senza avviare i semi, ogni pixel è in sequenza
numerato. Il limite attuale con l'archiviazione CELL è di 2 miliardi di ID di segmento iniziali. Se la
la mappa iniziale ha un numero maggiore di pixel non nulli, ci sono due soluzioni alternative:
1 Usa i pixel seme iniziali. (Massimo 2 miliardi di pixel possono essere etichettati con positivo
interi.)
2 Usa i segmenti di semi di partenza. (Con classificazione iniziale o altri metodi.)
Boundary vincoli
I vincoli di confine limitano l'adiacenza di pixel e segmenti. Ogni valore unico
presente nel limiti raster sono considerati come una MASCHERA. Quindi niente segmenti in finale
la mappa segmentata attraverserà un confine, anche se i loro dati spettrali sono molto simili.
Minimo Segmento Taglia
Per ridurre l'effetto sale e pepe, a taglia minima maggiore di 1 ne aggiungerà uno aggiuntivo
passare alla lavorazione. Durante il passaggio finale, la soglia viene ignorata per eventuali segmenti
più piccola della dimensione impostata, costringendo così i segmenti molto piccoli a fondersi con la loro maggior parte
vicino simile.
Bontà of Vestibilità
Le bontà di adattamento per ogni pixel viene calcolato come 1 - distanza del pixel dal
oggetto a cui appartiene. La distanza viene calcolata con il selezionato somiglianza metodo. UN
il valore 1 indica valori identici, adattamento perfetto e un valore 0 indica il massimo possibile
distanza, peggior adattamento possibile.
ESEMPI
Segmentazione of RGB ortofoto
Questo esempio utilizza la fotografia orto inclusa nel set di dati campione NC. Configurare un
gruppo di immagini:
i.group group=ortho_group input=ortho_2001_t792_1m@PERMANENTE
Imposta la regione su una regione di prova più piccola (risoluzione presa dalla fotografia ortografica di input).
g.region -p raster=orto_2001_t792_1m n=220446 s=220075 e=639151 w=638592
Prova una soglia bassa e controlla i risultati.
i.segment group=ortho_group output=ortho_segs_l1 soglia=0.02
Da un'ispezione visiva, sembra che questo si traduca in troppi segmenti. Aumentando il
soglia, utilizzando i risultati precedenti come semi, e impostando una dimensione minima di 2:
i.segment group=ortho_group output=ortho_segs_l2 soglia=0.05 seed=ortho_segs_l1 min=2
i.segment group=ortho_group output=ortho_segs_l3 soglia=0.1 seed=ortho_segs_l2
i.segment group=ortho_group output=ortho_segs_l4 soglia=0.2 seed=ortho_segs_l3
i.segment group=ortho_group output=ortho_segs_l5 soglia=0.3 seed=ortho_segs_l4
L'output ortho_segs_l4 con soglia=0.2 ha ancora troppi segmenti, ma l'output
con soglia=0.3 ha troppi pochi segmenti. Un valore di soglia di 0.25 sembra essere un bene
scelta. C'è anche un po' di rumore nell'immagine, quindi forziamo tutti i segmenti più piccoli di
10 pixel da unire nel vicino più simile (anche se sono meno simili)
di quanto richiesto dalla nostra soglia):
Imposta la regione in modo che corrisponda all'intera mappa(e) nel gruppo.
g.region -p raster=orto_2001_t792_1m@PERMANENTE
Correre i.segmento sulla mappa completa:
i.segment group=ortho_group output=ortho_segs_final soglia=0.25 min=10
L'elaborazione dell'intera immagine orto con quasi 10 milioni di pixel ha richiesto circa 450 volte di più
poi per la corsa finale.
Segmentazione of pancromatico canale
Questo esempio utilizza il canale pancromatico della scena Landsat7 inclusa nel Nord
Set di dati di esempio della Carolina:
# crea un gruppo con un singolo canale
i.group group=ingresso singleband=lsat7_2002_80
# imposta la regione di calcolo sulla banda PAN Landsat7
g.regione raster=lsat7_2002_80 -p
# esegui la segmentazione con minsize=5
i.segment group=soglia a banda singola=0.05 minsize=5 \
output=lsat7_2002_80_segmented_min5 goodness=lsat7_2002_80_goodness_min5
# esegui la segmentazione con minsize=100
i.segment group=singleband soglia=0.05 minsize=100
output=lsat7_2002_80_segmented_min100 goodness=lsat7_2002_80_goodness_min100
Canale pancromatico originale della scena Landsat7
Canale pancromatico segmentato, dimensione minima=5
Canale pancromatico segmentato, dimensione minima=100
TUTTO
Funzionalità
· Ulteriore verifica delle caratteristiche di forma (morbidezza, compattezza), se
sembra buono dovrebbe essere aggiunto. (in progresso)
· Distanza di Malahanobis per il calcolo della somiglianza.
Usa il of Segmentazione Risultati
· Migliora l'output opzionale di questo modulo, o meglio ancora, aggiungi un modulo per
i.segmento.metriche.
· Fornire aggiornamenti a i.maxlik per garantire che l'output della segmentazione possa essere utilizzato come
input per la funzionalità di classificazione esistente.
· Integrazione/flusso di lavoro per r.sfocato (Aggiungi su).
Velocità
· Vedi create_isegs.c
BIBLIOGRAFIA
Questo progetto è stato sviluppato per la prima volta durante GSoC 2012. Documentazione del progetto, Immagine
I riferimenti alla segmentazione e altre informazioni si trovano nel wiki del progetto.
Le informazioni sulla classificazione in GRASS sono disponibili sul wiki.
Usa i.segmentgrass online utilizzando i servizi onworks.net