[PYTHON] Zeichenerkennung aus Bildern! Erklären Sie die Logik der 100% igen Genauigkeit mit dem Thema Wiire

Wir werden die Datenanalyse von Wiire automatisieren! Teil3

Hallo, das ist Yajun!

Dieser Artikel ist eine Serie, Teil 3. Wenn Sie möchten, hoffe ich, dass Sie es zusammen lesen können.

  1. Teil 1 Artikel ist eine Erstellung einer Zeichenerkennungssoftware, die Zeichendaten aus Übereinstimmungsergebnisbildern extrahiert.
  2. Artikel von Teil 2 erstellt eine Software zur grafischen Darstellung der extrahierten Daten.

Die Software ist in Python geschrieben. ■ Referenz-URL

■ Werbung

■ Einführung

"Sammeln Sie mehr Daten und führen Sie eine neue Analyse durch!" "Lassen Sie uns eine Strategie für Wiire finden!"

Ein Problem hat jedoch die Entwicklungseffizienz stark verringert ...

** Die Genauigkeit der von mir erstellten Zeichenerkennungssoftware betrug 95%! ** **.

▼ Der Grund, warum 95% Genauigkeit nicht gut ist

Angenommen, Sie möchten den Analysedienst für 10 Kunden 6 Monate lang fortsetzen. Angenommen, Sie erhalten Daten für 2000 Spiele pro Jahr, die sich an Profis und Distributoren richten.

10 Personen x 2000 Spiele (1 Jahr) x 0,5 (ein halbes Jahr) = 10000 Spiele

Selbst wenn Sie ein paar Spiele in einem Spiel reparieren, wird es zusammenbrechen, wenn es 10.000 Spiele sind. .. .. Daher ist eine Genauigkeit von ** 100% der Datenextraktion eine zwingende Voraussetzung. ** **.

■ Ziel

■ Methode

▼ Methode: OCR

Die Genauigkeit der OCR setzt sich aus den folgenden Faktoren zusammen.

① Eingangsdatenrauschen (2) Leistung der Werkzeugbibliothek ③ Betriebsart ④ Entfernen Sie Rauschen aus dem Ausgabeergebnis

① Eingabedaten

(2) Leistung der Werkzeugbibliothek





③ Betriebsart

Wenn das Ausgabeergebnis keine Zahl ist, ändern Sie den Betriebsmodus und führen Sie ihn erneut aus.

④ Entfernen Sie Rauschen aus dem Ausgabeergebnis

** Das Ergebnis ist eine Erkennungsgenauigkeit von 95%. .. .. ** **. Für diejenigen, die das tatsächliche Ausgabeergebnis sehen möchten, [■ Ergebnis](https://qiita.com/junya0001000/items/8f519cdb3846fcec397a#%E7%B5%90%E6%9E%9C--%E5%87%BA%E5 % 8A% 9B% E7% B5% 90% E6% 9E% 9C)

▼ Methode: Template Matching

Dreht sich nicht Nicht verzerren Die Position der einzelnen Daten ist einheitlich Einheitliche Schriftart Einheitliche Größe

・ Vorbereitung

・ Demo spielen

Speichern Sie die Daten so, als ob sich an der Stelle, an der der Rahmen angezeigt wird, eine entsprechende Nummer befindet. Zu diesem Zeitpunkt handelt es sich um einen Mechanismus zum Extrahieren von Daten aus dem Bild, indem Sie je nach Standort beurteilen können, "welcher Parameter die Zahl ist".

· Erkennungsempfindlichkeit

Falsch positiv: An einem Ort, an dem es keine Nummer gibt, wird beurteilt, dass es eine Nummer gibt. Falsch negativ: Es wird beurteilt, dass an der Stelle, an der die Zahl tatsächlich "Ja" lautet, keine Nummer vorhanden ist.

"Erkennungsempfindlichkeit" kann dies einstellen.

"Sie sollten die Erkennungsempfindlichkeit so einstellen, dass sowohl falsch positive als auch falsch negative Ergebnisse verschwinden!"

Sie könnten denken, aber es ist normalerweise nicht möglich! Der Grund dafür ist, dass "der Abschnitt zur Erkennungsempfindlichkeit mit falsch positiven und falsch negativen Ergebnissen häufig abdeckt".

Übrigens schwingt diese Software auf die falsch positive Seite. Dies liegt daran, dass falsche Negative nicht erkannt werden können, da die Anzahl der Objekte (Anzahl der Zahlen) unbestimmt ist.

▼ Logik zum Erkennen falsch negativer Ergebnisse ▼ Anzahl der Zahlen, die sein sollten - Anzahl der Zahlen, die erkannt werden konnten = Falsch negativ, wenn es einen Unterschied gibt

■ Ergebnisse

▼ Ergebnis: Eingabebild

▼ Ergebnis: Ausgabeergebnis

** 100% korrekte Antwortrate erreicht! !! Wow (Urlaub) **

コメント 2020-02-29 181509.png

■ Fazit

Ich denke auch, dass Ingenieure auch etwas über Software-Design gelernt haben, das falsch positive / falsch negative Ergebnisse berücksichtigt. Ich hoffe es hilft jemandem.

Wir werden weiterhin Funktionen hinzufügen und die Leistung der Software verbessern. Bleib dran für Teil 4!

■ Referenz-URL

  1. Spielen Sie mit Python + OpenCV (OCR)
  2. Abrufen der Anzahl der Dimensionen, Form und Größe (Gesamtzahl der Elemente) des NumPy-Arrays ndarray
  3. Testen Sie die Google Cloud Vision-API
  4. Template Matching
  5. Listenelemente (Array) in Python entfernen
  6. Verwendung der abs-Funktion zum Ermitteln des Absolutwerts

Recommended Posts

Zeichenerkennung aus Bildern! Erklären Sie die Logik der 100% igen Genauigkeit mit dem Thema Wiire
Extrahieren Sie Zeichen aus Bildern mithilfe der Zeichenerkennungs-API von docomo
[Hinweis] Verwenden eines 16x2-stelligen LCD-Zeichens (1602A) von Python mit Raspeye
Ich habe versucht, die Genauigkeit von Modellen für maschinelles Lernen mit Kaggle als Thema zu vergleichen.
Bilderkennung mit API aus null Wissen mit AutoML Vision