A gesture-controlled robot program that utilises computer vision to recognise ASL-Alphabet signs and translates them into a mapped action.
This project focuses on the use of computer vision with pytorch and robotic simulation with ROS2
- Real-time ASL alphabeth detection
- Modular architecture for easier development, debugging and collaboration.
- Create and train model for segmentation of hand to improve identifiation.
- A ROS2 based Gazebo model for action visualisation of the robot
- Ability to adapt and retrain the model for testing and experimention.
- Ability to remap ASL inputs to ROS2 actions
- Python
- Pytorch
- ROS2
- Git
- Bash (shell scipting)
- Linux (for utilisation with ROS)
- Working Webcam
- Fork repo
- Clone Repo
git clone <your-forked-repository-url>- Create venv and source
python3 -m venv venv # Creates the virtual environment (venv)
source venv/bin/activate # Activates the venv- (inside venv) Import from requirements.txt
python3 -m pip install --upgrade pip # Updates
pip install -r requirements.txt # Installs relevent imports
- To run the Program, within the project root folder:
python3 main.py # Runs the program (ensure your inside the venv and in the root dir.)- Follow setup as described in Basic
- Follow steps in Dataset to install relevent data
- Setup Cuda for PyTorch by running the command via this link, following its instructions Pytorch website
If you wish to setup the Dataset, inorder to retrain or play around with the model, do the following:
Within the root directory of your project folder run the following:
chmod +x setupDataset.sh # Ensures the file can run
./setupDataset.sh # Runs the file (this may take a minute or 2)The script will automatically download, extract, and organize the ASL Alphabet dataset into the data/ directory.
- Follow the citation below for the dataset repository within Kaggle.
- Download the zip file containing the dataset and unzip into your project directory
- Move the contents of 'asl_alphabeth_train/asl_alphabeth_train/' into a 'data/raw/' directory
- These are the 29 class folders ('A' to 'Z' + 'del', 'nothing' and 'space') as described in the decription of the page.
- Delete the .zip and remaining extracted files
@misc{nagaraj2018asl,
title={ASL Alphabet},
author={Nagaraj, Akash},
year={2018},
url={https://www.kaggle.com/datasets/grassknoted/asl-alphabet},
doi={10.34740/KAGGLE/DSV/29550},
publisher={Kaggle}
}