Estrazione di Feature (Parte 1)

[Slide](C:\UNI\Magistrale\visione\05_Estrazione di feature (parte 1).pdf)

Indice


Feature Invarianti

Definizione

Le feature invarianti sono caratteristiche estratte dai pattern che rimangono costanti (il più possibile) rispetto alle variazioni intra-classe — ad esempio area e perimetro di un oggetto sono invarianti rispetto a trasformazioni affini.

Il dilemma centrale: l’invarianza ai cambiamenti (illuminazione, rotazione, scala, ecc.) può essere gestita in due modi:

ApproccioFeatureClassificatore
Invarianza a livello di featureFeature invarianti (complesse)Classificatore semplice/veloce
Invarianza a livello di classificatoreFeature semplici (non invarianti)Classificatore robusto

Nessuno dei due è universalmente migliore — in pratica si usano spesso approcci ibridi. Le feature invarianti portano a una classificazione più veloce (utile con molte classi), ma i classificatori robusti con feature non invarianti offrono spesso maggiore accuratezza.


Hand-Crafted Features vs Representation Learning

Definizione

  • Hand-crafted features: rappresentazione numerica costruita manualmente dal progettista per codificare caratteristiche salienti (colore, forma, texture)
  • Representation learning: le feature vengono apprese automaticamente da reti neurali, partendo dall’immagine grezza, attraverso livelli di astrazione crescente

Pipeline hand-crafted:

Immagine → Feature extractor (manuale) → Classificatore → Output

Pipeline representation learning (deep learning):

Immagine → Low-level features → Mid-level features → High-level features → Classificatore → Output

Nel deep learning, ogni livello apprende trasformazioni non lineari: dai pixel si passa a edge, poi a parti di oggetti, poi a oggetti interi (es. Pixel → edge → texton → motif → parte → oggetto).

Quale Approccio Scegliere?

Hand-craftedDeep learning
Dati richiestiPochiMolti (o reti pre-addestrate)
InterpretabilitàAltaBassa
GeneralizzazioneLimitata al dominioPiù generale
Velocità sviluppoRichiede expertisePiù standardizzato

Note

Non esiste una tecnica universalmente migliore. La scelta dipende dall’applicazione, dalla quantità di dati disponibili e dai requisiti di interpretabilità.


Applicazioni

Le feature estratte dalle immagini sono usate per tre task principali:

  • Ricerche di similarità (CBIR — Content Based Image Retrieval): dato un’immagine query, trovare le immagini più simili nel database confrontando i vettori di feature
  • Classificazione: assegnare l’immagine a una delle classi note
  • Localizzazione: trovare dove si trova un certo oggetto nell’immagine

Feature di Colore

Color Histograms

Definizione

Un color histogram rappresenta la distribuzione dei colori in un’immagine: si quantizzano i canali dello spazio colore in bin e si conta quanti pixel cadono in ciascun bin.

Il numero totale di bin dipende da quanti bin si usano per ogni canale:

dove è il numero di bin del canale .

Istogramma 3D vs 3 istogrammi 1D:

  • 3D (): rappresentazione ricca, cattura le correlazioni tra canali, ma occupa più memoria
  • 3 x 1D (): più sintetico, perde le correlazioni tra canali

Metriche di confronto tra istogrammi:

Correlazione (similarità):

Intersezione (similarità):

Limitazione degli Istogrammi Colore

Problema Fondamentale

L’istogramma colore non tiene conto della disposizione spaziale dei pixel. Immagini strutturalmente molto diverse (es. scacchiera 2x2, strisce orizzontali, scacchiera fine) possono avere istogrammi identici se contengono le stesse quantità di bianco e nero.

Questo è il limite principale: lo stesso istogramma non significa stessa immagine.

Color Moments

Definizione

I color moments sono descrittori statistici del colore che trattano la distribuzione del colore come una distribuzione di probabilità, caratterizzandola con i suoi momenti statistici.

Dati pixel e il canale del pixel , i tre momenti principali sono:

Media (colore medio):

Deviazione standard (dispersione):

Skewness (asimmetria della distribuzione):

Il descrittore finale è il vettore di tutti i momenti calcolati su ciascun canale. Per il confronto si usa tipicamente la distanza euclidea (eventualmente pesata).

Globale vs Locale

I color moments (e altri descrittori globali) calcolati sull’intera immagine perdono l’informazione spaziale. Per arricchire il descrittore si può:

  • Partizionare l’immagine in regioni disgiunte e calcolare i momenti per ciascuna
  • Fuzzy regions: regioni parzialmente sovrapposte (più robuste a piccoli spostamenti)

La stessa strategia è applicabile a qualsiasi descrittore globale.


Feature di Tessitura (Texture)

Definizione

La texture è una superficie non omogenea caratterizzata da primitive che si ripetono secondo alcune regole. Dal punto di vista percettivo si distinguono tre aspetti: conformazione del granulo, direzionalità e periodicità (scala).

Uso: classificazione di materiali, telerilevamento, riconoscimento di superfici, analisi medica.

Matrici di Co-occorrenza

Definizione

Le matrici di co-occorrenza (GLCM — Gray-Level Co-occurrence Matrix) sono istogrammi 2D che descrivono con quale frequenza due livelli di grigio e compaiono vicini secondo una direzione e distanza specificata.

Una matrice è definita da un vettore spostamento : l’elemento è la probabilità che un pixel abbia intensità e il pixel in posizione abbia intensità .

Si calcolano tipicamente le 4 matrici fondamentali: , , , (corrispondenti a 0°, 45°, 90°, 135°).

Misure estratte dalle matrici:

MisuraFormulaSignificato
EnergiaAlta per texture uniforme o periodica
EntropiaAlta per texture irregolare (misura “disordine”)
ContrastoMisura le variazioni locali di luminosità
OmogeneitàAlta se i valori sono vicini alla diagonale

Banchi di Filtri e Filtri di Gabor

L’approccio a banchi di filtri consiste nel convolve l’immagine con una serie di filtri e estrarre indicatori statistici (media, varianza) dalle risposte ottenute.

I filtri di Gabor sono la scelta più diffusa — hanno analogie con il sistema visivo umano. Ogni filtro è una sinusoide modulata da una gaussiana:

dove è l’orientazione, la frequenza della sinusoide, e le deviazioni standard della gaussiana. Le coordinate sono quelle di dopo una rotazione di .

Generazione del banco: si discretizzano i 3 parametri (, , ) nei range di interesse — ad esempio 6 orientazioni e 4 scale producono 24 filtri.

Estrazione delle feature: si applica la convoluzione nei punti di interesse (griglia uniforme o punti salienti) e si concatenano le risposte per formare il vettore di feature.

Local Binary Pattern (LBP)

Definizione

Il Local Binary Pattern (LBP) è un operatore che descrive la texture locale confrontando ogni pixel con i suoi vicini in un intorno 3×3: se il vicino ha valore ≥ del pixel centrale, contribuisce con 1, altrimenti con 0. La stringa binaria risultante codifica la struttura locale.

Versione circolare (più flessibile): l’intorno è definito da due parametri:

  • : numero di punti campione sul cerchio
  • : raggio dell’intorno circolare

Pattern uniformi: un pattern LBP è detto uniforme se presenta al massimo 2 transizioni 0→1 o 1→0 letto in modo circolare. Questi pattern corrispondono alle strutture locali più significative (edge, spot, corner) e permettono di ridurre il numero di bin da a soli .

Feature vector: l’immagine è suddivisa in sottofinestre; per ciascuna si costruisce un istogramma di pattern (uniformi + non uniformi); i vari istogrammi vengono concatenati per formare il vettore finale.

Binarized Statistical Image Features (BSIF)

Definizione

Il BSIF è simile a LBP ma invece di usare regole fisse usa filtri lineari appresi (via ICA) da immagini naturali per costruire la stringa binaria.

Pipeline:

  1. Per ogni patch dell’immagine, si calcola la risposta per ciascun filtro
  2. Si binarizza: se , altrimenti
  3. La stringa binaria è la concatenazione dei
  4. L’immagine è rappresentata dall’istogramma delle occorrenze di tutte le possibili stringhe

Vantaggio su LBP: i filtri appresi catturano pattern più discriminativi rispetto a quelli definiti a mano. Usato in face anti-spoofing (PAD).

Haar-like Features e Immagine Integrale

Definizione

Le Haar-like features sono maschere binarie rettangolari che codificano variazioni di intensità luminosa. Il valore di ogni feature è la differenza tra la somma dei pixel nelle zone bianche e nere della maschera.

Esistono 4 tipi di maschere base (verticale, orizzontale, diagonale, a 4 rettangoli). Per una finestra 24×24 si ottengono in totale 49.396 feature considerando tutte le posizioni e scale possibili.

Applicazione principale: il localizzatore di Viola e Jones per il rilevamento di volti, che combina:

  1. Haar-like features per la rappresentazione
  2. Boosting (AdaBoost) per selezionare le feature più discriminative e costruire un classificatore robusto
  3. Multiscale detection: la finestra di ricerca scorre sull’immagine a scale diverse

Immagine Integrale

Il calcolo efficiente delle Haar-like features si basa sull’immagine integrale:

Ogni elemento è la somma di tutti i pixel a sinistra e sopra di . Si calcola in una sola passata dell’immagine con le formule ricorsive:

Grazie all’immagine integrale, la somma dei pixel in qualsiasi rettangolo si calcola con soli 4 accessi in memoria (usando i 4 angoli del rettangolo), indipendentemente dalla dimensione del rettangolo. Questo rende il calcolo delle Haar-like features estremamente efficiente.


Prossimi Argomenti

Continueremo con: