繁体   English   中英

如何基于图像中的人脸界标确定人脸相似度?

[英]how to determine face similarity based on face landmark in an image?

我正在基于dlib库提取人脸界标

从图像中我有一个元组列表

P1 = [(277, 288), (248, 290), (182, 291), (210, 291), (230, 347)]
P10 = [(349, 291), (307, 278), (220, 247), (255, 260), (248, 346)]

P1
The left eyes on (277, 288), (248, 290)
The right eyes on (182, 291), (210, 291)
Nose tip on (230, 347)

P10
The left eyes on (349, 291), (307, 278)
The right eyes on (220, 247), (255, 260)
Nose tip on  (248, 346)

我试图使用欧几里得距离,但我认为从这些界标确定相似性的正确方法并不正确。

我想知道如何从我提取的那些地标中获得相似性值?

我可以通过以下方式理解您的问题:您需要测量5边形(或5元组的2D点)的相似度。 如果是这样,您可能可以使用Procrustes分析执行该任务。 scipy.spatial.procrustes应该可以解决这个问题: https : scipy.spatial.procrustes您应该寻找disparity

import scipy.spatial
d = scipy.spatial.procrustes(P10,P1)[-1]
print(d) #prints 0.001937599061578668

如果我没记错的话,将该值更小就可以得到更多类似的记录。 请注意,这是不敏感的比例,即5边形,并且说相同形状的5边形的2倍大将给出0.0 (请参见链接中的示例)。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM