6th sem INTERNSHIP

 

During the summer vacation period, an internship task was Given by my college. I applied for a 5-Week  internship in Prolog Info-tech, Rajkot. During internship Hand  Gesture Recognition  project is done by me and my Partner

Hand Gesture Recognition

            Gesture Recognition is the most favored and practicable solution to human interaction with computers and has been widely accepted in recent years.

            Hand Gesture Recognition is a cool project to start for a Computer Vision enthusiast it involves an intuitive step-by-step procedure that could be easily understood so that you could build more complex stuff on top of these concepts.

Purpose: 
            To perform some regular tasks like play-pause video, go forward and go backward, mute-unmute, increase and decrease volume through hand gestures. but currently, this project return output for the finger counter.

Implemented Functionalities:
- find and segment the hand region from the video sequence.
- Count the number of fingers from the segmented hand region in the video sequence.

How does it work?

Detection: With the help of a camera, a device detects hand or body movements, and a machine learning algorithm segments find the hand edges and positions of image.

Tracking: A device monitors the movements and frame to capture every movement and provide input for data analysis.

RecognitionThe system tries to find patterns in the gathered data. When the system finds a match and interprets a gesture, it performs the action associated with this gesture.





(HGR SYSTEM)


Applications of hand gesture recognition technology
    • Automotive

      • Lighting System

      • HUD

      • Biometric Access

      • Others

    • Consumer Electronics

      • Smartphone

      • Laptops & Tablets

      • Gaming Console

      • Smart TV

      • Set-Top Box

      • Head-Mount Display (HMD)

      • Others

    • Healthcare

      • Sign Language

      • Lab & Operating Rooms

      • Diagnosis

    • Others

      • Advertisement & Communication

      • Hospitality

      • Educational Hubs



Tools and Technologies: 
I used Python Programming Language for Creating this Project. I used OpenCV library, Numpy library, and Convex hull technic. 


Why Python? 
Python is the only prerequisite for basic scripting, Machine Learning, and Deep Learning knowledge will help this model to do tasks like AI-ML.

Why has Python gained so much popularity in all these fields?



OpenCV 
OpenCV is a huge open-source library for computer vision, machine learning, and image processing. OpenCV supports a wide variety of programming languages like Python, C++, Java, etc. It can process images and videos to identify objects, faces, or even the handwriting of a human. When it is integrated with various libraries, such as Numpy. which is a highly optimized library for numerical operations, then the number of weapons increases in your Arsenal i.e. whatever operations one can do in Numpy can be combined with OpenCV.


Numpy 
NumPy is the fundamental package for scientific computing in Python. It is a Python library that provides a multidimensional array object, various derived objects (such as masked arrays and matrices), and an assortment of routines for fast operations on arrays, including mathematical, logical, shape manipulation, sorting, selecting, I/O, discrete Fourier transforms, basic linear algebra, basic statistical operations, random simulation and much more.


Steps that we perform to create Project

1. Connect Camera for taking input



2. Creating frame for input object.


3. Give an image file for training module.

4. Applying Gaussian Blur filter.

Gaussian Blurring: Gaussian blur is the result of blurring an image by a Gaussian function. It is a widely used effect in graphics software, typically to reduce image noise and reduce detail. It is also used as a preprocessing stage before applying our machine learning or deep learning models.

5. Convert Color-space from BGR to HSV

6.Create a binary image while will be skin in coloured and rest is black.

7.  Implementing Erosion and Dilation for, 

        - Removing Noise.

        - Identify intensity bumps or holes in the picture.

        - Isolation of individual elements and joining disparate elements in image.


8.  Implementing imshow method.

9. Implementing waitkey method.

10. Create Threshold image.


11. Applying Contours on input object and file.





12.
Applying Convexity Defects.

Convexity Defects:
Any deviation of the contour from its convex hull is known as the convexity defect.








13. Code for Counting Fingers













THANK YOU






















Comments

Popular posts from this blog

Python Jarvis Virtual Assistant

Virtual Keyboard