Sudoku Flow

Ce que nous a appris la mesure de notre lecteur photo de Sudoku

Mis à jour le 5 novembre 2026

Quand une grille est-elle bien lue

Une grille n'est bien lue que si ses 81 cases sont toutes justes : un seul chiffre faux donne une autre grille. Nous comptons donc des grilles entières, pas des cases. Les deux peuvent raconter des histoires très différentes, comme le montre cette page : sur les photos de grilles imprimées, le lecteur lit maintenant 98,9 % des cases correctement, et pourtant la part des grilles entières a à peine bougé, car la plupart des cases fausses se concentrent dans quelques images difficiles.

Nous comptons aussi l'erreur la plus dangereuse : une grille mal lue qui a pourtant exactement une solution. Un vrai Sudoku a une seule solution, donc une lecture sans solution ou avec plusieurs solutions est repérée tout de suite. Une grille fausse à solution unique a l'air correcte ; c'est pourquoi le solveur signale chaque case dont il n'était pas sûr et vous demande de la comparer avec votre grille avant de résoudre.

Avec 200 images, un résultat n'a qu'une précision limitée. Pour les principaux résultats, nous donnons une fourchette à 95 % (un intervalle de Wilson) : 89,5 % de 200 images signifie que le taux réel se situe très probablement entre 84,5 % et 93,0 %.

Les images sur lesquelles nous avons testé

Nous sommes partis de deux jeux de données ouverts. Le jeu Sudoku Image Recognition de Lexski (CC0) compte 1 400 images, pour la plupart des captures d'écran et des photos partagées en ligne : des applications de tous styles, des thèmes sombres, des annotations au crayon, des grilles à moitié résolues sur papier. Le jeu de données de Baptiste Wicht et Jean Hennebert (CC BY 4.0) contient des grilles de Sudoku de journaux photographiées avec des téléphones, certaines terminées à la main au stylo.

Avant de modifier quoi que ce soit, nous avons mis de côté trois jeux de test : 200 images de Lexski, 40 photos de journaux et 40 grilles de journaux terminées à la main. Nous ne nous en sommes pas servis pour l'entraînement et ne les avons pas regardés pendant le travail. Chaque décision a été prise sur 200 autres images de Lexski, le jeu de réglage, et les jeux de test n'ont été lus qu'une seule fois, à la fin.

Le point de départ

La première version, du 31 octobre, lisait exactement 101 des 200 images de Lexski, 34 des 40 photos de journaux et aucune des 40 grilles terminées. L'essentiel de ses difficultés survenait avant même les chiffres. Elle prenait pour la grille la plus grande forme d'encre à peu près carrée, et sur une capture d'écran cette forme englobe souvent un en-tête ou le pavé numérique, tandis que les fines lignes grises d'un thème sombre passent complètement inaperçues. Sur le jeu de réglage, elle ne plaçait la grille au bon endroit que 118 fois sur 200.

Ce que nous avons changé, étape par étape

Chaque ligne correspond à une modification, et le nombre indique combien des 200 images de réglage étaient alors lues exactement. Les trois dernières lignes correspondent au deuxième tour.

ModificationImages de réglage lues exactement (sur 200)
Première version, 31 octobre99
Grille trouvée par ses lignes : dix lignes régulièrement espacées dans chaque sens129
Grille évaluée par comparaison côte à côte ; décalage d'une case essayé136
Traits fins et pâles utilisés pour trouver la grille138
Cases découpées en entier ; chiffres appris sur de vraies cases161
Un petit réseau cartographie l'emplacement de la grille162
Lignes suivies là où la page se courbe163
Meilleur réseau de chiffres, annotations au crayon comme classe à part173
Trois réseaux de chiffres moyennés177
Règle prudente de solution unique ; grilles terminées lues comme un tout177
Deuxième tour : photos en pleine taille réduites de moitié avant redimensionnement178
Deuxième tour : encre courte et pâle traitée comme une annotation au crayon179
Deuxième tour : photos tournées sur le côté évaluées par les trois réseaux179

L'essentiel du gain vient de trois modifications. La grille est maintenant trouvée par ses lignes : chaque hypothèse sur l'emplacement de la grille est recalée sur dix lignes régulièrement espacées dans chaque direction, puis les hypothèses sont comparées côte à côte, et un petit réseau qui cartographie l'emplacement de la grille prend part au vote. Chaque case est découpée en entier, si bien qu'une annotation au crayon reste petite dans son coin et qu'un chiffre clair sur une tuile sombre ressemble à de l'encre sur du papier. Enfin, les réseaux de chiffres ont appris sur de vraies cases découpées dans les images d'entraînement de Lexski, avec les annotations au crayon comme classe à part entière. Trois petits réseaux, entraînés séparément, lisent désormais chaque case et leurs réponses sont moyennées, car ils ne se trompent pas sur les mêmes cases.

Une grille terminée bénéficie d'une aide supplémentaire. Quand une grille contient 79 chiffres ou plus, le lecteur cherche la grille complète la plus probable dans laquelle chaque ligne, chaque colonne et chaque bloc contient les chiffres de 1 à 9. Lues case par case, seules 7 des 40 grilles manuscrites de test sortaient exactes ; lues comme des Sudoku terminés, toutes les 40 l'étaient.

Le deuxième tour a apporté trois modifications plus modestes. Une photo de téléphone en pleine taille est réduite de moitié, étape par étape, avant d'être redimensionnée, de sorte que les lignes fines et les traits de crayon sont moyennés au lieu d'être sautés. Une case dont l'encre est à la fois nettement plus courte et nettement plus pâle que celle des chiffres sûrs de la grille est traitée comme une annotation au crayon probable. Et l'orientation d'une photo tournée sur le côté est évaluée par les trois réseaux au lieu d'un seul.

Une capture d'écran de Sudoku en thème sombre avec des annotations au crayon et des chiffres colorés, la grille redressée avec ses intersections de lignes marquées en vert, les 81 cases sous forme de petites images, et les nombres lus en bleu sans les annotations au crayon
Une capture d'écran en thème sombre que nous avons générée : la grille redressée, avec les intersections de lignes trouvées ; les 81 cases telles que les réseaux les voient ; et ce qui a été lu. Les annotations au crayon sont laissées de côté.

Ce qui n'a pas aidé

Nous avons aussi mesuré ces pistes sur le jeu de réglage, puis les avons écartées :

  • Un réseau de chiffres plus grand : 59 000 poids au lieu de 42 000 ont permis de lire une image de réglage de plus, pour une exécution 3,8 fois plus lente dans le navigateur.
  • 3 000 captures d'écran d'applications générées, avec annotations au crayon et thèmes sombres : le même score avec ou sans elles.
  • Lire la couleur plutôt que les niveaux de gris, pour qu'un stylo rouge soit aussi foncé que de l'encre noire : deux images de réglage de plus, mais l'écriture manuscrite était moins bien lue.
  • Déformer les chiffres d'entraînement pour qu'ils ressemblent davantage à de l'écriture manuscrite : l'écriture manuscrite était moins bien lue.
  • Laisser la règle de la solution unique modifier davantage de cases : plus de grilles bien lues, mais aussi plus de grilles fausses dangereuses à solution unique.
  • Réentraîner les trois réseaux sur de nouvelles données, ou en utiliser quatre ou six : dans la marge du bruit, donc les premiers ont été conservés.
  • Traiter le bord de l'image comme le bord de la grille, pour les grilles coupées par le cadre : autant d'images perdues que gagnées.

Résultats sur les premiers jeux de test

Grilles lues exactement dans chaque jeu de test, par la première version et par le lecteur actuel :

Jeu de test31 octobreMaintenant
Captures d'écran et photos partagées en ligne (Lexski)Images: 20010150,5 %17989,5 %
Photos de journaux (Wicht et Hennebert)Images: 403485,0 %40100,0 %
Grilles de journaux terminées à la main (Wicht et Hennebert)Images: 4000,0 %40100,0 %

Sur les images de Lexski, le lecteur est passé de 50,5 % à 89,5 % (de 84,5 % à 93,0 %), et le nombre de grilles mal lues mais à solution unique est passé de 7 à 4. Dans trois de ces quatre cas, le seul chiffre en trop est celui qui va à cet endroit, si bien que la grille mène toujours à la bonne solution ; le quatrième est un 1 nettement imprimé que le jeu de données laisse vide. Sur ces 179, 177 étaient acquises à la fin du premier tour. Les deux dernières sont venues au deuxième tour, après que nous avons étudié les échecs, donc ce jeu n'est plus intact.

Quarante sur quarante semble parfait, mais 40 images peuvent seulement montrer que le taux réel est supérieur à environ 91 %. Et une vérification que nous aurions dû faire en premier : quatre des 40 photos de journaux de test figurent aussi dans le jeu d'entraînement de ce jeu de données, dont deux au pixel près. Sans elles, 36 sur 36.

Un nouveau test : 200 photos qu'aucune version n'avait vues

À ce stade, les premiers jeux de test avaient été lus et leurs échecs étudiés ; ils ne pouvaient donc plus nous dire comment le lecteur se comporte sur des images qu'il n'a jamais rencontrées. Nous avons cherché d'autres photos de Sudoku étiquetées sur Hugging Face, Kaggle, GitHub, Zenodo, Figshare et AIcrowd. La plupart des jeux contenaient des grilles générées, des chiffres isolés ou des copies des photos de Wicht. Trois collections GitHub contenaient de vraies photos étiquetées, toutes de grilles imprimées : 100 photos d'un livre de grilles en libre accès (NatalijaPetric/SudokuDataset), 80 photos surtout de journaux (mineshpatel1/sudoku-solver, après retrait de 49 photos qui sont celles de Wicht lui-même et d'une copie), et 20 feuilles imprimées issues d'un projet de cours de vision par ordinateur de l'Université de Bucarest (danielsociu/SudokuRecognition).

Aucune des trois n'indique de licence, nous les avons donc utilisées uniquement pour mesurer : jamais pour l'entraînement, et elles ne sont pas montrées ici. La liste des images a été fixée et enregistrée avant toute modification, choisie selon une règle à partir des empreintes des fichiers et des étiquettes, et les images n'ont pas été ouvertes avant la dernière modification du deuxième tour. Ensuite, chaque version du lecteur les a lues une seule fois. Le tableau compte les grilles lues exactement.

Source31 octobrePremier tourMaintenant
Un livre de grilles en libre accès (NatalijaPetric)Photos: 1007979,0 %7676,0 %7878,0 %
Surtout des journaux (mineshpatel1)Photos: 806581,3 %6885,0 %6986,3 %
Feuilles imprimées (cours de l'Université de Bucarest)Photos: 2020100,0 %20100,0 %20100,0 %
Ensemble des 200Photos: 20016482,0 %16482,0 %16783,5 %

Sur des grilles imprimées que le lecteur n'avait jamais vues, tout le travail des deux tours a peu changé les choses. La première version en lisait exactement 82,0 %, la version actuelle 83,5 % (de 77,7 % à 88,0 %) : elle a gagné 14 grilles et en a perdu 11. Ce qui s'est amélioré, en revanche, ce sont les cases : 98,9 % sont lues correctement au lieu de 94,2 %, et la grille est trouvée sur toutes les photos au lieu de 195 sur 200. Grilles mal lues mais à solution unique : 5 avant, 6 maintenant.

Les pertes ont une cause claire. Pour lire les annotations au crayon et les thèmes sombres, chaque case est désormais découpée en entier et l'encre pâle est prise en compte. Sur du papier journal fin, le verso transparaît, pâle et en miroir, et le nouveau lecteur prend ces ombres pour des chiffres ; la première version ne regardait que la plus grande forme d'encre d'une case et ne les voyait jamais. Sur les pages de livre incurvées, la ligne extérieure de la grille ou une ligne de bloc peut tomber à l'intérieur d'une case et être lue comme un 1.

Deux des échecs sont des erreurs d'étiquetage : la photo montre un 3 et un 9 là où l'étiquette indique 9 et 8, et un 4 là où elle indique 2. Avec un décompte correct, le lecteur actuel en lit 84,5 %.

Ce qui pose encore problème

Sur les 200 nouvelles photos, 33 n'ont pas été lues exactement. Parmi elles, 22 sont des pages du livre de grilles en libre accès : près de la reliure, la page se courbe plus que le lecteur ne parvient à le suivre, si bien qu'une ligne se retrouve à l'intérieur d'une case et est lue comme un 1, ou qu'une case de coin est découpée en travers d'une ligne. On compte aussi 7 journaux dont le verso transparaît. Les autres sont une photo d'écran avec moiré, un bord de grille lu comme un 1 et les deux erreurs d'étiquetage.

Sur les 200 images de Lexski, 21 n'ont pas été lues exactement : des annotations au crayon lues comme des chiffres, y compris du crayon gommé qui a laissé des chiffres pâles (7) ; un chiffre en trop, le plus souvent une annotation au crayon isolée lue comme une saisie (5) ; la grille mal placée ou introuvable, sur des thèmes d'application sans lignes entre les cases ou une grille dessinée à la main (5) ; et des tuiles et couleurs inhabituelles (4).

Pourquoi pas 97 %, et la suite

Tout s'exécute dans votre navigateur : un modèle de 224 Ko et environ 850 lignes de JavaScript, une médiane d'environ 300 millisecondes par photo sur un ordinateur portable, et d'environ 1,2 seconde avec le processeur ralenti d'un facteur quatre, comme sur un téléphone lent. Dans ce budget, un réseau plus grand n'a pas aidé. Ce qui reste est une longue traîne : pages incurvées, verso qui transparaît, annotations au crayon et styles d'application inhabituels. Tous les jeux publics étiquetés que nous avons trouvés sont désormais utilisés ou déjà vus ; le prochain tour demande donc des photos que nous prenons et étiquetons nous-mêmes, sur lesquelles corriger et mesurer les problèmes d'encre pâle et de pages incurvées.

Pour un scan optimal

  • Tenez le téléphone bien droit au-dessus de la grille, avec toute la grille dans le cadre.
  • Aplatissez le livre ou le journal : les pages incurvées causent la plupart des échecs sur les grilles imprimées.
  • Sur un journal fin, glissez une feuille de papier unie derrière la page pour que le verso ne transparaisse pas.
  • Scannez avant d'écrire des annotations au crayon dans la grille.
  • Avant de résoudre, comparez les cases signalées par le solveur avec votre grille.

Données et sources

Essayer le solveur →

Icône de l’application Sudoku

Envie d’autres grilles comme celle-ci ?

Nous créons aussi une application Sudoku pour iPhone, iPad, Mac et Android. Elle ne contient aucune publicité, fonctionne hors ligne et, lorsque vous demandez un indice, vous montre la technique au lieu de simplement remplir une case.

Sudoku Flow est créé par Rubigo Games, le développeur de l’application Sudoku recommandée sur ce site.