Ancoraggio più veloce RCNN


10

Nel documento Faster RCNN quando si parla di ancoraggio, cosa significano usando "piramidi di caselle di riferimento" e come si fa? Questo significa semplicemente che in ciascuno dei punti di ancoraggio W * H * k viene generato un rettangolo di selezione?

Dove W = larghezza, H = altezza e k = numero di proporzioni * num scale

collegamento alla carta: https://arxiv.org/abs/1506.01497


Questa è un'ottima domanda
Michael R. Chernick,

Risposte:


10

Spiegazione delle ancore

ancore

Per il momento, ignora il termine elaborato di "piramidi di caselle di riferimento", le ancore non sono altro che rettangoli di dimensioni fisse da alimentare nella rete di proposte regionali. Le ancore sono definite sull'ultima mappa caratteristica convoluzionale, nel senso che ci sono , ma corrispondono all'immagine. Per ogni ancoraggio, quindi, l'RPN prevede la probabilità di contenere un oggetto in generale e quattro coordinate di correzione per spostare e ridimensionare l'ancoraggio nella posizione corretta. Ma come può la geometria delle ancore fare qualcosa con l'RPN? (HfeaturemapWfeaturemap)(k)

Le ancore appaiono effettivamente nella funzione Perdita

Durante l'addestramento dell'RPN, viene prima assegnata un'etichetta di classe binaria a ciascun ancoraggio. Le ancore con intersezione su Unione ( IoU ) si sovrappongono a una casella di verità di terra, superiore a una certa soglia, viene assegnata un'etichetta positiva (allo stesso modo le ancore con IoU inferiori a una determinata soglia saranno etichettate come Negative). Queste etichette vengono inoltre utilizzate per calcolare la funzione di perdita:

Funzione di perdita RPN

p tp è l'output della testa di classificazione dell'RPN che determina la probabilità che l'ancora contenga un oggetto. Per le ancore etichettate come Negative, nessuna perdita è sostenuta dalla regressione - , l'etichetta di ground-verità è zero. In altre parole, la rete non si preoccupa delle coordinate emesse per le ancore negative ed è felice purché le classifichi correttamente. In caso di ancore positive, viene presa in considerazione la perdita di regressione. è l'output della testa di regressione dell'RPN, un vettore che rappresenta le 4 coordinate parametrizzate del riquadro di delimitazione previsto. La parametrizzazione dipende dalla geometria dell'ancoraggio ed è la seguente:pt

inserisci qui la descrizione dell'immagine

dove e h indicano le coordinate centrali del riquadro e la sua larghezza e altezza. Le variabili e sono rispettivamente per il riquadro previsto, il riquadro di ancoraggio e il riquadro di verità di terra (allo stesso modo per ).x , x a , x y , w , hx,y,w,x,xa,xy,w,h

Si noti inoltre che le ancore senza etichetta non sono né classificate né rimodellate e l'RPM le elimina semplicemente dai calcoli. Una volta terminato il lavoro dell'RPN e generate le proposte, il resto è molto simile ai Fast R-CNN.


@Fathi E se avessimo molte lezioni? Per quanto ne so, in Fast R-CNN ad ogni RoI di addestramento viene assegnata una classe di verità di base. Quindi, immagino che succeda qualcosa di simile qui?
Thanasissdr,

@Fathi sono totalmente d'accordo con quello che stai dicendo, quindi suppongo che tu sia d'accordo con me. Voglio dire, gli autori dell'articolo originale per Faster R-CNN hanno usato solo due classi (sfondo / oggetto) per semplicità, cercando di spiegare come funziona RPN, giusto? Quindi, invece di avere solo due classi, potrei avere più di solo due e credo di poter prendere la nota funzione di perdita incrociata dell'entropia, giusto?
Thanasissdr,

@thanasissdr L'idea alla base di Faster R-CNN era che "quando le reti neurali sono così brave in tutto il resto, perché non usarle anche per le proposte regionali?". Confrontando R-CNN veloce con R-CNN standard, l'unica differenza è che le proposte RoI - che di nuovo vengono fatte usando le stesse vecchie tecniche, come SelectiveSearch o EdgeBoxes - vengono mappate dall'immagine non elaborata alle caratteristiche convoluzionali e quindi inviate a gli FC. In questo modo viene omesso il processo di forward forward di ogni RoI tramite CNN.
Mahan Fathi,

In R-CNN più veloce, l'RPN impara a proporre regioni appropriate. Una volta terminato l'RPN, il resto è simile a Fast R-CNN e gli FC classificano e regrediscono le proposte.
Mahan Fathi,

@thanasissdr Sì. Siamo sulla stessa pagina. Suppongo che tu possa classificarti in RPN, ma ciò non sarebbe necessario poiché la rete FC fa di nuovo la classifica e non ha difficoltà a respingere le proposte spazzatura. Pensa anche alla pipeline, come hai intenzione di utilizzare i punteggi di classificazione e come sarebbero di aiuto? Il mio stand finale è, la classificazione (di sfondo / oggetto) è una pietra miliare in Faster R-CNN.
Mahan Fathi,

1

Ho letto questo documento ieri e, a prima vista, è stato confuso anche per me. Dopo aver riletto sono giunto a questa conclusione:

  • L'ultimo livello della rete originale (ZF o VGG-16) funge da input per la rete di proposte regionali e il pool di RoI. Nel caso del VGG-16, quest'ultimo strato conv è a 7x7x512 (HxWxD).
  • Questo livello è mappato su un livello a 512 dimensioni con un 3x3livello conv. La dimensione dell'output è 7x7x512(se si utilizza l'imbottitura).
  • Questo livello è mappato su un livello 7x7x(2k+4k)(ad esempio 7x7x54) con un 1x1livello conv per ciascuna delle kcaselle di ancoraggio.

Ora, secondo la Figura 1 nel documento, puoi avere una piramide di immagini di input (le stesse immagini con una scala diversa), una piramide di filtri (filtri di una scala diversa, nello stesso livello) o una piramide di caselle di riferimento. Quest'ultimo si riferisce alle kcaselle di ancoraggio all'ultimo livello della rete di proposte della regione. Invece di filtri con dimensioni diverse che sono impilati uno sopra l'altro (il caso centrale), i filtri con dimensioni e proporzioni diverse sono impilati uno sopra l'altro.

In breve, per ogni punto di ancoraggio ( HxWad es. ) Viene utilizzata 7x7una piramide di caselle di riferimento ( kad es. 9).


ma che cos'è esattamente una scatola di ancoraggio? Lo scopo di ciascuna scatola di ancoraggio: utilizzato come input per l'RPN per prevedere un delta in larghezza e altezza della scatola di ancoraggio per ogni scatola di ancoraggio considerata parte del primo piano?
BadProgrammer

L'RPN prevede sia il delta shift della posizione in primo piano sia il punteggio di obiettività. Quest'ultimo cerca di prevedere esplicitamente se si tratta di sfondo o primo piano (vedi anche la nota 3).
Pieter,

Potresti spiegare come si 3x3traduce un livello conv 7x7? Nel prototipo, dice che l'imbottitura è 1 sull'ultimo strato VGG16.
Klik,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.