https://github.com/chenwr727/face-album-mind
FaceAlbumMind is an AI-powered tool for automatic photo album organization. It detects faces, generates feature vectors, and clusters photos based on facial similarities, helping you efficiently manage your photo collection.
https://github.com/chenwr727/face-album-mind
face-clustering face-detection face-recognition knn-classification streamlit-webapp
Last synced: 6 months ago
JSON representation
FaceAlbumMind is an AI-powered tool for automatic photo album organization. It detects faces, generates feature vectors, and clusters photos based on facial similarities, helping you efficiently manage your photo collection.
- Host: GitHub
- URL: https://github.com/chenwr727/face-album-mind
- Owner: chenwr727
- Created: 2022-04-11T00:45:14.000Z (about 3 years ago)
- Default Branch: master
- Last Pushed: 2024-09-05T03:18:07.000Z (9 months ago)
- Last Synced: 2024-12-05T22:10:20.876Z (6 months ago)
- Topics: face-clustering, face-detection, face-recognition, knn-classification, streamlit-webapp
- Language: Python
- Homepage:
- Size: 22.7 MB
- Stars: 4
- Watchers: 1
- Forks: 1
- Open Issues: 0
-
Metadata Files:
- Readme: readme.md
Awesome Lists containing this project
README
English | [简体中文](readme_cn.md)
# FaceAlbumMind
> **FaceAlbumMind** is an intelligent photo album management tool based on facial recognition. It automatically analyzes the people in your photos, detects faces, generates vectors, and clusters based on facial features, helping users effortlessly organize and manage their photos.
## Table of Contents
- [1. Introduction](#1)
- [2. Features Overview](#2)
- [3. Installation](#3)
- [3.1 Clone the Repository](#3.1)
- [3.2 Install Dependencies](#3.2)
- [4. Quick Start](#4)
- [4.1 Create a New Album](#4.1)
- [4.2 Upload Photos](#4.2)
- [4.3 Automatic Clustering](#4.3)
- [4.4 View Results](#4.4)
- [5. Technologies Used](#5)
- [6. Future Development](#6)
- [7. Support & Feedback](#7)## 1. Introduction
**FaceAlbumMind** is a facial recognition tool based on deep learning, designed for automatic organization and management of people in your photo albums. No matter how many photos you have, FaceAlbumMind can automatically categorize individuals through facial recognition, making it easy to search and manage your photos.
### Key Features:
- **Face Detection**: Detect faces in photos using advanced deep learning algorithms.
- **Face Vectors**: Convert detected faces into feature vectors for clustering.
- **Face Clustering**: Automatically categorize similar faces based on facial features, simplifying album management.
- **Easy-to-use Interface**: Powered by Streamlit, the user interface makes it simple to upload photos and view results.
![]()
## 2. Features Overview
FaceAlbumMind offers the following key features:
- **Face Detection and Recognition**: Batch process your photo albums to detect and extract faces.
- **Face Clustering**: Use facial vectors to cluster similar faces into groups.
- **Vector Search**: Planned integration with Milvus for large-scale photo search and similarity matching.
- **User-Friendly Interface**: Built with Streamlit, providing an interactive, easy-to-use front-end interface for photo management.## 3. Installation
Follow these steps to install and run FaceAlbumMind.
### 3.1 Clone the Repository
First, clone the project to your local environment:
```bash
git clone https://github.com/FaceAlbumMind/SmartAlbum.git
cd SmartAlbum
```### 3.2 Install Dependencies
FaceAlbumMind is developed using Python. Ensure you have Python 3.7 or above installed. Then, install the required dependencies with the following command:
```bash
pip install --upgrade -r requirements.txt -i https://mirrors.tuna.tsinghua.edu.cn/pypi/web/simple
```Dependencies include:
- [InsightFace](https://github.com/deepinsight/insightface): For face detection and feature extraction.
- [Streamlit](https://github.com/streamlit/streamlit): For building the interactive front-end.
- [Milvus](https://github.com/milvus-io/milvus) (planned): For efficient vector search and management.## 4. Quick Start
Once installed, you can launch FaceAlbumMind by running:
```bash
python -m streamlit run main.py
```The FaceAlbumMind user interface will open in your local browser. Follow the steps below to explore the main features.
### 4.1 Create a New Album
Click the `New Album` button to create a new album to manage your photos. You can assign a name and description to the album for easier reference later.
![]()
### 4.2 Upload Photos
In the album, click `Upload Photos` to select multiple photos for upload. The uploaded photos will automatically be processed, and facial features will be extracted.
![]()
### 4.3 Automatic Clustering
Once the photos are uploaded, FaceAlbumMind will automatically perform face detection and feature extraction. After processing, the photos will be displayed, grouped by detected individuals. You can click on each group to view all photos of that person.
![]()
### 4.4 View Results
The system will create a category for each person, allowing users to view the list of photos grouped by individuals, making it easier to search and manage photos.
## 5. Technologies Used
FaceAlbumMind is built using the following technologies:
- **[InsightFace](https://github.com/deepinsight/insightface)**: For face detection and feature extraction.
- **[Streamlit](https://github.com/streamlit/streamlit)**: To quickly build web-based interactive user interfaces.
- **[Pandas](https://pandas.pydata.org/)**: For data management and manipulation.
- **[Milvus](https://github.com/milvus-io/milvus)**: Planned for vector search to handle large-scale face clustering.## 6. Future Development
Future development plans for FaceAlbumMind include:
- **Milvus Integration**: To enable efficient vector search, supporting large-scale photo datasets.
- **Additional Clustering Algorithms**: Support for more face clustering algorithms such as DBSCAN.
- **Multiple Classification Modes**: In addition to people-based classification, support for categorizing photos by scene, date, and other criteria.
- **Enhanced User Experience**: Add more interactive features, such as batch photo processing and tag management.## 7. Support & Feedback
If you encounter any issues while using FaceAlbumMind or have suggestions, please reach out to us through:
- Submit an [Issue](https://github.com/chenwr727/FaceAlbumMind/issues)
We will respond to your feedback as soon as possible and continuously improve the project!