hamidsadeghi68 / face-clustering

Clustering Algorithms and their Application to Facial Image Analysis

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Clustering Algorithms and their Application to Facial Image Analysis

News

🔥 A complete face clustering code (with Dockerfile etc.) according to FaceCup rules has been added (1/23/2022).

Introduction

img

Syllabus (and Implementations)

Contents of presentation files are as follows:

​ 1- Introduction
     - Machine Learning: Clustering vs Classification and Regression
     - Face Clustering

​ 2- Clustering Algorithms
     - Introduction to Clustering Algorithms (Categorization)
     - K-means Clustering [code]
     - DBSCAN Clustering [code]
     - Agglomerative Clustering [code]

​ 3- Evaluation Metrics
     - Purity
     - Rand index [code]
     - F-measure [code]
     - Normalized Mutual Information (NMI) [code]

​ 4- Face Analysis
     - Face Detection [code: MTCNN]
     - Face Preprocessing
     - Face Recognition [code: dlib, ArcFace, feature matching]
     - A Complete Face Clustering System [code: on small dataset, on FaceCup sample dataset]

FaceCup Dataset

The test dataset is not published for FaceCup challenge purposes. Sample dataset published for participants contains 899 images. Identity label for each image can be obtained from image file name as follows:

image

  • Download: FaceCup (is available for participants in their panel)

A complete and easy-to-use code for FaceCup

🔥 A complete face clustering code (with Dockerfile etc.) according to FaceCup rules has been added in clustering_via_insightface_for_facecup.zip.

Download the .zip file and replace the username and password by your ones in run_insightface_sklearn_clustering.py file as follows:

image


NOTE:
You can change Face Detection and Feature Extraction models as well as clustering algorithm and parameters to achieve better results.

NOTE: This code is run on CPU. You can change Dockerfile and requirements.txt (as the previous codes) to run it faster on GPU.

Useful Links

Face Analysis

Clustering (including Face Clustering)

References

About

Clustering Algorithms and their Application to Facial Image Analysis


Languages

Language:Jupyter Notebook 100.0%Language:Python 0.0%