
Project Overview
ShapeNet is a machine learning project that recognizes hand-drawn shapes in real-time using a web interface. The system allows users to draw shapes on an HTML canvas, and the trained neural network predicts which shape was drawn with remarkable accuracy.
The current model can recognize five different shapes: circles, squares, triangles, hexagons, and octagons. The application provides real-time feedback as users draw, showing not only the predicted shape but also a confidence score and probability distribution across all possible shape classifications.
Technical Implementation
Key Features
Implementation Details
The frontend utilizes HTML5 Canvas for drawing and JavaScript to capture user input. When a user completes a drawing, the canvas image is converted to base64 and sent to the backend Flask server. The server preprocesses the image by resizing it to 28x28 pixels, normalizing pixel values, and inverting colors to match the training data format.
The TensorFlow/Keras model processes this standardized input and returns prediction probabilities for each shape class. The application then displays these results in an intuitive interface with animated probability bars, making it easy to understand the model's confidence level for each possible shape.