2017-04-22 2 views
0

Ich mache einige Experimente für die Klassifizierung von Bildern basierend auf Farben. Ich habe einen Datensatz von 9000 Schuhe Bilder in 9 Farben, 1000 Bilder für jede Farbe kategorisiert.Niedrige Genauigkeit klassifizierende Farben

Ich folgte dem How to Retrain Inception's Final Layer for New Categories Tutorial von TensorFlow bekommen eine Genauigkeit von 58,3%.

Dann ersetzte ich die letzte Schicht mit einem SVC (RBF) Sichter mit einer Genauigkeit von 65,4%.

Einige Fehler sind sehr umstritten. Zum Beispiel dieses Bild wahr Etikett ist Brown aber mein Klassifikator sagt es Beige ist:

Brown

Aber auch andere Fehler sind nur Fehler. Dieses Bild wahr Etikett ist Pink aber mein Klassifikator sagt, es ist Blue:

Blue

Wie konnte ich die Genauigkeit verbessern? Mehr Bilder? Das Inception-Netzwerk von Grund auf neu trainieren? Verwenden Sie "Standard" ML und nicht Deep Learning?

Antwort

1

Inception ist ein NN-Modell, das erstellt wurde, um einer vordefinierten Klasse basierend auf dem Objekt, das sich im Bild befindet, ein Bild zuzuordnen. Es beruht auf vielen Pooling/Faltungs-Layern, um die Aufgabe zu erledigen, und baut Features von unteren Ebenen (Kanten) bis zu höheren Ebenen (Augen) auf.

Trotzdem ist es komplex und leistungsstarkes Modell, es kann nicht alles tun. Das Umlernen funktioniert nur für ähnliche Aufgaben (wie das Klassifizieren verschiedener Arten von Autos, Unterscheiden zwischen Hunden/Katzen oder Blumen). Sie können nicht fragen, ob etwas isst oder trinkt, um zwei Zahlen hinzuzufügen.

Fragen Sie sich, ob es am besten ist, die Kanten zu kennen, wenn Sie die Farbe der Schuhe lernen wollen. Höchstwahrscheinlich nicht, aber die Häufigkeit, mit der jede Farbe in diesem Bild erscheint, ist wahrscheinlich wichtiger.

Also würde ich versuchen, Bilder zu bereinigen, nur Schuhe zentriert zu haben und dann logistische Regression versuchen würde.