abdelaziz-mahdy / face_grouping

This Face Detection and Grouping App is a powerful tool designed to process images from a directory, detect faces, and group similar faces together. The app is built using Flutter for the frontend and leverages the OpenCV Dart library for face detection and recognition
1 stars 0 forks source link

Face Detection and Grouping App

Overview

This Face Detection and Grouping App is a powerful tool designed to process images from a directory, detect faces, and group similar faces together. The app is built using Flutter for the frontend and leverages the OpenCV Dart library for face detection and recognition. It uses multiple isolates to efficiently process large sets of images concurrently.

Features

Screenshots

Faces Tab

Faces Tab

Groups Tab

Groups Tab

Installation

Prerequisites

Steps

  1. Clone the Repository:

    git clone https://github.com/abdelaziz-mahdy/face_grouping.git
    cd face_grouping
  2. Install Dependencies:

    flutter pub get
  3. Run the App:

    flutter run

Usage

  1. Launching the App:

    • Run the app on an emulator or a physical device.
  2. Selecting a Directory:

    • Click the folder icon button to open a file picker and select the directory containing the images you want to process.
  3. Processing Images:

    • The app will start processing the selected directory, showing progress and estimated time remaining.
  4. Viewing Results:

    • Navigate through the tabs to view the detected faces and grouped similar faces.
    • Click on a face group to see more details about each face in the group.

Code Structure

Main Components

Key Classes and Methods

Future Improvements

License

This project is licensed under the MIT License - see the LICENSE file for details.

Contributing

Contributions are welcome! Please fork the repository and submit pull requests for any improvements or bug fixes.


Feel free to reach out if you have any questions or need further assistance. Happy coding!