2016-01-09 13 views
10

Ich bin neu bei TensorFlow und suche Hilfe bei der Bilderkennung. Gibt es ein Beispiel, das zeigt, wie man TensorFlow verwendet, um eigene digitale Bilder für die Bilderkennung zu trainieren, wie das Bild-Netz-Modell, das im CIFAR-10 Modelltraining verwendet wird, aber es scheint nicht zu liefern Beispiele für das Training eigener Bilder.Bilderkennung mit TensorFlow

+0

könnten Sie mnisten https://github.com/nyanp/mnisten verwenden, um Ihre Bilder zu konvertieren idx Format dann verwenden Sie das Tensor Flow Mnist Tutorial, ändern Sie den Code mit der Antwort in http://stackoverflow.com/questions/33784214/how-to-test-tensorflow-cifar10-cnn-tutorial-model – alfredo138923

+0

@ alfredo1389, bin nicht in der Lage um mnten Skripte zu bauen. Es Generieren dieses Fehlers 'In der Datei enthalten von src/main.cpp: 11: /usr/local/include/opencv/cv.hpp:50:10: Fehler: 'cv.h' Datei nicht gefunden mit enthalten; Verwendung "zitiert" statt #include ^ src/main.cpp: 12: 10: fatale Fehler: 'opencv2/highgui.hpp' Datei nicht #include gefunden ^ 2 Fehler generiert. make: *** [mnisten] Error 1' –

Antwort

7

Ich würde empfehlen, das von Google geschulte Inception-Modell zur Bilderkennung zu verwenden. Bitte beachten Sie das Beispiel "Wie schaffe ich die letzte Schicht für neue Kategorien?" Auf der Tensorflow-Website. Es ist um https://www.tensorflow.org/versions/r0.9/how_tos/image_retraining/index.html.

Das trainierte Modell ist einfach und kann eine angemessene Genauigkeit erreichen. Sie füttern einfach das Modell mit Ihrem eigenen Datensatz. Die letzte Klassifizierungsschicht von Google wird modifiziert und wir trainieren nur die letzte Ebene. Bei mehreren tausend Bildern mit mehreren Kategorien dauert das Training nur wenige Stunden. Hinweis: Um das Beispiel zu verwenden, müssen Sie Tensorflow aus der Quelle erstellen.

Ich benutze die Transferlernfunktion und erziele sehr gute Ergebnisse. Um den Nutzen des Transferlernens zu illustrieren, vergleiche ich "Transfer Lernen mit GoogleNet" mit "Ein 5-Schichten-Convnet von Grund auf neu erstellen und trainieren". Die Klassifizierungsaufgabe wird auf 5000 Bildern mit 5 Kategorien durchgeführt.

Build a 5-layer-convet and train it from scratch

Use the transfer learning on the trained GoogleNet

dieses einfache Beispiel Siehe: https://www.youtube.com/watch?v=QfNvhPx5Px8 (ein TensorFlow Bildklassifizierer Bauen in 5 Min)

1

Diese Repo letzte Schicht Bild Umschulung für Ihre eigenen Bilder gibt.

Fügen Sie Ihre Bilder auf den training_ „Dataset Ordner“

hinzufügen mehr und mehr Bilder (mindestens 30 Bilder für jede Klasse erforderlich.)

zuerst die Bash-Skript ausführen, um die IMAGEnet Dateien zum Download bereit.

nächstes das Python-Skript ausführen, um Ihre Bilder umschulen, die Validierung Genauigkeit ausgibt usw.

https://github.com/shivakrishna9/tensorflow-retrain