-
Download dataset from \href{https://www.kaggle.com/datasets/darthpenguin/merged-asl-alphabets/data}{Dataset Link}
-
Move the downloaded dataset into the project folder, ensuring the dataset folder contains "Test_Alphabet", "Train_Alphabet" and "alphabet.jpeg".
-
Run code using the below steps
Create virtual env
python3.9 -m venv venv
Activate Virtual Env (mac)
source venv/bin/activate
(windows command prompt)
- venv\textbackslash Scripts\textbackslash activate
Install required packages
pip install -r requirements.txt
-
Run the cells in the notebook sequentially. Update in the second cell the dataset1 variable with "./{dataset folder name}/Train_Alphabet".
-
Uncomment the create_dataset function in line 12 of the second cell.
-
The commented out sections in the first few cells are used if you would like to train the model on more datasets and for pre-processing. In the third last cell, update the test_path variable to be "./{dataset folder name}/Test_Alphabet"
-
Running the entire notebook will end with the test accuracies for both PointNet Models where we can see both accuracy values and any misclassified images will be saved into the misclassified folder. You may rename the destination folders defined in the predict_images() function for the misclassified files.
-
Ensure the virtual environment is activated.
-
Set the model_path variable to be the path of the model you would like to use, this is in app.py
-
Start the application with
python3 app.py
-
Place hand within video frame for a few seconds in desired letter hand sign.
-
Predicted letter will appear on screen.
This file defines functions to be used for dataset generation, dataset loading, training, validation
Defines the model using PointCNN architecture
Defines the model using PointNet architecture
This file is to load use the functions from functions.py to create the dataset and other steps until testing
When accessing this file, select the venv as the kernel.
This file uses a the stored models and runs an application.
set model_path to be the path of the model you would like to use.