[PYTHON] Reconnaissance de caractères à partir d'images! Expliquer la logique de la précision à 100% avec le thème de la Wiire

Nous automatiserons l'analyse des données de Wiire! part3

Bonjour, c'est Yajun!

Cet article est une série, partie 3. Si vous le souhaitez, j'espère que vous pourrez le lire ensemble.

  1. Article de la partie 1 est une création d'un logiciel de reconnaissance de caractères qui extrait les données de caractères des images de résultats de correspondance.
  2. article de la partie 2 consiste à créer un logiciel pour représenter graphiquement les données extraites.

Le logiciel est écrit en Python. ■ URL de référence

■ Publicité

■ Présentation

"Collectez plus de données et faites une nouvelle analyse!" "Trouvons une stratégie pour Wiire!"

Cependant, un problème a considérablement réduit l'efficacité du développement ...

** La précision du logiciel de reconnaissance de caractères que j'ai créé était de 95%! ** **

▼ La raison pour laquelle une précision de 95% n'est pas bonne

Supposons que vous souhaitiez continuer le service d'analyse pour 10 clients pendant 6 mois. Ciblant les professionnels et les distributeurs, supposons que vous obteniez des données pour 2000 jeux par an.

10 personnes x 2000 jeux (1 an) x 0,5 (six mois) = 10000 jeux

Même si vous corrigez quelques jeux dans un seul jeu, il échouera s'il s'agit de 10 000 jeux. .. .. Par conséquent, ** 100% d'exactitude de l'extraction des données est une exigence obligatoire. ** **

■ Objectif

■ Méthode

▼ Méthode: OCR

La précision de l'OCR est composée des facteurs suivants.

① Bruit des données d'entrée (2) Performances de la bibliothèque d'outils ③ Mode de fonctionnement ④ Supprimez le bruit du résultat de sortie

① Données d'entrée

(2) Performances de la bibliothèque d'outils





③ Mode de fonctionnement

Si le résultat de sortie n'est pas un nombre, changez le mode de fonctionnement et réexécutez.

④ Supprimez le bruit du résultat de sortie

** Le résultat de cette opération est une précision de reconnaissance de 95%. .. .. ** ** Pour ceux qui veulent voir le résultat de sortie réel, [■ Result](https://qiita.com/junya0001000/items/8f519cdb3846fcec397a#%E7%B5%90%E6%9E%9C--%E5%87%BA%E5 % 8A% 9B% E7% B5% 90% E6% 9E% 9C)

▼ Méthode: correspondance des modèles

Ne tourne pas Ne déforme pas La position de chaque donnée est unifiée Police unifiée Taille unifiée

・ Préparation

・ Jeu de démonstration

Enregistrez les données comme s'il y avait un numéro correspondant à l'endroit où le cadre est affiché. A ce moment, c'est un mécanisme pour extraire des données de l'image en vous laissant juger "quel paramètre est le nombre" en fonction de l'emplacement.

· Sensibilité de détection

Faux positif: dans un endroit où il n'y a pas de nombre, on juge qu'il y a un nombre. Faux négatif: il est jugé qu'il n'y a pas de nombre à l'endroit où le nombre est en fait «oui».

La "sensibilité de détection" peut régler cela.

"Vous devez ajuster la sensibilité de détection pour que les faux positifs et les faux négatifs disparaissent!"

Vous pourriez penser, mais ce n'est généralement pas possible! La raison en est que "la section de sensibilité de détection avec des faux positifs et des faux négatifs couvre souvent".

Au fait, ce logiciel évolue du côté des faux positifs. En effet, les faux négatifs ne peuvent pas être détectés car le nombre d'objets (nombre de nombres) est indéfini.

▼ Logique de détection des faux négatifs ▼ Nombre de nombres qui devraient être -Nombre de nombres qui pourraient être détectés = Faux négatif s'il y a une différence

■ Résultats

▼ Résultat: Image d'entrée

▼ Résultat: résultat de sortie

** Taux de réponse correct de 100% atteint! !! Wow (vacances) **

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

■ Conclusion

De plus, je pense que les ingénieurs ont également appris la conception de logiciels qui prend en compte les faux positifs / faux négatifs. J'espère que cela aide quelqu'un.

Nous continuerons d'ajouter des fonctions et d'améliorer les performances du logiciel. Restez à l'écoute pour part4!

■ URL de référence

  1. Jouez avec Python + OpenCV (OCR)
  2. Obtenez le nombre de dimensions, de forme et de taille (nombre total d'éléments) du tableau NumPy ndarray
  3. Essayez l'API Google Cloud Vision
  4. Correspondance des modèles
  5. Supprimer les éléments de liste (tableau) en Python
  6. Comment utiliser la fonction abs pour trouver la valeur absolue

Recommended Posts

Reconnaissance de caractères à partir d'images! Expliquer la logique de la précision à 100% avec le thème de la Wiire
Extraire des caractères d'images à l'aide de l'API de reconnaissance de caractères de docomo
[Remarque] Utilisation d'un écran LCD à 16 caractères à 2 chiffres (1602A) de Python avec Raspeye
J'ai essayé de comparer la précision des modèles d'apprentissage automatique en utilisant kaggle comme thème.
Reconnaissance d'image avec API à partir de zéro connaissance avec AutoML Vision