Was wir beim Messen unseres Sudoku-Fotolesers gelernt haben
Aktualisiert am 5. November 2026
Was als richtig gelesen gilt
Ein Rätsel gilt nur dann als richtig gelesen, wenn alle 81 Felder stimmen: Eine einzige falsche Ziffer ergibt ein anderes Rätsel. Deshalb zählen wir ganze Rätsel, nicht Felder. Die beiden Zählweisen können sehr unterschiedliche Geschichten erzählen, wie diese Seite zeigt: Bei gedruckten Fotos liest der Fotoleser inzwischen 98,9 % der Felder richtig, doch der Anteil ganzer Rätsel hat sich kaum bewegt, weil die meisten falschen Felder in wenigen schwierigen Bildern stecken.
Außerdem zählen wir den gefährlichsten Fehler: ein falsch gelesenes Rätsel, das trotzdem genau eine Lösung hat. Ein echtes Sudoku hat eine Lösung, daher fällt ein Leseergebnis mit keiner oder mit vielen Lösungen sofort auf. Ein falsches Rätsel mit einer Lösung sieht unauffällig aus; deshalb markiert der Löser jedes Feld, bei dem er unsicher war, und bittet Sie, diese Felder vor dem Lösen mit Ihrem Rätsel zu vergleichen.
Bei 200 Bildern ist ein Ergebnis nur begrenzt genau. Für die Hauptergebnisse geben wir einen 95-%-Bereich an (ein Wilson-Intervall): 89,5 % von 200 Bildern bedeutet, dass die wahre Rate höchstwahrscheinlich zwischen 84,5 % und 93,0 % liegt.
Die Bilder, mit denen wir getestet haben
Wir begannen mit zwei offenen Datensätzen. Der Datensatz Sudoku Image Recognition von Lexski (CC0) umfasst 1.400 Bilder, die meisten davon Screenshots und Fotos, die Menschen online geteilt haben: Apps in jedem Stil, dunkle Designs, Bleistiftnotizen, auf Papier halb gelöste Rätsel. Der Datensatz von Baptiste Wicht und Jean Hennebert (CC BY 4.0) enthält mit Handys fotografierte Zeitungs-Sudokus, einige davon von Hand mit Kugelschreiber fertig ausgefüllt.
Bevor wir irgendetwas änderten, legten wir drei Testsets beiseite: 200 Lexski-Bilder, 40 Zeitungsfotos und 40 von Hand fertig ausgefüllte Zeitungsrätsel. Wir haben weder mit ihnen trainiert noch sie uns während der Arbeit angesehen. Jede Entscheidung wurde anhand von 200 anderen Lexski-Bildern getroffen, dem Abstimmungsset, und die Testsets wurden ein einziges Mal gelesen, am Ende.
Der Ausgangspunkt
Die erste Version vom 31. Oktober las 101 der 200 Lexski-Bilder exakt, 34 der 40 Zeitungsfotos und keines der 40 fertig ausgefüllten Rätsel. Die meisten Probleme entstanden schon vor den Ziffern. Sie hielt die größte annähernd quadratische Form aus Tinte für das Spielfeld, und auf einem Screenshot schließt diese Form oft eine Kopfzeile oder den Ziffernblock mit ein, während die dünnen grauen Linien eines dunklen Designs ganz übersehen werden. Im Abstimmungsset setzte sie das Gitter nur in 118 von 200 Fällen an die richtige Stelle.
Was wir geändert haben, Schritt für Schritt
Jede Zeile ist eine Änderung, und die Zahl gibt an, wie viele der 200 Abstimmungsbilder danach exakt gelesen wurden. Die letzten drei Zeilen gehören zur zweiten Runde.
| Änderung | Exakt gelesene Abstimmungsbilder (von 200) |
|---|---|
| Erste Version, 31. Oktober | 99 |
| Gitter anhand seiner Linien gefunden: zehn gleichmäßig verteilte Linien je Richtung | 129 |
| Gitter im direkten Vergleich bewertet; Versatz um ein Feld erprobt | 136 |
| Blasse Haarlinien zur Gittersuche genutzt | 138 |
| Felder vollständig ausgeschnitten; Ziffern aus echten Feldern gelernt | 161 |
| Ein kleines Netz kartiert, wo das Spielfeld liegt | 162 |
| Linien verfolgt, wo sich eine Seite biegt | 163 |
| Besseres Ziffernnetz, Bleistiftnotizen als eigene Klasse | 173 |
| Drei Ziffernnetze gemittelt | 177 |
| Vorsichtige Regel der eindeutigen Lösung; fertige Spielfelder als Ganzes gelesen | 177 |
| Zweite Runde: Fotos in voller Größe vor dem Verkleinern halbiert | 178 |
| Zweite Runde: kurze, blasse Tinte als Bleistiftnotiz behandelt | 179 |
| Zweite Runde: seitlich gedrehte Fotos von allen drei Netzen beurteilt | 179 |
Der größte Teil des Zugewinns kam von drei Änderungen. Das Gitter wird jetzt anhand seiner Linien gefunden: Jede Vermutung, wo das Spielfeld liegt, wird auf zehn gleichmäßig verteilte Linien in jeder Richtung eingepasst und im direkten Vergleich bewertet, und ein kleines Netz, das kartiert, wo ein Spielfeld liegt, hat eine Stimme. Jedes Feld wird vollständig ausgeschnitten, sodass eine Bleistiftnotiz klein in ihrer Ecke bleibt und eine helle Ziffer auf einer dunklen Kachel wie Tinte auf Papier aussieht. Und die Ziffernnetze lernten aus echten Feldern, die aus den Trainingsbildern von Lexski ausgeschnitten wurden, mit Bleistiftnotizen als eigener Klasse. Drei kleine, getrennt trainierte Netze lesen jetzt jedes Feld, und ihre Antworten werden gemittelt, weil sie ihre Fehler bei unterschiedlichen Feldern machen.
Ein fertig ausgefülltes Rätsel bekommt zusätzliche Hilfe. Enthält ein Spielfeld 79 oder mehr Ziffern, sucht der Fotoleser das wahrscheinlichste vollständige Gitter, in dem jede Zeile, jede Spalte und jeder Block die Ziffern 1 bis 9 enthält. Feld für Feld gelesen kamen nur 7 der 40 handschriftlichen Testrätsel exakt heraus; als fertiges Sudoku gelesen waren es alle 40.
Die zweite Runde brachte drei kleinere Änderungen. Ein Handyfoto in voller Größe wird schrittweise halbiert, bevor es verkleinert wird, sodass dünne Linien und Bleistiftstriche in den Mittelwert eingehen, statt übersprungen zu werden. Ein Feld, dessen Tinte sowohl deutlich kürzer als auch deutlich blasser ist als die sicheren Ziffern des Spielfelds, wird als wahrscheinliche Bleistiftnotiz behandelt. Und die Drehung eines seitlich gedrehten Fotos wird von allen drei Netzen beurteilt statt von einem.

Was nicht geholfen hat
Auch diese Varianten haben wir am Abstimmungsset gemessen und dann weggelassen:
- Ein größeres Ziffernnetz: 59.000 Gewichte statt 42.000 lasen ein Abstimmungsbild mehr und liefen im Browser 3,8-mal langsamer.
- 3.000 generierte App-Screenshots mit Bleistiftnotizen und dunklen Designs: dasselbe Ergebnis mit wie ohne sie.
- Farbe statt Graustufen lesen, damit ein roter Stift so dunkel ist wie schwarze Tinte: zwei Abstimmungsbilder mehr, aber Handschrift wurde schlechter gelesen.
- Die Trainingsziffern verzerren, damit sie eher wie Handschrift aussehen: Handschrift wurde schlechter gelesen.
- Die Regel der eindeutigen Lösung mehr Felder ändern lassen: mehr richtig gelesene Rätsel, aber auch mehr der gefährlichen falschen Rätsel mit einer Lösung.
- Die drei Netze mit neuen Daten neu trainieren oder vier oder sechs davon verwenden: innerhalb des Rauschens, daher blieben die ersten.
- Den Bildrand als Rand des Spielfelds behandeln, für Spielfelder, die vom Bildausschnitt abgeschnitten werden: ebenso viele Bilder verloren wie gewonnen.
Ergebnisse in den ersten Testsets
Exakt gelesene Rätsel in jedem Testset, mit der ersten Version und mit dem Fotoleser in seinem heutigen Stand:
| Testset | 31. Oktober | Jetzt |
|---|---|---|
| Online geteilte Screenshots und Fotos (Lexski)Bilder: 200 | 10150,5 % | 17989,5 % |
| Zeitungsfotos (Wicht und Hennebert)Bilder: 40 | 3485,0 % | 40100,0 % |
| Von Hand fertig ausgefüllte Zeitungsrätsel (Wicht und Hennebert)Bilder: 40 | 00,0 % | 40100,0 % |
Bei den Lexski-Bildern stieg der Fotoleser von 50,5 % auf 89,5 % (84,5 % bis 93,0 %), und falsch gelesene Rätsel mit dennoch einer Lösung gingen von 7 auf 4 zurück. Bei drei dieser vier ist die eine zusätzliche Ziffer genau die Ziffer, die dort hingehört, sodass das Rätsel trotzdem zur richtigen Lösung führt; beim vierten handelt es sich um eine deutlich gedruckte 1, die der Datensatz leer lässt. 177 der 179 waren am Ende der ersten Runde erreicht. Die letzten zwei kamen in der zweiten Runde hinzu, nachdem wir untersucht hatten, was fehlschlug; dieses Set ist also nicht mehr unberührt.
Vierzig von vierzig klingt perfekt, aber 40 Bilder können nur zeigen, dass die wahre Rate über etwa 91 % liegt. Und eine Prüfung, die wir zuerst hätten machen sollen: Vier der 40 Zeitungstestfotos sind auch im Trainingsset dieses Datensatzes enthalten, zwei davon pixelgenau. Ohne sie: 36 von 36.
Ein neuer Test: 200 Fotos, die keine Version gesehen hatte
Zu diesem Zeitpunkt waren die ersten Testsets gelesen und ihre Fehlschläge untersucht, sodass sie uns nicht mehr sagen konnten, wie der Fotoleser bei Bildern abschneidet, die ihm nie begegnet sind. Wir durchsuchten Hugging Face, Kaggle, GitHub, Zenodo, Figshare und AIcrowd nach weiteren annotierten Sudoku-Fotos. Die meisten Sammlungen bestanden aus generierten Spielfeldern, einzelnen Ziffern oder Kopien der Fotos von Wicht. Drei Sammlungen auf GitHub enthielten echte annotierte Fotos, alle von gedruckten Rätseln: 100 Fotos eines aufgeschlagenen Rätselbuchs (NatalijaPetric/SudokuDataset), 80 Fotos überwiegend von Zeitungen (mineshpatel1/sudoku-solver, nach Entfernen von 49 Fotos, die von Wicht selbst stammen, und einer Kopie) und 20 gedruckte Blätter aus einem Projekt eines Computer-Vision-Kurses der Universität Bukarest (danielsociu/SudokuRecognition).
Keine der drei nennt eine Lizenz, daher haben wir sie nur zum Messen verwendet: nie zum Trainieren, und sie werden hier nicht gezeigt. Die Liste der Bilder wurde vor jeder Änderung festgelegt und gespeichert, nach einer Regel anhand von Datei-Hashes und Annotationen ausgewählt, und die Bilder wurden erst nach der letzten Änderung der zweiten Runde geöffnet. Dann las jede Version des Fotolesers sie einmal. Die Tabelle zählt die exakt gelesenen Rätsel.
| Quelle | 31. Oktober | Erste Runde | Jetzt |
|---|---|---|---|
| Ein aufgeschlagenes Rätselbuch (NatalijaPetric)Fotos: 100 | 7979,0 % | 7676,0 % | 7878,0 % |
| Überwiegend Zeitungen (mineshpatel1)Fotos: 80 | 6581,3 % | 6885,0 % | 6986,3 % |
| Gedruckte Blätter (Kurs der Universität Bukarest)Fotos: 20 | 20100,0 % | 20100,0 % | 20100,0 % |
| Alle 200Fotos: 200 | 16482,0 % | 16482,0 % | 16783,5 % |
Bei gedruckten Rätseln, die der Fotoleser nie gesehen hatte, hat die gesamte Arbeit beider Runden wenig verändert. Die erste Version las 82,0 % davon exakt, die aktuelle 83,5 % (77,7 % bis 88,0 %): Sie gewann 14 Rätsel hinzu und verlor 11. Verbessert haben sich die Felder: 98,9 % werden richtig gelesen statt 94,2 %, und das Gitter wird in jedem Foto gefunden statt in 195 von 200. Falsch gelesene Rätsel mit dennoch einer Lösung: damals 5, jetzt 6.
Die Verluste haben eine klare Ursache. Um Bleistiftnotizen und dunkle Designs zu lesen, wird jedes Feld jetzt vollständig ausgeschnitten, und blasse Tinte zählt mit. Bei dünnem Zeitungspapier scheint die Rückseite durch, blass und gespiegelt, und der neue Fotoleser liest diese Schatten als Ziffern; die erste Version betrachtete nur die größte Tintenform in einem Feld und sah sie nie. Auf gewölbten Buchseiten kann die Außenlinie des Spielfelds oder eine Blocklinie in ein Feld fallen und als 1 gelesen werden.
Zwei der Fehlschläge sind Fehler in den Annotationen: Das Foto zeigt eine 3 und eine 9, wo die Annotation 9 und 8 angibt, und eine 4, wo sie 2 angibt. Richtig gezählt liest der aktuelle Fotoleser 84,5 %.
Was immer noch schiefgeht
Von den 200 neuen Fotos wurden 33 nicht exakt gelesen. 22 davon sind Seiten des aufgeschlagenen Rätselbuchs: Nahe dem Buchrücken wölbt sich die Seite stärker, als der Fotoleser nachverfolgt, sodass eine Linie in einem Feld landet und als 1 gelesen wird oder ein Eckfeld quer über eine Linie geschnitten wird. 7 sind Zeitungen, bei denen die Rückseite durchscheint. Übrig bleiben ein Foto eines Bildschirms mit Moiré, ein als 1 gelesener Spielfeldrand und die beiden Annotationsfehler.
Von den 200 Lexski-Bildern wurden 21 nicht exakt gelesen: als Ziffern gelesene Bleistiftnotizen, darunter radierter Bleistift, der blasse Ziffern hinterließ (7); eine zusätzliche Ziffer, meist eine einzelne Bleistiftnotiz, die als Eintrag gelesen wurde (5); das Gitter an der falschen Stelle oder nicht gefunden, bei App-Designs ohne Linien zwischen den Feldern oder bei einem von Hand gezeichneten Gitter (5); sowie ungewöhnliche Kacheln und Farben (4).
Warum nicht 97 %, und wie es weitergeht
Alles läuft in Ihrem Browser: ein Modell von 224 KB und etwa 850 Zeilen JavaScript, im Median etwa 300 Millisekunden pro Foto auf einem Laptop und etwa 1,2 Sekunden bei vierfach gedrosseltem Prozessor, wie auf einem langsamen Handy. Ein größeres Netz hat innerhalb dieses Budgets nicht geholfen. Was bleibt, ist ein langer Rest vieler Einzelfälle: gewölbte Seiten, durchscheinende Rückseiten, Bleistiftnotizen und ungewöhnliche App-Stile. Jedes öffentliche annotierte Set, das wir gefunden haben, ist inzwischen verwendet oder gesehen, daher braucht die nächste Runde Fotos, die wir selbst aufnehmen und annotieren, und an ihnen sollen die Probleme mit blasser Tinte und gewölbten Seiten behoben und gemessen werden.
Für den besten Scan
- Halten Sie das Handy gerade über das Rätsel, mit dem ganzen Gitter im Bild.
- Drücken Sie ein Buch oder eine Zeitung flach: Gewölbte Seiten verursachen die meisten Fehlschläge bei gedruckten Rätseln.
- Legen Sie bei dünnem Zeitungspapier ein unbedrucktes Blatt Papier hinter die Seite, damit die Rückseite nicht durchscheint.
- Scannen Sie, bevor Sie Bleistiftnotizen in das Rätsel schreiben.
- Vergleichen Sie vor dem Lösen die vom Löser markierten Felder mit Ihrem Rätsel.
Daten und Quellen
- Lexski, Sudoku Image Recognition (Hugging Face), CC0 1.0
- Wicht, B. and Hennebert, J., Sudoku dataset (GitHub), CC BY 4.0; "Camera-based Sudoku recognition with deep belief network", SoCPaR 2014
- NatalijaPetric, SudokuDataset (GitHub), keine Lizenz angegeben, nur zur Messung verwendet
- mineshpatel1, sudoku-solver (GitHub), keine Lizenz angegeben, nur zur Messung verwendet
- danielsociu, SudokuRecognition (GitHub), University of Bucharest course project, keine Lizenz angegeben, nur zur Messung verwendet
- So liest der Löser ein Foto, Schritt für Schritt (English)