Estratto del documento

B B

 L'input viene riscalato: si sottrae la media e si divide per la deviazione standard (radice della

varianza), spostando la distribuzione nell'intorno di zero.

 Infine, si introducono due parametri addestrabili, (scale) e (shift), per riscalare l'output

γ β

normalizzato.

Questo processo (normalizzazione, scala e shift) rende il modulo robusto ai cambiamenti nei valori di

input.

Transfer Learning

Il Transfer Learning è una tecnica che permette di sfruttare la conoscenza Knowledge) appresa da un

modello addestrato su un certo dominio e applicarla a un altro dominio o task.

L'ultima fase di addestramento sul nuovo dominio è il "fine tuning". Invece di imparare da zero, il modello

"target" si limita a rifinire e specializzare la conoscenza generale già acquisita.

Il risultato finale è un modello molto più efficace di quello che si otterrebbe addestrandolo da capo (il "caso uno"

del diagramma "Traditional ML").

Le reti neurali profonde NN sono spesso considerate delle "black box". È difficile interpretare come

arrivino a un determinato risultato, rendendo necessario lo sviluppo di metodi di "explanation"

(spiegazione).

Le Saliency Maps

Riassunto Computer Vision 41

Le Saliency Map sono uno di questi metodi di spiegazione, spesso applicati ai layer convolutivi.

Obiettivo: Capire quali regioni dell'immagine di input sono state più significative per ottenere un determinato

output (classificazione).

Classificazione: Questi metodi si differenziano in base a tre criteri principali:

Locality: Se analizzano l'input a livello di singolo layer Locali ) o globalmente.

Specificity: Se sono specifici per un modello (model-specific) o applicabili a qualsiasi modello (model-

agnostic).

Interpretation: Il tipo di analisi usata, come quella basata sul gradiente (backpropagation) o sulla

perturbazione (forward propagation).

Ricostruzione Inversa

Un approccio fondamentale (come la Deconvolution ) consiste nel navigare la rete al contrario, dall'output verso

l'input, per capire come i singoli filtri abbiano interagito con l'input.

Processo: Si applicano le funzioni inverse rispetto a quelle usate nel forward pass.

Forward Pass Ramo Destro): Mostra un'operazione standard di CONV Convolutional Filtering ) e Max

Pooling.

Backward Pass Ramo Sinistro): Mostra l'applicazione delle funzioni inverse per ricostruire l'input. Si usano

gli "Switches" (le posizioni dei massimi ) per eseguire un Max Unpooling e una Deconvolution

T

Convolutional Filtering ).

F

Scopo: L'obiettivo non è ricostruire l'input originale, ma solo le feature più importanti che hanno portato

all'output.

Altri Metodi : Esistono diversi algoritmi, come Vanilla Gradient (calcola il gradiente della loss rispetto

all'input ), Guided Backpropagation (combina deconvolution e backpropagation ) e SmoothGrad (aggiunge

rumore e calcola una media delle mappe ).

Il risultato finale è una "heatmap" (mappa di calore) che visualizza uno score di importanza.

Interpretazione Visiva: Queste immagini plottano l'importanza su una scala di valori:

Le regioni più chiare (punti gialli) sono quelle che hanno contribuito di più alla classificazione.

Le regioni più scure (punti blu/viola) sono quelle che hanno contribuito meno.

Riassunto Computer Vision 42

Confronto: Come mostrano le immagini, algoritmi diversi Vanilla, Guided, SmoothGrad) producono mappe

di salienza diverse per la stessa immagine, poiché il risultato dipende dall'algoritmo, dal gradiente e

dall'output analizzato.

show_saliency_maps.ipynb

Object Detection

Il task dell'Object Detection Rilevamento di Oggetti) consiste nell'individuare gli oggetti all'interno di

un'immagine e rispondere a due domande: "Cosa c'è?" (classificazione) e "Dove si trova?" (localizzazione).

Come hai sottolineato, la differenza fondamentale tra questo e la classificazione pura si trova nell'output della

rete e, di conseguenza, nella funzione di loss:

Object Detection: Aggiunge la domanda "Dove?". L'output non è solo un'etichetta, ma una lista di bounding

box, ognuno associato a un'etichetta.

Bounding Box: Localizzazione e Regressione

La posizione "Dove" è caratterizzata da un bounding box (un rettangolo).

Rappresentazione: Un box è definito da 4 coordinate. Invece di usare i due angoli opposti, che possono

(c , )

avere una variabilità maggiore, si preferisce usare un punto di riferimento centrale e specificare

c

x y

(h) (w)

altezza e ampiezza .

Riassunto Computer Vision 43

Normalizzazione: Usare coordinate in pixel (es. da 0 a 970 è problematico, poiché le reti neurali gestiscono

male grandi variazioni (il calcolo del gradiente va male). Per questo, le coordinate vengono normalizzate tra

0 e 1.

Task Combinato: Siccome l'output è una lista di 4 numeri (coordinate) e 1 etichetta (classe), il problema

diventa di classificazione + regressione. La lunghezza della lista è variabile (un box se c'è un cane, due box

se ci sono un cane e un gatto).

Regressione Relativa: Come "trucchetto" per stabilizzare la regressione, molti modelli non predicono le 4

coordinate assolute, ma lo "spostamento relativo" (offset) rispetto a una regione o un box di riferimento .

Valutazione di un Detector

Per definire un detector "buono", si usano due criteri principali: accuratezza e velocità.

Accuratezza (mAP)

Intersection over Union IoU Per valutare una predizione abbiamo bisogno di un criterio di "tolleranza".

L'IoU misura quanto il box predetto si sovrappone al box reale (ground truth). Si calcola come l'area

A∩B

=

dell'intersezione divisa per l'area dell'unione: . Se l'IoU è sopra una soglia, la predizione è

IoU A∪B

considerata corretta True Positive).

Riassunto Computer Vision 44

mAP (mean Average Precision): È la metrica standard per misurare l'accuratezza, basata sulle curve di

precision e recall calcolate per ogni classe (es. mAP per "umani" e mAP per "computer").

Velocità (FPS)

Frames Per Second FPS Per applicazioni real-time (come guida autonoma o video-sorveglianza) non si

analizzano immagini singole, ma "flussi di immagini" (video). L'FPS misura "il numero di immagini al secondo

che siamo in grado di analizzare".

Trade-off: Come hai notato, lo scenario applicativo è fondamentale. La video-sorveglianza richiede alta

"correttezza predittiva" ma anche "tempestività". La guida autonoma deve essere tempestiva per dare al

sistema il "tempo per reagire".

Esistono due famiglie di detector:

 Multi-Shot Detectors (es. RCNN Hanno responsi di "alta qualità" (mAP elevato) ma sono "molto lenti"

FPS bassi).

 Single-Shot Detectors (es. SSD, YOLO Sono "più veloci" FPS alti) ma "meno qualitativi" (mAP più basso).

Evoluzione dei Detector Multi-Shot

RCNN

È stato il primo approccio deep learning all'object detection.

Idea: Estrarre le regioni di interesse ROI e passarle a una CNN13.

Processo:

 Generazione ROI Utilizza un algoritmo esterno (non-neurale) chiamato Selective Search. Come hai

descritto, questo algoritmo fa un clustering gerarchico dei pixel basandosi su "vicinanza spaziale" e

"intensità del pixel" (valori dei canali). La ROI è il box più piccolo che contiene un cluster.

 Estrazione Features: Ognuna delle 2000 ROI viene ridimensionata ("warped") e passata

individualmente in una CNN (es. VGG per estrarre le features.

 Predizione: Le features vengono usate da un classificatore e un regressore.

Svantaggio: Estremamente lento 47 sec/immagine), perché la VGG viene eseguita 2000 volte.

Riassunto Computer Vision 45

Fast RCNN

L'obiettivo è ottimizzare la fase di convoluzione.

Idea: È inefficiente applicare la VGG 2000 volte. Applichiamola "una volta sola sull'immagine" intera.

Processo:

 La VGG genera un'unica feature map (es. 1414512.

 Le ROI (sempre da Selective Search) vengono "proiettate" sulla feature map.

 Problema: Le ROI proiettate hanno dimensioni diverse, e non possiamo ridimensionarle (si "altererebbe il

contenuto" delle feature).

 Soluzione: RoI Pooling Adaptive Pooling). Questo strato adatta il pooling alla dimensione della regione,

producendo un output di dimensione fissa (es. 77 per tutte.

Risultato: Speed-up notevole 2 sec/immagine), ma ora il collo di bottiglia è l'algoritmo esterno Selective

Search.

Faster RCNN

L'idea è integrare tutto nella rete.

Riassunto Computer Vision 46

Idea: Sostituire Selective Search con una rete neurale. Si ottiene un'architettura integrata multi-shot (a due

livelli)23.

Architettura:

 Stadio 1 RPN Una Region Proposal Network RPN genera le region proposal.

 Stadio 2 Detector): Un detector Fast RCNN usa le proposte della RPN.

Come funziona la RPN

Anchor Boxes Priors): La RPN non cerca da zero, ma definisce le regioni in termini di "prior" o anchor

box: box pre-calcolati con dimensioni e aspect ratio fissati, "ancorati" a posizioni predeterminate.

Griglia e Subsampling: La RPN lavora sulla feature map (es. 5050, con subsampling ratio 16

50 × 50

dall'immagine 800800. Ognuno dei punti della mappa funge da "ancora".

50 × 50 = 9 50 ×

Predizioni Massive: Se per ognuno dei punti definiamo ancore, la rete deve fare

k

50 × 9 = 22.500 predizioni.

Implementazione Convoluzionale Slide 6263 Per ogni ancora, la rete deve predire: "interseca un

oggetto?" (classificazione) e "quanto dista dall'oggetto?" (regressione). Questo viene fatto in parallelo

usando due layer CONV 11: × 2

 Classification Layer: Un CONV 11 con canali (es. 18 canali). Per ogni punto, predice 2 score

k

(oggetto/non-oggetto) per ognuna delle ancore.

k

× 4

 Regression Layer: Un CONV 11 con canali (es. 36 canali). Per ogni punto, predice i 4 offset

k

per ognuna delle ancore.

k

Riassunto Computer Vision 47

Le predizioni finali si trovano "negli ultimi vettori che stanno in ogni pixel" di questi tensori di

output. Questi tensori vengono poi riformattati in tabelle per calcolare la loss.

YOLO

YOLOv12 rappresenta l'ultima iterazione di questa famiglia di

Anteprima
Vedrai una selezione di 7 pagine su 30
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 2 Pag. 1 Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 2 Pag. 2
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 2 Pag. 6
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 2 Pag. 11
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 2 Pag. 16
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 2 Pag. 21
Anteprima di 7 pagg. su 30.
Scarica il documento per vederlo tutto.
Computer Vision (Giuseppe Manco): Guida completa (Elaborazione Immagini, CNN, Feature Extraction), parte 2 Pag. 26
1 su 30
D/illustrazione/soddisfatti o rimborsati
Acquista con carta o PayPal
Scarica i documenti tutte le volte che vuoi
Dettagli
SSD
Scienze matematiche e informatiche INF/01 Informatica

I contenuti di questa pagina costituiscono rielaborazioni personali del Publisher stefano-brusco2001 di informazioni apprese con la frequenza delle lezioni di Computer vision e studio autonomo di eventuali libri di riferimento in preparazione dell'esame finale o della tesi. Non devono intendersi come materiale ufficiale dell'università Università della Calabria o del prof Marco Rossi.
Appunti correlati Invia appunti e guadagna

Domande e risposte

Hai bisogno di aiuto?
Chiedi alla community