Clustering faces in android
This project demonstrates an android application that detects faces in photos, generates facenet encodings and clusters faces belonging to recognized individuals.
Introduction
- This is Part II of a two-part series for Face Clustering on Android.
- Firebase ML Kit is used for on-device face detection.
- Tensorflow Lite is used for on-device inference. (Scripts to port facenet models to tflite are present in Part I)
- Several Clustering algorithms are implemented to group faces including a concise implementation of Chinese Whispers
- This appears to be the only publically available facenet porting to android and all components have been developed from scratch.
Features
- Select photos to process in-app or directly add photos to external storage -> Clusterface -> Input
- Face crops and clustering results are saved to their respective folders.
- Select between Chinese Whispers, KMeans and DBScan clustering.
- Interactive gallery view for results
Screenshots
Notes
- All the observations made in Part I hold here as well
- Try to test significantly-sized collections of personal photos with ChineseWhispers clustering for best results.
TODO
- Results have to be inspected via the file manager. Will add a gallery view to showcase results. [Done]
- Will add background processes for most computation and app view will only consist of a Google Photos like interface.
- Several major features remain to be added.
Downloads
- Install and test on device with apk