All Projects → atomic14 → Ar Browser Sudoku

atomic14 / Ar Browser Sudoku

Licence: cc0-1.0
Solving Sudoku Puzzles in the Browser Using Augmented Reality

Projects that are alternatives of or similar to Ar Browser Sudoku

Hacktoberfest2020
Contribute for hacktoberfest 2020
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Group Sparsity Sbp
Structured Bayesian Pruning, NIPS 2017
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Visjs2jupyter
visJS2jupyter is a tool to bring the interactivity of networks created with vis.js into jupyter notebook cells
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Viztech
Plotnine replication of Financial Times Visual Vocabulary; Inspired by Vega
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Ml Starter Pack
A collection of Machine Learning algorithms written from sctrach.
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Mapclassify
Classification schemes for choropleth mapping.
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Zaoqi Data
公众号:可视化图鉴
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Prml
Some IPython notebooks based on Bishop's "Pattern Recognition and Machine Learning" book
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Raccoon dataset
The dataset is used to train my own raccoon detector and I blogged about it on Medium
Stars: ✭ 1,177 (+1512.33%)
Mutual labels:  jupyter-notebook
Coursera Specializations
Solutions to assignments of Coursera Specializations - Deep learning, Machine learning, Algorithms & Data Structures, Image Processing and Python For Everybody
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
3d Shapes
This repository contains the 3D shapes dataset, used in Kim, Hyunjik and Mnih, Andriy. "Disentangling by Factorising." In Proceedings of the 35th International Conference on Machine Learning (ICML). 2018. to assess the disentanglement properties of unsupervised learning methods.
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Coordconv
Pytorch implementation of "An intriguing failing of convolutional neural networks and the CoordConv solution" - https://arxiv.org/abs/1807.03247
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Allstate capstone
Allstate Kaggle Competition ML Capstone Project
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Ge tutorials
Learn how to add data validation and documentation to a data pipeline built with dbt and Airflow.
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Tensorflow Vgg
Re-implementation of VGG Network in tensorflow
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Attack Datasources
This content is analysis and research of the data sources currently listed in ATT&CK.
Stars: ✭ 71 (-2.74%)
Mutual labels:  jupyter-notebook
Pydata pandas
A PyData workshop on pandas
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Factorhub
Stars: ✭ 73 (+0%)
Mutual labels:  jupyter-notebook
Public
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook
Cs231n
CS231n Convolutional Neural Networks for Visual Recognition (winter 2016) - Assignments
Stars: ✭ 72 (-1.37%)
Mutual labels:  jupyter-notebook

ko-fi

Augmented Reality Sudoku Solver

You can find details on how this project works in the video. You can also try it out here:

https://sudoku.cmgresearch.com

Demo Video

This project will let you use your phone (or your computers webcam) as an Augmented Reality camera for solving Sudoku puzzles.

It's an interesting proof of concept to see how powerful browsers on phone are now.

To perform the OCR we use tensorflowjs. The image processing is all carried out in customer code.

Hopefully after watching the video it should be mostly self explanatory...

A good place to start is the code in app/src/augmentedReality/Processor.ts as this steps through the processing pipeline described in the video.

This project consists of two folders:

  • app - the JavaScript application that runs in the browser using a phone's camera or webcam
  • tensorflow - the training and test code for the neural network used for the OCR

Building the App

To build the application you will need to have node and yarn installed.

Setup

cd app
yarn
yarn start

If you want to run the app locally then you will need to use something like ngrok to proxy https connections from your phone to your local server (most phones will not allow access to the camera unless the page is served over https).

Running in your desktop browser should work so long as you use the localhost connection as this bypasses the https requirement.

Building

yarn build

Training the neural network

The application invluces a pretrained network so you only need to do this if you want to train the network on new images.

Setup

cd tensorflow
python3 -m venv venv
. ./venv/bin/activate
pip install -r requirements.txt

You may need to upgrade pip to the latest version if you have errors during the pip install phase.

pip install --upgrade pip

You will need to go into the tensorflow/fonts folder and unzip the fonts files. You'll then need to run the list.sh script to update the list of fonts.

sh list.sh

Running the notebooks

jupyter notebook .

There are three notebooks - train.ipynb, test-model.ipynb and generate_training_data.ipynb

train.ipynb containts the training code. This is a very simple model so should be trainable on a CPU.

test-model.ipynb contains some code for showing which images the network is failing on.

generate_training_data.ipynb contains code for creating the training and test set data.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].