all files followed with "WIP" are not ready yet or missing and will be added soon.
Graduation Project for Team 5, Computer & Systems Engineering 2020, Ain Shams University
This is a mouse replacement for traditional mouse, enabling users to control their mouse using hand gestures and hand movement
To Start Using this system, you need to have these installed on your machine:
- pip or conda
- python
- Clone the repository.
git clone https://github.com/OmarTaherSaad/gesture-control-system.git
- Install the required packages.
pip install -r requirements.txt
conda install -r requirements.txt
This will install required packages, and download all needed files. It needs good internet connection and may take some time (depending on your network speed).
-
Open conda or pip terminal in the project path.
-
run this command for multi-threaded version
python detect_multi_threaded.py
or this command for single threaded version
python detect_multi_threaded.py --num-w 1
-
Make your hand in the boundries shown in the camera preview to enable the software to detect it.
-
First hand will be used to move the mouse and will be bounded with green rectangle.
-
Second hand appears into the frame will be used to do the gestures for mouse action (to click, right click .. etc.) and will be bounded with blue rectangle.
-
Move the first hand to move the mosue; moving to the right of screen will move the mouse to the right, same with left, top, and bottom.
In order to do mouse actions some gestures should be made , and there pre mapped gestures to certain actions :
- Left Click
- Double Click
- Right Click
- Scroll Up
- Scroll Down
- Installation steps Tensorflow Object Detection API
-
SSD Mobilenet V1 architecure was used : Config file
- We used the follwing Google Colab Notebook to train our Detector Model
We constructed our dataset by integrating images from
- Egohands Dataset
- Custom images we captured
- We capture images using trackgesture.py (WIP) file and save it to the local machine
- We label the captured images using labelimg
- We used the following instructions to build the custom dataset : Custom Dataset Building Instructions.
- We used hte follwing Google Colab Notebook(WIP) to preprocess the data and extract numpy arrays to use for the training process.
- We used the follwing Google Colab Notebook(WIP) to train our Classifier Model