Mittwoch, 25. Dezember 2013

Was Training so ausmacht


Bin dank Clemens Neudecker auf das im Rahmen des succeed Projektes entwickelte Tool ocrevalUAtion gestoßen. Damit kann man seine OCR-Ergebnisse mit dem Original vergleichen und bekommt eine Übersicht über die typischen OCR-Fehler.

Ich habe mal eine Seite aus Bunte Bilder aus dem Sachſenlande genommen und hier sind die Werte für untrainiertes Tesseract 3.02.03 mit dem mitgelieferten "deu-frak":


CER7,74
CER-DL7,74
WER27,65
WER (bag of words)27,43
 
Dabei bedeutet CER: Character error rate, CER-DL: Character error rate nach Damerau-Levenshtein und WER: Word error rate.

Hier sind also nur knapp 92% aller Zeichen richtig und gar nur 72% aller Wörter.

Nun die im Laufe des Bunte Bilder Projektes auf den Buchtitel trainierte Variante:

CER2,83
CER-DL2,83
WER7,78
WER (bag of words)9,07

Es sind nun 97% aller Zeichen richtig und fast 91% aller Wörter! Fazit: Trainieren lohnt sich!

Dies deckt sich auch mit den Berechnung aus meinem früheren Beitrag "OCR Qualität bestimmen" bzw. aus Teil 9, wo die Worterkennungsrate 93% betrug.

Das Tool berechnet aber auch für jedes vorkommende Zeichen die Fehlerwahrscheinlichkeit, was hilft sein Augenmerk auf diese typischen Probleme zu lenken. Hier ein Beispiel des untrainierten Tesseract. Ins Auge fällt, daß dies (wie bereits beschrieben) kein langes-s erkennt. Sichtbar sind auch die Problemzeichen 'n', 'u' und 'ü':

Error rate per character and type

CharacterHex codeTotalSpuriousConfusedLostError rate
204632010,65
!210100Infinity
"220100Infinity
)2920000,00
*2a201050,00
,2c3314221,21
-2d602033,33
.2e2901313,79
131610016,67
23240000,00
53540000,00
83830000,00
93950000,00
A4160000,00
B42110109,09
D44100000,00
E4560000,00
F4690000,00
G4760000,00
H4860000,00
I494040100,00
J4a50000,00
K4b80000,00
L4c10000,00
M4d50000,00
N4e40000,00
O4f20000,00
P5030000,00
R5270000,00
S532603011,54
T5450000,00
U5540000,00
V5670000,00
W5770000,00
Z5a70000,00
a611230201,63
b62410102,44
c63660101,52
d641100000,00
e654300411,16
f664005012,50
g67710000,00
h681210403,31
i69178230012,92
j6a3400133,33
k6b210104,76
l6c912002,20
m6d64019029,69
n6e2497705,62
o6f480000,00
p70110000,00
r721480000,00
s73372005,41
t741330100,75
u75105011111,43
v76180000,00
w77310000,00
x7810000,00
y7910000,00
z7a380000,00
«ab0100Infinity
»bb0100Infinity
Äc4201050,00
ßdf70000,00
äe4130000,00
öf6110000,00
üfc2109042,86
ſ17f900900100,00
20132020100,00
20140100Infinity
201c3030100,00
201e3030100,00