如何根据面部地标聚集人脸?

时间:2018-02-03 14:44:25

标签: image-processing cluster-analysis dlib biometrics facial-identification

我正在使用dlib获取面部地标。我有超过1000个面孔的数据集。我想将这1000幅图像与一些未知图像进行比较。为了减少数据库搜索时间,我想基于dlib的68个面部标志性特征将这些1000个图像聚类到10个不同的聚类中。目前,我正在基于下巴对不同面部图像的鼻子距离进行聚类。

问题:同一个人的每个图像都会产生不同的面部标志,这会影响从下巴到鼻尖计算的距离。请找到csv enter image description here

的屏幕截图
  1. 第1列 - 脸部图像名称(同一个人面部约25 样品)
  2. 第2列,第3列 - Kmeans聚集标签和列的质心 4
  3. 第4步 - 面对下巴欧氏距离
  4. 第5 - 68个长长的dlib面部标志分开作为下巴,眼睛....
  5. 问题:

    1. 基于面部地标聚类图像是否正确?如果没有,那么聚集面部图像/面部灌浆的最佳方法是什么,以使数据库searc更有效地获得更多图像?
    2. 我尝试过性别分类,但准确性不高。尝试使用面部颜色/种族分类,但这限制了我的范围。例如,只有亚洲/欧洲的面孔会让我再次搜索所有数据库

      我无法确定哪个是正确的群集因素。任何对文章或想法的提及都非常感谢。

1 个答案:

答案 0 :(得分:1)

以我指定的方式聚类对于面部图像不正确。最好使用卷积神经网络训练特征,而不是手动计算面部标志的距离。

稍后在这些训练有素的功能上,我们可以应用任何流行的聚类算法,如下所示:https://arxiv.org/pdf/1604.00989.pdf 或@sascha建议,近似最近邻或@Davis King根据您的需要建议中文耳语。

正如@sascha建议的那样,有许多深度学习库,比如openface,它们在torche / tensorflow之上完成。