Explore how I applied my knowledge of TensorFlow and CNNs to build an interactive Rock Paper Scissors game that recognizes hand gestures using image classification.
In this final project for the course Machine Learning with Tensorflow at UC Berkeley Extension, I applied the concepts learned in TensorFlow and signal processing to solve a real-world problem using Convolutional Neural Networks (CNNs). The course provided hands-on experience with tools like Fast Fourier Transform, NumPy, Scipy, and Matplotlib, which I later applied to build a CNN model for image classification.
The project involved using Laurence Morony's Rock Paper Scissors dataset to create an interactive game where the model recognizes hand gestures (rock, paper, or scissors) from a set of images. This CNN model classifies the hand gestures in real-time, enabling users to play a game of Rock Paper Scissors against the computer.
One of the main challenges was ensuring real-time performance for the gesture recognition system while maintaining high classification accuracy. To solve this, I optimized the model using CNN architectures that significantly reduced the computational cost while maintaining performance.
The CNN model achieved an accuracy of 95% in recognizing the hand gestures for Rock, Paper, and Scissors. The game runs in real-time, with users able to play against using images in the testing data set. The system recognizes the gesture within seconds, providing an interactive and fun experience. This project demonstrated the power of TensorFlow and CNNs in creating practical applications, even for small-scale projects like this one.