Ricerca rapida di linee irregolari in serie di punti


12

In una particolare classe di rivelatori, i nostri dati escono come coppie di punti in due dimensioni e vogliamo raggruppare questi punti in linee.

I dati sono rumorosi e vengono raggruppati in una direzione ma non nell'altra. Non possiamo garantire un colpo in ogni bidone anche quando ogni elemento del rivelatore funziona, quindi potrebbero esserci dei salti.

La nostra attuale catena di analisi sembra

  1. Regola i risultati per la calibrazione dei singoli elementi del rivelatore
  2. Trova i cluster
  3. Linee di adattamento approssimativo ai cluster
  4. Collegare i cluster in strutture simili a linee più lunghe
  5. ...

Questa domanda riguarda il passaggio (3).

Abbiamo usato una trasformazione di Hough per quel passaggio e funziona bene, ma mentre proviamo a passare dal banco di prova alla simulazione di un progetto su vasta scala, diventa inaccettabilmente lento.

Sto cercando un modo più veloce.


Per coloro che potrebbero interessarsi al caso d'uso reale, ecco una camera a proiezione temporale Argon liquido


1
Abbiamo anche utilizzato un metodo di trasformazione Hough ricorsivo per il tracciamento del percorso attraverso camere proporzionali multi-filo presso FermiLab. La tesi di laurea di Erik Kangas ha tutti i dettagli. Penso che questo sia ancora il modo migliore per farlo.
Matt Knepley il

1
Volevi dire "... coppie sul punto ..." o "... coppie di punti ..." nella prima frase?
Bill Barth,

Risposte:


2

Esiste una versione probabilistica di Hough Transform (PHT) che è più veloce. Come descritto da Bradski & Kaehler nel loro libro OpenCV:

L'idea è che il picco sarà comunque abbastanza alto, quindi colpirlo solo una frazione del tempo sarà sufficiente per trovarlo.

La libreria OpenCV presenta un'implementazione per il PHT.

Ci sono altre alternative. Non è difficile creare una versione distribuita della trasformazione di Hough. Basta dividere il set di punti in blocchi più piccoli e utilizzare il framework MapReduce per riassumere tutti gli accumulatori. Altra idea è quella di effettuare una grossolana versione trasformata di Hough utilizzando uno spazio parametrico a bassa risoluzione. Scegli i tuoi migliori candidati ed esegui un'iterazione più fine utilizzando uno spazio parametri che presenti una risoluzione più elevata. Forse questa è l'idea alla base del FHT di Gandalf.


1
Il PHT è stato proposto in: Matas, J. e Galambos, C. e Kittler, JV, rilevamento robusto di linee usando la trasformazione progressiva probabilistica di Hough. CVIU 78 1, pagg. 119-137 (2000).
TH.

Il corso quindi può essere generalizzato a più passaggi, cosa che fa Gandalf.
dmckee --- ex gattino moderatore

A proposito: da quando ho posto questa domanda, un collega ha aggiunto un modulo usando la versione probabilistica progressiva della trasformazione al nostro codice. Ciò ha comportato diverse modifiche associate, quindi è difficile caratterizzare esattamente quale differenza ha fatto, ma fa parte di un pacchetto che ha velocizzato notevolmente un paio di passaggi dell'analisi. Quindi, accetterò questo come il consiglio "vincente".
dmckee --- ex-moderatore gattino

5

Un collega ha trovato la trasformazione di Fast Hough nella biblioteca di Gandalf , che sembra molto promettente ma potrebbe essere molto lavoro da integrare, quindi sto cercando altri approcci.

L'implementazione di Gandalf è interessante: valutano lo spazio dell'accumulatore in modo ricorsivo come se attraversasse un albero di quattro o ottici. Le regioni senza molta densità vengono eliminate mentre vanno.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.