2013-03-29 9 views
7

Desidero dati di allenamento e uso dell'algoritmo HOG per rilevare i pedoni. Ora posso usarein rilevamento, ma il risultato non è molto buono per il mio video di prova. Quindi voglio fare formazione usare il mio database.Come addestrare HOG e usare il mio HOGDescriptor?

Ho preparato 1000+ campioni positivi e 1000+ campioni negativi. Sono ritagliati nella dimensione 50 * 100 e ho il file di elenco.

E ho letto alcuni tutorial su Internet, tutti così complessi, a volte astrusi. Molti di loro analizzano il codice sorgente e l'algoritmo di HOG. Ma con solo meno esempi e semplici anylize.

Alcune istruzioni mostrano che è possibile utilizzare l'allenamento libsvm\windows\svm-train.exe per l'addestramento. Qualcuno può fornire esempi in base a campioni positivi 1000+ 50 * 100?
Ad esempio, come haartraing, possiamo farlo da opencv, come haartraining.exe –a –b con alcuni parametri, e ottenere uno *.xml come risultato che verrà utilizzato per il rilevamento delle persone?

Oppure esiste un altro metodo di addestramento e rilevamento?

Preferisco sapere come usarlo e le procedure di dettaglio. Come l'algoritmo di dettaglio, non è importante per me. Voglio solo implementarlo.

Se qualcuno lo sa, per favore dammi qualche consiglio.

risposta

7

Ho fornito codice di esempio e istruzioni per iniziare l'addestramento del proprio descrittore HOG utilizzando openCV: Vedere https://github.com/DaHoC/trainHOG/wiki/trainHOG-Tutorial.

L'algoritmo è infatti troppo complesso per fornire in breve, l'idea di base è comunque di:

  1. caratteristiche estratto HOG da immagini campione negative e positive di dimensioni identiche e tipo.
  2. Utilizzare i vettori di funzionalità estratti con le rispettive classi per addestrare un classificatore SVM, in questo passo è possibile utilizzare svm-train.exe con un file generato del formato corretto contenente i vettori di funzionalità e le relative classi (o includere direttamente e indirizza la classe della libreria libsvm nelle tue fonti).
  3. Il modello SVM risultante e i vettori di supporto vengono calcolati in un vettore descrittore singolo che può essere utilizzato con il rilevatore openCV.

migliori saluti

+0

sembra che il codice di esempio non è più accessibile. Si reindirizza su opencv.org. Conosci un altro modo per arrivarci? –

+0

@DaHoC Posso confermare che questo link non funziona più. –

+0

I collegamenti github funzionano. Mi sembra un codice veramente ben documentato e un bel tutorial. Personalmente considererei questa risposta corretta. – nkint

Problemi correlati