What it does

It takes a scrambled image, and returns a string representing the ordering of the pieces that is required to unscramble this image.

How we built it

First, divide each image into 4 equal rectangular pieces. Then pass each piece through the CNN. CNN extracts useful features and outputs a feature vector. We concatenate all 4 feature vectors into one using the Flatten layer. Then we pass this combined vector through a feed-forward network. The last layer of this network gives us a 16-unit long vector. We reshape this 16-unit vector into a matrix of 4x4.

Challenges we ran into

The dataset was huge with about 50k images, hence we had to use a tensor slicer to tackle this problem.

What's next for Puzzle Solver

Make it dynamic so it works for all input sizes.

Built With

Share this project:

Updates