Skip to content

Clustering Algorithms and their Application to Facial Image Analysis

Notifications You must be signed in to change notification settings

hamidsadeghi68/face-clustering

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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