---
title: "數獨照片掃描準確度實測 | Sudoku Flow"
description: "我們在瀏覽器中執行的數獨照片辨識器，在截圖上從50%提升到90%，但在從未見過的印刷謎題照片上仍停留在82%左右。以下說明我們的測量方式。"
url: https://sudokuflow.com/zh-hant-tw/tools/sudoku-solver/scan-accuracy/
language: zh-Hant-TW
last_modified: 2026-11-05
---

[數獨解題工具](https://sudokuflow.com/zh-hant-tw/tools/sudoku-solver/)

# 測量我們的數獨照片辨識器後學到的事

更新於 2026年11月5日

## 重點摘要

我們的數獨解題器直接在你自己的裝置上讀取照片中的謎題，不經過伺服器。2026年11月，我們分兩輪改進它，並測量了每一步。在網路上分享的200張截圖與照片中，完全正確辨識的謎題比例從50.5%提升到89.5%；在40道手寫填完的謎題中，則從0道提升到全部40道。在200張任何版本都未見過的印刷謎題照片上，結果大致相同：之前為82.0%，現在為83.5%。我們的目標是97%，並未達成。

## 怎樣才算辨識正確

只有81格全部正確，一道謎題才算辨識正確：只要錯一個數字，就成了另一道謎題。因此我們計算的是整道謎題，而不是方格。兩者可能呈現非常不同的結果，本頁即可看出：在印刷照片上，辨識器現在能正確辨識98.9%的方格，但整道謎題的正確比例幾乎沒有變動，因為大部分錯誤的方格集中在少數幾張難辨識的圖片裡。

我們也計算最危險的錯誤：辨識錯誤、卻仍恰好只有一個解的謎題。真正的數獨只有一個解，所以無解或多解的辨識結果會立刻被發現。辨識錯誤但只有一個解的謎題看起來沒有問題，因此解題器會標出每一個它沒有把握的方格，並請你在解題前把這些方格與你的謎題對照。

只有200張圖片時，結果的精確度有限。主要結果我們附上95%的範圍（Wilson 區間）：200張圖片中的89.5%，代表真實比率最可能落在84.5%到93.0%之間。

## 我們用來測試的圖片

我們從兩個公開資料集開始。Lexski 的 Sudoku Image Recognition 資料集（CC0）共有1,400張圖片，大多是大家在網路上分享的截圖與照片：各種風格的 App、深色主題、鉛筆標記，以及在紙上解到一半的謎題。Baptiste Wicht 與 Jean Hennebert 的資料集（CC BY 4.0）收錄用手機拍攝的報紙數獨，其中一些已用筆手寫填完。

在做任何修改之前，我們先保留了三個測試集：200張 Lexski 圖片、40張報紙照片，以及40道手寫填完的報紙謎題。工作期間，我們既不用它們訓練，也不查看它們。每項決策都根據另外200張 Lexski 圖片（即調校集）做出，而測試集只在最後讀取一次。

## 起點

10月31日的第一版在200張 Lexski 圖片中完全正確辨識了101張，在40張報紙照片中辨識了34張，40道已填完的謎題則一道也沒有。它的問題大多發生在辨識數字之前。它把最大的近似正方形墨跡當作盤面，而在截圖上，這個形狀常常把標題列或數字鍵盤也包了進去，深色主題中細細的灰色格線則完全被漏掉。在調校集的200張圖片中，它只有118次把網格定位在正確位置。

## 我們逐步做了哪些修改

每一列代表一項修改，數字是修改後200張調校圖片中完全正確辨識的張數。最後三列屬於第二輪。

| 修改 | 完全正確辨識的調校圖片（共200張） |
|---|---|
| 第一版，10月31日 | 99 |
| 以格線找出網格：每個方向十條等距線 | 129 |
| 並列比較網格；嘗試位移一格 | 136 |
| 利用淡細的格線找出網格 | 138 |
| 完整切出方格；從真實方格學習數字 | 161 |
| 小型神經網路標出盤面位置 | 162 |
| 在紙頁彎曲處沿著線條追蹤 | 163 |
| 改良數字辨識網路，鉛筆標記自成一類 | 173 |
| 平均三個數字辨識網路 | 177 |
| 審慎的唯一解規則；已填完的盤面整體辨識 | 177 |
| 第二輪：原尺寸照片縮小前先減半 | 178 |
| 第二輪：矮而淡的墨跡視為鉛筆標記 | 179 |
| 第二輪：橫向照片由三個網路共同判斷 | 179 |

大部分的進步來自三項修改。網格現在是靠格線找出的：對盤面的每一個推測，都會對齊到每個方向上十條等距的線，再並列比較評判，另外還有一個負責標出盤面位置的小型神經網路參與投票。每一格都完整切出，因此鉛筆標記在角落裡仍然很小，而深色方塊上的淺色數字看起來就像紙上的墨跡。此外，數字辨識網路是從 Lexski 訓練圖片中切出的真實方格學習的，鉛筆標記自成一類。現在由三個分開訓練的小型神經網路辨識每一格，並取它們答案的平均，因為它們出錯的方格各不相同。

已填完的謎題會得到額外協助。當盤面上有79個以上的數字時，辨識器會尋找最可能的完整盤面，使每一橫列、每一直行和每一宮都填有1到9。逐格辨識時，40道手寫測試謎題中只有7道完全正確；當作已完成的數獨整體辨識時，40道全部正確。

第二輪加入了三項較小的修改。原尺寸的手機照片在縮小之前會先逐步減半，讓細線和鉛筆筆畫被平均納入，而不是被跳過。若某一格的墨跡比盤面上有把握的數字矮得多、也淡得多，就會被視為可能是鉛筆標記。此外，橫向照片的旋轉方向改由三個神經網路共同判斷，而不是只靠一個。

[![一張帶有鉛筆標記和彩色數字的深色主題數獨截圖；拉正後的盤面，以綠色標出格線交叉點；81個方格各成一張小圖；以及以藍色顯示、不含鉛筆標記的辨識結果數字](https://sudokuflow.com/assets/tech/scan-squares.jpg)](https://sudokuflow.com/assets/tech/scan-squares.jpg)

*我們生成的一張深色主題截圖：拉正後的盤面，標出它找到的格線交叉點；神經網路所看到的81個方格；以及辨識出的結果。鉛筆標記被排除在外。*

## 沒有幫助的做法

以下做法我們同樣在調校集上測量過，最後沒有採用：

- 更大的數字辨識網路：以59,000個權重取代42,000個，只多正確辨識一張調校圖片，在瀏覽器中的執行速度卻慢了3.8倍。
- 3,000張生成的 App 截圖，含鉛筆標記與深色主題：無論加不加入，分數都一樣。
- 改讀彩色而非灰階，讓紅筆跟黑色墨水一樣深：多正確辨識兩張調校圖片，但手寫字的辨識變差。
- 把訓練用的數字扭曲變形，使其更像手寫：手寫字的辨識變差。
- 讓唯一解規則修改更多方格：正確辨識的謎題變多，但危險的「辨識錯誤卻只有一個解」的謎題也變多。
- 用新資料重新訓練三個神經網路，或改用四個或六個：差異在雜訊範圍內，因此保留了最初的那幾個。
- 對於被畫面邊緣截斷的盤面，把圖片邊緣當作盤面邊緣：變對的圖片和變錯的圖片一樣多。

## 第一批測試集的結果

各測試集中完全正確辨識的謎題數，分別為第一版與目前版本辨識器的結果：

| 測試集 | 10月31日 | 現在 |
|---|---|---|
| 網路上分享的截圖與照片（Lexski）圖片數: 200 | 10150.5% | 17989.5% |
| 報紙照片（Wicht 與 Hennebert）圖片數: 40 | 3485.0% | 40100.0% |
| 手寫填完的報紙謎題（Wicht 與 Hennebert）圖片數: 40 | 00.0% | 40100.0% |

在 Lexski 圖片上，辨識器從50.5%提升到89.5%（84.5%到93.0%），辨識錯誤卻只有一個解的謎題則從7道降到4道。這4道中有3道，多出來的那一個數字正是該格應有的數字，所以謎題仍會導向正確的解答；第4道則是一個印得很清楚的1，但資料集把那一格標為空白。179道中有177道是在第一輪結束時達成的。最後兩道是在第二輪、我們研究過失敗案例之後才達成的，因此這個測試集已不再是未經接觸的。

40道全對聽起來很完美，但40張圖片只能證明真實比率高於約91%。還有一項我們早該先做的檢查：40張報紙測試照片中有4張也出現在該資料集的訓練集中，其中2張連像素都完全相同。排除這些照片後，結果是36張中36張正確。

## 新的測試：任何版本都沒見過的200張照片

那時第一批測試集已經讀取過，失敗案例也已研究過，因此它們再也無法告訴我們辨識器在從未遇過的圖片上表現如何。我們在 Hugging Face、Kaggle、GitHub、Zenodo、Figshare 和 AIcrowd 上搜尋更多附標註的數獨照片。大部分資料集是生成的盤面、單一數字，或 Wicht 照片的副本。有三個 GitHub 收藏包含真實的標註照片，而且全是印刷謎題：一本公開謎題書的100張照片（NatalijaPetric/SudokuDataset）、80張大多拍攝報紙的照片（mineshpatel1/sudoku-solver，已剔除49張其實是 Wicht 本身的照片以及1張重複的副本），以及布加勒斯特大學一門電腦視覺課程專題的20張印刷紙本（danielsociu/SudokuRecognition）。

這三個來源都沒有註明授權條款，因此我們只用它們來測量：從不拿來訓練，也不在本頁展示。圖片清單在做任何修改之前，就已依規則根據檔案雜湊值與標註選定並儲存，而且在第二輪的最後一項修改完成之前，這些圖片從未被打開過。之後，每個版本的辨識器各讀取一次。表格計算的是完全正確辨識的謎題數。

| 來源 | 10月31日 | 第一輪 | 現在 |
|---|---|---|---|
| 公開謎題書（NatalijaPetric）照片數: 100 | 7979.0% | 7676.0% | 7878.0% |
| 大多為報紙（mineshpatel1）照片數: 80 | 6581.3% | 6885.0% | 6986.3% |
| 印刷紙本（布加勒斯特大學課程）照片數: 20 | 20100.0% | 20100.0% | 20100.0% |
| 全部200張照片數: 200 | 16482.0% | 16482.0% | 16783.5% |

在辨識器從未見過的印刷謎題上，兩輪的所有努力帶來的改變不大。第一版完全正確辨識了其中82.0%，目前版本為83.5%（77.7%到88.0%）：新增14道正確，同時失去11道。真正進步的是方格：正確辨識的方格從94.2%提升到98.9%，網格也在每一張照片中都被找到，而不是200張中只有195張。辨識錯誤卻只有一個解的謎題：當時5道，現在6道。

這些損失有明確的原因。為了辨識鉛筆標記和深色主題，現在每一格都完整切出，淡淡的墨跡也會被計入。在較薄的報紙上，背面的內容會透過來，顯得淡且呈鏡像，新的辨識器會把這些影子讀成數字；第一版只看每一格中最大的墨跡形狀，所以從來不會看到它們。在捲曲的書頁上，盤面的外框線或宮線可能落入某一格內，而被辨識成1。

其中兩道失誤其實是標註錯誤：一張照片中是3和9的地方，標註寫成9和8；另一張照片中是4的地方，標註寫成2。按正確答案計算，目前的辨識器達到84.5%。

## 仍會出錯的地方

在200張新照片中，有33張未能完全正確辨識。其中22張是那本公開謎題書的書頁：靠近書脊處，書頁的捲曲超出辨識器能追蹤的程度，因此有線條落入方格內而被辨識成1，或是角落方格的切割範圍橫跨了一條線。7張是背面內容透過來的報紙。其餘是一張帶有摩爾紋的螢幕翻拍照片、一處被辨識成1的盤面邊緣，以及那兩個標註錯誤。

在200張 Lexski 圖片中，有21張未能完全正確辨識：鉛筆標記被辨識成數字，包括擦掉後仍留下淡淡數字痕跡的鉛筆字（7張）；多出一個數字，大多是單獨的鉛筆標記被當成填入的數字（5張）；網格位置錯誤或找不到網格，發生在方格之間沒有線條的 App 主題或手繪網格上（5張）；以及不尋常的方塊樣式與顏色（4張）。

## 為什麼沒達到97%，以及接下來的計畫

一切都在你的瀏覽器中執行：一個224 KB的模型和約850行 JavaScript，在筆記型電腦上每張照片的處理時間中位數約為300毫秒，若把處理器放慢四倍（就像在較慢的手機上），則約為1.2秒。在這樣的預算內，更大的神經網路並沒有幫助。剩下的是長尾問題：捲曲的書頁、背面透印、鉛筆標記，以及不尋常的 App 樣式。我們找到的每一個公開標註資料集現在都已用過或看過，因此下一輪需要我們自己拍攝並標註的照片，並在這些照片上修正和測量淡墨跡與書頁捲曲的問題。

## 想要掃描得最好

- 把手機拿在謎題正上方，讓整個網格都在畫面中。
- 把書或報紙壓平：在印刷謎題上，大多數辨識失誤都來自捲曲的紙頁。
- 如果報紙很薄，在那一頁後面墊一張空白紙，避免背面內容透過來。
- 在謎題上寫鉛筆標記之前先掃描。
- 開始解題前，把解題器標示出的方格和你的謎題對照一下。

## 資料與來源

- [Lexski, Sudoku Image Recognition (Hugging Face), CC0 1.0](https://huggingface.co/datasets/Lexski/sudoku-image-recognition)
- [Wicht, B. and Hennebert, J., Sudoku dataset (GitHub), CC BY 4.0; "Camera-based Sudoku recognition with deep belief network", SoCPaR 2014](https://github.com/wichtounet/sudoku_dataset)
- [NatalijaPetric, SudokuDataset (GitHub)](https://github.com/NatalijaPetric/SudokuDataset), 未標明授權，僅用於量測
- [mineshpatel1, sudoku-solver (GitHub)](https://github.com/mineshpatel1/sudoku-solver), 未標明授權，僅用於量測
- [danielsociu, SudokuRecognition (GitHub), University of Bucharest course project](https://github.com/danielsociu/SudokuRecognition), 未標明授權，僅用於量測
- [解題工具如何逐步讀取照片 (English)](https://sudokuflow.com/tools/sudoku-solver/how-it-works/)

[試用解題器 →](https://sudokuflow.com/zh-hant-tw/tools/sudoku-solver/)

![數獨應用程式圖示](https://sudokuflow.com/assets/app-icon.png)

## 想玩更多這樣的題目嗎？

我們也開發了適用於 iPhone、iPad、Mac 和 Android 的數獨應用程式。程式完全沒有廣告，不需網路也能玩，而且使用提示時，會示範解題技巧，而不只是填入一個數字。

[App Store iPhone, iPad, Mac](https://apps.apple.com/app/apple-store/id6502922368?pt=125379530&ct=sudokuflow_web&mt=8) [Google Play Android](https://play.google.com/store/apps/details?id=com.rubigogames.sudoku&referrer=utm_source%3Dsudokuflow%26utm_medium%3Dweb%26utm_campaign%3Dsite)

Sudoku Flow 由本站推薦的數獨應用程式開發者 Rubigo Games 製作。
