The software used for building the finger detection system is organized as follows:
dataTraining-Dataset: Train Images-Masks and Augmented ImagesValidation-Dataset: Valid Images-Masks and Augmented Images
preprocessingskin_color_histogram.ipynb: Color spaces analysisskin_color_characterization.ipynb: Skin detection
modelscomponents.ipynb: Finger classification using morphological operatorsdata_augmentation.ipynb: Image augmentationcnn.ipynb: Finger classification using Convolutional NN
demofinger_detection.py: Real Time System
To allow third parties to reproduce the results, execute all the script in the following order:
skin_color_histogram.ipynbskin_color_characterization.ipynbcomponents.ipynb
Alternatively, one can execute the finger_detection.py script and the detection & clasification system will pop-up in your laptop:
pyhton3 finger_detection.py [CAMERA SOURCE]
The CAMERA SOURCE is 0 for laptop-cam or the corresponding port for a web-cam, default 1. The default configuration of the system perform at its best if the hand is shown at a distance of 0.4-0.6 meters. w.r.t the camera.
Notice that if cnn.ipynb is going to be executed, it is strongly recommended to make us of GPU's power as well as execute data_augmentatio.ipynb to generate more images.
All the work has been done using several libraries, one can install all of them executing:
pip install -r requirements.txt