利用python 对比相似度_人工智能|Python一次进行多张照片的人脸比对

本课前期准备:利用《推荐|Python 爬虫系列教程一爬取批量百度图片》爬取某明星的一些照片,比如我就觉得童瑶与章子怡长得太像,很难辨别,想各爬取她俩10张照片,看看《人工智能|Python调用百度人脸对比检测体验》的人脸对比结果会如何?

爬取照片:各爬了10张,删掉一些不太合适的照片,留下仅5张。

利用python 对比相似度_人工智能|Python一次进行多张照片的人脸比对_第1张图片

参考程序:

import base64
import os
from aip import AipFace#以下为我的 APPID AK SK
APP_ID = '23049248'
API_KEY = '1KKYsD0eI0ysMYqFez9GULM0'
SECRET_KEY = 'pgjS7RvAOxY2KoK5YbQZGXgvOP4CoSE7'
client = AipFace(APP_ID, API_KEY, SECRET_KEY)for root,dirs,filenames in os.walk("img/"):
pass#获取目录,子文件夹,子文件名#print(filenames)
images=[]for file in filenames:
images.append({ 'image': str(base64.b64encode(open("img/"+file, 'rb').read()),'utf-8'), 'image_type': 'BASE64'})#调用人脸两两比对for x in range(len(images)): for y in range(x+1,len(images)):
tmpimages = [images[x]]
tmpimages.append(images[y])
result_json = client.match(tmpimages) #print(result_json)
result = result_json['result']['score']if result > 80:print(filenames[x]+"与"+filenames[y]+"是同一个人")else:print(filenames[x]+"与"+filenames[y]+"不是同一个人")

运行结果:

利用python 对比相似度_人工智能|Python一次进行多张照片的人脸比对_第2张图片

有意思,章子怡1与6不是同一个人,但是1与2是同一个人,2与6也是同一个人。容差改成70再看看会如何?改小就完全对了。

利用python 对比相似度_人工智能|Python一次进行多张照片的人脸比对_第3张图片

相关知识

人脸比对(Face Compare):是衡量两个人脸之间相似度的算法

人脸比对算法的输入是两个人脸特征(注:人脸特征由人脸提特征算法获得),输出是两个特征之间的相似度。人脸验证、人脸识别、人脸检索都是在人脸比对的基础上加一些策略来实现。相对人脸提特征过程,单次的人脸比对耗时极短,几乎可以忽略。

基于人脸比对可衍生出人脸验证(Face Verification)、人脸识别(Face Recognition)、人脸检索(Face Retrieval)、人脸聚类(Face Cluster)等算法。

利用python 对比相似度_人工智能|Python一次进行多张照片的人脸比对_第4张图片

你可能感兴趣的:(利用python,对比相似度)