Skip to content

akankshavm22/FaceSecure-ATM-Pinless-Banking-System

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FaceSecure-ATM-Pinless-Banking-System

FaceSecure ATM is a pinless banking system that uses face recognition for secure authentication. It integrates a webcam, Arduino-based RFID triggers, and a Streamlit web interface, allowing users to check balance, deposit, withdraw, and view transaction history while ensuring safety and convenience.

Features

  • Face recognition authentication using OpenCV, face_recognition, and Mediapipe
  • RFID-based ATM hardware integration via Arduino
  • Web interface for balance inquiry, deposit, withdrawal, and transaction history
  • Secure user data storage with SQLite database
  • Real-time webcam verification with face mesh overlay
  • Modular and extensible design for future upgrades

Components

Hardware

  • Arduino Uno
  • LCD Display and Keypad (optional)
  • RFID Module and Reader

Software

  • Python 3.12
  • OpenCV, Mediapipe, face_recognition
  • Streamlit for web interface
  • SQLite for database management
  • PySerial for Arduino communication

Setup and Installation

Hardware Setup

  1. Connect Arduino, RFID module, and optional LCD/keypad.
  2. Upload the Arduino code to your Arduino Uno.
  3. Ensure correct COM port for serial communication.

Software Setup

  1. Clone the repository:
    git clone 
  2. Navigate to the project directory:
    cd FaceSecure-ATM
  3. Install required Python packages:
    pip install -r requirements.txt
  4. Initialize the database:
    python atm_db.py
  5. Ensure face images are stored in the image_Folder.

Running the Project

  1. Face Recognition & Hardware Integration

    python face_recognition.py
    • The system waits for RFID triggers from Arduino.
    • Recognized users can access the ATM functions.
  2. Streamlit Web Interface

    streamlit run app.py
    • Log in with your username and password.
    • Access balance, deposit, withdrawal, and transaction history.

Project Structure

  FaceSecure-ATM/
│
├── app.py                 # Streamlit web interface
├── face_recognition.py    # Face recognition and Arduino integration
├── database.py            # SQLite database management
├── requirements.txt       # Python dependencies
├── image_Folder/          # Folder containing face images
└── ArduinoCode.ino        #
  • the face recognition script (face_recognition.py) to authenticate users.
  • Open the Streamlit web interface (app.py) to manage account functions like balance inquiry, deposits, withdrawals, and transaction history.
  • Use the ATM interface securely without PINs, relying on facial verification.

Notes

  • Ensure your webcam is connected and functional.
  • Use the correct COM port in face_recognition.py for Arduino communication.
  • For additional users, add face images in the image_Folder and update the database if needed.

About

FaceSecure ATM is a pinless banking system that uses face recognition for secure authentication. It integrates a webcam, Arduino-based RFID triggers, and a Streamlit web interface, allowing users to check balance, deposit, withdraw, and view transaction history while ensuring safety and convenience.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors