Hi!
Etwas esoterisch, recht komplex, aber imho ziemlich spannend: tesseract-ocr trainieren.
Bin jetzt soweit durch; bitte um Rückmeldungen!
so long
hank
Wikiteam
![]() Anmeldungsdatum: Beiträge: 11288 |
Hi! Etwas esoterisch, recht komplex, aber imho ziemlich spannend: tesseract-ocr trainieren. Bin jetzt soweit durch; bitte um Rückmeldungen! so long |
||||||||||||||
Supporter
![]() Anmeldungsdatum: Beiträge: 8555 |
wau ziemlich viel text ☺ kann nicht viel dazu sagen. ein paar typos habe ich noch gesehen. |
||||||||||||||
Wikiteam
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 11288 |
Hi! Philipp B schrieb:
Ja, ich weiß... Im Prinzip sind es 3 Artikel in einem, weil die Programme Tessboxes, tesseractTrainer und auch das Xsane-Skript theoretisch eigenen "Artikel" wären. Es gibt die Teile aber eben nur zu dem Zwecke, das Training von tesseract-ocr zu vereinfachen...
Ich sach' ja: etwas esoterisch... 😉 so long |
||||||||||||||
Supporter
![]() Anmeldungsdatum: Beiträge: 8555 |
seien wir ganz ehrlich. es werden nur sehr wenige menschen tesseract antrainieren daher meine empfehlung es nicht zuu ausführlich beschreiben. manchmal liegt in der kürze die würze. |
||||||||||||||
Wikiteam
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 11288 |
Philipp B schrieb:
Da hast sicher recht.
aber in der Kürze liegt dann imho leider recht wenig Würze, dann ist es nämlich nicht nachvollziehbar... 😉 so long |
||||||||||||||
Wikiteam
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 11288 |
Hi! Nachdem ich noch unter dieschs Anleitung den Fehler in tesseractTrainer.py beheben konnte, würde ich den Artikel jetzt gerne verschieben. OK? so long |
||||||||||||||
Wikiteam
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 11288 |
Hi! Na, nach den überwältigenden Rückmeldungen schreite ich dann mal zur Tat... so long |
||||||||||||||
Ehemalige
![]() Anmeldungsdatum: Beiträge: 4259 |
Könnte das Getestet des Trainieren-Unterartikels nicht dem des Hauptartikels angepasst werden? Sonst Archiv |
||||||||||||||
Wikiteam
(Themenstarter)
![]() Anmeldungsdatum: Beiträge: 11288 |
Hi! Das Problem ist, dass das für tesseract 2.0x geschrieben ist, das ist aber nicht mehr aktuell und nicht mehr in den Quellen. Das ganze geht auch unter tesseract 3., aber es gibt einige Unterschiede, insbesondere wird das alles zum Schluss dann in eine einzige XXX.trainedata-Datei zusammengefasst. Ich habe das bisher noch nicht probiert; die beschriebenen Programme müsste auch alle erst für tesseract 3 testen, ist aber gerade nicht mein Thema... Insofern wohl erstmal ins Archiv. so long |
||||||||||||||
Anmeldungsdatum: Beiträge: 80 |
Hier ist zumindestens schon einmal eine Kurzanleitung (ohne Berücksichtigung von Hinweisen, Schwierigkeiten, Besonderheiten und weiteren Optionen) für die Herstellung der benötigten traineddata-Datei für die tesseract-Version 3.0x: 1. Man benötigt, für die Datei <lang>.traineddata (<lang> ist z.B. deu für Deutsch), mindestens folgende vier Dateien:
die mit Hilfe der folgenden Anweisungen hergestellt wird. 2. Trainingstext mit einem normalen Editor erstellen, mit allen zu erkennenden Buchstaben und Zeichen, wobei jeder Buchstabe bzw. jedes Zeichen mindesten 10 mal, häufigere mehr, seltenere weniger vorkommen sollte. Der Trainingstext muss ASCII- oder UTF8-Format ohne BOM haben. Er muss am Ende jeder Zeile ein Unix-Zeilenwechsel-Zeichen am Ende ("\n") haben. Das letzte Zeichen des Trainingstextes wie auch der anderer Textdateien wie font_properties muss ebenfalls ein Unix-Zeilenwechsel-Zeichen ("\n") sein. 3. Durch die 12-malige Anwendung des Befehls text2image werden je 12 Tiff-Bilder und je 12 Box-Dateien aus diesem Trainingstext erzeugt mit 12 unterschiedlichen Schriftartausprägungen (drei Schriftarten wie Courier (nicht-proportionale Schrift), Serif-Schrift und serifenlose-Schrift mit Ausführungen in jeweils normal, kursiv, fett und fett-kursiv) - dies ist meiner Meinung nach die Mindestanzahl an Schriftart-Varianten für eine optimale Erkennung von gedrucktem Text:
4. Erzeugung einer *.tr-Datei aus jedem Tif-/Box-Paar mit Hilfe des "tesseract"-Befehls ⇒ 12 tr-Dateien
5. Erzeugung einer unicharset-Datei aus allen *.box-Dateien
6. Erstellung einer font_properties-Datei mit soviel Zeilen wie es *.tr-Dateien gibt nach diesem Format: <Schriftartbezeichnung ohne Leerzeichen> <kursiv> <fett> <fixed> <mit Serifen> <fraktur> Eine Zeile sieht dann z.B. so aus: timesitalic 1 0 0 1 0 7. Erstellung einer <lang>.unicharset-Datei sowie der inttemp-(die Form-Prototypen) und pffmtable-Datei (Anzahl der zu erwartenden Eigenschaften der Zeichen) mit dem mftraining-Befehl:
8. Erstellung der normproto-Datei aus allen *.tr-Dateien:
9. Zusammenfassen aller erzeugten Dateien zur Trainingsdatei (<deu>.traineddata): Alle erzeugten Dateien brauchen zunächst einmal das gleiche Sprachenkürzel am Anfang (z.B. deu):
Dann ausführen des combine_tessdata-Befehls ("combine_tessdata <lang>." - wichtig ist der Punkt am Ende!):
10. Kopieren der <lang>.traineddata-Datei ins tessdata-Verzeichnis:
|
||||||||||||||
Anmeldungsdatum: Beiträge: 80 |
Nachtrag: Die Informationen stammen aus folgender Datei:
http://code.google.com/p/tesseract-ocr/wiki/TrainingTesseract3 |
||||||||||||||
Anmeldungsdatum: Beiträge: 14259 |
Gibt es Bestrebungen, diese Kurzanleitung irgendwann in einen neuen Artikel zu ueberfuehren? Leider muss ich gestehen, dass ich schon beim archivierte Artikel wie der Ochs vorm Berge stehe - lupenreiner Voodoo 😐 |
||||||||||||||
Anmeldungsdatum: Beiträge: 80 |
Jahaaa! Am Wochenende werde ich mich dem Thema wieder verstärkt widmen, derzeit bin ich beruflicherseits etwas im Stress. Nichtsdestotrotz wird es noch einige Netto-Tage in Anspruch nehmen bis aus dem derzeitigen Archiv-Artikel ein guter öffentlicher Artikel wird. Oder gibt es vielleicht eine Firma, die ein Interesse an einem guten tesseract-trainieren-Artikel hätte? Dann würde es wahrscheinlich schneller gehen. 😈
Na hör mal! Wenn Du bei meiner fantastischen Kurzanleitung schon Verständnisprobleme hast, wie soll das dann für den Normaluser erst beim langen vollständigen Artikel werden? 😉 Zuletzt musste ich Probleme schon beim Erstellen der box-/tiff-Datei-Paare feststellen, weil das Programm tesseract Probleme mit der Erkennung eines einwandfrei lesbaren Buchstaben ("V") in einer Schriftart hat und zudem das Programm text2image Buchstaben teilweise zu dicht aneinandersetzt (quasi Ligaturen) so dass sie nicht korrekt als einzelne Buchstaben erkannt werden können. Als nächstes muss ich mal abklopfen ob die manuelle Methode fehlerfrei funktioniert bzw. ob die Erstellung der Bild-Textvorlagen mit Hilfe von Gimp zu besseren Ergebnissen führt. Aber wie gesagt erst am Wochenende. |