InsightFace_Pytorch
InsightFace_Pytorch copied to clipboard
Problem with clustering task using InsightFace
I tried to use the model for face clustering as an alternative for facenet since facenet didn't meet my expectation. The problem is I tried the output vectors with the clustering method I used with facenet, however, the result is super bad. I looked to the source code and see that it used L2 in inference. I check further using L2 distance and see that everytime 1 vector in the set I want to cluster is used calculate the distance between it and the rest of the dataset, the distance will decrease. Note: each ID in the dataset is vastly different to others, and the result from facenet still able to reach 60% in precision, while insightface cannot do anything. For example:
- dist(vector[0], vector[1:]) = [0.55, 0.71, 0.8, 0.79, ...]
- dist(vector[1], vector[2:]) = [0.14, 0.2, 0.26, 0.3, ...] ...
- dist(vector[45], vector[46:]) = [0.0004, 0.0008, 0.0019, 0.0024, ...]