2010-01-15 17 views
56

Qualcuno conosce il lavoro accademico recente che è stato fatto sul riconoscimento del logo nelle immagini? Si prega di rispondere solo se si ha familiarità con questo argomento specifico (posso cercare Google per "riconoscimento logo" me stesso, grazie mille). Chiunque sia esperto in computer vision e abbia svolto attività di riconoscimento degli oggetti è il benvenuto a commentare.Riconoscimento di un logo in immagini

Aggiornamento: prega di fare riferimento agli aspetti algoritmici (quale approccio si pensa sia opportuno, carte nel campo, se deve lavorare (ed è stato testato) per i dati del mondo reale, considerazioni di efficienza) e non tecnico lati (il linguaggio di programmazione utilizzato o se era con OpenCV ...) Anche il lavoro sull'indicizzazione delle immagini e il recupero di immagini basate sul contenuto possono essere d'aiuto.

+1

Se vuoi dirci cosa stai cercando e cosa intendi con "serio", potresti aumentare le possibilità di ottenere una buona risposta. Lavoro da 10 anni in ambito computer vision/riconoscimento oggetti, ma non sono nemmeno sicuro di cosa intendi con "riconoscimento logo". – Niki

+0

Per riconoscimento logo intendo ad esempio ottenere un'immagine contenente il logo/marchio Coca Cola, rilevando il logo e contrassegnandolo come "Coca Cola". 10 anni di lavoro sul campo mi sembrano seri (cercavo principalmente di evitare risposte come quella sotto che non sono molto istruttive) – elijah

+0

Hai trovato un'alternativa per trattare il tuo problema? Perché il problema è che ci sono migliaia di loghi nel mondo, quindi riconoscere il logo è un po 'difficile ... Ho pensato alle funzionalità di BoW ma abbiamo classi per ogni tipo di logo? – lilouch

risposta

37

Si potrebbe provare a utilizzare le funzioni locali come SIFT qui: http://en.wikipedia.org/wiki/Scale-invariant_feature_transform

Dovrebbe funzionare, perché la forma del logo è di solito costante, caratteristiche in modo estratte devono abbinare bene.

lavoro sarà così:

  1. Detect angoli (ad esempio Harris rivelatore angolo) - per Nike logo sono due estremità affilate.

  2. descrittori Calcola (come SIFT - 128D intero vettore)

  3. Sul palco la formazione li ricordo; nella fase di abbinamento trova i vicini più vicini per ogni funzione nel database ottenuta durante l'allenamento. Infine, hai una serie di fiammiferi (alcuni di questi probabilmente non sono corretti).

  4. Sementi di corrispondenza errati utilizzando RANSAC. Così otterrai la matrice che descrive la trasformazione dall'immagine del logo ideale a quella in cui trovi il logo. A seconda delle impostazioni, è possibile consentire diversi tipi di trasformazioni (solo traduzione, traduzione e rotazione, trasformazione affine).

Il libro di Szeliski ha un capitolo (4.1) sulle caratteristiche locali. http://research.microsoft.com/en-us/um/people/szeliski/Book/

P.S.

  1. ho pensato vuoi trovare loghi in foto, ad esempio trovare tutti cartelloni pubblicitari Pepsi, in modo che potessero essere distorto. Se hai bisogno di trovare un logo di un canale TV sullo schermo (in modo che non venga ruotato e ridimensionato), potresti farlo più facilmente (abbinamento di modelli o qualcosa del genere).

  2. SIFT convenzionale non considera le informazioni sul colore.Poiché i loghi di solito hanno colori costanti (anche se il colore esatto dipende da un fulmine e dalla fotocamera), potresti voler considerare le informazioni sul colore in qualche modo.

+0

Grazie. Questo approccio sembra ragionevole. Per quanto riguarda il vicino più vicino per ogni funzione - che suona piuttosto intensivo (sto pensando di avere migliaia di loghi da riconoscere), quale pensi che sia un buon modo di ottimizzare? Ho pensato alla quantizzazione vettoriale o ai vicini più vicini ... – elijah

+1

liza, hai ragione, è difficile trovare l'NN in 128D. L'attuale stato dell'arte è una ricerca NN approssimativa tramite kd-tree o k-means tree forest. È implementato in Muja-Lowe FLANN: http://people.cs.ubc.ca/~mariusm/index.php/FLANN/FLANN –

+0

Grazie ancora.Hanno anche scoperto queste carte che fare con scalabile ed efficiente il riconoscimento delle immagini: * "Le piccole Codici e grandi database di immagini per il riconoscimento" di Torralba, Fergus, Weiss * "Scalable riconoscimento con un albero Vocabolario" di Nister e Stewenius – elijah

4

Ho lavorato a un progetto in cui dovevamo fare qualcosa di molto simile. All'inizio ho provato ad utilizzare le tecniche di formazione Haar usando questo software

OpenCV

Ha funzionato, ma non era una soluzione ottimale per le nostre esigenze. Le nostre immagini di origine (dove cercavamo il logo) erano di dimensioni fisse e contenevano solo il logo. Per questo motivo siamo stati in grado di utilizzare cvMatchShapes con una buona corrispondenza conosciuta e confrontare il valore restituito per ritenere una buona corrispondenza.

+0

Si prega di consultare il mio aggiornamento – elijah

7

Ha lavorato su questo: corrispondenza dei marchi e recupero in sport database di video ottenere un PDF del documento: http://scholar.google.it/scholar?cluster=9926471658203167449&hl=en&as_sdt=2000

Abbiamo usato SIFT come descrittori di marchio e di immagine, e un abbinamento di soglia normalizzato per calcolare la distanza tra modelli e immagini. Nel nostro ultimo lavoro siamo stati in grado di ridurre notevolmente il calcolo utilizzando i meta-modelli, creati valutando la rilevanza dei punti SIFT presenti in diverse versioni dello stesso marchio.

Direi che in generale lavorare con i video è più difficile che lavorare sulle foto a causa della pessima qualità visiva degli standard TV attualmente utilizzati.

Marco

30

Abbiamo lavorato al riconoscimento/riconoscimento del logo nelle immagini del mondo reale. Abbiamo anche creato un set di dati FlickrLogos-32 e reso disponibile al pubblico, inclusi dati, verità di base e script di valutazione.

Nel nostro lavoro abbiamo trattato il riconoscimento del logo come problema di recupero per semplificare il riconoscimento multi-classe e consentire a tali sistemi di essere facilmente scalabili a molte (ad esempio migliaia) classi di loghi.

Recentemente, abbiamo sviluppato una tecnica di raggruppamento chiamata Bundle min-Hashing che aggrega configurazioni spaziali di più funzionalità locali in bundle di caratteristiche altamente distintive. La rappresentazione del pacchetto è utilizzabile sia per il recupero che per il riconoscimento. Vedere il seguente esempio mappe termiche per i rilevamenti logo:

enter image description here enter image description here

Troverete maggiori dettagli sulle operazioni interne, potenziali applicazioni dell'approccio, esperimenti sulla sua prestazione e naturalmente anche molti riferimenti a lavori connessi a i documenti [1][2].

+3

Qui trovate i documenti: http://www.multimedia-computing.de/wiki/Stefan_Romberg. Cerca "Bundle min-Hashing" o la mia tesi di dottorato. Ho alcune demo che non sono pubbliche (ancora). Il prototipo è stato venduto. – Stefan

Problemi correlati