Sto cercando di utilizzare HoG + SVM per classificare gli oggetti in diverse categorie. Il problema è che la dimensione delle immagini di allenamento è diversa. Quindi, i descrittori HoG risultanti hanno lunghezze variabili. Ho estratto le caratteristiche da tutte le immagini di addestramento in una cella. Ogni elemento i della cella è un vettore di descrittori HoG per l'immagine i nel set di dati. La mia domanda è: come posso renderlo compatibile per la formazione del classificatore SVM (usando la funzione svmtrain)?Formazione SVM con descrittori di maiale di dimensioni variabili di immagini di allenamento (MATLAB)
Formazione SVM con descrittori di maiale di dimensioni variabili di immagini di allenamento (MATLAB)
risposta
Come lejlot ha correttamente menzionato, SVM non può essere addestrato con vettori di lunghezza variabile.
È possibile normalizzare la dimensione dell'immagine a una, ovvero 256x256. Ci sono 3 possibilità per fare questo:
- Ritaglia il patch 256x256 attorno al centro.
- Ridimensiona l'immagine a 256x256 scartando le proporzioni originali.
- Ridimensiona l'immagine a 256xM dove M < 256 - preservando le proporzioni originali. Aggiunge strisce grigie a sinistra e a destra (o superiore e inferiore) per riempire l'immagine su 256x256.
Tutte le varianti sono utilizzate da diversi autori e devi controllare quale si adatta meglio al tuo compito.
SVM non può essere addestrato con vettori di lunghezza variabile. Devi usare una sorta di trasformazione che mapperà i tuoi dati in una rappresentazione a lunghezza costante. Ad esempio, è possibile eseguire tecniche di riduzione della dimensionalità ben note.
Qualche idea su come affrontare il problema tranne la riduzione della dimensionalità? –
- 1. Complessità di formazione di SVM lineare
- 2. Visualizzazione di immagini di diverse dimensioni in MATLAB
- 3. SVM di base implementato in MATLAB
- 4. Formazione SVM personalizzata da utilizzare con HOGDescriptor in OpenCV
- 5. Rete neurale convoluzione di tensorflow - Formazione con un set di dati di piccole dimensioni, applicazione di modifiche casuali alle immagini
- 6. Visualizzazione SVM in MATLAB
- 7. Confronta i descrittori SURF in un'immagine a un elenco di descrittori in altre immagini
- 8. Creazione di un'immagine di allenamento per Tesseract OCR
- 9. Come gestire immagini di grandi dimensioni in MATLAB senza esaurire la memoria?
- 10. Ridimensionamento JScrollpane con contenuto di dimensioni variabili
- 11. Matlab - Visualizza due immagini con dimensioni originali nella stessa finestra
- 12. CIFilter: miscela di immagini di dimensioni diverse
- 13. gruppo di immagini di grandi dimensioni
- 14. Immagini di sfondo di grandi dimensioni e dimensioni dello schermo
- 15. Formazione di registrazione e perdita di validazione in tensore
- 16. Bash: descrittori di file
- 17. Equivalente alle immagini di matlab in matplotlib?
- 18. Migliore alternativa alle variabili globali di MATLAB
- 19. Curva ROC dai dati di allenamento nell'accurpitura
- 20. Descrittori di ordinamento con NSFetchedResultsController - Swift
- 21. Rilevamento di funzioni con descrittori senza brevetto
- 22. tramite descrittori di Python con slot
- 23. Mano taggare un set di allenamento con tag personalizzati
- 24. Variabili su CPU, allenamento/gradienti su GPU
- 25. sull'andamento di variabili persistenti in MATLAB
- 26. Gestione di bitmap di grandi dimensioni nell'editor di immagini
- 27. Uso dell'attributo Dimensioni per immagini di ripiego
- 28. Classificazione SVM con errore Caret (di base)
- 29. Gestire immagini di grandi dimensioni in iOS
- 30. Trova immagini duplicate di dimensioni diverse
Grazie old-ufo, è stato molto utile. Ci proverò ora. –