Live data from Hacker News

Show HN: Visual Sudoku solver in the browser

sudoku.dotslashdan.com

1–10 of 17 posts

Show HN: Visual Sudoku solver in the browser

#1
Hello!

I recently wanted to learn a bit about computer vision. Initially, I wanted to build something which could solve a jigsaw puzzle, but figured I should start with something (much) simpler, so I've built this instead.

This is a visual Sudoku solver which runs in the browser. It works by using OpenCV to identify and process the Sudoku grid, passing this to a simple ML model to identify the digits, and then solving the puzzle with a backtracking algorithm. The ML model was trained on the TMNIST data set using a model built with Keras, also a completely new area to me.

It's far from perfect, and doesn't like non perfectly lit or overly warped puzzles, but the main goal here was learning, which I did, a lot.

As this was primarily a learning project, I've tried to document my approach as much as possible, which can be found in this Python notebook:

https://github.com/Taiters/sudoku-solver/blob/main/notebooks...

I used Python while exploring OpenCV and training the models etc, and eventually ported this over to web (OpenCV.js + Tensorflow.js) to get something I could actually share with people.

Feel free to have a dig around the source or play around with the solver!

Github: https://github.com/Taiters/sudoku-solver

Show HN: Visual Sudoku solver in the browser
sudoku.dotslashdan.com

Re: Show HN: Visual Sudoku solver in the browser

#3
post #2

I think it would be super helpful to have an example puzzle there so one can quickly try it out without having to find a sudoku puzzle elsewhere

Yeah that's good idea, thanks for the suggestion. I even went out and bought a puzzle book while building this, so it's definitely not something most people have around.

Re: Show HN: Visual Sudoku solver in the browser

#5
Hey, thanks for sharing this! I was thinking of creating a visual minesweeper solver as a web app and for sure I’m going to check your notebook ;-)

ps1. As commented, I don’t have a sudoku available to try this. ps2. Yes, it’s cheating but we’re doing it for learning.

Re: Show HN: Visual Sudoku solver in the browser

#6
I undertook this exact project last year but stopped after writing a solver and playing with OpenCV to do edge detection. I also bought a Sudoku puzzle book for making a data set to work with.

So of course I am glad to see this and thank you for writing this up. Now I'm reinvigorated to throw some time at this project again.

As an aside, a great link I encountered during my project regarding building the fastest Sudoku Solver (conversation): https://codegolf.stackexchange.com/questions/190727/the-fast...

Re: Show HN: Visual Sudoku solver in the browser

#7
post #4

I love the idea but couldn't get it to work. When I click the snapshot button from the /viewer URI, I end up on /image and can only download the photo I took or go back. What is the intended workflow?

I've uploaded a quick recording here (Seems Youtube forced it to be a "Short"): https://www.youtube.com/shorts/rdZ25pyqqmA

So ideally it should "solve" a sudoku puzzle when there's one in the frame. Then you can use the snapshot button (taking you to /image) to save and download the solution.

Though if it's not solving it (Which is definitely not uncommon in less than perfect lighting etc), I can see the workflow being unclear.

Re: Show HN: Visual Sudoku solver in the browser

#8
post #7
post #4

I love the idea but couldn't get it to work. When I click the snapshot button from the /viewer URI, I end up on /image and can only download the photo I took or go back. What is the intended workflow?

I've uploaded a quick recording here (Seems Youtube forced it to be a "Short"): https://www.youtube.com/shorts/rdZ25pyqqmA So ideally it should "solve" a sudoku puzzle when there's one in the frame. Then you can use the snapshot button (taking you to /image) to save and download the solution. Though if it's not solving it (Which is definitely not uncommon in less than perfect lighting etc), I can see the workflow bei…

Great, thanks!

I was probably not stable enough showing it to the webcam and had more luck with the sudoku lying on the table and moving the webcam.

The lightning was also quite important in getting the grid recognized.

Nice job :)

Re: Show HN: Visual Sudoku solver in the browser

#10

I made a similar thing a while back - works really well. https://www.atomic14.com/2020/07/25/browser-ar-sudoku.html You can see it in action here: https://sudoku.cmgresearch.com/ (assuming it still works - haven't tried it for a while).

Nice! Yeah the puzzle detection works really well in your one. I'll need to have a read through your write up to get some pointers.
Post reply on HN