Sudoku Flow

Mitä opimme mitatessamme sudokukuvien lukijaamme

Päivitetty 5. marraskuuta 2026

Mikä lasketaan oikein luetuksi

Tehtävä on luettu oikein vain, jos kaikki 81 ruutua ovat oikein: yksi väärä numero tekee siitä eri tehtävän. Siksi laskemme kokonaisia tehtäviä emmekä ruutuja. Nämä kaksi voivat kertoa hyvin erilaista tarinaa, kuten tämä sivu osoittaa: painettujen tehtävien valokuvissa lukija saa nyt 98,9 % ruuduista oikein, mutta kokonaisten tehtävien osuus tuskin muuttui, koska suurin osa väärin luetuista ruuduista on muutamassa vaikeassa kuvassa.

Laskemme myös vaarallisimman virheen: väärin luetun tehtävän, jolla on silti täsmälleen yksi ratkaisu. Oikealla sudokulla on yksi ratkaisu, joten lukutulos, jolla ei ole yhtään ratkaisua tai on monta, huomataan heti. Väärä tehtävä, jolla on yksi ratkaisu, näyttää kunnolliselta, ja siksi ratkaisija merkitsee jokaisen ruudun, josta se oli epävarma, ja pyytää sinua vertaamaan niitä tehtävääsi ennen ratkaisemista.

200 kuvan aineistolla tuloksen tarkkuus on rajallinen. Päätuloksille annamme 95 %:n välin (Wilsonin luottamusväli): 89,5 % 200 kuvasta tarkoittaa, että todellinen osuus on todennäköisimmin 84,5 %:n ja 93,0 %:n välillä.

Kuvat, joilla testasimme

Aloitimme kahdesta avoimesta aineistosta. Lexskin Sudoku Image Recognition -aineistossa (CC0) on 1 400 kuvaa, joista useimmat ovat ihmisten verkossa jakamia kuvakaappauksia ja valokuvia: kaikentyylisiä sovelluksia, tummia teemoja, kynämerkintöjä ja paperilla puoliksi ratkaistuja tehtäviä. Baptiste Wichtin ja Jean Hennebertin aineistossa (CC BY 4.0) on puhelimella kuvattuja sanomalehtien sudokuja, joista osa on ratkaistu käsin kynällä loppuun.

Ennen kuin muutimme mitään, panimme sivuun kolme testijoukkoa: 200 Lexskin kuvaa, 40 sanomalehtikuvaa ja 40 käsin loppuun ratkaistua sanomalehtitehtävää. Emme kouluttaneet malleja niillä emmekä katsoneet niitä työn aikana. Jokainen päätös tehtiin 200 muun Lexskin kuvan perusteella, joita kutsumme viritysjoukoksi, ja testijoukot luettiin kerran, lopussa.

Lähtökohta

Ensimmäinen versio 31. lokakuuta luki 200 Lexskin kuvasta täsmälleen oikein 101, 40 sanomalehtikuvasta 34 eikä yhtään 40 loppuun ratkaistusta tehtävästä. Suurin osa sen ongelmista syntyi jo ennen numeroiden lukemista. Se tulkitsi pelilaudaksi suurimman suunnilleen neliönmuotoisen mustekuvion, ja kuvakaappauksessa tähän kuvioon tulee usein mukaan otsikkopalkki tai numeronäppäimistö, kun taas tumman teeman ohuet harmaat viivat jäävät kokonaan huomaamatta. Viritysjoukossa se sijoitti ruudukon oikeaan kohtaan vain 118 kertaa 200:sta.

Mitä muutimme, vaihe vaiheelta

Jokainen rivi on yksi muutos, ja luku kertoo, kuinka monta viritysjoukon 200 kuvasta luettiin sen jälkeen täsmälleen oikein. Kolme viimeistä riviä ovat toiselta kierrokselta.

MuutosTäsmälleen oikein luetut viritysjoukon kuvat (200:sta)
Ensimmäinen versio, 31. lokakuuta99
Ruudukko löydetään viivoistaan: kymmenen tasavälistä viivaa kumpaankin suuntaan129
Ruudukon vaihtoehdot arvioidaan rinnakkain; yhden ruudun siirtymää kokeillaan136
Haaleita hiusviivoja käytetään ruudukon löytämiseen138
Ruudut leikataan kokonaisina; numerot opitaan todellisista ruuduista161
Pieni neuroverkko kartoittaa pelilaudan sijainnin162
Viivoja seurataan kohdissa, joissa sivu taipuu163
Parempi numeroverkko, kynämerkinnät omana luokkanaan173
Kolmen numeroverkon keskiarvo177
Varovainen yhden ratkaisun sääntö; valmiit pelilaudat luetaan kokonaisuutena177
Toinen kierros: täysikokoiset kuvat puolitetaan ennen pienentämistä178
Toinen kierros: lyhyt, haalea muste tulkitaan kynämerkinnäksi179
Toinen kierros: sivuttaisten kuvien kierron arvioi kaikki kolme verkkoa179

Suurin osa parannuksesta tuli kolmesta muutoksesta. Ruudukko löydetään nyt sen viivojen avulla: jokainen arvaus pelilaudan paikasta siirretään kymmenen tasavälisen viivan päälle kumpaankin suuntaan, ja arvauksia arvioidaan rinnakkain. Lisäksi pieni neuroverkko, joka kartoittaa pelilaudan sijainnin, saa äänen. Jokainen ruutu leikataan kokonaisena, joten kynämerkintä pysyy pienenä nurkassaan ja vaalea numero tummalla laatalla näyttää musteelta paperilla. Ja numeroita lukevat verkot oppivat todellisista ruuduista, jotka leikattiin Lexskin opetuskuvista, ja kynämerkinnät ovat niissä oma luokkansa. Nyt jokaisen ruudun lukee kolme erikseen koulutettua pientä verkkoa, ja niiden vastauksista otetaan keskiarvo, koska ne tekevät virheensä eri ruuduissa.

Loppuun ratkaistu tehtävä saa lisäapua. Kun pelilaudalla on vähintään 79 numeroa, lukija etsii todennäköisimmän täydellisen ruudukon, jonka jokaisessa rivissä, sarakkeessa ja lohkossa on numerot 1:stä 9:ään. Ruutu kerrallaan luettuna vain 7 käsin kirjoitetuista 40 testitehtävästä luettiin täsmälleen oikein; valmiina sudokuina luettuina kaikki 40.

Toinen kierros toi kolme pienempää muutosta. Täysikokoinen puhelinkuva puolitetaan vaihe vaiheelta ennen kuin se pienennetään, joten ohuet viivat ja lyijykynän vedot keskiarvoistuvat mukaan sen sijaan, että ne ohitettaisiin. Ruutua, jonka muste on sekä paljon lyhyempi että paljon haaleampi kuin pelilaudan varmojen numeroiden, pidetään todennäköisenä kynämerkintänä. Lisäksi sivuttain otetun kuvan kierron arvioi kaikki kolme verkkoa yhden sijaan.

Tummateemainen sudokukuvakaappaus, jossa on kynämerkintöjä ja värillisiä numeroita, pelilauta suoristettuna ja sen viivojen risteykset merkittyinä vihreällä, 81 ruutua pieninä kuvina sekä luetut numerot sinisellä ilman kynämerkintöjä
Itse tuottamamme tummateemainen kuvakaappaus: pelilauta suoristettuna ja siitä löydetyt viivojen risteykset; 81 ruutua sellaisina kuin verkot ne näkevät; sekä se, mitä luettiin. Kynämerkinnät jätetään pois.

Mikä ei auttanut

Mittasimme myös nämä viritysjoukossa ja jätimme ne pois:

  • Suurempi numeroverkko: 59 000 painoa 42 000:n sijaan luki yhden viritysjoukon kuvan enemmän oikein ja toimi selaimessa 3,8 kertaa hitaammin.
  • 3 000 tuotettua sovelluksen kuvakaappausta, joissa on kynämerkintöjä ja tummia teemoja: sama tulos niiden kanssa ja ilman.
  • Värikuvan lukeminen harmaasävyn sijaan, jotta punainen kynä olisi yhtä tumma kuin musta muste: kaksi viritysjoukon kuvaa enemmän, mutta käsiala luettiin huonommin.
  • Opetusnumeroiden vääristäminen käsialan näköisiksi: käsiala luettiin huonommin.
  • Yhden ratkaisun säännön salliminen muuttaa useampia ruutuja: enemmän oikein luettuja tehtäviä, mutta myös enemmän vaarallisia vääriä tehtäviä, joilla on yksi ratkaisu.
  • Kolmen verkon kouluttaminen uudelleen tuoreella datalla tai neljän tai kuuden verkon käyttäminen: ero jäi kohinan rajoihin, joten ensimmäiset verkot jäivät käyttöön.
  • Kuvan reunan käsitteleminen pelilaudan reunana, kun kuvan rajaus katkaisee pelilaudan: kuvia menetettiin yhtä monta kuin saatiin.

Tulokset ensimmäisissä testijoukoissa

Täsmälleen oikein luetut tehtävät kussakin testijoukossa ensimmäisellä versiolla ja nykyisellä lukijalla:

Testijoukko31. lokakuutaNyt
Verkossa jaetut kuvakaappaukset ja valokuvat (Lexski)Kuvat: 20010150,5 %17989,5 %
Sanomalehtikuvat (Wicht ja Hennebert)Kuvat: 403485,0 %40100,0 %
Käsin loppuun ratkaistut sanomalehtitehtävät (Wicht ja Hennebert)Kuvat: 4000,0 %40100,0 %

Lexskin kuvissa lukija nousi 50,5 %:sta 89,5 %:iin (84,5–93,0 %), ja väärin luettujen tehtävien, joilla oli silti yksi ratkaisu, määrä laski 7:stä 4:ään. Kolmessa näistä neljästä se yksi ylimääräinen numero on juuri se numero, joka kyseiseen ruutuun kuuluu, joten tehtävä johtaa silti oikeaan ratkaisuun; neljännessä se on selvästi painettu 1, jonka aineisto jättää tyhjäksi. Näistä 179:stä 177 saavutettiin ensimmäisen kierroksen lopussa. Kaksi viimeistä tuli toisella kierroksella sen jälkeen, kun olimme tutkineet epäonnistumiset, joten tämä joukko ei ole enää koskematon.

Neljäkymmentä neljästäkymmenestä kuulostaa täydelliseltä, mutta 40 kuvaa voi osoittaa vain, että todellinen osuus on yli noin 91 %. Lisäksi tarkistus, joka meidän olisi pitänyt tehdä ensin: neljä 40 sanomalehtitestikuvasta on myös kyseisen aineiston opetusjoukossa, kaksi niistä pikselilleen samoina. Ilman niitä tulos on 36 kuvaa 36:sta.

Uusi testi: 200 valokuvaa, joita mikään versio ei ollut nähnyt

Siinä vaiheessa ensimmäiset testijoukot oli luettu ja niiden epäonnistumiset tutkittu, joten ne eivät enää voineet kertoa, miten lukija suoriutuu kuvista, joita se ei ole koskaan kohdannut. Etsimme lisää annotoituja sudokuvalokuvia palveluista Hugging Face, Kaggle, GitHub, Zenodo, Figshare ja AIcrowd. Useimmat aineistot olivat tuotettuja pelilautoja, yksittäisiä numeroita tai kopioita Wichtin valokuvista. Kolmessa GitHub-kokoelmassa oli todellisia annotoituja valokuvia, kaikki painetuista tehtävistä: 100 valokuvaa avoimesta tehtäväkirjasta (NatalijaPetric/SudokuDataset), 80 valokuvaa enimmäkseen sanomalehdistä (mineshpatel1/sudoku-solver, kun siitä oli poistettu 49 kuvaa, jotka ovat Wichtin omia valokuvia, sekä yksi kopio) ja 20 painettua arkkia Bukarestin yliopiston konenäkökurssin projektista (danielsociu/SudokuRecognition).

Mikään näistä kolmesta ei ilmoita lisenssiä, joten käytimme niitä vain mittaamiseen: emme koskaan kouluttamiseen, eikä niitä näytetä tällä sivulla. Kuvaluettelo lyötiin lukkoon ja tallennettiin ennen ainuttakaan muutosta, ja kuvat valittiin säännön mukaan tiedostojen tiivisteiden ja annotaatioiden perusteella. Kuvia ei avattu ennen toisen kierroksen viimeistä muutosta. Sen jälkeen jokainen lukijan versio luki ne kerran. Taulukossa ovat täsmälleen oikein luetut tehtävät.

Lähde31. lokakuutaEnsimmäinen kierrosNyt
Avoin tehtäväkirja (NatalijaPetric)Valokuvat: 1007979,0 %7676,0 %7878,0 %
Enimmäkseen sanomalehtiä (mineshpatel1)Valokuvat: 806581,3 %6885,0 %6986,3 %
Painetut arkit (Bukarestin yliopiston kurssi)Valokuvat: 2020100,0 %20100,0 %20100,0 %
Kaikki 200Valokuvat: 20016482,0 %16482,0 %16783,5 %

Painetuissa tehtävissä, joita lukija ei ollut koskaan nähnyt, molempien kierrosten koko työ muutti vain vähän. Ensimmäinen versio luki niistä täsmälleen oikein 82,0 %, nykyinen 83,5 % (77,7–88,0 %): se sai 14 tehtävää lisää oikein ja menetti 11. Ruuduissa sen sijaan tuli parannusta: 98,9 % luetaan oikein 94,2 %:n sijaan, ja ruudukko löytyy jokaisesta valokuvasta eikä vain 195:stä 200:sta. Väärin luettuja tehtäviä, joilla oli silti yksi ratkaisu: ennen 5, nyt 6.

Menetyksillä on selvä syy. Jotta kynämerkinnät ja tummat teemat voitaisiin lukea, jokainen ruutu leikataan nyt kokonaisena ja haaleakin muste otetaan huomioon. Ohuessa sanomalehdessä kääntöpuoli kuultaa läpi haaleana ja peilikuvana, ja uusi lukija lukee nämä varjot numeroiksi; ensimmäinen versio katsoi ruudusta vain suurinta mustekuviota eikä koskaan nähnyt niitä. Kaareutuneilla kirjan sivuilla pelilaudan ulkoreuna tai lohkon viiva voi osua ruudun sisään, jolloin se luetaan ykköseksi.

Kahdessa epäonnistumisessa virhe on annotaatiossa: valokuvassa on 3 ja 9 siellä, missä annotaation mukaan on 9 ja 8, sekä 4 siellä, missä annotaation mukaan on 2. Oikein laskettuna nykyinen lukija lukee oikein 84,5 %.

Mikä menee yhä pieleen

Uusista 200 valokuvasta 33:a ei luettu täsmälleen oikein. Niistä 22 on avoimen tehtäväkirjan sivuja: selkämyksen lähellä sivu kaareutuu enemmän kuin lukija pystyy seuraamaan, joten viiva päätyy ruudun sisään ja luetaan ykköseksi tai kulmaruutu leikataan viivan poikki. Niistä 7 on sanomalehtiä, joissa kääntöpuoli kuultaa läpi. Loput ovat valokuva näytöstä, jossa näkyy moiré-ilmiö, ykköseksi luettu pelilaudan reuna sekä ne kaksi annotaatiovirhettä.

Lexskin 200 kuvasta 21:tä ei luettu täsmälleen oikein: kynämerkintöjä luettiin numeroiksi, myös pyyhittyä lyijykynää, joka jätti jälkeensä haaleita numeroita (7); yksi ylimääräinen numero, useimmiten yksittäinen kynämerkintä, joka luettiin syötetyksi numeroksi (5); ruudukko väärässä kohdassa tai löytymättä sovellusteemoissa, joissa ruutujen välissä ei ole viivoja, tai käsin piirretyssä ruudukossa (5); sekä epätavalliset laatat ja värit (4).

Miksi ei 97 %, ja mitä seuraavaksi

Kaikki toimii selaimessasi: 224 kt:n malli ja noin 850 riviä JavaScriptiä, mediaaniaika noin 300 millisekuntia kuvaa kohden kannettavalla tietokoneella ja noin 1,2 sekuntia, kun suoritin on hidastettu neljä kertaa hitaammaksi, kuten hitaassa puhelimessa. Suurempi verkko ei auttanut näissä rajoissa. Jäljelle jää pitkä häntä: kaareutuneet sivut, läpikuultaminen, kynämerkinnät ja epätavalliset sovellustyylit. Jokainen löytämämme julkinen annotoitu aineisto on nyt käytetty tai nähty, joten seuraavaan kierrokseen tarvitaan valokuvia, jotka otamme ja annotoimme itse, ja haalean musteen ja kaareutuneiden sivujen ongelmat on korjattava ja mitattava niillä.

Näin saat parhaan skannauksen

  • Pidä puhelinta suoraan tehtävän yläpuolella niin, että koko ruudukko on kuvassa.
  • Painele kirja tai sanomalehti tasaiseksi: kaareutuneet sivut aiheuttavat suurimman osan painettujen tehtävien epäonnistumisista.
  • Laita ohuen sanomalehden sivun taakse tyhjä paperiarkki, jottei toinen puoli kuulta läpi.
  • Skannaa tehtävä ennen kuin kirjoitat siihen kynämerkintöjä.
  • Vertaa ennen ratkaisemista ratkaisijan merkitsemiä ruutuja tehtävääsi.

Aineisto ja lähteet

Kokeile ratkaisijaa →

Sudokusovelluksen kuvake

Haluatko lisää tällaisia ruudukoita?

Kehitämme myös sudokusovellusta iPhonelle, iPadille, Macille ja Androidille. Siinä ei ole lainkaan mainoksia, se toimii ilman verkkoyhteyttä ja vihjettä pyytäessäsi se näyttää tekniikan sen sijaan, että vain täyttäisi luvun.

Sudoku Flow on Rubigo Gamesin tekemä. Rubigo Games kehittää myös tällä sivustolla suositeltua sudokusovellusta.