2 Punkte von GN⁺ 2024-10-29 | 1 Kommentare | Auf WhatsApp teilen
  • InkSight von Google Research stellt Fotos von Handschrift als digitale Tinte auf Ebene einzelner Stiftstriche wieder her und verfolgt damit den Ansatz, Papiernotizen ohne Spezialhardware wie digitale Notizen zu speichern und zu bearbeiten
  • Während einfaches OCR auf die Transkription von Text beschränkt bleibt, rekonstruiert InkSight die Strichtrajektorien, aus denen die Schrift entstanden ist, sodass man sie unter Beibehaltung des Handschriftstils betrachten und weiterschreiben kann
  • Das Modell extrahiert nicht nur geometrische Merkmale, sondern lernt Lesen und Schreiben gemeinsam und verarbeitet mit einem ViT-Encoder sowie einem mT5-Encoder-Decoder die Worterkennung und die Erzeugung von Strichen
  • Für ganze Seiten nutzt es einen Ablauf, bei dem OCR zunächst Bounding Boxes auf Wortebene findet, dann jedes Wort separat derendert und anschließend die pixelbasierte Schrift durch rekonstruierte Striche ersetzt
  • In der Bewertung wurden die Ausgaben von Large-i mit rund 1 Milliarde Parametern in mehreren Fällen als ähnlich zu von Menschen erzeugter digitaler Tinte beurteilt; 87 % wurden als gutes Tracing oder als Tracing mit nur kleinen Fehlern eingestuft

Warum handschriftliche Papiernotizen in digitale Tinte umgewandelt werden sollen

  • Digitale Notizen bieten Haltbarkeit, Bearbeitbarkeit und Indexierbarkeit, dennoch schreiben viele Menschen ihre Notizen weiterhin mit Papier und Stift
  • Der Prozess, physische Handschrift in eine digitale Form zu überführen, heißt Derendering, und das Ergebnis sind Striche, die die Bewegung von Stift oder Finger als Punktsequenz speichern
  • Diese Darstellung wird auch als „Online“-Handschriftdarstellung oder digitale Tinte bezeichnet
  • Einfaches OCR transkribiert Handschrift in ein Textdokument, digitale Tinte erfasst handschriftliche Dokumente dagegen als Sammlung von Strichen
    • Nutzer können natürlicher von Hand weiterbearbeiten
    • Schriftstil und das tatsächliche Gefühl der Handschrift lassen sich bewahren
    • Notizen können zusammen mit Bildern, Text, Links und digitalen Hilfsfunktionen organisiert und integriert werden
  • Bisher gab es Ansätze mit Smartpens, Spezialpapier oder dedizierten Software-Stacks, doch zusätzliche Hardware und Kosten stellen eine Einstiegshürde dar

Was InkSight rekonstruiert

  • InkSight: Offline-to-Online Handwriting Conversion by Learning to Read and Write extrahiert die Striche, aus denen die Schrift besteht, aus Fotos handschriftlicher Notizen
  • Als Eingabe werden nur Fotos ohne zusätzliche Geräte verwendet; Modell und Inferenzcode sind im GitHub-Repo verfügbar
  • Es stützt sich nicht auf typische geometrische Komponenten wie Gradienten, Konturen oder Formen im Bild
  • Das Modell lernt zwei Fähigkeiten gemeinsam
    • Lesen: Wörter im Bild erkennen
    • Schreiben: Striche ausgeben, die wie Handschrift wirken
  • Diese Kombination ist darauf ausgelegt, auch bei schwierigen Eingaben wie Beleuchtungsschwankungen, Verdeckungen oder sehr unterschiedlicher Optik robuster zu arbeiten

Systemablauf für die Verarbeitung ganzer Seiten

  • Das grundlegende Ziel ist es, die Trajektorien auf Strichebene der Handschrift zu erfassen, damit Nutzer sie in einer beliebigen Notiz-App speichern können
  • Intern identifiziert zunächst ein bestehendes OCR-Modell handschriftliche Wörter, danach wandelt das Modell diese Wörter in Striche um
  • Für Reproduzierbarkeit, Wiederverwendbarkeit und einfache Einführung werden ein weit verbreiteter ViT-Encoder und ein mT5-Encoder-Decoder kombiniert
  • Da Bilder beliebiger Größe, unterschiedliche Auflösungen und verschiedene Inhaltsmengen verarbeitet werden müssen, ist Skalierbarkeit eine zentrale Herausforderung
  • Weil das direkte Lernen auf sehr hochauflösenden Eingaben und langen Ausgabesequenzen rechenintensiv wäre, wird das Derendering einer Seite in drei Schritte aufgeteilt
    • OCR extrahiert Bounding Boxes auf Wortebene
    • Jedes Wort wird separat derendert
    • Die Offline-Pixeldarstellung wird durch die derenderten Striche ersetzt
  • Um die Domänenlücke zwischen zusammengesetzten Bildern gerenderter Tinte und realen Fotos zu verringern, wird Data Augmentation eingesetzt
    • Tintenwinkel, Farbe und Strichbreite werden randomisiert
    • Gaußsches Rauschen und komplexe Hintergründe werden hinzugefügt

Wie Lesen und Schreiben gemeinsam gelernt werden

  • Genügend überwachte Bild- und Zielpaarungen mit digitaler Tinte zu sammeln ist teuer und zeitaufwendig, und es scheint keine ausreichend vielfältigen Datensätze für diese Aufgabe zu geben
  • InkSight verwendet ein Multitask-Learning-Setup, um ohne große Mengen gepaarter Samples zu generalisieren
  • Der Trainingsmix besteht aus fünf Aufgabentypen
    • Derendering: digitale Tinte aus Bildern erzeugen
    • Derendering mit Bild und OCR-erkanntem Text als gemeinsamer Eingabe zur Erzeugung digitaler Tinte
    • Erkennungsaufgaben, die aus realen Bildern Text ausgeben
    • Erkennungsaufgaben, die aus synthetischen Bildern Text ausgeben
    • Gemischte Erkennungs- und Derendering-Aufgaben, die Text und Tinte gemeinsam ausgeben
  • Jede Aufgabe verwendet aufgabenspezifische Eingabetexte, damit das Modell Training und Inferenz unterscheiden kann
  • Das Lesenlernen hilft dabei, Textelemente im Bild präziser zu lokalisieren und zu extrahieren
  • Das Schreibenlernen sorgt dafür, dass die Vektorausgabe den physikalischen Dynamiken und der Reihenfolge menschlicher Striche näherkommt

Darstellung und Tokenisierung digitaler Tinte

  • Für das Training werden Paare aus Textbildern und zugehöriger digitaler Tinte verwendet
  • Die digitale Tinte wird aus Handschrifttrajektorien in Echtzeit gesampelt und anschließend als Strichsequenz dargestellt
  • Jeder Strich ist eine Sequenz von Punkten, die mit konstanter Geschwindigkeit gesampelt wurden
    • Im Beispiel sind es 50 Punkte pro Sekunde
  • Das zugehörige Bild wird erzeugt, indem die Tinte als Bitmap in einer vorgegebenen Auflösung gerendert wird
  • Dieser Prozess schafft die Pixel-Strich-Korrespondenz, die der Ein- und Ausgabe des Modells zugrunde liegt
  • Der Ink-Tokenizer wandelt Punkte in ein für LLMs geeignetes Format um
    • Jeder Punkt wird in zwei Tokens umgewandelt, die jeweils die x- und y-Koordinate codieren
    • Die Sequenz der Ink-Tokens beginnt mit b, das den Beginn eines Strichs markiert
    • Danach folgen die Koordinaten-Tokens der gesampelten Punkte

Evaluationsdaten und Vergleichsmodelle

  • Für die Leistungsbewertung wurde ein separater Evaluationsdatensatz erhoben
  • Die Evaluationsdaten basieren auf OCR-Daten und wurden um von Menschen erzeugte Tracings ergänzt, bei denen Personen vorgegebene Textbilder direkt nachzeichneten
  • Es wurden drei Modellvarianten trainiert
    • Small-p: etwa 340 Millionen Parameter, public-Konfiguration
    • Small-i: In-house-Konfiguration
    • Large-i: etwa 1 Milliarde Parameter
  • Als Vergleichsbaseline wurde General Virtual Sketching verwendet
  • Sowohl in der automatischen als auch in der menschlichen Bewertung ähneln die vom System erzeugten Vektordarstellungen den Eingabebildern semantisch und geometrisch und sind auch den von Menschen erzeugten Daten digitaler Tinte ähnlich

Unterschiede in der qualitativen Bewertung

  • Die Modelle und GVS wurden auf den öffentlichen Evaluationsdatensätzen IAM, IMGUR5K sowie auf einem Out-of-Domain-Skizzen-Datensatz verglichen
  • Die InkSight-Modelle geben den Textinhalt im Allgemeinen korrekt wieder und ignorieren semantisch irrelevante Hintergründe
  • Auch Eingaben mit Verdeckungen können verarbeitet werden, was den Vorteil des gelernten Vorwissens fürs Lesen zeigt
  • GVS erzeugt mehrere redundante Striche und hat Schwierigkeiten, Hintergrund und Vordergrund zu unterscheiden
  • Large-i bewahrt mehr Details und kann vielfältigere Bildstile aufnehmen
  • Bei Out-of-Domain-Skizzen derendern die Modelle einfache Skizzen meist erfolgreich, jedoch treten weiterhin Artefakte wie unnötige oder versetzte Striche auf

Menschliche Bewertung und Grenzen

  • Für dieses Forschungsfeld gibt es derzeit keine etablierten Metriken oder Benchmarks für die quantitative Bewertung
  • In der menschlichen Bewertung wurden die menschlichen Tracing-Daten des HierText dataset als Kontrollgruppe und die Modellausgaben für dieselben Samples als Versuchsgruppe verwendet
  • Die Bewertenden sahen das Originalbild zusammen mit gerenderten Samples digitaler Tinte und beantworteten zwei Fragen
    • Ob die Ausgabe ein plausibles Tracing des Eingabebilds ist
    • Ob diese digitale Tinte wie von einem Menschen erzeugt wirken könnte
  • An der Bewertung nahmen 16 Personen teil, die mit digitaler Tinte vertraut waren, aber nicht an der Forschung beteiligt waren
    • Jedes Sample wurde von 3 Bewertenden beurteilt
    • Die Ergebnisse wurden per Mehrheitsentscheid aggregiert
  • Der Großteil der mit Large-i erzeugten derenderten Tinte wurde als ähnlich zu menschlich erzeugter Tinte bewertet
  • 87 % der Large-i-Ausgaben wurden als gutes Tracing oder als Tracing mit nur kleinen Fehlern markiert
  • In Beispielvergleichen behandelten alle Modelle die Anführungszeichen im oberen Sample falsch; im unteren Sample konzentrierte sich ein menschliches Tracing nur auf die Hauptwörter und ließ die meisten anderen Elemente aus
  • Auch menschliche Tracings sind nicht perfekt mit dem Ausgangsbild ausgerichtet, was zeigt, dass das Nachzeichnen handschriftlicher Teile in HierText selbst komplex und schwierig ist

Fazit

  • InkSight ist ein erster Ansatz seiner Art, um Fotos von Handschrift in digitale Tinte umzuwandeln
  • Das Trainingssetup ist so konzipiert, dass es auch ohne gepaarte Trainingsdaten funktioniert
  • Es arbeitet robust mit vielfältigen Eingaben, kann auf vollständige handschriftliche Notizen angewendet werden und generalisiert in gewissem Maß auch auf Out-of-Domain-Skizzen
  • Es ist ein Ansatz, der sich ohne komplexe Spezialmodellierung aus Standardkomponenten aufbauen lässt

1 Kommentare

 
GN⁺ 2024-10-29
Meinungen auf Hacker News
  • Ich habe ein kleines Kühlschrank-Whiteboard gekauft, und in Kombination mit der iPhone-Funktion, die Handschrift fotografiert und als Text kopiert, funktioniert das ziemlich gut.
    Es ist nicht immer perfekt, und meine Handschrift ist es auch nicht, aber es reicht, um nur ein oder zwei Zeichen zu korrigieren und es abzuschicken.
    Es ist effizient, weil man nicht das ganze Bild verschickt, man muss weder tippen noch swipen und nicht einmal auf den Bildschirm schauen, der Partner kann die Liste jederzeit sehen, und man muss nichts in die Cloud hochladen.
    Es braucht keinen Strom, die Marker halten lange, und der Ablauf fühlt sich sehr natürlich an: Wenn etwas im Kühlschrank ausgeht, greift man direkt zum Marker und schreibt es auf den Kühlschrank.

    • Ziemlich coole Idee. Wegen dieses Beitrags dürfte der Absatz von Kühlschrank-Whiteboards bei der HN-Leserschaft leicht steigen.
    • Wenn man Marker vermeiden will, ist auch ein LCD-Schreibtablet eine Möglichkeit. Es sieht aus wie ein Etch A Sketch und funktioniert ähnlich, nutzt aber einen Stylus und ein LCD-Display; man bekommt so etwas auch für unter 10 Euro.
  • Sehr cool. Es gibt interessante Anwendungen für so eine Technik. Meine Handschrift ist ziemlich schlecht, und wenn ich schnell schreibe, wird sie noch schlimmer.
    Beim Unterrichten ist das, was ich an die Tafel schreibe, oft viel schlechter, als ich es gern hätte.
    Ich könnte mir vorstellen, einem solchen System meine sehr langsam und sauber geschriebene Schrift beizubringen und es dann im Unterricht meine schnell aufs Whiteboard gekritzelte schlechte Schrift in eine ordentlichere Version meiner eigenen Schrift umwandeln zu lassen.

    • Das mag seltsam klingen, aber ich frage mich, ob du schon einmal einen Füller ausprobiert hast.
      Das Feedback ist völlig anders als bei einem Kugelschreiber und hängt auch von Papier- und Tintensorte ab. Schreiben wird weniger „vorhersehbar“ und etwas angenehmer.
      Man kann gut mit einem günstigen Modell für 5 bis 15 Dollar mit mittelbreiter Feder anfangen; manche rutschen dann ins Füller-Sammeln ab, aber ich schreibe das meiste auf Papier mit einem Pelikan Jazz für etwa 20 Dollar.
    • Die Handschrift zu verbessern ist nicht schwer. Auf dem Whiteboard kann man damit anfangen, zunächst nur Druckbuchstaben zu verwenden.
      Am Anfang wird man langsamer, aber das hält nicht lange an.
      Das war einer der „Game Changer“-Ratschläge, die ich als Tutor an der Uni bekommen habe. Der andere war, Bücher immer von hinten nach vorn abzuschreiben; das war sehr nützlich, ist heute aber etwas aus der Zeit gefallen.
    • Man kann sich auch ein Lettering-Lehrbuch suchen und damit die Handschrift verbessern. Durch langsames Üben wird auch die Schrift beim schnellen Schreiben besser.
    • Wenn man Formeln gut genug zeichnet, kann man sie in Echtzeit in LaTeX umwandeln und anschließend in einem Rechen-Notebook ausführen.
      Besonders wenn man gesprochene Erklärungen der Formeln mit LaTeX kombiniert, lassen sich auch Fehler korrigieren.
    • Dann könnte man doch einfach einen Laserprojektor, eine Tastatur und ein Canvas-Textfeld verwenden, oder?
  • Allein vom Titel her dachte ich naiverweise, es ginge darum, eine verlorene Fähigkeit zurückzugewinnen und wieder lesbare, schöne handschriftliche Notizen zu schreiben.
    Das ist ein Problem, das ich gerade habe, nachdem ich jahrelang zu viel getippt und zu wenig von Hand geschrieben habe.
    Die eigentliche Forschung von Google ist zwar auch hilfreich, weil sie meine Notizen digital weniger chaotisch macht. Aber ich möchte mich nicht auf technologische Innovationen verlassen müssen, um meine Handschrift zu verbessern.

    • Wenn du ernsthaft besser werden willst, gibt es auf YouTube eine ganze Nische, die sich genau damit beschäftigt. Such dir eine gewünschte Schrift aus und dann heißt es: üben, üben, üben.
      Manche Leute stellen spezielle linierte Übungsblätter kostenlos bereit oder verkaufen sie, die dabei helfen, verschiedene Höhen einzuhalten oder die perfekte Neigung zu treffen.
      Wie damals, als man Schreiben gelernt hat: Man muss sich Zeit nehmen, Aufmerksamkeit investieren und es selbst machen.
    • Wenn man seine Handschrift verbessern möchte, ist eine gute Methode, einen Füller zu benutzen.
      Meine Schrift sieht mit einem Füller viel besser aus als mit Kugelschreiber oder Gelstift. Vermutlich, weil ein Füller eine optimale Position und einen bestimmten Winkel erzwingt. Er ist nicht etwas, das in jedem Winkel auf Papier gedrückt noch schreibt, sondern strenger; außerdem bietet er ein weicheres Schreibgefühl und besseres Feedback.
      Man muss es nicht übertreiben; ein Pilot Metro mit mittelbreiter Feder oder ein ähnliches Modell für normalerweise etwa 20 Euro reicht völlig.
    • Ich empfehle, sich mit Comic-Lettering zu beschäftigen. Es ist nicht unbedingt die effizienteste Art zu schreiben, aber man lernt, in Bezug auf Striche und Konsistenz zu denken.
      Daraus kann man leicht seinen eigenen Stil entwickeln.
    • Nachdem ich gemerkt hatte, dass meine Handschrift ein Chaos ist, habe ich sie verbessert, indem ich bewusst langsamer und ordentlicher schrieb.
      Ein Füller half mir, langsamer zu werden, aber im Kern ging es darum, langsam genug zu schreiben und bewusst schöne Buchstaben zu formen; nachdem es leichter wurde, kam auch die Geschwindigkeit wieder. Die Gewohnheit, genug Aufmerksamkeit auf schöne Buchstaben zu richten, blieb trotzdem.
      Wichtiger als gezieltes Üben mit Übungsblättern oder Drills war es, langsam genug zu schreiben, um die Buchstaben richtig zu formen, bis sich Muskelgedächtnis aufgebaut hatte und die Geschwindigkeit zurückkam.
    • Ich empfehle Kate Gladstones Website Handwriting Repair.
      https://handwritingrepair.info/
      Oder auch das hier ist sehenswert:
      https://sites.google.com/view/briem/free-books
      Ebenfalls gut sind John Howard Bensons wunderschönes The First Writing Book: Arrighi's Operina oder Carolyn Knudsens ausgezeichnetes An Italic Calligraphy Handbook. Die Titel sind bescheiden, aber der Inhalt ist viel besser; dazu kann man einen keilförmigen Marker oder einen Füller verwenden.
  • Vor 10 Jahren habe ich OCR mit Tesseract ausprobiert, und Englisch wurde ausreichend gut erkannt. Wenn ich mich richtig erinnere, wurde Tesseract ebenfalls von Google entwickelt und war Open Source
    Damals habe ich es für eine nicht-englische Sprache verwendet, nämlich Griechisch, und die Ergebnisse waren sehr schlecht
    Schön zu sehen, dass es gute OCR-Forschung auf Transformer-Basis gibt

    • In letzter Zeit war ich von Tesseract ziemlich beeindruckt. Ich habe es letzten Monat genutzt, um einem gescannten PDF, das ich häufig nachschlage, unsichtbaren OCR-Text hinzuzufügen. Die Scanqualität war zwar recht gut, aber die Genauigkeit war trotzdem beeindruckend
      Ich habe auch das Inhaltsverzeichnis per OCR verarbeitet und im Terminal mit den Einstellungen zur Seitensegmentierung experimentiert, bis eine Ausgabe herauskam, die sich kopieren und einfügen ließ, und dann ein durchsuchbares Inhaltsverzeichnis hinzugefügt
      1: Mit Hilfe von https://github.com/ocrmypdf/OCRmyPDF
      2: https://tesseract-ocr.github.io/tessdoc/Command-Line-Usage.html, „ Using different Page Segmentation Modes“
    • Tesseract wurde ursprünglich von HP entwickelt und später, nachdem es als Open Source veröffentlicht worden war, von Google weiterentwickelt. Es basiert auf Technik aus den 1980er-Jahren und bleibt daher ziemlich hinter den Erwartungen zurück
      Dafür hat es den Vorteil, kostenlos zu sein
  • Ich frage mich, was derzeit der Stand der Technik beim Erkennen von Handschrift in Fotos ist
    Das Nachverfolgen von Strichen ist auch gut, aber mich interessiert eher, meine handgeschriebenen Notizen in Markdown umzuwandeln

    • Ich weiß nicht, ob es Stand der Technik ist, aber die Handschrifterkennung von iOS und ChatGPT funktionieren bei mir erstaunlich gut. Sogar bei hässlicher Schrift
      Die Genauigkeit liegt allerdings eher bei etwa 90–95 %, daher sollte man die Ausgabe prüfen, bevor man ihr vertraut
  • Ein sehr interessantes Experiment. Ich entwickle seit einigen Jahren eine Handschrift-App, und es wäre wirklich schön, eine Funktion einbauen zu können, die ein Foto aufnimmt und es in digitale Tinte umwandelt
    [0] https://scrivanolabs.github.io

  • Kann es auch die Krakelschrift von Ärzten lesen? Wenn ja, wäre das wohl ein Durchbruch im Bereich medizinische Dateneingabe

    • Die Zahl der Todesfälle durch falsch gelesene Behandlungsanweisungen in Krankenhäusern ist erschreckend
      Man sollte sehr vorsichtig sein, zwischen Arzt und Pflegekraft noch eine weitere Interpretationsschicht einzuziehen
      Schade, dass man im Medizinstudium keine Blockschrift lehrt, so wie man sie früher technischen Zeichnern beigebracht hat
  • Als Apple Notes meine Schrift in meine eigene Handschrift korrigiert hat, war das ein unheimlicher Moment

  • Ich hoffe weiterhin auf eine Programmierumgebung, in der man auf Tablets Stifteingabe verwenden kann. Ich möchte nicht gezwungen sein, eine Bluetooth-Tastatur mitzunehmen
    Leider werden die meisten wahrscheinlich nicht dafür bezahlen, deshalb scheint sich niemand als Geschäftschance dafür zu interessieren

    • Ich tippe definitiv schneller, als ich schreibe. Besonders bei Code, weil dort häufig Bearbeitung an Ort und Stelle oder das Umstellen von Anweisungen nötig ist
      Ich arbeite auch gern mit Papier und Stift, aber das passt besser zum Ideensammeln, zu Diagrammen und To-do-Listen als zu strukturierter Eingabe
    • Das klingt nach einer wirklich furchtbaren User Experience, und ich würde dafür nicht bezahlen. Eher müsste mir jemand Geld geben, damit ich es nutze
    • Kann man per Touch 120 Wörter pro Minute zeichnen?
  • Ich glaube, Modelle, die „Offline“-Handschrift, also Tinte auf Papier, in die „Online“-Form mit Reihenfolge und Timing der Striche umwandeln, könnten für Pipelines zur Handschrifterkennung historischer Dokumente wirklich nützlich sein
    Am Ende braucht man aber einen durchgängig integrierten Ansatz
    Ich weiß nicht, warum die Handschrifterkennung historischer Dokumente in allen Benchmark-Evaluierungen für Multi-Task-Modelle so vernachlässigt wird. Es gibt Millionen nicht indexierter handschriftlicher historischer Dokumente, und sie könnten uns ein deutlich besseres Verständnis unserer näheren Vergangenheit geben
    Darüber hinaus könnten sie auch Modellen ein deutlich besseres Verständnis der näheren Vergangenheit vermitteln