人脸对比
Facenet可以经过网络映射得到的欧式距离直接对两个人脸进行对比
在Issues中:Comparing a database of faces to the faces in a photo
“身份证照片是每人1张?如果是这样的话,你需要使用面部验证「face verification 」(do 2 pictures belong to the same person),看看 compare.py,你将所有图片输入到该程序,它将返回一个0到2距离矩阵,0=100%,2= 0%.
你需要修改脚本中的 "load_and_align_data"函数,它能处理多人的图片。”
1. compare.py程序路径
facenet\src\compare.py
2. 将人脸图片放在compare.py同级目录下, 终端运行命令:
~/Desktop/ZHIHUICHENGSHI/version1/facenet/src $ python compare.py /home/hszc/Desktop/ZHIHUICHENGSHI/version1/facenet/models/facenet/20180402-114759 0a2a3e3cd39d4fc48e7f9b24c2557c29.jpg 0a3ea619c0754847b743c13147007938.jpg
说明:
python compare.py
+ 模型路径
+ 图1 图2
3. 运行结果
Model directory: /home/hszc/Desktop/ZHIHUICHENGSHI/version1/facenet/models/facenet/20180402-114759 Metagraph file: model-20180402-114759.meta Checkpoint file: model-20180402-114759.ckpt-275 Images: 0: 0a2a3e3cd39d4fc48e7f9b24c2557c29.jpg 1: 0a3ea619c0754847b743c13147007938.jpg Distance matrix 0 1 0 0.0000 1.2645 1 1.2645 0.0000
生成的是欧氏距离的二分类代价矩阵(cost matrix),cost(i, j):第i类样本对第j类的代价,cost=0,说明相同,相似度范围[0,1],
cost >= 1说明相似度为0.[1]
[1] https://blog.csdn.net/niutianzhuang/article/details/79191167