Sudoku Flow

Apa yang kami pelajari semasa mengukur pembaca foto Sudoku kami

Dikemas kini 5 November 2026

Apa yang dikira sebagai dibaca dengan betul

Sesebuah teka-teki dikira dibaca dengan betul hanya jika kesemua 81 petaknya betul: satu digit yang salah menjadikannya teka-teki yang lain. Oleh itu kami mengira teka-teki secara keseluruhan, bukan petak. Kedua-dua ukuran ini boleh menceritakan kisah yang sangat berbeza, seperti yang ditunjukkan oleh halaman ini: pada foto bercetak, pembaca kini membaca 98.9% petak dengan betul, namun peratusan teka-teki yang dibaca betul secara keseluruhan hampir tidak berganjak, kerana kebanyakan petak yang salah terkumpul dalam beberapa gambar yang sukar.

Kami juga mengira kesilapan yang paling berbahaya: teka-teki yang dibaca salah tetapi masih mempunyai tepat satu jawapan. Sudoku sebenar mempunyai satu jawapan, jadi bacaan yang tiada jawapan atau mempunyai banyak jawapan dapat dikesan serta-merta. Teka-teki salah yang mempunyai satu jawapan kelihatan baik, sebab itulah penyelesai menandakan setiap petak yang tidak dapat dipastikannya dan meminta anda membandingkan petak itu dengan teka-teki anda sebelum menyelesaikannya.

Dengan 200 gambar, sesuatu keputusan hanya tepat setakat tertentu. Bagi keputusan utama, kami memberikan julat 95% (selang Wilson): 89.5% daripada 200 gambar bermaksud kadar sebenar berkemungkinan besar terletak antara 84.5% dan 93.0%.

Gambar yang kami gunakan untuk ujian

Kami bermula dengan dua set data terbuka. Set data Sudoku Image Recognition oleh Lexski (CC0) mengandungi 1,400 gambar, kebanyakannya tangkapan skrin dan foto yang dikongsi orang dalam talian: aplikasi dalam pelbagai gaya, tema gelap, tanda pensel, teka-teki yang separuh diselesaikan di atas kertas. Set data Baptiste Wicht dan Jean Hennebert (CC BY 4.0) mengandungi Sudoku akhbar yang difoto dengan telefon, sebahagiannya diselesaikan dengan tangan menggunakan pen.

Sebelum mengubah apa-apa, kami mengasingkan tiga set ujian: 200 gambar Lexski, 40 foto akhbar dan 40 teka-teki akhbar yang diselesaikan dengan tangan. Kami tidak menggunakannya untuk latihan dan tidak melihatnya semasa bekerja. Setiap keputusan dibuat berdasarkan 200 gambar Lexski yang lain, iaitu set penalaan, dan set ujian dibaca sekali sahaja, pada akhirnya.

Titik permulaan

Versi pertama, dari 31 Oktober, membaca 101 daripada 200 gambar Lexski dengan tepat, 34 daripada 40 foto akhbar dan tiada satu pun daripada 40 teka-teki yang telah diselesaikan. Kebanyakan masalahnya timbul sebelum sampai kepada digit. Ia menganggap bentuk dakwat seakan-akan segi empat sama yang terbesar sebagai papan, dan pada tangkapan skrin bentuk itu sering turut merangkumi pengepala atau pad nombor, manakala garis kelabu nipis tema gelap terlepas sama sekali. Pada set penalaan, ia meletakkan grid di tempat yang betul hanya 118 kali daripada 200.

Apa yang kami ubah, langkah demi langkah

Setiap baris ialah satu perubahan, dan nombornya ialah bilangan daripada 200 gambar penalaan yang kemudiannya dibaca dengan tepat. Tiga baris terakhir ialah pusingan kedua.

PerubahanGambar penalaan yang dibaca dengan tepat (daripada 200)
Versi pertama, 31 Oktober99
Grid ditemui melalui garisnya: sepuluh garis berjarak sama rata dalam setiap arah129
Grid dinilai sebelah-menyebelah; anjakan satu petak dicuba136
Garis halus yang pudar digunakan untuk mencari grid138
Petak dipotong keluar secara utuh; digit dipelajari daripada petak sebenar161
Rangkaian kecil memetakan kedudukan papan162
Garis dijejaki di tempat halaman melengkung163
Rangkaian digit yang lebih baik, tanda pensel sebagai kelas tersendiri173
Purata tiga rangkaian digit177
Peraturan satu jawapan yang berhati-hati; papan yang siap dibaca secara keseluruhan177
Pusingan kedua: saiz foto bersaiz penuh dibahagi dua sebelum dikecilkan178
Pusingan kedua: dakwat pendek dan pudar dianggap sebagai tanda pensel179
Pusingan kedua: foto mengiring dinilai oleh ketiga-tiga rangkaian179

Kebanyakan peningkatan datang daripada tiga perubahan. Grid kini ditemui melalui garisnya: setiap tekaan kedudukan papan dialihkan supaya sejajar dengan sepuluh garis yang dijarakkan sama rata dalam setiap arah dan dinilai sebelah-menyebelah, dan sebuah rangkaian kecil yang memetakan kedudukan papan turut diberi undi. Setiap petak dipotong keluar secara utuh, jadi tanda pensel kekal kecil di penjurunya dan digit cerah pada jubin gelap kelihatan seperti dakwat di atas kertas. Selain itu, rangkaian digit belajar daripada petak sebenar yang dipotong daripada gambar latihan Lexski, dengan tanda pensel sebagai kelas tersendiri. Tiga rangkaian kecil yang dilatih secara berasingan kini membaca setiap petak dan jawapan mereka dipuratakan, kerana kesilapan mereka berlaku pada petak yang berbeza.

Teka-teki yang telah diselesaikan mendapat bantuan tambahan. Apabila papan mengandungi 79 digit atau lebih, pembaca mencari grid lengkap yang paling berkemungkinan di mana setiap baris, lajur dan kotak mengandungi 1 hingga 9. Apabila dibaca petak demi petak, hanya 7 daripada 40 teka-teki ujian bertulisan tangan dibaca dengan tepat; apabila dibaca sebagai Sudoku yang telah siap, kesemua 40 dibaca dengan tepat.

Pusingan kedua menambah tiga perubahan yang lebih kecil. Saiz foto telefon bersaiz penuh dibahagi dua langkah demi langkah sebelum dikecilkan, supaya garis nipis dan coretan pensel turut dipuratakan dan bukannya terlangkau. Petak yang dakwatnya jauh lebih pendek dan jauh lebih pudar berbanding digit papan yang pasti dianggap berkemungkinan tanda pensel. Selain itu, putaran foto yang mengiring dinilai oleh ketiga-tiga rangkaian, bukannya satu sahaja.

Tangkapan skrin Sudoku bertema gelap dengan tanda pensel dan digit berwarna, papannya diluruskan dengan persilangan garis ditandakan dengan warna hijau, 81 petak sebagai gambar kecil, dan nombor yang dibaca berwarna biru tanpa tanda pensel
Tangkapan skrin bertema gelap yang kami jana: papan yang diluruskan, bersama persilangan garis yang ditemuinya; 81 petak seperti yang dilihat oleh rangkaian; dan apa yang dibaca. Tanda pensel tidak dimasukkan.

Apa yang tidak membantu

Kami turut mengukur perkara berikut pada set penalaan, dan tidak memasukkannya:

  • Rangkaian digit yang lebih besar: 59,000 pemberat dan bukannya 42,000 membaca satu lagi gambar penalaan dan berjalan 3.8 kali lebih perlahan dalam pelayar.
  • 3,000 tangkapan skrin aplikasi yang dijana dengan tanda pensel dan tema gelap: skor yang sama sama ada dengan atau tanpanya.
  • Membaca warna dan bukannya kelabu, supaya pen merah segelap dakwat hitam: dua lagi gambar penalaan, tetapi tulisan tangan dibaca dengan lebih teruk.
  • Mengherotkan digit latihan supaya lebih menyerupai tulisan tangan: tulisan tangan dibaca dengan lebih teruk.
  • Membenarkan peraturan satu jawapan mengubah lebih banyak petak: lebih banyak teka-teki dibaca dengan betul, tetapi juga lebih banyak teka-teki salah yang berbahaya dengan satu jawapan.
  • Melatih semula ketiga-tiga rangkaian dengan data baharu, atau menggunakan empat atau enam rangkaian: perbezaannya dalam lingkungan hingar, jadi rangkaian yang pertama dikekalkan.
  • Menganggap tepi gambar sebagai tepi papan, bagi papan yang terpotong oleh bingkai: bilangan gambar yang hilang sama banyak dengan yang diperoleh.

Keputusan pada set ujian pertama

Teka-teki yang dibaca dengan tepat dalam setiap set ujian, oleh versi pertama dan oleh pembaca dalam keadaannya sekarang:

Set ujian31 OktoberKini
Tangkapan skrin dan foto yang dikongsi dalam talian (Lexski)Gambar: 20010150.5%17989.5%
Foto akhbar (Wicht dan Hennebert)Gambar: 403485.0%40100.0%
Teka-teki akhbar yang diselesaikan dengan tangan (Wicht dan Hennebert)Gambar: 4000.0%40100.0%

Pada gambar Lexski, pembaca naik daripada 50.5% kepada 89.5% (84.5% hingga 93.0%), dan teka-teki yang dibaca salah tetapi mempunyai satu jawapan turun daripada 7 kepada 4. Dalam tiga daripada empat itu, satu digit tambahan itu ialah digit yang memang betul di petak tersebut, jadi teka-teki itu masih membawa kepada penyelesaian yang betul; yang keempat ialah angka 1 yang tercetak dengan jelas tetapi dibiarkan kosong dalam set data. 177 daripada 179 itu diperoleh pada akhir pusingan pertama. Dua yang terakhir diperoleh pada pusingan kedua, selepas kami mengkaji apa yang gagal, jadi set ini tidak lagi belum tersentuh.

Empat puluh daripada empat puluh kedengaran sempurna, tetapi 40 gambar hanya dapat menunjukkan bahawa kadar sebenar melebihi kira-kira 91%. Satu lagi semakan yang sepatutnya kami jalankan lebih awal: empat daripada 40 foto ujian akhbar juga terdapat dalam set latihan set data itu, dua daripadanya sama piksel demi piksel. Tanpa foto-foto itu, 36 daripada 36.

Ujian baharu: 200 foto yang belum pernah dilihat oleh mana-mana versi

Pada masa itu set ujian pertama telah dibaca dan kegagalannya dikaji, jadi set tersebut tidak lagi dapat memberitahu kami prestasi pembaca pada gambar yang belum pernah ditemuinya. Kami mencari lebih banyak foto Sudoku berlabel di Hugging Face, Kaggle, GitHub, Zenodo, Figshare dan AIcrowd. Kebanyakan set ialah papan yang dijana, digit tunggal atau salinan foto Wicht. Tiga koleksi GitHub mempunyai foto berlabel sebenar, kesemuanya teka-teki bercetak: 100 foto sebuah buku teka-teki terbuka (NatalijaPetric/SudokuDataset), 80 foto yang kebanyakannya akhbar (mineshpatel1/sudoku-solver, selepas membuang 49 yang merupakan foto Wicht sendiri dan satu salinan), dan 20 helaian bercetak daripada projek kursus penglihatan komputer di Universiti Bucharest (danielsociu/SudokuRecognition).

Tiada satu pun daripada ketiga-tiganya menyatakan lesen, jadi kami menggunakannya hanya untuk mengukur: tidak sekali-kali untuk latihan, dan foto-foto itu tidak dipaparkan di sini. Senarai gambar ditetapkan dan disimpan sebelum sebarang perubahan, dipilih mengikut peraturan berdasarkan cincangan fail dan label, dan gambar-gambar itu tidak dibuka sehingga perubahan terakhir pusingan kedua. Kemudian setiap versi pembaca membacanya sekali. Jadual ini mengira teka-teki yang dibaca dengan tepat.

Sumber31 OktoberPusingan pertamaKini
Sebuah buku teka-teki terbuka (NatalijaPetric)Foto: 1007979.0%7676.0%7878.0%
Kebanyakannya akhbar (mineshpatel1)Foto: 806581.3%6885.0%6986.3%
Helaian bercetak (kursus Universiti Bucharest)Foto: 2020100.0%20100.0%20100.0%
Kesemua 200Foto: 20016482.0%16482.0%16783.5%

Pada teka-teki bercetak yang belum pernah dilihat oleh pembaca, semua usaha dalam kedua-dua pusingan hanya membawa sedikit perubahan. Versi pertama membaca 82.0% daripadanya dengan tepat, versi semasa 83.5% (77.7% hingga 88.0%): ia memperoleh 14 teka-teki dan kehilangan 11. Yang benar-benar bertambah baik ialah petak: 98.9% dibaca dengan betul berbanding 94.2%, dan grid ditemui dalam setiap foto berbanding 195 daripada 200. Teka-teki yang dibaca salah tetapi mempunyai satu jawapan: 5 dahulu, 6 kini.

Kehilangan itu mempunyai punca yang jelas. Untuk membaca tanda pensel dan tema gelap, setiap petak kini dipotong keluar secara utuh dan dakwat pudar turut diambil kira. Pada kertas akhbar yang nipis, halaman di sebelah belakang kelihatan tembus, pudar dan terbalik seperti dalam cermin, dan pembaca baharu membaca bayang-bayang itu sebagai digit; versi pertama hanya melihat bentuk dakwat terbesar dalam sesuatu petak dan tidak pernah nampak bayang-bayang itu. Pada halaman buku yang melengkung, garis luar papan atau garis kotak boleh jatuh ke dalam petak dan dibaca sebagai 1.

Dua daripada kegagalan itu ialah kesilapan pada label: foto menunjukkan 3 dan 9 sedangkan label menyatakan 9 dan 8, dan 4 sedangkan label menyatakan 2. Jika dikira dengan betul, pembaca semasa membaca 84.5%.

Apa yang masih salah

Daripada 200 foto baharu, 33 tidak dibaca dengan tepat. 22 ialah halaman buku teka-teki terbuka: berhampiran tulang belakang buku, halaman melengkung lebih daripada yang mampu diikuti oleh pembaca, jadi garis akhirnya berada di dalam petak dan dibaca sebagai 1, atau petak penjuru terpotong merentasi garis. 7 ialah akhbar yang halaman belakangnya kelihatan tembus. Selebihnya ialah foto skrin dengan moiré, tepi papan yang dibaca sebagai 1, dan dua kesilapan label itu.

Daripada 200 gambar Lexski, 21 tidak dibaca dengan tepat: tanda pensel dibaca sebagai digit, termasuk pensel yang dipadam tetapi meninggalkan digit pudar (7); satu digit tambahan, kebanyakannya tanda pensel tunggal yang dibaca sebagai isian (5); grid di tempat yang salah atau tidak ditemui, pada tema aplikasi tanpa garis antara petak atau grid yang dilukis dengan tangan (5); serta jubin dan warna yang luar biasa (4).

Mengapa bukan 97%, dan apa seterusnya

Semuanya berjalan dalam pelayar anda: model bersaiz 224 KB dan kira-kira 850 baris JavaScript, median kira-kira 300 milisaat bagi setiap foto pada komputer riba, dan kira-kira 1.2 saat apabila pemproses diperlahankan empat kali, seperti pada telefon yang perlahan. Dalam had bajet itu, rangkaian yang lebih besar tidak membantu. Yang tinggal ialah ekor panjang: halaman melengkung, kesan tembus, tanda pensel dan gaya aplikasi yang luar biasa. Setiap set berlabel awam yang kami temui kini telah digunakan atau dilihat, jadi pusingan seterusnya memerlukan foto yang kami ambil dan labelkan sendiri, dengan masalah dakwat pudar dan halaman melengkung dibaiki serta diukur pada foto-foto itu.

Untuk imbasan terbaik

  • Pegang telefon lurus di atas teka-teki, dengan keseluruhan grid di dalam bingkai.
  • Ratakan buku atau akhbar: halaman yang melengkung menyebabkan kebanyakan kegagalan pada teka-teki bercetak.
  • Pada akhbar yang nipis, letakkan sehelai kertas kosong di belakang halaman supaya sebelah lagi tidak kelihatan tembus.
  • Imbas sebelum anda menulis tanda pensel pada teka-teki.
  • Sebelum menyelesaikan, bandingkan petak yang ditandakan oleh penyelesai dengan teka-teki anda.

Data dan sumber

Cuba penyelesai →

Ikon aplikasi Sudoku

Mahu lebih banyak papan seperti ini?

Kami juga membuat aplikasi Sudoku untuk iPhone, iPad, Mac dan Android. Langsung tiada iklan di dalamnya, ia berfungsi di luar talian, dan apabila anda meminta petunjuk, ia menunjukkan tekniknya kepada anda, bukan sekadar mengisi nombor.

Sudoku Flow dibuat oleh Rubigo Games, pembangun aplikasi Sudoku yang disyorkan di laman ini.