Rilevamento di oggetti per manichini Parte 2: CNN, DPM e Overfeat

La parte 2 introduce diversi classici progetti di architettura di lavoro neurale convoluzionale per la classificazione delle immagini (AlexNet, VGG, ResNet), nonché modelli DPM (Deformable Parts Model) e Overfeat per il riconoscimento di oggetti.

Parte 1 della serie “Object Detection for Dummies” ha introdotto: (1) il concetto di image gradient vector e come HOG algorithm riassume le informazioni su tutti i vettori di gradiente in un’immagine; (2) come funziona l’algoritmo di segmentazione dell’immagine per rilevare le regioni che potenzialmente contengono oggetti; (3) come l’algoritmo di ricerca selettiva affina i risultati della segmentazione dell’immagine per una migliore proposta di regione.

Nella Parte 2, stiamo per saperne di più sulle classiche architetture di rete neurale a convoluzione per la classificazione delle immagini. Gettano le basi per ulteriori progressi sui modelli di apprendimento profondo per il rilevamento di oggetti. Vai a controllare la parte 3 se vuoi saperne di più su R-CNN e sui modelli correlati.

Link a tutti i post della serie: .

CNN per la classificazione delle immagini

CNN, abbreviazione di “Rete neurale convoluzionale”, è la soluzione ideale per i problemi di visione artificiale nel mondo dell’apprendimento profondo. Era, in una certa misura, ispirato da come funziona il sistema della corteccia visiva umana.

Operazione di convoluzione

Consiglio vivamente questa guida all’aritmetica di convoluzione, che fornisce una spiegazione pulita e solida con tonnellate di visualizzazioni ed esempi. Qui concentriamoci sulla convoluzione bidimensionale mentre stiamo lavorando con le immagini in questo post.

In breve, l’operazione di convoluzione fa scorrere un kernel predefinito (chiamato anche “filtro”) sulla mappa delle funzionalità di input (matrice di pixel dell’immagine), moltiplicando e aggiungendo i valori del kernel e le funzionalità di input parziali per generare l’output. I valori formano una matrice di output, come di solito, il kernel è molto più piccolo dell’immagine di input.

Operazione di convoluzione

Fig. 1. Un’illustrazione dell’applicazione di un kernel sulla mappa delle funzionalità di input per generare l’output. (Fonte immagine: River Trail documentation)

La figura 2 mostra due esempi reali di come convogliare un kernel 3×3 su una matrice 2D 5×5 di valori numerici per generare una matrice 3×3. Controllando la dimensione del padding e la lunghezza del passo, possiamo generare una matrice di output di una certa dimensione.

Operazione di convoluzioneOperazione di convoluzione

Fig. 2. Due esempi di operazione di convoluzione 2D: (in alto) no padding e 1×1 strides; (in basso) 1×1 border zeri padding e 2×2 strides. (Fonte immagine: deeplearning.net)

AlexNet (Krizhevsky et al, 2012)

  • 5 livelli di convoluzione + 2 livelli MLP + 1 livello LR
  • Utilizzare tecniche di aumento dei dati per espandere il set di dati di allenamento, come traduzioni di immagini, riflessioni orizzontali ed estrazioni di patch.

Esempio di pperazione di convoluzione

Fig. 3. L’architettura di AlexNet. (Fonte immagine: link)

VGG (Simonyan e Zisserman, 2014)

  • La rete è considerata “molto profonda” al suo tempo; 19 livelli
  • L’architettura è estremamente semplificata con solo 3×3 livelli convoluzionali e 2×2 livelli di pooling. L’impilamento di piccoli filtri simula un filtro più grande con meno parametri.

ResNet (He et al., 2015)

  • La rete è davvero molto profonda; 152 strati di architettura semplice.
  • Blocco residuo: alcuni input di un determinato livello possono essere passati al componente due livelli più tardi. I blocchi residui sono essenziali per mantenere una rete profonda addestrabile e alla fine funzionare. Senza blocchi residui, la perdita di allenamento di una rete semplice non diminuisce monotonicamente all’aumentare del numero di strati a causa di gradienti di fuga ed esplosione.

Blocco residuo

Fig. 4. Un’illustrazione del blocco residuo di ResNet. In qualche modo, possiamo dire che il design dei blocchi residui è ispirato da V4 che riceve input direttamente da V1 nel sistema della corteccia visiva umana. (fonte immagine a sinistra: Wang et al., 2017)

Metriche di valutazione: mAP

Una metrica di valutazione comune utilizzata in molte attività di riconoscimento e rilevamento di oggetti è “mAP”, abbreviazione di”precisione media media”. È un numero da 0 a 100; il valore più alto è migliore.

  • Combina tutti i rilevamenti da tutte le immagini di prova per disegnare una curva di richiamo di precisione (curva PR) per ogni classe; La “precisione media” (AP) è l’area sotto la curva PR.
  • Dato che gli oggetti target si trovano in classi diverse, calcoliamo prima AP separatamente per ogni classe e quindi la media sulle classi.
  • Un rilevamento è un vero positivo se ha “intersection over union” (IoU) con una casella di verità al suolo maggiore di una soglia (di solito 0.5; in tal caso, la metrica è “[email protected]”)

Modello di parti deformabili

Il modello di parti deformabili (DPM) (Felzenszwalb et al., 2010) riconosce oggetti con un modello grafico misto (campi casuali di Markov) di parti deformabili. Il modello è costituito da tre componenti principali:

  1. Un filtro radice grossolana definisce una finestra di rilevamento che copre approssimativamente un intero oggetto. Un filtro specifica i pesi per un vettore di funzionalità di regione.
  2. Filtri di parti multiple che coprono parti più piccole dell’oggetto. I filtri delle parti vengono appresi a due volte la risoluzione del filtro radice.
  3. Un modello spaziale per segnare le posizioni dei filtri delle parti rispetto alla radice.

DPM

Fig. 5. Il modello DPM contiene (a) un filtro radice, (b) più filtri di parti a due volte la risoluzione e (c) un modello per segnare la posizione e la deformazione delle parti.

La qualità del rilevamento di un oggetto è misurata dal punteggio dei filtri meno i costi di deformazione. Il punteggio corrispondente \(f\), in termini profani, è:

\\]

in cui,

  • \(x\) è un’immagine con una posizione e una scala specificate;
  • \(y\) è una sottoregione di \(x\).
  • \(\beta_\text{root}\) è il filtro radice.
  • \(\beta_ \ text{part}\) è un filtro di una parte.
  • cost() misura la penalità della parte che si discosta dalla sua posizione ideale rispetto alla radice.

Il modello di punteggio di base è il prodotto punto tra il filtro \(\beta\) e il vettore di funzionalità della regione \(\Phi(x)\): \(f(\beta, x) = \beta \cdot \Phi(x)\). Il set di funzionalità \(\Phi (x)\) può essere definito da HOG o altri algoritmi simili.

Una posizione radice con punteggio elevato rileva una regione con elevate possibilità di contenere un oggetto, mentre le posizioni delle parti con punteggio elevato confermano un’ipotesi oggetto riconosciuta. Il documento ha adottato SVM latente per modellare il classificatore.

Processo di corrispondenza DPM

Fig. 6. Il processo di corrispondenza da DPM. (Fonte immagine: Felzenszwalb et al., 2010)

L’autore ha successivamente affermato che i modelli DPM e CNN non sono due approcci distinti al riconoscimento degli oggetti. Invece, un modello DPM può essere formulato come CNN srotolando l’algoritmo di inferenza DPM e mappando ogni passaggio su un livello CNN equivalente. (Controllare i dettagli in Girshick et al., 2015!)

Overfeat

Overfeat è un modello pionieristico di integrazione delle attività di rilevamento, localizzazione e classificazione degli oggetti in un’unica rete neurale convoluzionale. L’idea principale è (i) eseguire la classificazione delle immagini in posizioni diverse su regioni di più scale dell’immagine in modo scorrevole e (ii) prevedere le posizioni del riquadro di delimitazione con un regressore addestrato sopra gli stessi livelli di convoluzione.

L’architettura del modello Overfeat è molto simile ad AlexNet. È addestrato come segue:

Allenamento Overfeat

Fig. 7. Le fasi di allenamento del modello Overfeat. (Fonte immagine: link)

  1. Addestrare un modello CNN (simile a AlexNet) sul compito di classificazione delle immagini.
  2. Quindi, sostituiamo i livelli del classificatore superiore con una rete di regressione e lo addestriamo a prevedere i riquadri di delimitazione degli oggetti in ogni posizione spaziale e scala. Il regressore è specifico per la classe, ciascuno generato per una classe di immagine.
    • Input: Immagini con classificazione e riquadro di delimitazione.
    • Output: \((x_ \ text{left}, x_ \ text{right}, y_ \ text {top}, y_\text{bottom})\), 4 valori in totale, che rappresentano le coordinate dei bordi del riquadro di delimitazione.
    • Perdita: Il regressore viene addestrato per ridurre al minimo la norma \(l2\) tra il riquadro di delimitazione generato e la verità di base per ogni esempio di allenamento.

Al momento del rilevamento,

  1. Eseguire la classificazione in ogni posizione utilizzando il modello CNN pretrained.
  2. Predire le caselle di delimitazione degli oggetti su tutte le regioni classificate generate dal classificatore.
  3. Unisci i riquadri di delimitazione con sufficiente sovrapposizione dalla localizzazione e sufficiente sicurezza di essere lo stesso oggetto dal classificatore.

Citata come:

@article{weng2017detection2, title = "Object Detection for Dummies Part 2: CNN, DPM and Overfeat", author = "Weng, Lilian", journal = "lilianweng.github.io/lil-log", year = "2017", url = "http://lilianweng.github.io/lil-log/2017/12/15/object-recognition-for-dummies-part-2.html"}

Riferimento

Vincent Dumoulin e Francesco Visin. “A guide to convolution arithmetic for deep learning.”arXiv preprint arXiv: 1603.07285 (2016).

Haohan Wang, Bhiksha Raj, e Eric P. Xing. “Sull’origine dell’apprendimento profondo.”arXiv preprint arXiv: 1702.07800 (2017).

Pedro F. Felzenszwalb, Ross B. Girshick, David McAllester e Deva Ramanan. “Rilevamento di oggetti con modelli part-based addestrati in modo discriminatorio.”IEEE transactions on pattern analysis and machine intelligence 32, no. 9 (2010): 1627-1645.

Ross B. Girshick, Forrest Iandola, Trevor Darrell e Jitendra Malik. “I modelli di parti deformabili sono reti neurali convoluzionali.”In Proc. IEEE Conf. su Computer Vision e Pattern Recognition (CVPR), pp. 437-446. 2015.

Sermanet, Pierre, David Eigen, Xiang Zhang, Michaël Mathieu, Rob Fergus e Yann LeCun. “OverFeat: riconoscimento integrato, localizzazione e rilevamento utilizzando reti convoluzionali” arXiv preprint arXiv: 1312.6229 (2013).

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.