Best Machine Learning Projects with Demo and Source Code - Must Try in 2021

Best Augmented Reality, Computer Vision And Machine Learning Projects with Source Code

Hello Everyone, After a long time, we're back with "Top 30 joyful, interesting and unique artificial intelligence, machine learning, augmented reality and computer vision projects you must try in 2021". This projects contains demo video, steps and source codes / tutorial for easiness or reference purpose. Without taking your much time, Let's dive into the first project that is Rubik Cube Solution using OpenCV

1. Rubik Cube Solution using OpenCV

Demo Video: 👇

Step 1. Capture the video of cube 

Step 2. Convert image from BGR to HSV 

Step 3. Separate 6 color images using InRange 

Step 4. Find area using FindContours 

Step 5. Use kociemba module: Kociemba Module

2. Sudoku Solver

Demo Video: 👇

About this Project (Working and Steps):

Grids Extraction:

Firstly, the algorithm have to find where the grids are!

The pipeline is:

- Preprocess image to enhance high frequencies
- Find lines thanks to Hough Space
- Analyse lines to know which can correspond to a grid

sudoku solver project

Digits Identification & Grids Solving:

Once grids are extracted, for each grid you've to:

- Detect shape which can be digits
- Use my CNN do identify digits
- Create a numeric grid in a table & solve it

sudoku solver project

Grids Reconstruction:

- Create a virtual image to fill the initial image
- Add the 2 images together to create the final result

sudoku solver project

Code and Other Details: Sudoku Solver 

3. Machine Learning  + Augmented Reality = Magic (i.e. AR Cut & Paste)

Demo Video: 👇

Technical Details about this project:

Cyril Diagne (the creator of this project) has used BASNet for salient object detection and background removal.

The accuracy and range of this model are stunning and there are many nice use cases so I packaged it as a micro-service / docker image: Basnet

AR Cut & Paste

- And again, the OpenCV SIFT trick to find where the phone is pointing at the screen.

- The author has combined it in the form of small python library: Screenpoint

- Send a camera image + a screenshot and you get accurate x, y screen coordinates!

AR Cut and Paste

Code and Other Details: AR Cut & Paste

Check out their App: Clipdrop

4. TTNet Pytorch - Real-time temporal and spatial video analysis of table Tennis 

Demo Video: 👇 

About this Project:

This project is based on an implementation of the paper "TTNet: Real-time temporal and spatial video analysis of table tennis"

Steps Overview:

- Preparing the dataset
- Model & Input tensors
- Training
- Visualizing training progress
- Evaluation

Code and Other Details: TTNet

5. How this AI gives Elon Musk an Unimaginable Look

Demo Video: 👇

About this project:

The demo video is made using StyleFlow: Attribute-conditioned Exploration of StyleGAN-generated Images using Conditional Continuous Normalizing Flows (ACM TOG 2021)

Steps Overview:

- Docker Installation
- UI Illustration
- Editing Images Using Pretrained Models
- Training New Model
- And a lot more

6. MarI/O - Machine Learning for Video Games

Demo Video: 👇

About this Project:

MarI/O is a program made of neural networks and genetic algorithms that kicks butt at Super Mario World. 

Code: MarI/O

7. Snake AI 

Demo Video: 👇

About this Project:

- In this project, the author has built a neural network and trained it to play Snake using a genetic algorithm.

- Each snake contains a neural network. The neural network has an input layer of 24 neurons, 2 hidden layers of 16 neurons, and one output layer of 4 neurons. Note: Network can now be customized with the number of hidden layers as well as the number of neurons in the hidden layers.

Code and Other Details: Snake AI

8. Build and Deploy Cartoonify: A Serverless Machine Learning App

Demo Video: 👇

Cartoonify Project

About this Project:

Some prerequisites to build and deploy Cartoonify

If you want to run and deploy Cartoonify, here are some prerequisites first:

- An AWS account (don't worry, deploying this app will cost you almost nothing)
- A free account on Netlify
- Docker installed on your machine
- node and npm (preferably the latest versions) installed on your machine
- torch and torchvision to test CartoonGAN locally (optional)

All set? you're now ready to go.

Please follow these four steps:

1. Test CartoonGAN locally
2. Deploy CartoonGAN on a serverless API using AWS Lambda
3. Build a React interface
4. Deploy the React app on Netlify

Code and Other Details: Cartoonify

9. Deep Q-learning for playing Tetris

Demo Video: 👇

About this Project:

If you're looking for the practical implementation of Reinforcement learning, then this project is for you. Its a simple RL project and author has provided python code for reference. So, check it out and create your own Tetris...

Code and Other Details: Deep Q-Learning for Tetris

10. A Simple but Interesting Chess AI 

Demo Video: 👇

Chess AI Project

About this Project:

Basic Concepts that will help you to create Chess AI

- Move-generation
- Board evaluation
- Minimax
- Alpha beta pruning.

Steps Overview:

- Move generation and board visualization
- Position evaluation
- Search tree using Minimax
- Alpha-beta pruning
- Improved evaluation function

Code and Other Details: Chess AI

11. How to build an AI that can solve 100 x 100 Cube

Demo Video: 👇

Code and Other Details: AI Cube

12. Using Deep Q-Network to Learn How To Play Flappy Bird

Demo Video: 👇

AI Flappy Bird Project

About this Project:

This project follows the description of the Deep Q Learning algorithm described in Playing Atari with Deep Reinforcement Learning [2] and shows that this learning algorithm can be further generalized to the notorious Flappy Bird.

Installation Dependencies:

- Python 2.7 or 3
- TensorFlow 0.7
- pygame
- OpenCV-Python

Code and Other Details: Flappy Bird

13. AI Duet - A piano that responds to you

Demo Video: 👇

About this Project:

This experiment lets you make music through machine learning. A neural network was trained on many MIDI examples and it learned about musical concepts, building a map of notes and timings. You just play a few notes, and see how the neural net responds.

A.I. Duet is composed of two parts, the front-end which is in the static folder and the back-end which is in the server folder. The front-end client creates short MIDI files using the players's input which is sent to a Flask server. The server takes that MIDI input and "continues" it using Magenta and TensorFlow which is then returned back to the client.

Code and Other Details: AI Duet

14AI Learns to Play Super Mario

Demo Video: 👇

About this Project:

In this project, You will need Python 3.6 or newer. The result of this project was like AI was able to successfully complete all these Super Mario levels (1-1, 2-1, 3-1, 4-1, 5-1, 6-1, and 7-1). It was also able to learn: flagpole glitch with an enemy, walljump, and a fast acceleration

Code and Other Details: AI Super Mario

15. The Infinite Drum Machine - Thousands of everyday sounds, organized using machine learning

Demo Video: 👇

About this Project:

Sounds are complex and vary widely. This project uses machine learning to organize thousands of everyday sounds. The computer wasn’t given any descriptions or tags – only the audio. Using a technique called t-SNE, the computer placed similar sounds closer together. You can use the map to explore neighborhoods of similar sounds and even make beats using the drum sequencer.

Code and Other Details: The Infinite Drum Machine

16. Thing Translator

Demo Video: 👇

About this Project:

This experiment lets you take a picture of something to hear how to say it in a different language. It’s just one example of what you can make using Google’s machine learning API’s, without needing to dive into the details of machine learning.

Code and Other Details: Thing Translator

17. Fruit Ninja AI

Demo Video: 👇

About this Project:

In this project, The AI only loses when a bomb is overlapped with a fruit on its whole path, as the AI won't find a good opportunity to slice it. The code was tweaked to run on a 3.5GHz I5-7600 (no GPU acceleration) (too much/little computing time between frames might affect the AI's decisions and timings).

Code and Other Details: AI Fruit Ninja

18. Minesweeping Automation Using Python and OpenCV

Demo Video: 👇

AI Minesweeper

About this Project:

Before you are ready to make a set of minesweeping automation software, you need to prepare the following tools/software/environments

Development environment:

- Python3 environment-3.6 or above recommended [Anaconda3 is more recommended, many of the following dependent libraries do not need to be installed]
- Numpy dependent library [no need to install if there is Anaconda]
- PIL dependency library [no need to install if there is Anaconda]
- opencv-python
- win32gui, win32api dependent libraries
- IDE that supports Python [optional, if you can bear to write programs with a text editor]

Minesweeper software:

Minesweeper Arbiter (MS-Arbiter must be used for minesweeping!)

Steps Overview:

- Form interception
- Thunder block division
- Thunder block recognition
- Implementation of minesweeping algorithm
- Final Step

Code and Other Details: Minesweeper Automation

19. Move Mirror: An AI Experiment with Pose Estimation in the Browser using TensorFlow.js

Demo Video: 👇

Move Mirror

About this Project:

Move Mirror lets you explore pictures in a fun new way. You turn on your webcam and move around, and the computer pulls up pictures of poses that match yours in realtime. The image database is made of more than 80,000 pictures that are pulled together - of people dancing, doing karate, cooking, walking, skiing and so on. 

Code and Other Details: Move Mirror

20.  SkyJack - Autonomous Drone Hacking

Demo Video: 👇

About this Project:

Using a Parrot AR.Drone 2, a Raspberry Pi, a USB battery, an Alfa AWUS036H wireless transmitter, aircrack-ng, node-ar-drone, node.js, and a SkyJack software, the author has developed a drone that flies around, seeks the wireless signal of any other drone in the area, forcefully disconnects the wireless connection of the true owner of the target drone, then authenticates with the target drone pretending to be its owner, then feeds commands to it and all other possessed zombie drones at my will.

Code and Other Details: SkyJack

21. Analyze basketball shots and shooting pose with Machine Learning

Demo Video: 👇

AI Basketball

About this Project:

This is an artificial intelligence application built on the concept of object detection. Analyze basketball shots by digging into the data collected from object detection. We can get the result by simply uploading files to the web App, or submitting a POST request to the API. 

All the data for the shooting pose analysis is calculated by implementing OpenPose. Please note that this is an implementation only for noncommercial research use only. Please read the LICENSE, which is exaclty same as the CMU's OpenPose License.

Code and Other Details: AI Basketball Analysis

22. Tic Tac Toe using ArKit 

Demo Video: 👇

About this Project:

In this experiment, the author has taken the simple scenekit tic-tac-toe (one of his repositories), and tried to put it in ARKit:). The game also includes a decent AI opponent.

Code and Other Details: Tic Tac Toe

23. AlphaZero Gomoku

Demo Video: 👇

AI AlphaZero Game

About this Project:

This is an implementation of the AlphaZero algorithm for playing the simple board game Gomoku (also called Gobang or Five in a Row) from pure self-play training. The game Gomoku is much simpler than Go or chess, so that we can focus on the training scheme of AlphaZero and obtain a pretty good AI model on a single PC in a few hours.

Code and Other Details: AlphaZero Gomoku

24. AI learns to play pool 

Demo Video: 👇

About this Project:

The author has created an AI to play pool, and he has used processing to make this and you will need processing to run this

Code and Other Details: AI Play Pool

25. Candy Crush Bot

Demo Video: 👇

About this Project:

A python bot that plays Candy Crush. Due to lack of time when the author coded this he was like 75% in Dead Mood, so the project is full of hardcoded stuff:)

Code and Other Details: CC Bot

26. NSynth: Sound Maker - Make unusual new sounds with Machine Learning

Make unusual new sounds with machine learning

About this Project:

Open NSynth Super is an experimental physical interface for NSynth, a machine learning algorithm developed by Google Brain’s Magenta team to generate new, unique sounds that exist between different sounds. Open NSynth Super allows you to create and explore new sounds that it generates through a simple to use hardware interface that integrates easily into any musician’s production rig. To find out more, visit the NSynth Super website.

This experiment lets you play with new sounds created with machine learning. It’s built using Nsynth, a research project that trained a neural network on over 300,000 instrument sounds. NSynth is able to combine sounds, like a bass and flute, into a new, hybrid bass-flute sound. This experiment lets anyone explore these sounds and make music with them.

Code and Other Details: Nsynth

27. 2048 AI

Demo Video: 👇

2048 AI

About this Project:

The implemented algorithm chooses which move to play like this: For each possible move, play it and then continue to play random moves until the game is finished. This is done many times and the move that returns the highest average score is chosen.

The success of the AI is surprising as a random-walk game finishes quite quickly, yet choosing the highest yielding move among the random-walk games, results in very good game play. Using only 100 runs per move the AI reaches the desired 2048 tile 80% of the runs and the 4096 tile 50%!

Code and Other Details: 2048 AI

28. AI Pacman

Demo Video: 👇

About this Project:

In this project, the author has used processing to write this code and if you wanna run it then you will need processing

Code and Other Details: AI Pacman

29. Pokemon Go Bot
Pokemon Go Bot
About this Project:

PokemonGo-Bot is a project created by the PokemonGoF team. Since no public API available for now, a patch to use HASH-Server was applied. 

The project is currently setup in two main branches:

dev also known as beta - This is where the latest features are, but you may also experience some issues with stability/crashes.

master also known as stable - The bot 'should' be stable on this branch, and is generally well tested.

Code and Other Details: PokeBot

30. Hill Climb Racing AI

Demo Video: 👇

About this Project:

Watch the step by step tutorial video and create your own hilly climb racing AI

Credits: The credits of all Images, videos, etc used in this article goes to their respective owners.

I hope this project will be helpful to you. If you think this project can help others in any way, then share it with others and also with your friends. And If you have more projects that you like this then please share it with us on any of our social medias, we will check it, verify it and try to it add in this post. Stay tuned with us as our next article might be Machine Learning Algorithms you must know in 2021 or 100+ Machine Learning and Data Science Projects for Beginners, Intermediate and Pro Enthusiast or something unimaginable.
January 30, 2021


Contact Us