Software Used
python
- programming language used, tested onv3.8
miniconda
- for managing virtual environment
Libraries Used
opencv
-pip install opencv-python
imutils
-pip install imutils
pillow
-pip install Pillow
tensorflow
pip install tensorflow
- for CPU and GPUpip install tensorflow-gpu
- for GPUpip install tensorflow-cpu
- for CPUkeras
numpy
-pip install numpy
scikit-learn
-pip install scikit-learn
matplotlib
-pip install matplotlib
Modules
- Image Segmentation - just for leaning image segmentation
- Data Generation - for generating the gestures dataset
- Data Training - for training the CNN model
- Data Prediction - for predicting the gestures
- Test GPU - if you are using GPU use this for test if you have done CUDNN setup properly.
Image Segmentation
- This module is just for learning purpose.
- You can see here how segmentation code works.
- Use this module to play around and understand image segmentation.
Data Generation
- Contains the code for dataset generation.
- You can add new gestures in this notebook and the generate the data.
- Produce
1000
train data, and100
test data images. - This can be done by setting the
no_of_images
andstart_image_num
variables. - After adding new gesture modify the gestures list for both data training and data generation module.
Data Training
- Contains the CNN model.
- Modify this model to crete your own new model and train it.
- Use GPU for faster training.
- If you have a Nvidia GPU, follow this https://www.tensorflow.org/install/gpu to make tensorflow work with your GPU.
Data Prediction
- Contains the code for predicting gesture.
- Loads the CNN model and make the prediction.