2 points par GN⁺ 2024-10-29 | 1 commentaires | Partager sur WhatsApp
  • InkSight de Google Research est une approche qui restaure des photos d’écriture manuscrite sous forme d’encre numérique au niveau des traits de stylo, afin de stocker et modifier des notes papier comme des notes numériques sans équipement spécialisé
  • Contrairement à un simple OCR, qui se limite à transcrire du texte, InkSight restaure les trajectoires des traits qui ont formé l’écriture, permettant de l’examiner et de continuer à écrire tout en conservant le style manuscrit
  • Le modèle n’extrait pas seulement des caractéristiques géométriques : il apprend simultanément à lire et écrire, avec un encodeur ViT et un encodeur-décodeur mT5 pour gérer la reconnaissance des mots et la génération des traits
  • Pour une page complète, le système utilise un flux où l’OCR trouve des boîtes englobantes au niveau des mots, dérend chaque mot séparément, puis remplace l’écriture en pixels par les traits restaurés
  • Lors de l’évaluation, les sorties de Large-i, qui compte environ 1 milliard de paramètres, ont été jugées dans plusieurs cas similaires à de l’encre numérique produite par des humains, et 87 % ont été classées comme de bons tracés ou comme des tracés ne présentant que de petites erreurs

Pourquoi transformer l’écriture manuscrite sur papier en encre numérique

  • Les notes numériques offrent durabilité, possibilité d’édition et indexabilité, mais beaucoup de personnes continuent à prendre des notes avec du papier et un stylo
  • Le processus qui transforme l’écriture manuscrite physique en forme numérique est le dérendu (derendering), et le résultat est constitué de traits qui stockent les mouvements du stylo ou du doigt sous forme de séquences de points
  • Cette représentation est aussi appelée représentation d’écriture « en ligne » ou encre numérique
  • Un simple OCR transcrit l’écriture manuscrite en document texte, tandis que l’encre numérique capture le document manuscrit comme un ensemble de traits
    • L’utilisateur peut l’éditer plus naturellement à la main
    • Le style d’écriture et la sensation d’une vraie écriture manuscrite peuvent être préservés
    • Les notes peuvent être organisées et intégrées avec des images, du texte, des liens et des fonctions d’assistance numérique
  • Jusqu’ici, certaines approches utilisaient des stylos intelligents, du papier spécial et des piles logicielles dédiées, mais le matériel supplémentaire et le coût constituent des freins à l’adoption

Ce que restaure InkSight

  • InkSight: Offline-to-Online Handwriting Conversion by Learning to Read and Write extrait les traits qui ont formé l’écriture à partir de photos de notes manuscrites
  • Il n’utilise que des photos en entrée, sans équipement séparé, et le modèle ainsi que le code d’inférence sont disponibles dans le repo GitHub
  • Il ne dépend pas des composants géométriques classiques comme les gradients, les contours ou les formes dans l’image
  • Le modèle apprend deux capacités en même temps
    • Lecture : reconnaître les mots dans l’image
    • Écriture : produire des traits qui ressemblent à de l’écriture manuscrite
  • Cette combinaison est conçue pour fonctionner de manière plus robuste même avec des entrées difficiles, comme des conditions d’éclairage variées, des occultations ou des apparences diverses

Flux système pour le traitement au niveau de la page

  • L’objectif de base est de capturer les trajectoires au niveau des traits de l’écriture manuscrite afin que l’utilisateur puisse les stocker dans l’application de prise de notes de son choix
  • En interne, un modèle OCR prêt à l’emploi identifie les mots manuscrits, puis le modèle convertit ces mots en traits
  • Pour la reproductibilité, la réutilisation et la facilité d’adoption, l’approche combine l’encodeur ViT et l’encodeur-décodeur mT5, largement utilisés
  • Comme il faut traiter des images de taille arbitraire, différentes résolutions et des quantités de contenu variables, la scalabilité est un enjeu majeur
  • Entraîner directement sur des entrées à très haute résolution et de longues séquences de sortie augmente fortement le coût de calcul ; le dérendu de page est donc divisé en trois étapes
    • Extraire les boîtes englobantes au niveau des mots avec l’OCR
    • Dérendre chaque mot séparément
    • Remplacer la représentation en pixels hors ligne par les traits dérendus
  • L’augmentation de données est utilisée pour réduire l’écart de domaine entre les images synthétiques d’encre rendue et les photos réelles
    • Randomisation de l’angle de l’encre, de la couleur et de la largeur des traits
    • Ajout de bruit gaussien et d’arrière-plans complexes

Comment le modèle apprend à lire et à écrire ensemble

  • Rassembler suffisamment de paires d’images et d’encre numérique de référence pour l’apprentissage supervisé est coûteux et prend du temps, et il semble qu’il n’existe pas de dataset suffisamment diversifié pour cette tâche
  • InkSight utilise une configuration d’apprentissage multitâche afin de généraliser sans un grand volume d’échantillons appariés
  • Le mélange d’entraînement comprend cinq types de tâches
    • Une tâche de dérendu qui génère de l’encre numérique à partir d’une image
    • Une tâche de dérendu qui reçoit en entrée une image et le texte reconnu par OCR pour générer de l’encre numérique
    • Une tâche de reconnaissance qui produit du texte à partir d’images réelles
    • Une tâche de reconnaissance qui produit du texte à partir d’images synthétiques
    • Une tâche mixte reconnaissance-dérendu qui produit à la fois du texte et de l’encre
  • Chaque tâche utilise un texte d’entrée propre à la tâche, afin que le modèle puisse distinguer les tâches pendant l’entraînement et l’inférence
  • L’apprentissage de la lecture aide à localiser et extraire plus précisément les éléments textuels dans l’image
  • L’apprentissage de l’écriture fait en sorte que la représentation vectorielle de sortie suive une dynamique physique et un ordre des traits proches de la manière dont les humains écrivent

Représentation de l’encre numérique et tokenisation

  • L’entraînement utilise des paires composées d’images de texte et de l’encre numérique correspondante
  • L’encre numérique est échantillonnée à partir de trajectoires d’écriture en temps réel, puis représentée sous forme de séquences de traits
  • Chaque trait est une séquence de points échantillonnés à vitesse constante
    • L’exemple utilise un échantillonnage de 50 points par seconde
  • Les images correspondantes sont générées en rendant l’encre sous forme de bitmap à une résolution donnée
  • Ce processus crée la correspondance pixels-traits qui sert de prérequis aux paires entrée-sortie du modèle
  • Le tokenizer d’encre transforme les points dans un format adapté aux LLM
    • Chaque point est converti en deux tokens encodant respectivement les coordonnées x et y
    • La séquence de tokens d’encre commence par b, qui indique le début d’un trait
    • Elle est ensuite suivie des tokens de coordonnées des points échantillonnés

Données d’évaluation et modèles comparés

  • Un dataset d’évaluation distinct a été collecté pour mesurer les performances
  • Les données d’évaluation partent de données OCR et ajoutent des paires de tracés produits par des humains, où des personnes ont directement recopié les images de texte présentées
  • Trois variantes du modèle ont été entraînées
    • Small-p : environ 340 millions de paramètres, configuration public
    • Small-i : configuration in-house
    • Large-i : environ 1 milliard de paramètres
  • La baseline General Virtual Sketching a été utilisée comme point de comparaison
  • Dans les évaluations automatiques comme humaines, les représentations vectorielles produites par le système sont sémantiquement et géométriquement proches des images d’entrée, et similaires aux données d’encre numérique produites par des humains

Différences observées dans l’évaluation qualitative

  • Les modèles et GVS ont été comparés sur les datasets publics d’évaluation IAM, IMGUR5K, ainsi que sur un dataset de croquis hors domaine
  • Les modèles InkSight reflètent généralement correctement le contenu textuel et ignorent l’arrière-plan sans rapport avec le sens
  • Ils peuvent aussi traiter des entrées comportant des occultations, ce qui montre l’intérêt des connaissances préalables de lecture acquises
  • GVS génère plusieurs traits redondants et a du mal à distinguer l’arrière-plan du premier plan
  • Large-i conserve davantage de détails et peut accepter une plus grande variété de styles d’images
  • Sur les croquis hors domaine, les modèles dérendent généralement les croquis simples, mais des artefacts tels que des traits inutiles ou mal alignés apparaissent encore

Évaluation humaine et limites

  • Il n’existe actuellement pas d’indicateurs ou de benchmarks établis pour l’évaluation quantitative dans ce domaine
  • Dans l’évaluation humaine, les données de tracés humains du dataset HierText ont été utilisées comme groupe témoin, et les sorties du modèle pour les mêmes échantillons comme groupe expérimental
  • Les évaluateurs voyaient l’image originale et l’échantillon d’encre numérique rendu, puis répondaient à deux questions
    • Évaluer si la sortie est un tracé raisonnable de l’image d’entrée
    • Évaluer si cette encre numérique pourrait sembler avoir été produite par un humain
  • L’évaluation a impliqué 16 personnes familières avec l’encre numérique mais n’ayant pas participé à la recherche
    • Chaque échantillon a été évalué par 3 évaluateurs
    • Les résultats ont été agrégés par vote majoritaire
  • La majorité de l’encre dérendue générée par Large-i a été jugée d’un niveau similaire à celle produite par des humains
  • 87 % des sorties de Large-i ont été classées comme de bons tracés ou comme des tracés ne présentant que de petites erreurs
  • Dans les comparaisons d’exemples, tous les modèles ont mal traité les guillemets doubles de l’échantillon de la ligne du haut, tandis que dans l’échantillon de la ligne du bas, un tracé humain se concentrait uniquement sur les mots principaux et manquait la plupart des autres éléments
  • Les tracés humains eux-mêmes ne sont pas parfaitement alignés avec l’image de base, ce qui montre que le traçage des parties manuscrites de HierText est en soi complexe et difficile

Conclusion

  • InkSight est une première approche de ce type pour convertir des photos d’écriture manuscrite en encre numérique
  • Sa configuration d’entraînement est conçue pour fonctionner même sans données d’entraînement appariées
  • Elle fonctionne de manière robuste sur diverses entrées, peut être appliquée à des notes manuscrites complètes et se généralise dans une certaine mesure aux croquis hors domaine
  • C’est une approche qui peut être construite avec des composants standards, sans modélisation complexe

1 commentaires

 
GN⁺ 2024-10-29
Avis sur Hacker News
  • J’ai acheté un petit tableau blanc pour réfrigérateur, et combiné à la fonction de l’iPhone qui photographie l’écriture manuscrite pour la copier en texte, c’est assez excellent
    Ce n’est pas toujours parfait, et mon écriture ne l’est pas non plus, mais c’est largement suffisant pour corriger une ou deux lettres et l’envoyer
    C’est efficace parce qu’on n’envoie pas toute l’image, on n’a pas besoin de taper ni de glisser le doigt, on n’a même pas besoin de regarder l’écran, mon conjoint peut consulter la liste à tout moment, et il n’est pas nécessaire de la mettre dans le cloud
    Pas besoin d’alimentation, les marqueurs durent longtemps, et quand il manque quelque chose dans le réfrigérateur, le geste de prendre aussitôt le marqueur pour l’écrire dessus paraît très naturel

    • Idée plutôt géniale. À cause de ce billet, je pense que les ventes de tableaux blancs pour réfrigérateur vont légèrement augmenter chez les lecteurs de HN
    • Si vous voulez éviter les marqueurs, une tablette d’écriture LCD est aussi une option. Cela ressemble à un Etch A Sketch et fonctionne de manière similaire, mais avec un stylet et un écran LCD ; on peut en trouver à moins de 10 euros
  • Très chouette. Il y a des applications intéressantes pour ce genre de technologie. Mon écriture manuscrite est assez mauvaise, et encore pire quand j’écris vite
    Quand j’enseigne, l’écriture que je mets au tableau est souvent bien moins lisible que je ne le voudrais
    Je pourrais imaginer entraîner un tel système avec mon écriture très lente et très soignée, puis lui faire transformer, pendant le cours, mon écriture rapide et mauvaise au tableau blanc en une version plus propre de ma propre écriture

    • Cela peut paraître étrange, mais je me demande si tu as essayé le stylo-plume
      Le retour est complètement différent de celui d’un stylo-bille, et cela dépend aussi du type de papier et d’encre. L’écriture devient moins « prévisible » et un peu plus agréable
      On peut très bien commencer avec un modèle bon marché à 5–15 dollars à plume moyenne ; certains finissent par collectionner les stylos-plume, mais moi j’écris la plupart de ce que je mets sur papier avec un Pelikan Jazz à environ 20 dollars
    • Améliorer son écriture n’est pas difficile. Sur un tableau blanc, il suffit de commencer par écrire uniquement en lettres capitales
      Au début, on ralentit, mais pas très longtemps
      C’est l’un des conseils qui ont « changé la donne » quand j’étais tuteur à l’université. L’autre consistait à toujours recopier les livres de la fin vers le début ; c’était très utile, même si c’est aujourd’hui une méthode un peu datée
    • On peut aussi chercher un manuel de lettering pour améliorer son écriture. En s’entraînant lentement, l’écriture quand on écrit vite s’améliore aussi
    • Si l’on trace les formules assez bien, on peut les convertir en LaTeX en temps réel puis les exécuter dans un notebook de calcul
      En particulier, en combinant la voix qui explique les formules avec le LaTeX, on peut aussi corriger les erreurs
    • Dans ce cas, autant utiliser simplement un projecteur laser, un clavier et une zone de texte sur une toile, non ?
  • En ne lisant que le titre, j’ai naïvement cru qu’il s’agissait d’un article sur la façon de retrouver une compétence perdue et de revenir à de beaux carnets manuscrits faciles à lire
    C’est un problème que je rencontre aujourd’hui, après avoir trop tapé au clavier et moins écrit à la main pendant des années
    La vraie recherche de Google aide tout de même, puisqu’elle rend mes notes numériques moins chaotiques. Mais je préférerais ne pas dépendre d’innovations technologiques pour améliorer mon écriture

    • Si tu veux vraiment t’améliorer, il existe sur YouTube tout un domaine consacré à ça. Il suffit de choisir l’écriture que tu veux, puis pratiquer, pratiquer, pratiquer
      Certaines personnes publient gratuitement ou vendent des feuilles d’entraînement avec des lignes spéciales pour aider à aligner les différentes hauteurs ou à obtenir l’inclinaison parfaite
      Comme quand on apprend à écrire au début, il faut y consacrer du temps, s’y intéresser et le faire soi-même
    • Si tu veux améliorer ton écriture, une bonne méthode consiste à utiliser un stylo-plume
      Mon écriture est bien meilleure au stylo-plume qu’au stylo-bille ou au stylo gel. Je pense que c’est parce qu’un stylo-plume impose une position et un angle optimaux. Ce n’est pas un objet qui écrit quel que soit l’angle avec lequel on l’appuie sur le papier, donc il est plus exigeant, et il offre aussi une sensation plus douce et un meilleur retour
      Pas besoin d’aller trop loin : un Pilot Metro à plume moyenne, autour de 20 euros, ou un modèle similaire, suffit largement
    • Je recommande d’étudier le lettering de bande dessinée. Cela ne veut pas dire que c’est la manière la plus efficace d’écrire, mais cela apprend à penser en termes de traits et de cohérence
      À partir de là, il est facile de développer son propre style
    • Après avoir remarqué que mon écriture était catastrophique, je l’ai améliorée en écrivant plus lentement et en faisant consciemment attention à écrire proprement
      Le stylo-plume m’a aidé à ralentir, mais fondamentalement il s’agissait d’écrire assez lentement pour former consciemment de belles lettres ; une fois que c’est devenu plus facile, la vitesse est revenue. L’habitude de prêter assez attention pour former de belles lettres est tout de même restée
      Plutôt qu’un entraînement délibéré avec des feuilles d’exercices ou des drills, le plus important est d’écrire assez lentement pour former correctement les lettres jusqu’à ce que la mémoire musculaire s’installe et que la vitesse revienne
    • Je recommande le site Handwriting Repair de Kate Gladstone
      https://handwritingrepair.info/
      Ou bien ceci vaut aussi le détour
      https://sites.google.com/view/briem/free-books
      Le superbe The First Writing Book: Arrighi's Operina de John Howard Benson, ou l’excellent An Italic Calligraphy Handbook de Carolyn Knudsen, sont également de bonnes ressources. Leurs titres sont modestes, mais le contenu est bien meilleur, et on peut les utiliser avec un marqueur à pointe biseautée ou un stylo-plume
  • Il y a 10 ans, j’ai essayé Tesseract pour l’OCR, et il reconnaissait suffisamment bien l’anglais. Si ma mémoire est bonne, Tesseract était aussi développé par Google et open source
    À l’époque, je l’avais essayé sur une langue autre que l’anglais, à savoir le grec, et les résultats étaient très mauvais
    C’est réjouissant de voir de bons travaux de recherche en OCR fondé sur les Transformers

    • Récemment, Tesseract m’a assez impressionné. Je l’ai utilisé le mois dernier pour ajouter du texte OCR invisible à un PDF scanné que je consulte souvent ; la qualité du scan était plutôt bonne, mais la précision restait impressionnante
      J’ai aussi passé la table des matières à l’OCR, puis j’ai ajusté les paramètres de segmentation des pages dans le terminal jusqu’à obtenir une sortie copiable-collable, avant d’ajouter une table des matières navigable
      1 : avec l’aide de https://github.com/ocrmypdf/OCRmyPDF
      2 : https://tesseract-ocr.github.io/tessdoc/Command-Line-Usage.html, « Using different Page Segmentation Modes »
    • Tesseract a été créé à l’origine par HP, puis développé plus tard par Google après avoir été publié en open source. Comme il repose sur une technologie des années 1980, il est assez en deçà des attentes
      Mais il a quand même l’avantage d’être gratuit
  • Je me demande quel est l’état de l’art actuel pour détecter l’écriture manuscrite dans des photos
    Le suivi des traits est intéressant, mais ce qui m’intéresse davantage, c’est de convertir mes notes manuscrites en Markdown

    • Je ne sais pas si c’est l’état de l’art, mais la reconnaissance d’écriture manuscrite d’iOS et ChatGPT fonctionnent étonnamment bien pour moi. Même avec une écriture moche
      Cela dit, la précision est plutôt autour de 90 à 95 %, donc il faut relire la sortie avant de s’y fier
  • Expérience très intéressante. Je développe une application d’écriture manuscrite depuis quelques années, et ce serait vraiment bien de pouvoir y ajouter une fonction qui prend une photo et la convertit en encre numérique
    [0] https://scrivanolabs.github.io

  • Est-ce que ça peut aussi lire les gribouillis des médecins ? Si oui, ce serait une avancée majeure pour la saisie de données médicales

    • Le nombre de décès causés à l’hôpital par une mauvaise lecture des prescriptions est choquant
      Il faut être très prudent avant d’ajouter une couche d’interprétation supplémentaire entre le médecin et l’infirmier ou l’infirmière chargé(e) des soins
      C’est dommage qu’on n’enseigne pas l’écriture en lettres capitales à la fac de médecine comme on l’enseignait autrefois aux dessinateurs industriels
  • Le moment où Apple Notes a corrigé mon écriture dans mon propre style manuscrit a été effrayant

  • J’attends toujours un environnement de programmation utilisable au stylet sur tablette. J’aimerais qu’on ne soit pas obligé de transporter un clavier Bluetooth
    Malheureusement, comme la plupart des gens ne paieraient probablement pas pour ça, personne ne semble s’y intéresser comme opportunité commerciale

    • Je tape clairement plus vite que j’écris. C’est encore plus vrai pour le code, qui demande souvent de modifier sur place ou de réorganiser des phrases
      J’aime aussi travailler avec du papier et un stylo, mais c’est mieux adapté à la génération d’idées, aux diagrammes et aux listes de tâches qu’à une saisie structurée
    • Ce serait probablement une expérience utilisateur vraiment atroce, et je ne paierais pas pour ça. Il faudrait plutôt me payer pour que je l’utilise
    • Peut-on dessiner 120 mots par minute au tactile ?
  • Je pense que les modèles qui transforment l’écriture manuscrite « hors ligne », c’est-à-dire l’encre sur papier, en une forme « en ligne », avec l’ordre et le timing des traits, pourraient être vraiment utiles dans les pipelines de reconnaissance d’écriture manuscrite de documents historiques
    Mais au final, il faudra une approche intégrée de bout en bout
    Je ne comprends pas pourquoi la reconnaissance de l’écriture manuscrite dans les documents historiques est autant négligée dans tous les benchmarks d’évaluation des modèles multitâches. Il existe des millions de documents historiques manuscrits non indexés, qui pourraient nous permettre de comprendre bien mieux notre passé récent
    Et, par extension, donner aussi aux modèles une bien meilleure compréhension de ce passé récent