Comments
Description
Transcript
slides
Riconoscimento automatico di oggetti in immagini digitali Enver Sangineto, Dipartimento di Informatica Panoramica della presentazione Motivazioni Problemi Principali approcci p. 2 Riconoscimento di oggetti L’obiettivo di un sistema di object recognition è rilevare la presenza di “oggetti” d’interesse all’interno di immagini/video digitali Passo fondamentale per permettere ad un computer di “capire cosa sta guardando” p. 3 Perchè riconoscere automaticamente gli oggetti di un'immagine Recupero/classificazione d'immagini in data base visivi (Image Retrieval): ricerche on-line, annotazione (automatica) video, organizzazione di archivi fotografici musei, e-commerce... Visione applicata alla robotica: manipolazione d’oggetti, navigazione guidata dalla visione p. 4 Perchè riconoscere automaticamente gli oggetti di un'immagine [2] Video sorveglianza: rilevamento di intrusioni, … Biometria Interfacce uomo-macchina di tipo “intelligente” Guida automatica di veicoli su strada Visione industriale, medica, aerea, militare, ... Altro… p. 5 Object recognition è un problema aperto Non esistono sistemi general purpose p. 6 Problemi principali nel riconoscimento di oggetti Variabilità delle apparenze Segmentazione della scena p. 7 Variabilità: cambiamento del punto di vista p. 8 Michelangelo 1475-1564 Variabilità [2]: cambiamento delle condizioni di illuminazione p. 9 Variabilità [3]: oggetti deformabili Xu, Beihong 1943 p. 10 Variabilità [4]: variazione intra-classe p. 11 Segmentazione: Occlusioni p. 12 Magritte, 1957 Segmentazione [2]: separazione dallo sfondo p. 13 Klimt, 1913 Approcci principali al riconoscimento Model-based Machine learning p. 14 Ipotesi… Un solo oggetto per immagine Machine learning per rappresentare la conoscenza p. 15 Riconoscimento tramite apprendimento automatico: schema generale Suppongo di disporre, in fase di training, di un insieme T = {(I1, y1), …, (IN, yN)}, dove Ij è un’immagine e yj un’etichetta che indica l’oggetto in essa contenuto: yj {o1, …, om} p. 16 Riconoscimento tramite apprendimento automatico [2] Ogni Ij è rappresentata tramite un punto xj in Rn, detto spazio delle feature Utilizzo T per stimare la distribuzione statistica dei punti in Rn e costruire il classificatore C p. 17 Riconoscimento tramite apprendimento automatico [3] On-line, uso C per classificare un’immagine nuova I, non appartenente a T: C(I) {o1, …, om} p. 18 Un semplice esempio Istogramma dell’intensità dei pixel in I: Divido il range [0, 255] in n bin Assegno ogni pixel ad un bin: I(p) -> divn(I(p)) f(I) = (v0, …, vn-1)T, dove: vi = # { p I : divn(I(p)) = i} p. 19 Esempio [2] Rappresentazione di T in Rn (n,m = 2) p. 20 Esempio [3] Rappresentazione della nuova immagine (x = f(I)) p. 21 Rappresentazione di un’immagine mediante feature Una feature è una rappresentazione, tramite valori numerici, di tutta o parte dell’immagine Se I' è una sottoparte dell’immagine I, allora una feature f è t.c.: f(I') Rd, f(I') = (v0, … vd-1)T, d >= 1 p. 22 Feature globali e locali I' = I: feature globale I' I: feature locale p. 23 Esempio: feature locale fi(I') I' I p. 24 immagine presa da: Tutorial CVPR 07 Scelta delle feature L’immagine in esame viene quindi descritta usando i valori di un insieme di feature prescelte f1, …, fk p. 25 Spazio delle feature Se: fj(I) Rd (1 <= j <= k), allora: x(I) = (f1(I) T f2(I) T … fk(I) T)T è un punto in Rk*d (spazio delle feature) p. 26 Proprietà (desiderabili) delle feature Stabilità, Capacità discriminative, Efficienza computazionale, … p. 27 Proprietà (desiderabile) del feature space Punti geometricamente “vicini” corrispondono ad immagini simili p. 28 Teoria Decisionale Bayesiana Data l’immagine x e m classi di oggetti C1, … Cm, associare x alla classe più probabile Scelgo Cj* tale che: Notazione abbreviata: p. 29 Esempio Le probabilità sono stimate tramite training p. 30 immagine presa da: Duda, Hart, Stork, Pattern Classification Metodi discriminativi Mirano a determinare i bordi di decisione (superfici iper-dimensionali) che meglio partizionano Rn rispetto alle classi d’interesse p. 31 Bordi di decisione: ese. monodimensionale c2 c1 c2 c1 p. 32 Bordo di decisione: ese. bidimensionale p. 33 Esempi di classificatori discriminativi Reti neurali (ANN) Support Vector Machines (SVM) Decision Trees K-Nearest Neighbor (k-NN) Boosting … p. 34 Riassumendo… In un approccio all’object recognition basato sul machine learning è necessario modellare due tipi di conoscenza: Conoscenza visiva (e.g., scegliere le feature) Conoscenza statistica (e.g., scegliere il classificatore) p. 35 Alcuni riferimenti Forsyth, Ponce, Computer Vision, a Modern Approach 2003 Duda, Hart, Stork, Pattern Classification (II edition) 2001 Bishop, Pattern Recognition and Machine Learning, 2006 Sebe, Cohen, Garg, Huang, Machine Learning in Computer Vision, 2005 p. 36 Domande… p. 37