查 發自 凹非寺
量子位 報道 | 公眾號 QbitAI
現在只需拍張照片,就能快速解決數獨問題了。
數獨對計算機來說不是什么難事,但就是這樣一個“平平無奇”的項目卻登上了GitHub今日的熱榜。
這個登上熱榜的項目,名字就叫AI Sudoku,其實就是用AI里的計算機視覺,把照片變成計算機能看懂的網格和數字。
接下來求解數獨問題當然不難。重要的是,在這個過程中,我們也學習到了一些常用的計算機圖片處理算法。
智能數獨求解器(Smart Sudoku Solver)的安裝使用并不復雜,只需把項目代碼克隆到本地即可。
Windows系統下支持圖形化界面,把拍攝圖片傳輸到電腦上就能給出答案。
首次運行需要連接網絡下載MNIST數據集,訓練模型并創建knn.sav文件,整個過程可能需要5~10分鐘,之后就可以離線運行了。
python?Run.py
運行上面的代碼后,將顯示KNN算法的訓練結果
之后將很快出現GUI界面,選擇上傳你拍攝的數獨謎題圖片。
一直點擊下一步,就能得到這道題的答案:
作者在程序中提供了卷積神經網絡或k近鄰兩種算法,供你選擇。
運行應用程序之前,只需將Run.py文件中的modeltype變量設置為“CNN”或“KNN”。默認情況下,程序設置為“ KNN”,而且現階段使用KNN可以獲得更高的準確性。
'''Run?this?file?to?run?the?application'''
from?MainUI?import?MainUI
from?CNN?import?CNN
from?KNN?import?KNN
import?os
#?Change?the?model?type?variable?value?to?"CNN"?to?use?the?Convolutional?Neural?Network
#?Change?the?model?type?variable?value?to?"KNN"?to?use?the?K?Nearest?Neighbours?Classifier
modeltype?=?"KNN"
在我們點擊“下一步”的過程中,程序展示了圖片處理的步驟。
首先是對圖片進行高斯模糊處理,去除噪聲和其他細節。
接下來,生成一張清晰的掃描圖。由于一張圖片中不同區域的光照,采用自適應高斯閾值的方法可以避免這一問題:
反轉圖片,讓文字和網格都變成白色,背景變成黑色。
之后找出邊緣的四條線,通過這四條線,將拍到的數獨題目變成一張正方形圖片。
最后將圖片切割成81個小塊,識別出每個小塊里的數字。
求解數獨問題并不是很難,這個開源項目的作用其實是幫你了解圖像識別和處理的各種算法,例如高斯模糊、自適應高斯閾值等等。
項目對這些算法的名稱和介紹都做了適當的加粗處理,如果你對這些感興趣,不妨前去觀摩學習一下。
源代碼地址:
https://github.com/neeru1207/AI_Sudoku
— 完 —
量子位 QbitAI · 頭條號簽約
關注我們,第一時間獲知前沿科技動態
還記得Win XP的時候,Windows就已經自帶了經典的掃雷和蜘蛛紙牌游戲,但是到了Win10似乎就沒見到過了,那對于一些懷舊的小伙伴,怎么玩兒呢?
本期簡介:在Win10操作系統下,帶你回憶經典的掃雷和蜘蛛紙牌。
一、操作步驟
1、打開微軟商店(Microsoft Store)
2、搜索Microsoft Solitaire Collection,看來我的應該是已經安裝過了
3、在應用程序中,找到Solitaire &casual game
4、打開軟件后,等待軟件響應,可以看到主界面
5、對應的游戲有
Solitaire Collection------紙牌系列
Klondike------經典紙牌接龍
Spider------蜘蛛紙牌
FreeCell------空當接龍
Pyramid------金字塔
TriPeaks------遠古tripeaks紙牌
Solitaire Daily Challenges------微軟紙牌每日挑戰
Mahjong------麻將
Jigsaw------拼圖
Sudoku------數獨
Ultimate World Games------微軟終極單詞游戲
Treasure Hunt------尋寶游戲
Jewel------鉆石方塊(類似于消消樂)
Minesweeper------掃雷(需要單獨安裝)
二、部分經典演示
1、掃雷
2、鉆石方塊
3、蜘蛛紙牌