Sto cercando di trovare un modo efficace di complessità accettabile peroggetto di rilevazione + segmentazione
- rilevare un oggetto in un'immagine così posso isolarlo dal suo ambiente
- segmento che opporsi alla sua sub- parti e li etichetta in modo che possano poi prendere a piacimento
sono passati 3 settimane da quando sono entrato nel mondo di elaborazione delle immagini e ho letto su tanti algoritmi (vagliare, serpenti, più serpenti, Fourier-correlati, ecc.), ed euristica che non so da dove cominciare e quale sia "la migliore" "per quello che sto cercando di ottenere. Avendo in mente che il set di dati di immagine in interesse è piuttosto grande, non so nemmeno se dovrei usare qualche algoritmo implementato in OpenCV o se dovrei implementarne uno mio.
sintesi:
- Quale metodologia dovrei concentrarsi su? Perché?
- Devo usare OpenCV per quel tipo di roba o esiste un'alternativa "migliore"?
Grazie in anticipo.
EDIT - Maggiori informazioni per quanto riguarda le serie di dati
Ogni set di dati è costituito da 80K immagini dei prodotti che condividono la stessa
- concetto esempio t-shirt, orologi, scarpe
- dimensioni
- orientamento (90% di loro)
- fondo (95% di loro)
tutte le foto in ogni set di dati sembrano quasi identiche a parte il prodotto stesso , apparentemente. Per rendere le cose un po 'più chiaro, prendiamo in considerazione solo l' 'orologio set di dati':
Tutte le immagini del set sembrano quasi esattamente come questo:
(di nuovo, a parte costituiscono l'orologio stesso). Voglio estrarre il cinturino e il quadrante. Il fatto è che ci sono molti stili di orologi diversi e quindi forme. Da quanto ho letto finora, penso di aver bisogno di un algoritmo di modello che consenta di piegare e allungare in modo da poter abbinare cinturini e quadranti di stili diversi.
Invece di creare tre modelli distinti (parte superiore della cinghia, parte inferiore della cinghia, quadrante), sarebbe ragionevole crearne solo uno e segmentarlo in 3 parti. In questo modo, sarei abbastanza sicuro che ogni parte è stata rilevata l'una rispetto all'altra come previsto ad es. il quadrante non verrebbe rilevato sotto la parte inferiore della cinghia.
Da tutti gli algoritmi/metodologie che ho incontrato, i modelli di forma attiva sembrano essere i più promettenti. Sfortunatamente, non sono riuscito a trovare un'implementazione di discesa e non sono abbastanza sicuro che questo sia l'approccio migliore per andare avanti e scriverne uno io stesso.
Se qualcuno potesse indicare cosa dovrei veramente cercare (algoritmo/euristico/libreria/ecc.), Sarei più che grato. Se ancora una volta pensi che la mia descrizione fosse un po 'vaga, non esitare a chiedere una descrizione più dettagliata.
Ti dispiacerebbe descrivere il dominio delle tue immagini, o anche alcuni campioni delle immagini. Per il rilevamento/riconoscimento/segmentazione di oggetti generali, credo o si crede generalmente che un buon confine del dominio possa darti un "vantaggio" per distinguere cosa essere segmentato e cosa no. –
@gary - Una delle (molte) cose che voglio ottenere: avere un'immagine di un orologio, ad es. [collegamento] (http://upload.wikimedia.org/wikipedia/commons/0/06/Seiko_7002-7020_Diver%27s_200_m_on_a_4-ring_NATO_style_strap.JPG), voglio essere in grado di elaborare indipendentemente la parte 'superiore' e 'inferiore' del cinturino e del quadrante. Ecco perché ho bisogno di una sorta di modello che supporti la segmentazione. – sawidis
Puoi pubblicare un paio di immagini dal tuo set di dati, per mostrare quanto sono diverse. Se per esempio tutte le tue immagini sono come l'immagine wiki che hai collegato, a faccia in su, direttamente nella fotocamera, e nessuna scala, differenze di illuminazione o differenze nella marca o nel tipo di orologio, puoi semplificare enormemente il tuo algoritmo. – Maurits