-3

Wie kann ich Deep Learning für die Handerkennung verwenden. Gibt es Artikel oder Tutorials oder relevante Links zur Handerkennung mit Deep Learning? Lass es mich wissen, bitte. Was werden die Annäherung oder Schritte für die Handerkennung sein?Deep Learning für Handerkennung

+2

Google? Ich weiß nichts über das Thema, aber tippte diesen Titel ein und bekam Hunderte von Ergebnissen. Eine Art übertriebene Frage. – gilliduck

Antwort

5

Obwohl die Frage breit sein kann, gibt es eine sehr hohe vernünftige Antwort.

Der beste Erfolg, den Sie erzielen können, ist die Feinabstimmung eines vortrainierten konnektiven neuronalen Netzwerkmodells für die Bildklassifizierung wie VGG16, Inception, VGG19 oder ResNet.

In diesem Fall können Sie Python, VGG19 und Keras verwenden. Sie können hier ein vortrainiertes VGG19-Modell für Keras verwenden.

https://gist.github.com/baraldilorenzo/8d096f48a1be4a2d660d

Zuerst sammeln, wie viele Bilder der Hände, die Sie (2000 eine ziemlich solide Zahl wäre für den Anfang) und eine nahezu gleiche Anzahl von nicht-Hand-Bilder, und steckte sie in ihre entsprechende Verzeichnisse. Pre-Prozess die Bilder, so dass sie alle 224x224 Pixel sind. Dies ist für das vortrainierte VGG19-Modell erforderlich.

Als nächstes müssen Sie das Modell feinabstimmen. Sie können die Details in der Verknüpfung finden, aber das Wesentliche besteht darin, dass Sie die letzte vollständig verknüpfte Ebene mit 1000 Knoten entfernen und durch die vollständig verbundene Ebene mit zwei Knoten ersetzen, die aus den Kategorien für Hand- und Nichthandbilder besteht.

https://flyyufelix.github.io/2016/10/03/fine-tuning-in-keras-part1.html

Importieren Sie Ihre Bilder in ein numpy Array, in dem jedes Bild von einem 50176-dimensionalen Vektor dargestellt wird. Sie können tatsächlich eine Matrix mit 50176 Zeilen und die Anzahl der Bilder erstellen.

Erstellen Sie außerdem 2-dimensionale One-Hot-Vektoren für Ihre Beschriftungen, wobei [1 0] für Handbilder und [0 1] für Nicht-Handbilder gilt.

Passen Sie Ihre Daten in das vortrainierte Modell ein, indem Sie den Verweis auf das Keras-Modellobjekt im VGG19 greifen.

model.fit(image_data, one_hot_labels, epochs=10, batch_size=32) 

ich ins Detail nicht auf Epochen, batch_size, Validierungsdaten, etc. gehen, aber Sie wollen sicherstellen, dass Sie ein Auge auf, wie gut Ihre Validierungsdaten vorherzusagen ist, es ist in der Regel ein Abstieg Prädiktor für die Prüfung Genauigkeit bei den vortrainierten Modellen. Sie können die Evaluierungsfunktion verwenden, um eine Genauigkeitsbewertung zu erhalten.

model.evaluate(image_validation_data, validation_labels, batch_size=32) 

Sobald das Modell trainiert wird, und die Validierung Genauigkeit angemessen ist, können Sie die Funktion vorhersagen verwenden, um zu testen, ob Sie ein Bild Hand haben.

model.predict(test_images, batch_size=32, verbose=0) 

Für weitere Informationen empfehle ich den fast.ai Kurs.

Für eine detailliertere Erklärung von Convolutional Neural Networks, mit all der Mathematik und Theorie, Stanfords CS231n Klasse ist ein Muss.

Verwandte Themen