🔥 A complete face clustering code (with Dockerfile etc.) according to FaceCup rules has been added (1/23/2022).
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]
- Download: [Presentation], videos (are available for participants: FaceCup)
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:
- Download: FaceCup (is available for participants in their panel)
🔥 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:
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.
- https://github.com/becauseofAI/HelloFace
- https://github.com/ChanChiChoi/awesome-Face_Recognition
- https://github.com/polarisZhao/awesome-face
- https://github.com/RizhaoCai/Awesome-FAS
- https://github.com/clpeng/Awesome-Face-Forgery-Generation-and-Detection
- https://awesomeopensource.com/projects/face-detection
- https://gitlist.top/lists/face-recognition
- https://github.com/zhoushengisnoob/DeepClustering
- https://github.com/scikit-learn-contrib/hdbscan
- https://github.com/yl-1993/learn-to-cluster
- https://github.com/varun-suresh/Clustering/blob/master/clustering.py
- https://github.com/Zhongdao/gcn_clustering
- C. M. Bishop, Pattern Recognition and Machine Learning, Chapter 9: Mixture Models and EM
- Shobha, G., & Rangaswamy, S. (2018). Chapter 8: Machine Learning, In Handbook of statistics (Vol. 38, pp. 197-228). Elsevier.
- Rhys, H. Machine Learning with R, the tidyverse, and mlr. Chapter 17: Hierarchical clustering , Simon and Schuster, 2020.
- Christopher, D. M., Prabhakar, R., & Hinrich, S. C. H. U. T. Z. E., "Introduction to information retrieval.", Chapter 16: Flat clustering (2008).
- Zhang, Kaipeng, et al. "Joint face detection and alignment using multitask cascaded convolutional networks." IEEE Signal Processing Letters 23.10 (2016): 1499-1503.
- Viola, P., & Jones, M., Rapid object detection using a boosted cascade of simple features. CVPR 2001.
- F. Comaschi, et al. "RASW: a run-time adaptive sliding window to improve viola-jones object detection." 2013 Seventh International Conference on Distributed Smart Cameras (ICDSC). IEEE, 2013.
- Deng, J., et al. Retinaface: Single-shot multi-level face localisation in the wild. CVPR 2020 (pp. 5203-5212).
- Wang, M., & Deng, W. (2021). Deep face recognition: A survey. Neurocomputing, 429, 215-244.
- Taigman, Y., et al. Deepface: Closing the gap to human-level performance in face verification. CVPR 2014 (pp. 1701-1708).
- Schroff, F., et al. Facenet: A unified embedding for face recognition and clustering. CVPR 2015 (pp. 815-823).
- Deng, J., et al. Arcface: Additive angular margin loss for deep face recognition. CVPR 2019 (pp. 4690-4699).
- Ester, M., et al. "A density-based algorithm for discovering clusters in large spatial databases with noise." kdd. Vol. 96. No. 34. 1996.
- Schubert, E., et al. (2017). DBSCAN revisited, revisited: why and how you should (still) use DBSCAN. ACM Transactions on Database Systems (TODS), 42(3), 1-21.
- Silva, M., et al. "Agglomerative concentric hypersphere clustering applied to structural damage detection." Mechanical Systems and Signal Processing 92 (2017): 196-212.
- Canziani, A., et al. "An analysis of deep neural network models for practical applications." arXiv preprint arXiv:1605.07678, 2016.
- Bianco, S., et al. "Benchmark analysis of representative deep neural network architectures." IEEE Access, 6, 64270-64277, 2018.
- https://github.com/ipazc/mtcnn
- https://github.com/deepinsight/insightface
- https://en.wikipedia.org/wiki/Cluster_analysis
- https://scikit-learn.org/stable/modules/clustering.html