对面部识别的相似嵌入进行排序和搜索的最佳方法是什么?



我计划制作一个相当大的面孔/嵌入数据库。我想知道排序嵌入列表的最佳方法,我还想知道搜索列表中最相似的脸的最佳方法。我正在使用deepface进行面部识别和身份识别。

假设df['embeddings']有您想要匹配的所有嵌入的集合

face_embedding是与

最接近的匹配项定义距离函数

def find_distance(x):
if x is not None:
return distance.euclidean(x.detach().numpy(), face_embedding.detach().numpy())
else:
return None

将距离函数应用于数据框架的'embeddings'列

df['distance'] = df['embeddings'].apply(find_distance)

查找最接近匹配的索引

closest_index = df['distance'].idxmin()
return closest_index

最新更新