2 points par GN⁺ 2024-05-14 | 1 commentaires | Partager sur WhatsApp

Correction du gauchissement de page (Page Dewarping)

  • Aborde l’aplatissement d’images de pages enroulées comme un problème d’optimisation

Contexte

  • Les méthodes existantes de correction du gauchissement, comme la bibliothèque Leptonica ou la méthode Coordinate Transform Model (CTM), utilisent une approche de décomposition hiérarchique du problème
    1. Séparer le texte ligne par ligne
    2. Trouver un warping ou une transformation de coordonnées pour rendre les lignes parallèles et horizontales
  • En s’inspirant de l’approche basée sur un modèle cylindrique 3D de CTM, l’auteur a créé son propre modèle paramétrique utilisant des paramètres qui déterminent la forme de la page
    • vecteurs de rotation/déplacement 3D, pente de la courbure de la page, décalage des lignes horizontales, etc.
  • Formulation sous forme de problème d’optimisation
    • Trouver des points clés le long des zones de texte horizontales dans la photo d’origine
    • À partir d’une estimation initiale, optimiser les paramètres du modèle pour minimiser l’erreur de reprojection des points clés

Procédure

  1. Extraction des bordures de la page
  2. Détection des contours du texte
  • Utilisation de la binarisation, des opérations morphologiques et de l’analyse des composantes connexes
  • Spécialement conçu pour détecter aussi les tableaux de texte vertical
  1. Regroupement des contours du texte en zones horizontales
  2. Échantillonnage de points clés dans les zones horizontales
  3. Estimation initiale des paramètres du modèle
  4. Minimisation de l’erreur de reprojection par optimisation
  • Utilisation du solveur Powell de scipy.optimize.minimize
  • Cela représente l’essentiel du temps d’exécution
  1. Transformation des coordonnées avec le modèle optimal, puis remappage et binarisation de l’image

Résultats

  • Fonctionne bien sur divers exemples d’images
  • Le grand nombre de paramètres du modèle rallonge le temps d’optimisation
  • La déformation horizontale n’a pas été prise en compte

Conclusion

  • Un workflow typique consistant à accumuler des connaissances de base puis à formaliser le problème comme un problème d’optimisation
  • Une approche similaire à Deformable Part Model et Active Appearance Model
  • Des enseignements utiles aussi sur l’usage d’outils comme Emacs et Pylint
  • Aucun développement supplémentaire n’est prévu, mais c’est un projet qui peut servir de référence pour enseigner la vision par ordinateur

Avis de GN⁺

  • Pour une vraie utilisation pratique, il semble nécessaire de corriger aussi la déformation horizontale. Cela demanderait probablement un modèle plus sophistiqué, comme CTM.
  • L’amélioration de la vitesse d’optimisation paraît importante. Réduire le nombre de paramètres ou utiliser des techniques d’optimisation plus rapides pourrait aider.
  • Une comparaison avec des méthodes basées sur le deep learning serait intéressante. Le deep learning pourrait peut-être gérer à la fois l’extraction de caractéristiques et la modélisation.
  • Pour une utilisation dans la numérisation de documents en environnement industriel, il faudrait sans doute renforcer la robustesse face à des documents aux mises en page variées.
  • Le fait que ce soit publié en open source est une bonne chose, mais pour un usage réel, il vaudrait sans doute mieux le distribuer sous forme de programme autonome plutôt que comme script Python.

1 commentaires

 
GN⁺ 2024-05-14
Avis Hacker News

Résumé :

  • Il faut faire attention à l’application d’un seuil trop élevé lors de la binarisation d’image
    • Cela fonctionne bien pour le texte standard, mais les illustrations ou les notes de bas de page peuvent être dégradées au point de devenir illisibles
    • Si les scans de Google Books sont la seule source disponible, on peut ne pas avoir de chance
  • Même en 2024, cette fonctionnalité n’est toujours pas intégrée aux applications de scanner de documents
  • John Warnock, ancien CEO d’Adobe, s’est investi dans la préservation de livres historiques rares
    • Le de-curling de pages scannées qu’on ne pouvait pas ouvrir complètement était un défi
    • Projet connexe : Rare Book Room
  • Cet article est un bon exemple de la manière de documenter efficacement des projets techniques et des décisions, et mérite d’être pris comme référence au travail
  • À l’université, quelqu’un avait créé une application pour scanner des notes codées par couleur et s’était heurté à un problème de distorsion des couleurs
    • La couleur différait entre le haut et le bas de la page, ce qui rendait difficile de distinguer un stylo bleu d’un stylo vert
  • Le résultat semble correct, mais le modèle de warp est un peu trop global
    • Il ne capture pas toutes les déformations complexes du papier, d’où des distorsions résiduelles visibles dans le résultat final
  • Un article intéressant qu’on regrette de ne pas avoir vu en 2016
    • Tout le processus y est bien décrit : définition du problème, application de techniques astucieuses et élaboration d’une solution qui fonctionne bien
    • On ne l’utilisera probablement jamais directement, mais c’est un excellent exemple de résolution de problème
  • Une erreur d’installation s’est produite, un ticket GitHub a été ouvert
  • Ce serait bien d’essayer aussi le de-wrinkling de reçus
  • Si l’on a seulement besoin d’OCR, il est possible d’ignorer cette étape
  • Google avait déjà résolu ce problème il y a 10 ans
  • Pour des livres ou documents anciens de valeur, un de-warping sans contact via tomographie à rayons X est possible