Skip to content

FaceDentify is a tool that matches faces against databases of any size, using facial recognition technology. It stores metadata like names and UUIDs in TinyDB. Built for efficiency and scalability, it also includes tools like photo labeling, making it ideal for security systems and personal projects.

Notifications You must be signed in to change notification settings

ahnaf505/FaceDentify

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

FaceDentify ✨

Welcome to FaceDentify! This project is all about comparing faces 🕵️‍♂️ against a database, whether it's for personal collections or large-scale datasets. Using powerful facial recognition technology, it matches faces and stores important details like full names and unique UIDs (UUIDs) in a simple-to-use TinyDB database. It’s fast, scalable, and includes handy tools like photo labeling 📸. Perfect for everything from security systems to personal fun!

🎯 Features

  • Add New Faces: Easily insert one or more faces into the database, along with their details.
  • Search Faces: Find a face using a photo or a unique Face UID.
  • Delete Faces: Remove faces from the database either by photo comparison or by using the Face UID.
  • Clear Database: This option will delete everything in the database.

Table of Contents 📖

  1. Installation
  2. Usage
  3. Contributing

Installation 🚀

To get started with FaceDentify, follow these steps:

  1. Clone the Repository:

    git clone https://github.com/ahnaf505/FaceDentify.git
    cd facedentify
  2. Install Dependencies:

    pip install -r requirements.txt
  3. Run the Application:

    python main.py

Usage 🛠️

Once the application is running, the GUI provides various options to interact with the database:

Insert Single Face

  1. Click Insert Single Face.
  2. Select an image file.
  3. Enter the full name of the person.
  4. The face is encoded and stored in the database with a unique ID.

Insert List of Faces

  1. Click Insert List of Faces.
  2. Select a JSON file formatted like this:
    [
        {
            "full_name": "John Doe",
            "filepath": "path/to/image1.png"
        },
        {
            "full_name": "Jane Smith",
            "filepath": "path/to/image2.png"
        }
    ]
  3. The tool adds each face to the database.

Query Face from Image

  1. Click Query Face from Image.
  2. Select an image to search for similar faces in the database.
  3. If a match is found, the corresponding Face ID and full name are displayed.

Query Face by ID

  1. Click Query Face by ID.
  2. Enter the Face ID.
  3. Retrieve the associated full name and image.

Delete Face by Image

  1. Click Delete Face by Image.
  2. Select an image to find and delete the corresponding face.

Delete Face by ID

  1. Click Delete Face by ID.
  2. Enter the Face ID to remove all associated data.

Clear Entire Database ⚠️

  1. Click Clear Entire Database.
  2. Follow the prompts to confirm this irreversible action.

🔧 Tools

  1. Image Labeler: A simple tool to label images with a full name. Uses tkinter and Pillow. Just type the name and press enter (Best for small datasets, not recommended for production).
  2. Face Backup: Back up or restore your entire face database to/from another directory.

Want to help out? Contributions are welcome! Just submit a pull request 🚀.

Happy coding! If you have any questions, feel free to open an issue or contact us directly.

About

FaceDentify is a tool that matches faces against databases of any size, using facial recognition technology. It stores metadata like names and UUIDs in TinyDB. Built for efficiency and scalability, it also includes tools like photo labeling, making it ideal for security systems and personal projects.

Resources

Stars

Watchers

Forks

Releases

No releases published

Languages