2016-06-15 24 views
7

Il mio obiettivo è trovare loghi noti in immagini e video statici. Voglio raggiungere questo obiettivo utilizzando il rilevamento delle funzioni con KAZE o AKAZE e RanSac.Approccio corretto al rilevamento di funzioni con opencv

sto puntando per un risultato simile a: https://www.youtube.com/watch?v=nzrqH ...

Mentre la sperimentazione con la detection example from the docs che è grande btw, stavo affrontando diversi problemi: Risoluzione

  • Oggetto: differenze di dimensioni tra l'oggetto noto e la risoluzione della scena in cui l'oggetto deve essere individuato interrompe a volte l'algoritmo di rilevamento - l'oggetto non sarà riconosciuto nelle immagini con una bassa risoluzione anche se la qualità dell'immagine è ancora bene per un occhio umano.
  • Contrasto di colore con lo sfondo: Sembra che il rilevamento possa facilmente essere distratto da diversi contrasti di sfondo (ad esempio: oggetto è logo nero su sfondo bianco, logo in scena è bianco su sfondo nero ). Come posso rendere più robusto il rilevamento rispetto alle luminanze dello e ai contrasti di sfondo?
  • Pre-elaborazione: deve essere eseguito alcun tipo di pre-elaborazione dell'oggetto/scena ? Ad esempio, ingrandisci la scena fino a una dimensione specifica? Esiste qualche linea guida su come affrontare il rilevamento di funzionalità in diversi passaggi per ottenere i migliori risultati?
+0

Controllare l'ultima parte di [questo] (http://stackoverflow.com/a/31370006/5008845) – Miki

risposta

4

Penso che il tuo problema sia più complicato del processo di omografia della corrispondenza dei descrittori di caratteristiche. È più probabile che sia orientato verso il riconoscimento o la classificazione del modello.

È possibile controllare questa recensione carta estesa di forma di corrispondenza:

http://www.staff.science.uu.nl/~kreve101/asci/vir2001.pdf

In primo luogo, la risoluzione delle immagini è molto importante, perché il funzionamento di solito corrispondenti fa un'intensità di pixel correlazione incrociata tra il campione immagine (logo) e l'immagine del processo, in modo da ottenere l'area con la migliore correlazione incrociata.

Allo stesso modo, l'intensità del colore dello sfondo è molto importante perché l'illuminazione dello sfondo potrebbe influire in modo grave sul risultato finale.

metodi Feature-based sono ampiamente ricercati:

http://docs.opencv.org/2.4/modules/features2d/doc/feature_detection_and_description.html

http://docs.opencv.org/2.4/modules/features2d/doc/common_interfaces_of_descriptor_extractors.html

Così, per esempio, si può provare metodi alternativi quali:

descritors Hog: gradienti Istogramma orientati: https://en.wikipedia.org/wiki/Histogram_of_oriented_gradients

pattern matching o un modello di corrispondenza http://docs.opencv.org/2.4/doc/tutorials/imgproc/histograms/template_matching/template_matching.html

Credo che il più lastest (pattern matching) è il più facile da controllare il vostro algoritmo.

Spero che questi riferimenti siano d'aiuto.

Cheers.

Unai.

Problemi correlati