HOG-Feature-Implementierung mit SVM in MATLAB
Ich würde das gerne machen-Klassifikation basierend auf HOG-Merkmalen mittels SVM.
Ich verstehe, dass HOG-Merkmale ist die Kombination aller Histogramme in jeder Zelle (D. H. es wird eine Anhäufung Histogramm).
Ich extrahieren HOG-Funktionen mit Hilfe von MATLAB-code in diesem Seite für die Dalal-Triggs Variante.
Ich habe zum Beispiel Graustufen-Bild mit einer Größe von 384 x 512, dann habe ich extrahiert den HOG-features mit 9 Orientierungen und eine Zellengröße von 8. Dadurch bekomme ich 48 x 64 x 36 Funktionen.
Wie kann ich diese in einem Histogramm und verwenden Sie es auf einem SVM-Klassifikator?
Weil zum Beispiel, ich haben 7 Klassen von Bildern, und ich will die Ausbildung (total Bilder wären 700 für die Ausbildung) und dann klassifizieren von neuen Daten, basierend auf dem Modell generiert, aus der Trainingsphase.
Habe ich gelesen, dass für die anteilsklassen, können wir trainieren unseren SVM mit EINER gegen ALLE, das heißt ich habe zu trainieren 7 Klassifikator für meine 7 Klassen.
Also für den 1. Zug, werde ich überlegen die 1. Klasse gekennzeichnet werden mit +1 und der reast der Klasse 0.
Und der 2. Zug, ich werde überlegen, die 2. Klasse zu sein, gekennzeichnet mit +1 und der reast der Klasse 0. Und so weiter..
Zum Beispiel, ich habe Klassen von Farben :
Rot, grün, blau, gelb, weiß, schwarz und pink.
Also für das 1. training mache ich auch nur 2 binäre was rot ist und nicht rot..
Für die 2. Ausbildung, die ich machen label grün und nicht grün..
Ist es so??
Die syntax zum Zug SVM ist:
SVMStruct = svmtrain(Training,Group)
Aber in diesem Fall werde ich haben 7 SVMStruct..
Die syntax zu klassifizieren /Test
Group = svmclassify(SVMStruct,Sample)
wie erklären 7 SVMStruct hier??
Ist das richtig??
Oder gibt es ein anderes Konzept oder syntaks, dass ich zu wissen????
Und für die Ausbildung, die ich haben werde, 48 x 64 x 36 features, howw ich trainieren kann, diese Funktionen in SVM??
weil so was ich gelesen habe, haben Sie nur 1xN-matrix von Funktionen..
Bitte helfen Sie mir...
InformationsquelleAutor user3175490 | 2014-04-05
Du musst angemeldet sein, um einen Kommentar abzugeben.
HOG und SVM ist die erfolgreichste Algorithmus zur Objekterkennung. Die Anwendung dieser Methode, ja Sie müssen zwei verschiedene Trainings-Datensätze, bevor Sie eingezogen sind in die SVM-Klassifizierer. Zum Beispiel, Sie wollen zu erkennen, ein Apfel, so müssen Sie zwei Trainings-dataset, positive Bilder ist die eine enthält ein Apfel im Bild und negative Bilder ist das eine enthält keine äpfel im Bild. Dann, extrahieren Sie die Merkmale von beiden Trainings-Datensätze (positive und negative) in HOG-Deskriptor separat und auch mit Beschriftung separat (ich.e 1 steht für positive, 0 negative). Danach kombinieren Sie die Funktionen Vektor von positiven und negativen und füttern Sie Sie zum SVM-Klassifizierer.
Können Sie SVM Licht oder LibSVM, die einfacher und benutzerfreundlich für Anfänger.
InformationsquelleAutor Indrasyach
Die Computer Vision System Toolbox für MATLAB enthält
extractHOGFeatures
- Funktion und die Statistik-Toolbox enthält SVM. Hier ist ein Beispiel, wie zu klassifizieren Bilder mit HOG und SVM.load('digitDataSet.mat',...
Befehl habe ich gesagt, dass keine solche Datei existiert. Ich muss sehen, dass die Daten gesetzt, um zu sehen, wie die Daten angeordnet werden, und Sie gelten derselben Anordnung auf meine Daten festgelegt. DankWelche version von Matlab haben Sie?
MATLAB Version: 8.1.0.604 (R2013a)
ah, das ist, warum. Das Beispiel wurde nur Hinzugefügt, in R2013b, zusammen mit
extractHOGFeatures
. Möchten Sie vielleicht ein upgrade auf R2014a, das ist die neueste version, und hat viele neue Sachen für computer vision.Richtig, das ist, warum. Vielen Dank für die Klarstellung.
InformationsquelleAutor Dima
1. Wie kann ich diese in einem Histogramm und verwenden Sie es auf einem SVM-Klassifikator?
Einer Unterscheidung, die ich machen möchte ist, dass Sie schon ein 'Histogramm' der orientierten Gradienten-Funktionen. Nun müssen Sie geben diese Merkmale als Eingabe für die SVM. Es ist seltsam, Etiketten zuweisen, um jede dieser Funktionen, weil ein HoG-Merkmal kann wiederum in einem anderen Bild anders gekennzeichnet.
In der Praxis das, was getan wird, um ein weiteres Histogramm aufgerufen, eine Tüte mit Worten aus dieser HoG-features und geben Sie an die SVM als Eingabe. Die intuition ist, wenn zwei Merkmale sehr ähnlich sind, würden Sie wollen, eine Repräsentation, die diese beiden HoG-features. Dies verringert die Varianz in den Ausgangsdaten. Jetzt machen wir das neue Histogramm für jedes Bild.
Einer Tasche der Wörter erstellt, in der folgenden Weise:
Cluster alle HoG-features in 'Worten'. Angenommen, Sie haben 1000
diese Worte.
Durchlaufen alle HoG-Funktionen und weisen HoG-feature zu einem Wort, wenn es
am ähnlichsten ist(euklidischer Abstand), um das Wort unter allen Worten in der Tasche.
1XN(N = Anzahl der Wörter im Beutel) Histogramm-Funktion, die gegeben werden
als Eingabe für die SVM nach der Kennzeichnung.
2. Wie die Durchführung von multi-class-Klassifizierung mit einer SVM?
Wenn Sie erneut trainieren der SVM, erhalten Sie ein anderes Modell. Es gibt zwei Möglichkeiten, wie Sie tun könnten, multiclass SVM mit SVMTrain
1) One-vs-One-SVM
Zug für jedes label der Klasse mit der Eingabe in der folgenden Weise:
Beispiel für Modell 1 Eingang
Beispiel für Modell 1 Eingang
Den oben genannten erfolgt für jedes paar label-Klassen. Sie haben N(N-1)/2-Modelle. Jetzt können Sie die Anzahl der Stimmen für jede Klasse, die von der N(N-1)/2-Modelle zu finden, welche Bezeichnung zu zuordnen.
2) Einer gegen Alle SVM
Zug für jedes label der Klasse mit der Eingabe in der folgenden Weise:
Beispiel für Modell 1 Eingang
Beispiel für Modell 1 Eingang
Oben ist getan, jedes label-Klasse. Sie haben N-Modelle. Jetzt können Sie die Anzahl der Stimmen für jede Klasse, die von der N-Modelle zu finden, welche Bezeichnung zu zuordnen.
Lesen Sie mehr auf Kategorie-Ebene-Klassifikation hier: http://www.di.ens.fr/willow/events/cvml2013/materials/slides/tuesday/Tue_bof_summer_school_paris_2013.pdf
InformationsquelleAutor web_ninja