I am getting facial landmarks using dlib. I have dataset of more than 1000 faces. I want to make a comparison of these 1000 images with some unknown image. To decrease the database search time, i want to cluster these 1000images in to 10 different clusters based on the 68 facial landmark features of dlib. Currently, I am clustering based on chin to nose distance of different face images.
Problem: Each image of same person is generating different facial landmarks which is effecting the distance calculated from chin to nose tip. Please find the screenshot of csv
- 1st column - Face Image names (same person face with around 25 samples)
- 2nd,3rd columns - Kmeans clustered labels and centroids of column 4
- 4th - Face chin to nose tip euclidean distances
- 5th - 68 long dlib facial landmarks seperated as chin, eye ....
Questions:
- Is it a right way to cluster images based on facial landmarks ? If not, what is the best way to cluster face images/face groupping to make databse searc more efficient for more images ?
I tried with gender classification, but the accuracy is not good. Tried with face color/Ethnicity classification but this limiting my scope. For instance, only asian/european faces will again make me to search all the database
I am not able to identify which is the right factor to cluster. Any reference to articles or ideas are much appreciated.