--> GROUP 07 <--
ASL is accepted by many high schools, colleges, and universities in fulfillment of modern and “foreign” language academic degree requirements across the United States. This project aims for ASL alphabet classification to facilitate better understanding and interaction with the ASL community. The goal is to develop a reliable and efficient tool for ASL alphabet recognition, which can bridge the communication gap between individuals with hearing impairments and those who do not know sign language. we will use PyTorch to build and train a deep learning model to classify images to classes.
The dataset used is ASL dataset from Kaggle, it has 26 letters(a-z) and two words space and nothing. The link to the dataset is follows: https://www.kaggle.com/datasets/kapillondhe/american-sign-language
- Supervised learning Classification with Decision Trees : Jupiter Notebook files for Decision Tree.
- Semi-supervised learning Classification with Decision Trees : Jupiter Notebook files for Decision Tree.
- CNN: Jupiter Notebook files for CNN.
Depend on the operating system, install the Python3.9 or above
Installing Anaconda allows to run all Jupyter Notebook files on local computer. If you haven't installed Anaconda, go here: https://store.continuum.io/cshop/anaconda/ This will install everything that you need.
Running on Google Colab without local computer setup, which requires a Google Colab account. If you haven't register Colab, go here: https://colab.research.google.com/signup.
- Download the dataset from here
- Depend on running with local computer or Google Colab, change the dataset path in this code section inside Supervised Learning Classification .ipynb files
alphabet_dir = "ASL_Dataset/Train"
- Change following constants in code for hyperparameters( Change only if tuning is required,otherwise skip this step)
param_grid = {
'max_depth': [12],
'criterion': ['gini', 'entropy'],
'min_samples_split': [2, 5, 10]
}
- Run Jupyter Notebook, and see the results.
- Download the dataset from here
- Depend on running with local computer or Google Colab, change the dataset path in this code section inside Semi-Supervised Learning Classification .ipynb files
alphabet_dir = "ASL_Dataset/Train"
- Change following constants in code for hyperparameters( Change only if tuning is required,otherwise skip this step)
param_grid = {
'max_depth': [12],
'criterion': ['gini', 'entropy'],
}
- Run Jupyter Notebook, and see the results.
- Download the dataset from here
- Depend on running with local computer or Google Colab, change the dataset path in this code section inside each ResNet .ipynb files
# give path of the input dataset folder
path="/kaggle/input/ASL/Dataset"
# give path to save the plot results(Example training vs epoch,loss vs steps,etc)
saveFilePath="/kaggle/input/hyperparameters.pkl"
# give path to save the trained model
saveModelPath="/kaggle/input/"
- Change following constants in code for hyperparameters
#change input dimensions of the image fed to the CNN
inputDimension=(256,256)
#Setting different batch sizes
batch_sizes= [128,64,32]
#Setting different learning rates
learning_rates= [0.00001,0.0001,0.01]
#Setting the number of epochs
epochs=10
#setting the loss function
criterion=nn.CrossEntropyLoss()
- Run Jupyter Notebook, and see the results