Parte I — Fondamenti: acquisizione e immagini · Capitolo 1

Visione artificiale, pattern recognition e sistemi di acquisizione

~35 min di lettura4 widget interattivi4 tavole

In questo capitolo

  1. Definizioni: visione artificiale e pattern recognition
  2. Riconoscimento, classi e classificazione
  3. Progettare un'applicazione: teoria e pratica
  4. I quattro approcci del pattern recognition
  5. Applicazioni e stato dell'arte
  6. Biometria: un caso di studio storico
  7. Architettura di un sistema di visione
  8. Formazione dell'immagine: pinhole e lenti sottili
  9. Scelta dell'obiettivo e parametri fondamentali
  10. Telecamere, illuminazione e acquisizione 3D
  11. Programma del corso, esame e progetto
  12. Verifica le tue conoscenze

1. Definizioni: visione artificiale e pattern recognition

La Visione Artificiale (VA) è una disciplina molto ampia che studia gli aspetti connessi allo studio e alla progettazione di sistemi artificiali in grado di eseguire compiti visivi e percettivi, tipici dell'uomo e di alcune specie animali. Il perimetro della disciplina comprende:

Le voci in grassetto sono le tematiche oggetto di questo corso: acquisizione, elaborazione, riconoscimento, localizzazione e analisi del movimento. La ricostruzione 3D e la scene understanding compaiono solo di sfuggita (per esempio nella parte su SLAM).

Che cos'è un pattern?

Il pattern recognition (PR) è una delle più importanti "sotto-discipline" della VA. In italiano viene solitamente tradotto come "riconoscimento di forme", ma è forse meglio non tentare di tradurre con "forme" il termine pattern: il concetto è più largo.

Watanabe definisce un pattern come l'opposto del caos e come un'entità vagamente definita cui può essere dato un nome. Un pattern può quindi essere un volto, un carattere scritto a mano, un'impronta digitale, un segnale sonoro, l'andamento di un titolo di borsa.

Riferimento

S. Watanabe, Pattern Recognition: Human and Mechanical, Wiley, New York 1985. È la fonte della definizione di pattern usata a lezione.

Perché il PR è importante? Gran parte dei fenomeni dell'esistenza umana si manifesta sotto forma di pattern: i simboli della scrittura, gli elementi costitutivi del parlato, disegni e immagini, il volto di persone care. Dotare il computer di capacità di riconoscimento di pattern può renderlo in grado di svolgere compiti percettivi e cognitivi: l'obiettivo dichiarato è costruire macchine che possiedano le nostre stesse capacità di riconoscimento di pattern.

2. Riconoscimento, classi e classificazione

Nel contesto del pattern recognition il riconoscimento è inteso come classificazione o categorizzazione, ovvero l'assegnamento del pattern a una classe.

Per classe si intende un insieme di entità aventi proprietà comuni: ad esempio i diversi modi in cui le persone scrivono il carattere "A". Il concetto di classe è semantico e dipende strettamente dall'applicazione:

ProblemaNumero di classi
Riconoscimento delle lettere dell'alfabeto21 classi
Distinguere le lettere dell'alfabeto italiano da quello cirillico2 classi

Le classi possono essere definite dal progettista (classificazione supervisionata) oppure "imparate" autonomamente dal sistema (classificazione non supervisionata).

Riconoscimento umano e riconoscimento meccanico

L'uomo esegue il riconoscimento mediante una classificazione del pattern, ma il mapping è opaco: i dettagli del processo sono inaccessibili agli osservatori e quasi sempre anche al riconoscitore stesso (non sappiamo spiegare come riconosciamo un volto). L'implementazione su computer di un metodo di PR richiede invece che il mapping opaco sia sostituito da uno trasparente, di cui sia possibile dare una descrizione precisa: un algoritmo.

Idea chiave

Tutto il corso è, in fondo, il tentativo di rendere trasparente un mapping opaco. Le tecniche hand-crafted lo fanno esplicitando le feature; le tecniche di deep learning lo fanno delegando alla rete l'apprendimento delle feature — e in questo modo, paradossalmente, riportano una parte di opacità dentro il sistema artificiale.

3. Progettare un'applicazione: teoria e pratica

Le slide contrappongono, con una certa ironia, la ricetta teorica e quella pratica per progettare un'applicazione di VA.

  1. Dare una descrizione appropriata degli oggetti, fisici o concettuali, in termini di caratteristiche (features) appartenenti a uno spazio di rappresentazione.
  2. Specificare uno spazio di interpretazione (lo spazio delle classi).
  3. Fornire un mapping fra lo spazio di rappresentazione e quello di interpretazione.
  4. Determinare un operatore (algoritmo) che esegua questo mapping, ovvero che esegua la classificazione.
  • Perdere giorni nel tentativo di far funzionare telecamere, frame grabber e altri sensori con la propria versione di sistema operativo, setacciando il web a caccia dei driver necessari.
  • Cercare in letteratura quali approcci sono stati utilizzati con successo per la soluzione dello stesso problema (o di un problema analogo).
  • Scaricare da Internet codice sviluppato da altri, adattandolo se possibile alle proprie esigenze.

Anche un approccio così pratico richiede esperienza: nella VA e nel PR, per risolvere in modo ottimale ogni problema specifico è necessario un metodo ad hoc.

La coppia "spazio di rappresentazione → spazio di interpretazione" è la struttura concettuale che ritroverete in ogni capitolo: le feature di colore, tessitura e forma (capitoli 4 e 5), i descrittori locali (capitolo 6), le visual words (capitolo 7) e le feature apprese dalle CNN (capitolo 9) sono tutti modi diversi di costruire lo spazio di rappresentazione.

pattern (mondo) estrazione spazio di rappresentazione x₁ x₂ mapping classe A classe B spazio di interpretazione
Tavola 1.1 — Lo schema teorico del PR: i pattern del mondo vengono mappati in punti di uno spazio di rappresentazione (le feature), e un operatore di classificazione li mappa nello spazio di interpretazione (le classi). Il tratteggio è la superficie di decisione.

4. I quattro approcci del pattern recognition

Le slide, seguendo Duda-Hart-Stork e la review di Jain-Duin-Mao, individuano quattro approcci principali al pattern recognition. Tutti e quattro ritornano nel corso: il primo nel capitolo 7, il secondo praticamente ovunque, il terzo nella parte sulle forme, il quarto nella parte deep learning.

La distanza diretta tra immagini non fornisce buoni risultati, spesso a causa di traslazioni, rotazioni e variabilità dei pattern. L'idea è allora costruire uno o più pattern modello (template) e "cercarli" all'interno dell'immagine, misurando il grado di matching nelle diverse posizioni possibili. La posizione di massimo matching individua l'oggetto. Tutto il capitolo 7 sviluppa questa idea.

Ogni pattern è rappresentato da un punto nello spazio multidimensionale. L'approccio prevede una fase di estrazione delle caratteristiche, che mappa il pattern nel punto, e una fase di classificazione, che associa il punto a una classe. I classificatori utilizzati sono fondati su solide basi statistiche.

Detto anche sintattico: i pattern sono codificati in termini di componenti primitive e di relazioni che intercorrono tra esse; il confronto avviene confrontando primitive e relazioni. Esempio classico visto a lezione: la classificazione di impronte digitali tramite calcolo dell'immagine direzionale, segmentazione dell'immagine direzionale, costruzione di un grafo relazionale e inexact graph matching.

Le reti neurali sono costituite da grafi orientati i cui nodi (neuroni) processano le informazioni trasmesse da altri neuroni a essi collegati. Consentono di codificare complessi mapping non lineari, che vengono solitamente appresi da esempi. L'ispirazione biologica: i neuroni ricevono input chimici attraverso le connessioni sinaptiche dei dendriti, li convertono in segnali elettrici e, se il livello di eccitazione eccede una certa quantità, "sparano" un impulso che provoca il rilascio di sostanze chimiche alle terminazioni assoniche; l'efficacia delle sinapsi si modifica con l'esperienza (learning).

Esempio numerico: il classificatore di minima distanza euclidea

L'esempio di approccio statistico visto a lezione usa una sola feature. Di ogni oggetto viene misurata l'estensione dei pixel rispetto al baricentro (primo momento invariante), che chiamiamo E. Vogliamo classificare l'oggetto in una di due classi: T (oggetti allungati, a forma di T) e C (oggetti più circolari). La regola è:

l'oggetto è di classe  T   se  (E - Avg_T)²  <  (E - Avg_C)²
                       C   altrimenti

dove Avg_T e Avg_C sono le estensioni medie degli oggetti delle due classi, misurate su un training set. È il classificatore di minima distanza euclidea: si assegna il pattern alla classe il cui prototipo (la media) è più vicino.

Classificatore di minima distanza (1 feature)

Muovi il valore di E misurato sull'oggetto da classificare e osserva dove cade la soglia di decisione. Le medie delle due classi sono modificabili: la soglia è sempre il punto medio tra i due prototipi.

Per l'esame

Sapere elencare e distinguere i quattro approcci (template matching, statistico, strutturale/sintattico, reti neurali) è una domanda tipica di apertura. Il punto discriminante: nell'approccio statistico il pattern è un punto in uno spazio; in quello strutturale è un insieme di primitive con relazioni (tipicamente un grafo); nel template matching è un'immagine modello da sovrapporre; nelle reti neurali la rappresentazione è appresa.

5. Applicazioni e stato dell'arte

La rassegna applicativa vista a lezione è organizzata in quattro grandi famiglie. Vale la pena leggerla come una mappa: quasi ogni voce corrisponde a una tecnica trattata in un capitolo successivo.

FamigliaApplicazioni
Misurazione, conteggio, qualità Misurazione dimensionale accurata da immagini 2D; conformità rispetto a modello; calibrazione e stereo visione; misurazione tridimensionale con profili laser; ricostruzione di volumi da nuvole di punti 3D; conteggio veicoli, polli, persone; conteggio frutti e stima dimensioni; individuazione difetti di produzione; selezione della frutta.
Image processing avanzato Elaborazione e miglioramento immagini; deblurring e super-resolution; image stitching e registrazione di immagini 2D; ricostruzione 3D da più immagini 2D; image to image translation; semantic segmentation in immagini mediche (separazione di organi o parti del cervello, classificazione di cellule tumorali) e satellitari (tipi di colture, coperture in amianto).
Recognition "in the wild" Automatic image annotation (tagging), content-based image retrieval, raggruppamento immagini nel proprio album, image captioning, retail product detection, riconoscimento pedoni e segnali stradali, robotic vision, realtà aumentata (natural markers detection); biometria: face detection e recognition, impronte digitali, iride, gait e soft-biometrics, emozioni, gender.
Analisi del movimento Videosorveglianza: detection di intrusi, rilevamento oggetti abbandonati e comportamenti anomali, tracking di persone e crowd analysis, activity detection and recognition. Navigazione e guida autonoma: SLAM in robotica, guida autonoma di veicoli e droni, obstacle detection and avoidance, ADAS.

Gli esempi di stato dell'arte mostrati a lezione includono OCR, face detection e face recognition, realtà aumentata, 3D modeling, video-based interaction e gaming, automotive, ambient assisted living, supermercati e acquisti automatici, SLAM, e le applicazioni industriali (ispezione visuale, calibrazione, rilevamento difetti, conteggio e misurazione).

Perché studiarla

La visione artificiale e il pattern recognition stanno acquistando un ruolo sempre più rilevante nella società; in molteplici ambiti si presenta la necessità di supportare l'essere umano con tecniche automatiche di analisi di dati e immagini; e sono pochi i professionisti in grado di utilizzare consapevolmente le tecnologie esistenti o di progettare soluzioni innovative.

6. Biometria: un caso di studio storico

Il riconoscimento biometrico fa riferimento all'uso di caratteristiche fisiologiche o comportamentali distintive per l'identificazione umana. Una grandezza biometrica è descritta come una caratteristica che possa essere misurata e successivamente identificata al fine di attestare l'identità di una persona (o più in generale di un essere vivente). Si distinguono caratteristiche fisiologiche (volto, impronta, iride) e comportamentali (andatura, firma).

Le problematiche aperte

Anche i sistemi biometrici moderni devono affrontare fattori di variabilità che degradano il riconoscimento: makeup (before/after), illuminazione, invecchiamento (aging) e occlusioni. A questi si aggiunge la bassa resistenza agli attacchi, illustrata a lezione con il lavoro The magic passport (M. Ferrara, A. Franco, D. Maltoni) sul morphing dei volti: due persone che condividono un documento la cui foto è la fusione dei due volti. Nel live test mostrato in aula (real or morphed?) l'occhio umano fallisce sistematicamente.

Attenzione

Il caso West e il morphing dei passaporti raccontano la stessa lezione a un secolo di distanza: una feature è utile solo se è discriminante nella popolazione reale e robusta agli attacchi. È il criterio con cui giudicheremo ogni descrittore del corso.

7. Architettura di un sistema di visione

Un sistema di visione, indipendentemente dall'applicazione, si articola in tre stadi:

  1. Acquisizione — un dispositivo che consente la proiezione di luce da uno spazio tridimensionale su una superficie bidimensionale (pellicola, sensore, ...).
  2. Rappresentazione digitale — campionamento e quantizzazione del segnale (capitolo 2).
  3. Creazione del modello — due strade alternative: un hand-crafted feature extractor seguito da un classificatore "semplice", oppure il representation learning, in cui la rete apprende da sé la rappresentazione.
1 Acquisizione ottica + sensore 2 Rappresent. campion. + quantizz. hand-crafted feature extractor classificatore "semplice" representation learning feature e classificazione apprese insieme output: classe / posizione / maschera
Tavola 1.2 — L'architettura di un sistema di visione e il bivio fondamentale del corso: hand-crafted features più classificatore semplice (capitoli 4-8) oppure representation learning end-to-end (capitoli 9-12).

8. Formazione dell'immagine: pinhole e lenti sottili

Un sistema di acquisizione è un dispositivo che consente la proiezione di luce da uno spazio tridimensionale su una superficie bidimensionale. Senza alcuna barriera, ogni punto del sensore riceve luce da tutte le direzioni e l'immagine è indistinta: serve una barriera con un foro che selezioni, per ciascun punto del sensore, un solo raggio. È il principio della camera obscura, già nota ad Aristotele nel IV secolo a.C.

Apertura e diffrazione

Nella pinhole camera la dimensione del foro governa un compromesso: fori grandi (2 mm) lasciano passare molta luce ma l'immagine è sfocata; riducendo l'apertura (1 mm, 0.6 mm, 0.35 mm) l'immagine si fa più nitida; sotto una certa soglia (0.15 mm, 0.07 mm) subentra la diffrazione e la nitidezza peggiora di nuovo.

Lenti sottili

Nei sistemi reali il foro è sostituito da una lente, che raccoglie molta più luce mantenendo la messa a fuoco. Con riferimento alla figura, indichiamo con F il punto focale, f la distanza focale, z la distanza tra l'oggetto e la lente, z' la distanza tra lente e sensore, y la semi-dimensione dell'oggetto e y' quella della sua immagine. Dalle similitudini si ricavano le due relazioni:

y'/y = z'/z          (triangoli attraverso il centro della lente)
y'/y = (z' - f)/f    (triangoli attraverso il fuoco)

Uguagliando i secondi membri e semplificando:

z'/z = (z' - f)/f  ⇒  z'/z = z'/f - 1  ⇒  1/z = 1/f - 1/z'

        1/f = 1/z + 1/z'        equazione del costruttore di lenti
        z/z' = y/y'             fattore di ingrandimento

La lettura pratica: se la lente dista z' dal sensore, data una distanza focale f, tutto ciò che nell'ambiente dista z dalla lente sarà perfettamente a fuoco. Agendo su z' è possibile modificare quali oggetti saranno catturati in modo più nitido — è esattamente ciò che fa la ghiera di messa a fuoco.

lente y oggetto y' sensore F z z' f
Tavola 1.3 — Modello di lente sottile. Il raggio parallelo all'asse passa per il fuoco F; il raggio per il centro della lente non devia. La loro intersezione forma l'immagine di altezza y' a distanza z'.

9. Scelta dell'obiettivo e parametri fondamentali

Il problema pratico è: dato un oggetto da inquadrare, quale obiettivo montare? Gli input del problema sono di solito la dimensione del CCD (o CMOS), indicata con d' (pari a 2y'), la dimensione dell'oggetto d (pari a 2y) e la sua distanza z dall'obiettivo.

Esempio svolto a lezione

Data una telecamera che monta un CCD da 1/3", si vuole inquadrare (coprendo la maggior parte possibile dell'immagine) un oggetto di dimensione 40 cm sul lato lungo, posto a 50 cm dall'obiettivo. Calcolare il fattore di ingrandimento M, la lunghezza focale e l'angolo visivo. I dati: z = 500 mm, d' = 4.8 mm (lato orizzontale del CCD da 1/3"), d = 400 mm.

M  = d / d'   = 400 / 4.8   = 83.3
z' = z / M    = 500 / 83.3  ≈ 6 mm
1/f = 1/z + 1/z' = 1/500 + 1/6   ⇒  f ≈ 5.9 mm   (commerciale: 6 mm)
α  = 2 · atan(y / z) = 2 · atan(200/500) ≈ 43°

Si sceglie quindi un obiettivo commerciale da 6 mm, con un angolo visivo risultante di circa 43°.

Calcolatore di obiettivo

Cambia i tre input del problema e ricalcola. Con i valori di default ritrovi l'esempio delle slide.

I parametri fondamentali di un sistema di acquisizione

ParametroDefinizione
Field of View (FoV)Parte del mondo visibile attraverso la telecamera.
Working distanceDistanza tra l'oggetto e la parte frontale della lente.
ResolutionRisoluzione dell'immagine acquisita.
Depth of FieldAmpiezza della regione in cui l'oggetto appare sufficientemente a fuoco.
Sensor SizeDimensione fisica del sensore.

La profondità di campo è la zona in cui gli oggetti appaiono ancora nitidi e sufficientemente focalizzati; è legata principalmente all'apertura: aperture inferiori (per esempio f/32 rispetto a f/5.6) garantiscono una maggiore profondità di campo. Sul FoV agiscono invece zoom e spostamento: un ampio FoV corrisponde a piccola distanza, un piccolo FoV a grande distanza.

camera FoV working distance depth of field sfocato a fuoco sfocato
Tavola 1.4 — Field of view, working distance e profondità di campo. Riducendo l'apertura si allarga la fascia in cui gli oggetti restano nitidi.

Distorsione ed errori di prospettiva

La distorsione è causata da aberrazioni geometriche dell'obiettivo e si quantifica come:

Distorsione % = (Distanza attuale (AD) − Distanza vera (PD)) / Distanza vera (PD) × 100

Gli errori di prospettiva (parallasse) sono invece causati dalla riduzione a 2D di oggetti 3D: gli oggetti più vicini appaiono più grandi, con problemi su oggetti dotati di profondità. Con lenti telecentriche si riesce a correggere il fenomeno, purché l'oggetto sia più piccolo del diametro dell'obiettivo.

10. Telecamere, illuminazione e acquisizione 3D

Ogni applicazione reale di pattern recognition necessita di un sistema hardware per l'acquisizione del segnale: telecamere (visione robotica, ispezione industriale, sorveglianza, riconoscimento del volto), sistemi multicamera (ricostruzione 3D o visione panoramica), macchine fotografiche digitali (applicazioni off-line ad alta qualità), scanner (analisi di documenti, OCR, lettura codici), frame grabber e schede di image processing, hardware specializzato (sensori infrarossi, sonde ultrasoniche, TAC, lettori di impronte digitali).

Sensori e colore

Le telecamere utilizzano un array bidimensionale (sensore) di elementi fotosensibili realizzati su silicio, che convertono luce in corrente elettrica: CCD (migliore qualità) e CMOS (tecnologia più recente ed economica). L'immagine è focalizzata sul sensore mediante un obiettivo, normalmente intercambiabile, che determina l'ingrandimento e quindi il campo visivo. L'elettronica interna scandisce i pixel e impacchetta l'informazione in un segnale d'uscita (analogico o digitale).

Per le versioni a colori si usano filtri R, G, B, realizzabili in due modi: direttamente all'interno del sensore tramite una mascheratura dei pixel (Bayer pattern), oppure — nei modelli professionali — con 3 sensori, ognuno mascherato su un diverso colore.

TipologiaCaratteristiche
WebCamUscita digitale (USB), bassa qualità; adatte dove la qualità non è un requisito fondamentale.
IpCam / NetCamUscita digitale (Ethernet, Wi-Fi), operabili indoor/outdoor, collegabili ad applicazioni TCP/IP.
AnalogicheUscita analogica: necessario un frame grabber; interfacciabili con librerie proprietarie.
Digitali, progressive scanRestituiscono frame a piena risoluzione (non interlacciati), senza limitazioni di risoluzione verticale/orizzontale.
Smart cameraSistema integrato con processore a bordo: esegue elaborazioni dell'immagine e rende disponibili i risultati ad altri sistemi.

L'elenco è ordinato per costo crescente.

Illuminazione

Nelle applicazioni industriali l'illuminazione non è un dettaglio: è parte del progetto. Le slide (fonte: Edmund Optics) distinguono le tecniche in base al tipo di superficie.

Diffuse illumination — luce diffusa e uniforme da una sorgente estesa. Pro: riduce i riflessi e fornisce illuminazione uniforme, ampia working distance. Contro: ingombrante, difficile da inserire in spazi ristretti.

Diffuse axial illumination — luce diffusa in linea con l'ottica: la lente guarda attraverso un beamsplitter che riflette la luce sull'oggetto, coassiale all'asse di ripresa. Pro: molto uniforme, riduce fortemente le ombre, pochissimo glare. Contro: ingombrante e difficile da montare, working distance limitata, basso throughput (possono servire più sorgenti in fibra ottica).

Polarized light — illuminazione direzionale polarizzata per rimuovere speculatità e hot spot. Pro: illuminazione uniforme sull'intera superficie, riduce il glare rendendo visibili le caratteristiche superficiali. Contro: l'intensità complessiva si riduce dopo il filtro polarizzatore.

Directional illumination — sorgente puntiforme singola o multipla. Pro: luminosa, flessibile, facilmente integrabile. Contro: ombre e riflessi.

Glancing illumination (radente) — come la direzionale ma con angolo di incidenza molto inclinato. Pro: mette in evidenza la struttura superficiale e la topografia dell'oggetto. Contro: hot spot e ombre estreme. Applicazione: identificazione di difetti in oggetti con profondità ed esame della finitura di oggetti opachi.

Ring light — illuminazione coassiale montata direttamente sull'obiettivo. Pro: riduce le ombre, illuminazione uniforme alle distanze corrette. Contro: pattern circolare di riflesso su superfici riflettenti, funziona solo a working distance relativamente brevi.

Anteponendo un filtro ottico all'obiettivo è possibile aumentare il contrasto di determinati particolari dell'immagine, oppure utilizzare una telecamera monocromatica (risoluzione più elevata e costo inferiore) per la discriminazione dei colori.

Acquisizione 3D

TecnologiaPrincipioCaratteristiche
Camere stereoscopiche Due obiettivi paralleli simulano la visione binoculare; la superficie 3D è generata dalla coppia di immagini. Algoritmo: 1) trovare le feature in una delle due immagini; 2) cercare le stesse feature nell'altra; 3) calcolare la corrispondenza tra la coppia di feature per trovare la coordinata z. Sensibili alle variazioni d'illuminazione; costo basso; qualità media; tempo di acquisizione real-time.
Laser scanner Proiettano un singolo fascio laser sull'oggetto; la generazione del modello 3D è simile a quella degli scanner a luce strutturata. Sorgente invasiva e pericolosa per la retina; non sensibili alle variazioni d'illuminazione; costo medio-elevato; qualità elevata; 6-30 secondi.
Structured-light scanner Proiettano un pattern luminoso sulla scena (griglie, linee, cerchi, sinusoidi); il pattern viene distorto dalla superficie dell'oggetto. Catturano una superficie completa da un punto di vista; più punti di vista si combinano per un modello 3D completo. Sorgente alogena ordinaria, nessun problema per la retina; leggermente sensibili all'illuminazione; costo medio-elevato; qualità medio-elevata; 3-8 secondi.
Time-of-Flight Misura il tempo di volo della luce (esempio storico: Kinect v1 a luce strutturata, Kinect v2 a ToF). Sensori dedicati; usati anche in applicazioni indoor di activity recognition (capitolo 12).

11. Programma del corso, esame e progetto

Il programma dichiarato a inizio corso è la mappa dei capitoli che seguono:

  1. Richiami di elaborazione di immagini e filtraggio digitale (capitolo 2).
  2. Estrazione di feature: hand-crafted features vs representation learning; tecniche di segmentazione di basso livello basate su analisi del colore e algoritmo Mean Shift; feature di colore (color histograms e metriche di similarità, color moments); feature di tessitura (matrici di co-occorrenza dei livelli di grigio, filtri di Gabor e banchi di filtri, Haar features e immagine integrale, Local Binary Pattern); feature di forma (estrazione del contorno, rappresentazioni monodimensionali, descrittori di forma e di Fourier) — capitoli 3, 4, 5.
  3. Segmentazione semantica con deep learning, con esempi su immagini satellitari e mediche (capitolo 11).
  4. Image stitching e registrazione di immagini 2D: keypoint e descrittori locali, Harris corner detector, localizzazione invariante per scala (Harris-Laplace, LoG, DoG), descrittori SIFT, SURF, BRIEF, HOG, algoritmo RANSAC, cenni a SLAM (capitoli 6 e 8).
  5. Riconoscimento "in the wild": sistemi CBIR, Bag of visual Words, localizzazione e riconoscimento tramite template matching rigido basato su feature, trasformata di Hough, tecniche di deep learning per la localizzazione (capitoli 5, 7, 10).
  6. Videosorveglianza e analisi video: frame subtraction e background modeling, deep learning per tracking e crowd analysis, rilevamento e riconoscimento di attività umane (capitolo 12).

Modalità d'esame

L'esame si compone di due parti: consegna e discussione di un elaborato concordato con il docente, e una prova teorica (colloquio orale) sugli argomenti visti a lezione. Il materiale didattico sono le dispense fornite dal docente; i testi di riferimento servono solo per approfondimenti.

TestoUso
Zhang, Lipton, Li, Smola — Dive into Deep Learning (d2l.ai, 2020)Approfondimento deep learning
Elgendy — Deep Learning for Vision Systems, Manning 2020Approfondimento deep learning
Forsyth, Ponce — Computer Vision: a modern approach, Pearson 2012Fondamenti
Kaehler, Bradski — Learning OpenCV 3, O'Reilly 2017Pratica / implementazione
Shi — Emgu CV Essentials, Packt 2013Pratica / implementazione
Gonzalez, Woods — Elaborazione delle immagini digitali, Prentice Hall, 3ª ed. 2008Image processing

Altre risorse indicate: survey introduttive ai diversi argomenti; riviste di settore (IEEE Transactions on Pattern Analysis and Machine Intelligence, Pattern Recognition, Pattern Recognition Letters); archivi e motori di ricerca (Computer Vision Bibliography della USC); pagine di riferimento (Computer Vision Homepage della CMU, Pattern Recognition on the Web, IAPR, BIOLAB dell'Università di Bologna).

Il progetto

L'obiettivo del progetto è affrontare un problema di visione con tecniche tradizionali e/o approcci basati su deep learning. Può essere svolto singolarmente o in gruppo (massimo 3 persone).

La relazione deve essere organizzata in cinque sezioni: 1) introduzione al problema; 2) stato dell'arte; 3) approccio sviluppato; 4) valutazione sperimentale (dataset, protocollo di training e testing, indicatori di prestazioni utilizzati; risultati sperimentali; principali cause d'errore); 5) conclusioni e possibili sviluppi futuri. Per la discussione è possibile avvalersi di slide.

Per l'esame

Gli elementi di valutazione dichiarati sono cinque: soluzione proposta (originalità, validità tecnica), capacità di analisi critica dei risultati, correttezza del protocollo di valutazione, autonomia nella realizzazione, raggiungimento di un livello di prestazioni accettabile. L'esame è su appuntamento: non ci sono appelli prefissati, si concorda la data via mail.

Verifica le tue conoscenze

Come definisce Watanabe un pattern, e perché la traduzione "forma" è insufficiente?

Watanabe definisce un pattern come l'opposto del caos e come un'entità vagamente definita cui può essere dato un nome. "Forma" è insufficiente perché un pattern può non avere alcuna forma geometrica: un segnale sonoro, l'andamento di un titolo di borsa, un'impronta digitale e un volto sono tutti pattern.

Che differenza c'è tra classificazione supervisionata e non supervisionata?

Nella classificazione supervisionata le classi sono definite dal progettista; in quella non supervisionata sono "imparate" autonomamente dal sistema. Il concetto di classe è sempre semantico e dipende dall'applicazione: lo stesso insieme di immagini può richiedere 21 classi (lettere dell'alfabeto) o 2 (alfabeto italiano contro cirillico).

Perché si dice che il riconoscimento umano è un mapping "opaco"?

Perché i dettagli del processo sono inaccessibili agli osservatori e quasi sempre anche al riconoscitore stesso: sappiamo riconoscere un volto ma non sappiamo descrivere l'algoritmo che usiamo. L'implementazione su computer richiede invece un mapping trasparente, di cui sia possibile dare una descrizione precisa — un algoritmo.

Elencate i quattro approcci principali del pattern recognition e la loro idea centrale.

1. Template matching: costruire uno o più pattern modello e cercarli nell'immagine misurando il grado di matching nelle diverse posizioni. 2. Approccio statistico: ogni pattern è un punto in uno spazio multidimensionale; si estraggono feature e si classifica il punto con metodi su base statistica. 3. Approccio strutturale (sintattico): i pattern sono codificati in termini di componenti primitive e relazioni tra esse; il confronto avviene su primitive e relazioni (es. graph matching sulle impronte digitali). 4. Reti neurali: grafi orientati di neuroni che codificano mapping non lineari appresi da esempi.

Scrivete la regola del classificatore di minima distanza euclidea dell'esempio a una feature.

Se E è l'estensione dell'oggetto (primo momento invariante: estensione dei pixel rispetto al baricentro), l'oggetto è di classe T se (E − Avg_T)² < (E − Avg_C)², altrimenti di classe C, dove Avg_T e Avg_C sono le estensioni medie delle due classi misurate sul training set. La superficie di decisione è il punto medio tra i due prototipi.

Scrivete l'equazione del costruttore di lenti e spiegatene il significato operativo.

1/f = 1/z + 1/z', dove f è la distanza focale, z la distanza oggetto-lente e z' la distanza lente-sensore. Significato operativo: fissata f e posizionata la lente a distanza z' dal sensore, tutto ciò che dista z dalla lente risulta perfettamente a fuoco; agendo su z' si sceglie quali oggetti saranno più nitidi. Il fattore di ingrandimento è z/z' = y/y'.

Dato un CCD da 1/3" (lato 4.8 mm) e un oggetto di 40 cm a 50 cm, quale focale serve?

M = d/d' = 400/4.8 = 83.3; z' = z/M = 500/83.3 ≈ 6 mm; da 1/f = 1/500 + 1/6 si ottiene f ≈ 5.9 mm, quindi un obiettivo commerciale da 6 mm. L'angolo visivo risultante è α = 2·atan(y/z) = 2·atan(200/500) ≈ 43°.

Da cosa dipende principalmente la profondità di campo?

Principalmente dall'apertura: aperture inferiori (numero f più alto, es. f/32 rispetto a f/5.6) garantiscono una maggiore profondità di campo, cioè una fascia più ampia in cui gli oggetti appaiono nitidi e sufficientemente focalizzati.

Qual è la differenza tra distorsione ed errore di prospettiva, e come si correggono?

La distorsione è causata da aberrazioni geometriche dell'obiettivo (più accentuata su obiettivi economici e a corta focale, es. < 14 mm); si corregge otticamente con obiettivi multi-lente o via software, conoscendo il sistema ottico o usando target campione. L'errore di prospettiva (parallasse) è invece dovuto alla riduzione a 2D di oggetti 3D — gli oggetti più vicini appaiono più grandi — e si corregge con lenti telecentriche, purché l'oggetto sia più piccolo del diametro dell'obiettivo.

Come si ottiene un'immagine a colori da un sensore CCD/CMOS?

Con filtri R, G, B realizzati in due modi alternativi: mascheratura dei pixel direttamente sul sensore (Bayer pattern), oppure — nei modelli professionali — tre sensori, ciascuno mascherato su un diverso colore.

Confrontate stereo, laser scanner e luce strutturata per l'acquisizione 3D.

Stereo: due obiettivi paralleli, ricostruzione da corrispondenze di feature; sensibile all'illuminazione, costo basso, qualità media, real-time. Laser scanner: fascio laser singolo; non sensibile all'illuminazione ma invasivo e pericoloso per la retina, costo medio-elevato, qualità elevata, 6-30 s. Luce strutturata: proietta un pattern (griglie, linee, sinusoidi) deformato dalla superficie; sorgente alogena non pericolosa, leggermente sensibile all'illuminazione, costo medio-elevato, qualità medio-elevata, 3-8 s.

Che cosa insegna il caso dei fratelli West sulla scelta delle feature biometriche?

Che una feature deve essere discriminante nella popolazione reale: le 9-10 misure antropometriche del sistema di Bertillon (1882) non bastavano a distinguere due individui diversi, come emerse a Leavenworth nel 1903. Galton aveva già criticato il sistema su basi statistiche e nel 1892 aveva introdotto la nozione di minutia; nel 1893 il Ministero degli Interni britannico riconobbe l'unicità delle impronte digitali.