Korrektur verzogener Seiten (Page Dewarping)
- Die Aufgabe, Bilder von aufgerollten Seiten zu glätten, wird als Optimierungsproblem behandelt.
Hintergrund
- Bestehende Methoden zur Korrektur von Verzerrungen, etwa die Leptonica-Bibliothek oder der Coordinate Transform Model (CTM)-Ansatz, verwenden einen hierarchischen Ansatz zur Problemzerlegung.
- Text wird zeilenweise segmentiert.
- Es wird ein Warping bzw. eine Koordinatentransformation gesucht, damit die Zeilen parallel und horizontal werden.
- Inspiriert vom 3D-Zylindermodell-basierten Ansatz von CTM wurde ein eigenes parametrisches Modell mit Parametern erstellt, die die Form der Seite bestimmen.
- etwa 3D-Rotations-/Translationsvektoren, der Steigungswert der Seitenkrümmung, horizontale Linien-Offsets usw.
- Formuliert als Optimierungsproblem
- Im Originalfoto werden entlang horizontaler Textbereiche Keypoints gesucht.
- Ausgehend von einer Anfangsschätzung werden die Modellparameter optimiert, um den Reprojektionfehler der Keypoints zu minimieren.
Verfahren
- Extraktion der Seitenränder
- Erkennung von Textkonturen
- Nutzung von Binarisierung, morphologischen Operationen und Connected-Component-Analyse
- Speziell darauf ausgelegt, auch Tabellen mit vertikalem Text zu erkennen
- Gruppierung der Textkonturen zu horizontalen Bereichen
- Sampling von Keypoints in horizontalen Bereichen
- Schätzung der initialen Modellparameter
- Minimierung des Reprojektionfehlers per Optimierung
- Verwendung des Powell-Solvers aus
scipy.optimize.minimize
- Nimmt den größten Teil der Laufzeit ein
- Koordinatentransformation mit dem optimalen Modell, anschließend Bild-Remapping und Binarisierung
Ergebnisse
- Funktioniert gut bei verschiedenen Beispielbildern
- Die große Zahl an Modellparametern macht die Optimierung zeitaufwendig
- Horizontale Verzerrungen wurden nicht berücksichtigt
Fazit
- Typischer Workflow, bei dem zunächst Hintergrundwissen aufgebaut und das Problem dann als Optimierungsaufgabe formalisiert wird
- Ein ähnlicher Ansatz wie bei Deformable Part Model und Active Appearance Model
- Nebenbei wurden auch praktische Kenntnisse im Umgang mit Tools wie Emacs und Pylint gewonnen
- Es sind keine weiteren Ausbaupläne vorgesehen, aber als Projekt für den Unterricht in Computer Vision ist es durchaus referenzwürdig
Meinung von GN⁺
- Für praktische Nutzbarkeit scheint auch eine Korrektur horizontaler Verzerrungen nötig zu sein. Dafür wäre vermutlich wie bei CTM ein ausgefeilteres Modell erforderlich.
- Eine höhere Optimierungsgeschwindigkeit wirkt wichtig. Weniger Parameter oder schnellere Optimierungsmethoden könnten helfen.
- Ein Vergleich mit Deep-Learning-basierten Verfahren wäre interessant. Vielleicht kann Deep Learning Merkmalsextraktion und Modellierung gleichzeitig lösen.
- Für den Einsatz in der industriellen Dokumentendigitalisierung müsste die Robustheit gegenüber Dokumenten mit sehr unterschiedlichen Layouts weiter verbessert werden.
- Die Veröffentlichung als Open Source ist positiv, für den praktischen Einsatz wäre die Distribution als eigenständiges Programm aber wohl besser als ein Python-Skript.
1 Kommentare
Hacker-News-Kommentare
Zusammenfassung:
de-curlingvon gescannten Seiten, die sich nicht aufschlagen lassen, war eine Herausforderungde-wrinklingfür Kassenzettel auszuprobierende-warpingper Röntgentomographie möglich