Skip to content

This project is a working demo of a Gesture Based - Touchless ATM machine that works without the user having to touch it. This is achieved using Hand Tracking and Facial Recognition.

License

Notifications You must be signed in to change notification settings

bhargavmak/Gesture-Based-Touchless-ATM

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gesture Based - Touchless ATM

Gesture Based - Touchless ATM demonstrates a novel way of interacting with ATM machines without the user having to physically touch any part of it. It aims to eliminate the risk of transmission of infectious diseases - such as COVID-19 - that spread through touch.

Installation and Setup:

  1. Please get following python libraries:
    • pip install opencv-python
    • pip install mediapipe
    • pip install face_recognition
  2. Please create a directory/folder named as “Faces” (case sensitive and without quotes) to store the images of human faces to be matched with faces in video frame. Only .jpeg and .jpg file formats to be included.
  3. Have a look at the file config.py in which various configuration parameters are mentioned with their usage. Modify these as per your needs or preferences. Elements such as buttons and text shown on all the pages will be adjusted as per these parameters.

Note: While making changes to screen_x and screen_y variables in config file, remember that resolution of your webcam should be the maximum resolution you set and not your screen resolution.

Usage:

You just need two things - your face and one hand. To start the app, please run main.py file.

Begin by placing your face in the video frame and with your finger, select the Match button shown on first screen as follows:

Blurred face

If your face matches with faces from at least one image in the Faces folder, you should be able to go ahead and do the following:

Demo Part 1

Demo Part 2

Technologies Used:

In this project I’ve used open source technologies such as OpenCV, MediaPipe, and Face Recognition python libraries. These technologies/libraries provide abilities to perform various tasks with webcam and its content, tracking of hand(s), and recognising a person’s face respectively. The particular libraries used for this project are standard for the tasks they perform from the collection of publicly available libraries. They also provided all the necessary functions required to achieve the objective. Hence, they were the options chosen by me.

Challenges Faced:

  • Coming up with a way for handling various camera resolutions while processing the video frame.
  • Simulating page navigation with changing the content being drawn over the frame.
  • Coming up with an interface intuitive and simple enough to be used.
  • Using position of fingertip to simulate a “virtual” button click.
  • Making the experience identical to real life ATMs.

References:

About

This project is a working demo of a Gesture Based - Touchless ATM machine that works without the user having to touch it. This is achieved using Hand Tracking and Facial Recognition.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages