19

Sto implementando l'istogramma delle caratteristiche del gradiente orientato da "Istogrammi di gradienti orientati per il rilevamento umano" e mi piacerebbe visualizzare il risultato. Tutti i documenti su queste funzionalità utilizzano una visualizzazione standard, ma non riesco a trovare alcuna descrizione di come questi vengono generati. Sarei grato per una spiegazione o un link utile.In che modo le funzioni di HoG sono rappresentate graficamente?

+0

puoi pubblicare una schermata?Ho visto alcuni mostrare l'orientamento del gradiente della dimensione proporzionale al conteggio, ma non sono sicuro che stiamo parlando della stessa cosa. – carlosdc

+0

Questo sito Web potrebbe aiutarti: http://www.geocities.ws/talh_davidc/ – SomethingSomething

risposta

12

Le visualizzazioni che vedi documenti possono essere interpretati come segue:

Il descrittore è costituito da cellule M * N coprono la finestra immagine in una griglia. Ogni cella è rappresentata da un istogramma di orientamenti del bordo, in cui il numero di orientamenti del bordo discretizzati è un parametro (in genere 9). L'istogramma della cella è visualizzato da una "stella" che mostra la forza degli orientamenti del bordo nell'istogramma: più forte è un orientamento specifico, più è lungo rispetto agli altri.

Si noti che esistono diversi schemi di normalizzazione: schemi locali, in cui la cella è normalizzata rispetto solo alle celle adiacenti (come nel documento originale di Dalal-Triggs), o schemi globali, in cui la lunghezza dell'orientamento è normalizzata da tutte le cellule. Si noti inoltre che alcuni autori utilizzano più normalizzazioni locali per cella (ad esempio quella a cui mi riferisco in seguito), ma la visualizzazione mostra solo una (o una media di esse).

Il codice Matlab per il lavoro fondamentale di Felzenszwalb et al. visualizza le celle dipingendole sopra un'immagine, in cui la forza viene visualizzata dall'intensità del bordo anziché dalla lunghezza. Puoi trovarlo nel pacchetto che danno qui (DPM). Cercare una funzione denominata HOGpicture.m

L'esempio seguente mostra un modello di una bicicletta (da Felzenszwalb et al.) Con HoG composta da 7 * 11 celle, ciascuno con 8 orientamenti

HoG model of a bike, taken from Felzenszwalb et al

10

Un blog chiamato Jurgenwiki ha un codice di esempio (chiamato get_hogdescriptor_visu()) per la visualizzazione dei descrittori HOG in OpenCV. In passato, ho copiato/incollato il codice Jurgenwiki in un file C++, ho passato le mie caratteristiche HOG in get_hogdescriptor_visu() e la visualizzazione sembrava abbastanza buona. Ecco un esempio:

enter image description here

Un avvertimento del codice Jurgenwiki è che esso prevede di utilizzare i parametri di default HOGDescriptor() (ad esempio blocchi 16x16, cellule 8x8, 9 bidoni orientamento). Tuttavia, se stai utilizzando parametri personalizzati nel tuo HOGDescriptor, puoi modificare il codice Jurgenwiki in modo che corrisponda ai tuoi parametri HOG.

This StackOverflow post è anche molto utile.

0

Qui voglio porre una domanda su due fotogrammi di sequenza di una persona che cammina e abbiamo estratto HOG di ogni immagine e poi prendere la differenza di entrambi gli HOG. Voglio sapere quali informazioni otteniamo nella visualizzazione HOG (Differenza) finale.

Grazie

Problemi correlati