Kann für Nicht-Font-Symbole getestet werden?

8

Ich bin neugierig darauf, wie ich den Wert und die Farbe von Spielkartenbildern zuverlässiger erkennen kann. Hier sind zwei Beispiele:

Es kann etwas Rauschen in den Bildern geben, aber ich habe eine große Menge an Bildern, die ich für das Training verwenden könnte (ungefähr 10k Png, einschließlich aller Werte und Farben).

Ich kann Bilder, die ich manuell klassifiziert habe, zuverlässig erkennen, wenn ich eine exakte Übereinstimmung mit einer Hash-Methode kenne. Aber da ich Bilder basierend auf ihrem Inhalt hashing, ändert das geringste Rauschen den Hash und führt dazu, dass ein Bild als unbekannt behandelt wird. Dies möchte ich mit einer weiteren Automatisierung zuverlässig angehen.

Ich habe die 3.05 Dokumentation über Training Tesseract gelesen: Ссылка

Kann testeract nur mit Bildern aus Fonts trainiert werden? Oder könnte ich damit die Anzüge für diese Karten erkennen?

Ich hatte gehofft, dass ich sagen könnte, dass alle Bilder in diesem Ordner 4c entsprechen (zB die obigen Beispielbilder), und dass tesseract die Ähnlichkeit in zukünftigen Instanzen dieses Bildes (unabhängig von Rauschen) sehen und auch lesen würde als 4c. Ist das möglich? Hat hier jemand Erfahrung damit?

    
Tiago 17.04.2017, 11:06
quelle

1 Antwort

0

Das war meine Lösung ohne Tesseract, bis jemand beweist, dass es einen besseren Weg gibt. Ich habe eingerichtet:

Diese zum Laufen zu bringen, war der schwierigste Teil. Als nächstes habe ich meinen Datensatz verwendet, um ein neues Café-Netzwerk zu trainieren. Ich habe meinen Datensatz in einer einzigen Tiefenordnerstruktur vorbereitet:

%Vor%

Innerhalb von Ziffern wählte ich:

  1. Registerkarte Datensätze
  2. Neue Datensatzbilder
  3. Klassifizierung
  4. Ich habe es auf meinen Kartenordner gerichtet, z. B. / path / to / card
  5. Ich habe die Validierung% auf 13,0% gesetzt, basierend auf der Diskussion hier: Ссылка
  6. Nachdem ich das Dataset erstellt habe, habe ich die Registerkarte "Models"
  7. geöffnet
  8. Wählen Sie meinen neuen Datensatz.
  9. Wählen Sie das GoogLeNet unter Standard-Netzwerken und lassen Sie es trainieren.

Ich habe das mehrmals gemacht, jedes Mal wenn ich neue Bilder im Datensatz hatte. Jede Lernsitzung dauerte 6-10 Stunden, aber in diesem Stadium kann ich mein Caffemodel benutzen, um programmatisch abzuschätzen, was jedes Bild erwartet, indem ich diese Logik verwende: Ссылка

Die Ergebnisse sind entweder eine Karte (2c, 7h, etc), Rauschen oder Tabelle. Schätzungen mit einer Genauigkeit von mehr als 90% sind höchstwahrscheinlich korrekt. Der letzte Lauf erkannte 300 von 400 Bildern richtig, mit nur 3 Fehlern. Ich füge dem Datensatz neue Bilder hinzu und trainiere das vorhandene Modell neu, um die Ergebnisgenauigkeit weiter abzustimmen. Hoffe, das ist wertvoll für andere!

Während ich die hohen Stufen hier wollte, wurde das alles mit großem Dank an David Humphrey und seinen GitHub-Beitrag gemacht. Ich empfehle es wirklich, es zu lesen und es auszuprobieren, wenn du mehr lernen willst: Ссылка

    
Tiago 27.04.2017, 07:48
quelle

Tags und Links