Giter VIP home page Giter VIP logo

aidentity's Introduction

alt text AiDentity

Purpose

Implementing facial recognition technology can enhance security and surveillance by providing a robust and efficient means of identifying individuals in various settings. This technology allows for quick and accurate identification of persons of interest or unauthorised individuals. The goal of the system is to be able to detect and identify individuals accurately based on their facial features and structure.

This concept addresses possible border control scenarios with its purpose being to assist in remote locations with resource limitations that would benefit from an automated system. Other cases that would benefit from the use of such a system would be at airports with high passenger volumes

User Guide

Note: The system assumes that you have Python 3.11.5 installed

# Clone repository
git clone [email protected]:courses/dit826/2023/group3/monorepo.git

Option 1 - Using Docker

For installation of Docker please refer to: Install Docker

Terminal 1

cd Model
dockerfile build -t backend .
docker run -p 8080:8080 backend

Terminal 2

cd React
cd aidentity
dockerfile build -t frontend .
docker run -p 3000:3000 frontend

Option 2

Terminal 1

# Navigate to target folder
cd Model
# Install necessary packages
pip install -r requirements.txt
# Run the backend
uvicorn Model.server.main:app --host 0.0.0.0 --port 8000

Terminal 2

# Navigate to target folder
cd React
cd aidentity
# Install necessary packages
npm install
npm install react-spring
npm install react-confetti
# Run the frontend
npm start

Description

The system’s functionality include an algorithm that identifies and recognizes a person's face in front of the camera in real-time through a user-friendly interface. This is done by creating and training a model based on a facial database in order to be able to identify that what is shown in the camera is a face.

The users would be airport security or border control personnel. The admins will be part of the developers. An example on who the program can be used on would be a person who's trying to cross the borders of one country to another for various reasons like tourism. Specifically, this said person would get their facial features analysed in order to determine if the person being scanned belongs to the database of national citizens of the country he wishes to enter. Our system can be used in airports or border entry points by the staff to inspect if any person entering the country is owing permanent residency to the country or not. If the person being inspected is flagged as not being included in the database of nationals, the system will inform the user that the person’s request for entry has been denied. Additional features are available for users with administrator access to the system. These features include: adding new data for the model to retrain on, viewing the previous models, and rolling back to different model versions if needed.

Model versions

  • model_version_20231222020334.h5: This h5 file contains the saved weights of the most recent trained VGG16 model.

  • model_version_20231229144933.h5: This h5 file contains the saved weights of a version of a trained EfficientNet model.

  • model_version_20240102024654.h5: This h5 file contains the saved weights of the most recent trained EfficientNet model.

  • model_version_20240102032316.h5: This h5 file contains the saved weights of a retrained version of EfficientNet model. This model version is the highest performing model in our system and its evaluation metrics can be seen in /Model/model_registry/evaluation_metrics.json.

Project Planning

This section includes everything related to our project planning.

Project Prototype

alt text alt text

Functional Decomposition Diagram

alt text

Component Diagram

alt text

Authors

  • Shahd Metwally (metwally)
  • Sepehr Moradian (sepehrmo)
  • Jennifer Hälgh (halgh)
  • Sadhana Anandan (sadhana)
  • Dimitrios Pokkias (pokkias)

aidentity's People

Contributors

shahdmetwally avatar sadhanaanandan avatar jenniferhalgh avatar dimitrispok avatar

Stargazers

 avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.