5

se supponiamo che ogni impronta digitale è fatta di curve concentriche (ellissi o cerchi) - e io sono a conoscenza del fatto che non tutti i impronte digitali è - come posso trovare centro di quelle curve concentriche ?Centro Individuazione delle impronte digitali

Prendiamo questa impronta digitale "ideale" e cercare di scoprire il suo centro ...

alt text

miei approcci dovesse provare:

  • Trova lo spettro attraverso le colonne/righe dell'immagine e prova a trovare colonne/righe che massimizzano una particolare banda dello spettro. Pensavo che la colonna che attraversava il centro avrebbe il modello più regolare di variazione delle ampiezze - quindi, l'armonica più riconoscibile.
  • mio secondo approccio è stato quello di provare a contare i cambiamenti di colore bianco e nero anche attraverso le colonne e le righe, e per massimizzare tale importo tra righe e colonne anche.

Mentre questi metodi funzionano in parte, con qualche filtro aggiuntivo, falliscono, quando l'impronta digitale non è "ideale come questo". Riesci a pensare ad un approccio diverso? Ci sono modi standard per farlo?

Edit 1 Mi piace molto l'idea di Zack ora, e vorrei che qualcuno per renderlo un po 'più chiaro come si fa ...

Edit 2 ho voluto qualcuno aveva esposto su un'idea di Zack un po 'di più. Bounty dato a Zack.

Modifica 3 Impronta digitale con centro di curve che approssimano le creste al di fuori dell'impronta digitale. alt text

risposta

1

Prima di tutto - Questo è un settore monetario in sé.

Tuttavia, il modo migliore che sono a conoscenza di:

Si inizia con l'estrazione di una traccia che registra il passaggio da una direzione quantizzato ad un altro. Cioè, la piegatura delle linee nere.

Dopo aver creato la traccia, si inizia a cercare il punto con la più alta transizione di direzione dalla traccia.

+0

Grazie. Buona idea! – plesiv

2

Fuori dalla mia testa, e non ho idea di quanto sarebbe difficile: trattare le linee di impronte digitali come linee equipotenziali di un campo scalare e trovare i punti che massimizzano/minimizzano il suo gradient.

+0

Hm ... Grazie, probabilmente otterrebbe risultati migliori del suggerimento di Meke. – plesiv

+0

Prego. Notare una leggera correzione, tuttavia, ho mescolato gli operatori differenziali vettoriali. – zwol

+0

+1, perché la mia prima idea è anche provare a calcolare la direzione del gradiente da alcune linee ... A proposito, anche in questo 'ideale' impronta digitale 'centro' non è un punto, piuttosto un segmento di linea.Ma forse il punto centrale del segmento di linea sarà il centro dell'impronta digitale ... –

2

Ecco il percorso avrei testa in giù ,.

  1. trova l'archi/linee
  2. utilizzando trigonometria, determinare il centro del cerchio ciascun arco meglio rappresenta
  3. prendere la media dei centri come il centro della mano
2

Questo porta indietro alcuni ricordi piacevoli per me - mi sono dissociato dal business delle impronte digitali nel 1997.

Quello che stai veramente chiedendo è identificare il nucleo dell'impronta digitale, dal al Le caratteristiche identificative di un'impronta digitale sono misurate dal nucleo.

Se si identifica la direzione dominante delle linee in ciascuna area localizzata, si scoprirà che il nucleo si trova nel punto in cui queste direzioni stanno cambiando più rapidamente.

+0

Scusami, puoi dirmi qualche particolare struttura dati o algoritmo che mi aiuterebbe a fare questo? – plesiv

+0

Dopo averlo pensato, e cercando su Google ho scoperto che non sono ** in cerca di nucleo dell'impronta digitale, ma piuttosto, per "centro di curve concentriche (creste)" - c'è la differenza tra quelli ... Centro di le curve concentriche, ad esempio, potrebbero anche essere al di fuori dell'immagine, mentre il nucleo non può. – plesiv

+0

Sono interessato a sapere qual è l'applicazione. Normalmente, il centro viene utilizzato per trovare i punti minuzie più lontani dal centro. Questi punti minuzie più lontani vengono rimossi quando ci sono troppe minuzie per un particolare modello di formato. – selwyn

0

Si sta cercando il centro dei cerchi concentrici che costituiscono l'impronta digitale. Identificherei ogni cresta come una linea individuale. Visto separatamente dovrebbe essere ragionevolmente semplice identificare il centro del raggio in ogni linea, e il raggio più piccolo dovrebbe essere il centro dei cerchi concentrici che stai cercando. Se capisco correttamente i tuoi desideri, dovrebbe farlo. Anche se sembra anche risultare nel trovare il nucleo che è stato menzionato in un altro post. Credo che sia davvero quello che stai cercando. Almeno come una questione pratica. Potrebbe non tener conto di valori anomali.

+0

Ci sono impronte digitali con il loro "centro" al di fuori dell'immagine, e mi piacerebbe trovare anche quei centri; quindi questo metodo non sarebbe sufficiente. – plesiv

+0

Come stai definendo l'impronta digitale? Come il totale di creste e valli sulla pelle del dito? O con un diverso schema di riferimento? Non sto discutendo la tua definizione, dal momento che è la tua domanda guidata dalle tue esigenze, ma come può il centro di una stampa essere fuori dalla cornice della stampa? Dov'è il confine che definisce una stampa? O non stai lavorando con una vera "stampa" delle impronte digitali in questione? Puoi caricare un grafico che mostra una stampa che soddisfa i criteri? – zenbike

+0

Suppongo che sto anche cercando l'applicazione pratica per la domanda. Sembra che sarà necessario per darti una risposta pratica e funzionante. – zenbike

1

È possibile utilizzare l'approccio Hough -like.

  1. Utilizzare un'immagine "voti" per accumulare voti per i candidati del centro.
  2. Per ogni pixel in ciascun bordo dell'immagine calcola il gradiente locale in una piccola finestra - questo darebbe un vettore perpendicolare al bordo.
  3. Per ciascun vettore, aumentare il conteggio dei voti lungo la sua lunghezza (fino a una distanza ragionevole).
  4. Il pixel con il conteggio dei voti più alto è probabile che sia il centro desiderato.
+0

Pensavo a quell'approccio da solo. Grazie, ci penserò. – plesiv

0

Voglio solo chiarire se stai cercando di trovare il loop/core? Se sto assumendo correttamente il centro di quelle curve concentriche a cui ti riferisci è il ciclo. Il modo più semplice e ideale per farlo è quello di creare campi di orientamento delle creste e trovare il punto di curvatura più alto. Questo è il ciclo. Il punto in cui i campi di orientamento divergono è il delta che non è visto negli esempi di impronte digitali.

È anche possibile raggruppare i campi di orientamento in regioni. L'intersezione di tutte le regioni è il ciclo e il delta. Il documento seguente descrive come rilevare il loop e il delta. http://ieeexplore.ieee.org/xpl/articleDetails.jsp?reload=true&arnumber=7139102

Modifica 3 Impronta digitale con centro di curve che approssimano le creste al di fuori dell'impronta digitale. Questa impronta digitale è un semplice arco. Non ha loop ma se segui i lavori degli autori nella carta, essi forniscono una soluzione per risolvere questi casi.