Hand Gesture Recognition with CNNs
This project implements a Convolutional Neural Network (CNN) to classify hand gestures into 11 categories using the LeapGestRecog dataset. The objective was to preprocess the dataset, train a CNN model, and evaluate its performance while identifying potential areas for improvement.
The dataset used for this project is the LeapGestRecog dataset, which contains over 20,000 images of hand gestures in grayscale.
You can download the dataset here: LeapGestRecog Dataset.
The following libraries and tools are required to run this project:
- Python 3.7 or above
- TensorFlow
- NumPy
- OpenCV
- matplotlib
To install the dependencies, use:
pip install -r requirements.txt
Follow these steps to run the project locally:
-
Clone the repository:
git clone https://github.com/RajeevRayagada/SCT_ML_4.git cd SCT_ML_4
-
Install the required Python libraries:
pip install -r requirements.txt
-
Download the dataset:
- Visit LeapGestRecog Dataset.
- Download the dataset and extract it to a folder (e.g.,
data/
).
-
Update the dataset path in the
Hand_Gesture_Recognition.ipynb
file:
Modify thedata_path
variable to point to your dataset folder. -
Run the Jupyter Notebook:
jupyter notebook Hand_Gesture_Recognition.ipynb
-
Follow the steps in the notebook to preprocess the dataset, train the CNN model, and evaluate its performance.
- Training Accuracy: 85%
- Validation Accuracy: ~10%
The low validation accuracy indicates overfitting and highlights the need for further optimization.
This project demonstrates the challenges of training a CNN model on complex datasets and the importance of regularization, data augmentation, and architecture optimization. Future iterations will address these challenges with advanced techniques like dropout, learning rate scheduling, and fine-tuning.