Bild Klassifizierung in OpenCV (Python), Basierend auf Training Set

Dies ist mehr der Allgemeine "wo finde ich gute Ressourcen, um etwas zu tun" - Frage. Ich bin versucht, die Verwendung von Python (OpenCV oder anderweitig) zu klassifizieren, die Bilder basierend auf training set.

Mein training-set: dieses besteht aus zahlreichen Bildern der Mängel am Produkt. Jedes Bild kann genommen werden in 1 von 3 locations auf dem Produkt und jedes Bild enthält 1 von 5 Arten von Sachmängeln. Die Mängel wurden manuell klassifiziert und validiert, indem ein Mensch.

Bilder zu klassifizieren: Diese sind aus ähnlichen Bildern, die im gleichen 3 Orten, aber die Art des Mangels ist nicht eingestuft (obwohl der defekte Bereich IST anerkannt durch das Werkzeug, das Bild macht, es ist nur, dass das tool nicht KORREKT klassifizieren und die ich nicht ändern kann das tool).

Habe ich versucht, zu tun, diese Klassifizierung, die folgenden Empfehlungen in dem Buch Programming Computer Vision with Python: Werkzeuge und algorithmen für die Analyse von Bildern. In diesem Fall benutze ich SIFT-Deskriptoren gespeichert in einer mySQL-Datenbank (Trainings-Daten) in einem Bag of Words-Ansatz. So weit ich bin nicht mit zu viel Glück (ich weiterhin zu beheben) und dachte, ich würde eine Beratung durch alle OpenCV-Experten da draußen.

Irgendwelche Referenzen oder Beratung wäre sehr geschätzt werden.

So, kommen wir zurück zu der Frage, von der ich dachte, dass es Wert wäre, zu teilen, was ich gelernt habe. Ich weiß nicht, dass es "die Antwort" aber das ist, wo ich schon gelandet. Ein work in progress, Sie kann immer besser werden.

Meine Lösung jetzt wurde zu kombinieren mit 3 verschiedenen Ansätze. Alle sind im internet suchbar, also ich gehe nicht zu ausführlich auf das wie.

Zuerst habe ich die SIFT-Ansatz, die Generierung von SICHTEN, die Histogramme über ein Kommandozeilen-Aufruf VLFeat. Dies kann eine option sein, die an anderer Stelle in Python, es ist genau das, was ich verwendet. Ich verwendete k-means-clustering zu tun, die den visual-Tasche von Wörtern Wortschatz Sache und Bauten eine Datenbank binden den Schwerpunkt s zu Wort Histogramme im Zusammenhang mit der Ausbildung Bilder. Ich verbesserte Ergebnisse ein bisschen durch hinzufügen einer Stamm-SIEBEN Schritt. Dann habe ich eine separate Datenbank mit Dichten SIFT (aber keine Stamm-SIEBEN-Einstellungen). Schließlich erstellte ich eine Datenbank mit Farb-Histogramme basierend auf den RGB-Komponenten der Ausbildung-Bilder. Ich brauche nicht alle 256 bins RGB-ging aber mit addiert man die einzelnen R -, G-und B-Werte über 8 Behälter und dann das abflachen der Werte zu einem 24-bin-Histogramm.

Dieser Prozess ist gefolgt mit dem unbekannten Bildern, und dann Histogramm-Vektoren im Vergleich mit der euklidischen Distanz. Ich habe versucht, Chi-Quadrat-Vergleich als gut, aber, in meinem Fall der euklidischen vorausgesetzt, bessere Ergebnisse. Ich nehme die top-3-Ergebnisse aus den einzelnen Prozess -, Bild-Klassifizierung, basierend auf 5 von 9 Stimmen. Wenn eine Mehrheit nicht erreicht werden, so wird die Analyse ist unbestimmt.

Für meine geschlossenen Bevölkerung der Bilder, die ich auf 3,1% misclassification rate von 3,1% unbestimmt.

InformationsquelleAutor chemnteach | 2015-07-14
Schreibe einen Kommentar