(D) Recherche d’idées: comment construire un OCR très précis pour les codes alphanumériques courts?

 (D) Recherche d’idées: comment construire un OCR très précis pour les codes alphanumériques courts?


Je travaille sur une tâche qui implique la lecture des codes alphanumériques à 9 caractères à partir d’extraits de petits papier – similaires aux codes de bon ou aux séries imprimées (exemple d’images ci-dessous) – il y a deux cas – une formation pour détecter uniquement les codes solides et les deux solides et en pointillés.

Le plus grand défi est précision – Nous avons besoin de résultats presque parfaits. Les modèles confondent souvent I vs 1 ou O vs 0et même un seul caractère mal lu rend l’ensemble du code invalide. Par exemple, Amazon textract atteint une précision de 93% dans nos tests – décent, mais toujours pas assez fiable.

Ce que j’ai essayé jusqu’à présent:

  • Florence 2: Seulement environ 65% des codes ont été lus correctement. Confusion fréquente entre I / 1, O / 0 et autres erreurs au niveau du caractère.
  • Troc (ajusté sur ~ 300 images): n’a pas donné d’excellents résultats – probablement en raison de limitations de formation ou de décalage architectural pour les chaînes courtes.
  • Smoldocling: Léger, mais trop inexact pour cette tâche.
  • Llama3.2-vision: Fonctionne correctement mais manque de cohérence au niveau du caractère.

Meilleurs résultats (jusqu’à présent): Yolo formé sur mesure

Approche:

  • Entraîner Yolo à détecter chaque caractère dans le code en tant qu’objet séparé.
  • Après la détection, trier les boîtes de délimitation par x-coordonnées et prédictions des concaténats pour reconstruire la chaîne.

Cette configuration fonctionne mieux que prévu. Il est rapide, adaptable à différentes polices et distorsions, et plus fiable que les autres modèles que j’ai testés. Cela dit, les cas Edge restent – en particulier les classifications erronées de caractères visuellement similaires.

À ce stade, je me penche vers une solution plus spécialisée – quelque chose entre l’OCR classique et la détection d’objets, optimisé pour Texte structuré court comme des codes ou des étiquettes de prix.

Je suis curieux:

  • Des suggestions pour les modèles OCR spécifiquement optimisées pour les chaînes alphanumériques courtes?
  • Une architecture hybride (par exemple le modèle de séquence Yolo +) pourrait-elle aider à résoudre les cas Edge?
  • Y a-t-il des techniques de post-traitement qui vous ont aidé à corriger les personnages ambigus?
  • À peu près combien d’images seraient nécessaires pour former un modèle personnalisé (à partir de zéro ou de réglage fin) pour atteindre une précision presque parfaite dans ce type de tâche

Actuellement, j’ai environ 300 exemples – pas assez, semble-t-il. Qu’est-ce qu’une bonne cible?

Merci d’avance! Au plaisir d’apprendre de vos expériences.

Exemple de code solide

Exemple de code en pointillé

soumis par / U / EHPPHDOCTOR007
(lien) (Commentaires)



Source link

Related post