Yakov lanczner, Merav Joseph
Our project creates an interface enabling a hand detection algorithm in linux environment using HSV representation of the frame
In the short clip demonstrating our project we are using the low cost PS3-EYE webcam.
The Blue circles
indicates the fingers that were detected according to the algorithm,
the Green polygon
indicates the convex hull surrounding the hand.
This is a clear frame captured by the webcam with no algorithm activated.
The first phase is to create a black and white mask according to suitable HSV skin color.
The next phase is dilate the mask in order to remove noise.
The next phase is erosion on the mask.
Final mask after all the phases and after blurring the mask.
Final result after finding the convex hull(green polygon), all potential points (yellow circles)
and choosing the best candidates “suspected” to be fingers (red circles).
Imporvments to the original code:
- The code had a lot of “magic numbers” with no suitable explenation that were replaced with variables
- The video had to have a hand in the frame otherwise it freezed or terminated which was fixed
adding the option to detect whater there is a hand in the frame or not.
- OpenCV libraries version mismatch causing compilation errors.
The issue was fixed by searching for the suitable and updated libraries including correct api’s usage.
- Adding modularity to the code and graphicel symbols for the fingers detected (blue circles).
- Adding a script for performance analysis and export the data to csv file.
- Adding diffrent input modes for running the algorithm
(video, still image/s, graphics included or excluded view).
- Adding the ability to record a video from the worksapce
- Adding 101 pictures to create a valid data base for the performance anylsis.
data such as : “number of fingers”, “finger coordinates” and “Is there a hand in the frame”
were manulay added to each picture.
Performence anylsis results:
Based on the data base of 101 pictures.
- Hand Detection accuracy: 99.01%
(Is there a hand in the frame or not)
- Fingers Detection accuracy: 92.08%
(The accuracy of the amount of fingers detected in the frame)