一.腾讯优图

1.开发者地址:http://open.youtu.qq.com/welcome/developer

2.接入流程:按照开发者页面的接入流程接入之后,创建应用即可获得所需的AppID、SecretID和SecretKey这是进行接口调用必须的凭证

3.测试流程:

3.1.测试可以直接调用网络接口,或者下载相应语言的sdk(http://open.youtu.qq.com/welcome/developer#/tool-sdk),我采用的是下载python版本的sdk(该sdk对应的python2.x的版本)

3.2.测试的数据还是lfw的数据集,测试结果如果调用成功则获取到比对的分数,调用失败则将改组比对的分数设置为-1,以便后续的分析,直接上python代码:

1 import TencentYoutuyun #这是下载的python模块

2

3 appid = 'xxxxx' #你的appid

4 secret_id = 'xxxxx' #你的secret_id

5 secret_key = 'xxxxx' #你的secret_key

6 userid = 'test' #任意字符串

7 end_point =TencentYoutuyun.conf.API_YOUTU_END_POINT8 youtu =TencentYoutuyun.YouTu(appid, secret_id, secret_key, userid, end_point)9

10

11 defcompare_test():12 lfw_file = open("pairs.txt") #lfw的pair.txt 删除了第一行

13 res_file = open("youtu.txt", "a+") #txt保存比对分数

14 error_code = open("error_code.txt", "a+") #测试用于保存调用出错编码

15 count =016 while 1:17 image_path = "xxxxxx" #你本地lfw数据的路径

18 line =lfw_file.readline()19 if notline:20 break

21 line = line.strip('')22 images = line.split('')23 if len(images) > 3:24 register_image = image_path + images[0] + "/" + images[0] + "_"

25 if len(images[1]) < 2:26 register_image = register_image + "000" + images[1] + ".jpg"

27 elif len(images[1]) < 3:28 register_image = register_image + "00" + images[1] + ".jpg"

29 elif len(images[1]) < 4:30 register_image = register_image + "0" + images[1] + ".jpg"

31 else:32 register_image = register_image + images[1] + ".jpg"

33

34 verify_image = image_path + images[2] + "/" + images[2] + "_"

35 if len(images[3]) < 2:36 verify_image = verify_image + "000" + images[3] + ".jpg"

37 elif len(images[3]) < 3:38 verify_image = verify_image + "00" + images[3] + ".jpg"

39 elif len(images[3]) < 4:40 verify_image = verify_image + "0" + images[3] + ".jpg"

41 else:42 verify_image = verify_image + images[3] + ".jpg"

43 else:44 register_image = image_path + images[0] + "/" + images[0] + "_"

45 if len(images[1]) < 2:46 register_image = register_image + "000" + images[1] + ".jpg"

47 elif len(images[1]) < 3:48 register_image = register_image + "00" + images[1] + ".jpg"

49 elif len(images[1]) < 4:50 register_image = register_image + "0" + images[1] + ".jpg"

51 else:52 register_image = register_image + images[1] + ".jpg"

53

54 verify_image = image_path + images[0] + "/" + images[0] + "_"

55 if len(images[2]) < 2:56 verify_image = verify_image + "000" + images[2] + ".jpg"

57 elif len(images[2]) < 3:58 verify_image = verify_image + "00" + images[2] + ".jpg"

59 elif len(images[2]) < 4:60 verify_image = verify_image + "0" + images[2] + ".jpg"

61 else:62 verify_image = verify_image + images[2] + ".jpg"

63

64 content =youtu.FaceCompare(register_image, verify_image)65 error_code.write(str(content['errormsg']) + '')66 if content['errorcode'] !=0:67 score = -1

68 else:69 score = content['similarity']70

71 print(str(count))72 print(register_image)73 print(verify_image)74 print(str(score) + '')75

76 if (int(count / 300)) % 2 ==0:77 flag = 1

78 else:79 flag =080

81 res_file.write(line + '' + str(score) + '' + str(flag) + '')82 count += 1

83

84 lfw_file.close()85 res_file.close()86 error_code.close()87

88 compare_test()

二.知脸(ZKfaceOnline)

1.知脸开发者中心地址:http://zkfaceonline.com:8003/developers_doc.html

2.接入流程:注册后可获取到Ocp-Apim-Subscription-Key,然后再开发者管理界面注册人脸比对数据库,记住该数据库的名称,该名称以及Ocp-Apim-Subscription-Key在后面的测试过程中都是必需的。

3.测试流程:

3.1.人脸比对分为两个步骤:先将需要比对的两张图片上传到指定接口做人脸特征的提取,如果成功则返回这两张图片在数据库中faceid,然后将返回的两个faceid提交到指定的人脸比对接口做比对,如果比对成功则会返回两张图片之间的相似值

3.2.具体测试代码,如下:

1 #coding=utf-8

2 import requests #该模块是第三方库,可以去网上下载

3 importjson4

5

6 def get_face_id(image): #上传一张图片做人脸检测,返回faceid

7 url = 'http://zkfaceonline.com:8003/face/v0/faceApimatch?detect&db&matchDB=你的数据库名称'

8 headers ={9 'Content-Type': 'application/octet-stream',10 'Ocp-Apim-Subscription-Key': '你自己的key',11 }12 data = open(image, "rb").read()13 try:14 res = requests.post(url, headers=headers, data=data)15 exceptException:16 res = requests.post(url, headers=headers, data=data)17

18 result = res.text.strip('this key has no database[]')19 try:20 result =json.loads(result)21 if len(result) == 1:22 res_dict =result[0]23 if "faceid" inres_dict.keys():24 print(res_dict['faceid'])25 return res_dict['faceid']26 else:27 return '-1'

28 else:29 return '-1'

30 exceptException:31 return '-1'

32

33

34 def face_compare(image1, image2): #两张图片做人脸比对,返回比对分数

35 face1 =get_face_id(image1)36 face2 =get_face_id(image2)37 url = 'http://zkfaceonline.com:8003/face/v0/faceApimatch?match&db&matchDB=你的数据库名称&faceset1=' + face1 + '&faceset2=' +face238

39 headers ={40 'Content-Type': 'application/octet-stream',41 'Ocp-Apim-Subscription-Key': '你自己的key',42 }43 try:44 res = requests.post(url, headers=headers)45 exceptException:46 res = requests.post(url, headers=headers)47

48 result = res.text.strip('this key has no database[]')49 print(res.text)50 try:51 result =json.loads(result)52 if len(result) == 1:53 res_dict =result[0]54 if 'similarity' inres_dict.keys():55 print(res_dict['similarity'])56 return res_dict['similarity']57 else:58 return -1

59 else:60 return -1

61 exceptException:62 return -1

63

64

65 defface_compare_test():66 lfw_file = open("pairs.txt")67 res_file = open("res_zk.txt", "a+")68 count =069 while 1:70 image_path = "你lfw数据集在本地的路径"

71 line =lfw_file.readline()72 if notline:73 break

74 line = line.strip('')75 images = line.split('')76 if len(images) > 3:77 register_image = image_path + images[0] + "/" + images[0] + "_"

78 if len(images[1]) < 2:79 register_image = register_image + "000" + images[1] + ".jpg"

80 elif len(images[1]) < 3:81 register_image = register_image + "00" + images[1] + ".jpg"

82 elif len(images[1]) < 4:83 register_image = register_image + "0" + images[1] + ".jpg"

84 else:85 register_image = register_image + images[1] + ".jpg"

86

87 verify_image = image_path + images[2] + "/" + images[2] + "_"

88 if len(images[3]) < 2:89 verify_image = verify_image + "000" + images[3] + ".jpg"

90 elif len(images[3]) < 3:91 verify_image = verify_image + "00" + images[3] + ".jpg"

92 elif len(images[3]) < 4:93 verify_image = verify_image + "0" + images[3] + ".jpg"

94 else:95 verify_image = verify_image + images[3] + ".jpg"

96 else:97 register_image = image_path + images[0] + "/" + images[0] + "_"

98 if len(images[1]) < 2:99 register_image = register_image + "000" + images[1] + ".jpg"

100 elif len(images[1]) < 3:101 register_image = register_image + "00" + images[1] + ".jpg"

102 elif len(images[1]) < 4:103 register_image = register_image + "0" + images[1] + ".jpg"

104 else:105 register_image = register_image + images[1] + ".jpg"

106

107 verify_image = image_path + images[0] + "/" + images[0] + "_"

108 if len(images[2]) < 2:109 verify_image = verify_image + "000" + images[2] + ".jpg"

110 elif len(images[2]) < 3:111 verify_image = verify_image + "00" + images[2] + ".jpg"

112 elif len(images[2]) < 4:113 verify_image = verify_image + "0" + images[2] + ".jpg"

114 else:115 verify_image = verify_image + images[2] + ".jpg"

116

117 print('' +str(count))118 print(register_image)119 print(verify_image)120 score =face_compare(verify_image, register_image)121

122 if (int(count / 300)) % 2 ==0:123 flag = 1

124 else:125 flag =0126

127 res_file.write(line + '' + str(score) + '' + str(flag) + '')128 count += 1

129

130 lfw_file.close()131 res_file.close()132

133 face_compare_test()

三.性能评测

建议采用画rock曲线的方式进行比较,可以将百度和face++的人脸比对结果画在一张图上进行比对

python图片比对、自动化测试,腾讯优图及知脸(ZKface)人脸比对接口测试(python)相关推荐

  1. 腾讯优图——分布式知识蒸馏损失改善人脸识别困难样本(附论文代码)

    计算机视觉研究院专栏 作者:Edison_G ECCV 2020即将要开始,很多互联网络公司都有技术论文中标,腾讯优图就8篇入选,涵盖了目标跟踪.行人重识别.人脸识别等领域. 今天我们详细分析优图的& ...

  2. 腾讯优图CVPR中标论文:不靠硬件靠算法,暗光拍照也清晰

    雷刚 发自 凹非寺  量子位 报道 | 公众号 QbitAI 暗光拍照也清晰,这是手机厂商目前激烈竞争的新拍照目标. 但除了堆摄像头和硬件,AI科学家带来算法方面的新突破. 他们提出基于深度学习优化光 ...

  3. 实验室里的AI激情:腾讯优图的升级修炼之路

    一百多年来,信息技术从初兴到成为基础设施,成就了无数辉煌的科技巨头.如今,人工智能也正狂奔在通往社会通用性技术的路上. 要从上一波信息技术浪潮的产业规律中预测出AI的航海图,并不容易.但回到历史现场, ...

  4. 2018,这一年的腾讯优图,我们总结一下!

    2018,腾讯年满20,恰逢弱冠: 2018,巨头持续布局AI,可谓"落地生花"的一年. 毋庸置疑,腾讯也"玩"AI,最具代表性的,就是"玩出&quo ...

  5. Python调用腾讯优图OCR通用API实现文字识别

    API地址:https://ai.qq.com/doc/ocrgeneralocr.shtml 腾讯优图的API比较复杂的就是生成签名,不过不知道腾讯的服务器出什么问题了,调用的时候一直提示504,演 ...

  6. Python调用腾讯优图进行人脸检测分析,并可视化

    opexcel.py import xlrd import xlwt from xlutils.copy import copy class Operatingexcel():def get_exce ...

  7. 腾讯优图api接口+Python SDK(1)

    腾讯优图开放平台 参考给的SDK开发文档 在新建个体时按照我的写法有提示题错误,如有对此了解的朋友希望你能帮助我,谢谢 下面代码主要是参考给的python_sdk开发文档来的,另外自己结合了json的 ...

  8. 腾讯优图开源业界首个3D医疗影像大数据预训练模型

    整理 | Jane出品 | AI科技大本营(ID:rgznai100) 近日,腾讯优图首个医疗AI深度学习预训练模型 MedicalNet 正式对外开源.这也是全球第一个提供多种 3D 医疗影像专用预 ...

  9. 全球计算机视觉顶会CVPR 2020论文出炉:腾讯优图17篇论文入选

    全球计算机视觉顶级会议CVPR2020  (IEEE Conference on Computer Vision and Pattern Recognition,即IEEE国际计算机视觉与模式识别会议 ...

最新文章

  1. 畅通工程//最小生成树prim
  2. python 颜色空间转换_python实现色彩空间转换
  3. 60款与DevOps相关的开源工具
  4. C# 结构与类的区别
  5. 项目: 实现弹跳小球动画
  6. 【赠书】图神经网络基础与前沿最新书籍,赠5本学习
  7. mysql主从同步slave_MySQL主从复制(Master-Slave)实践
  8. VIM 文件编码识别与乱码处理
  9. python语言程序设计 梁勇_计算机二级教程 Python语言程序设计,第9章Python标准库概览...
  10. Python提取Word文档中所有超链接地址和文本
  11. 1.ZooKeeper Java客户端的基本使用「第三章 ZooKeeper Java客户端」「架构之路ZooKeeper理论和实战」
  12. 【STM32H7的DSP教程】第8章 DSP定点数和浮点数(重要)
  13. 2的17次方java中表示什么_2的17次方是多少
  14. 英雄联盟的角色设计思路
  15. ubuntu 完整学习资料
  16. 深度学习数据增强方法-内含(亮度增强,对比度增强,旋转图图像,翻转图像,仿射变化扩充图像,错切变化扩充图像,HSV数据增强)七种方式进行增强-每种扩充一张实现7倍扩)+ 图像缩放代码-批量
  17. bert tensorflow2 serving部署
  18. React高阶组件(HOC)
  19. “她经济”作祟医美,美呗如何变美?
  20. 爬虫实例:每日一文和豆瓣电影

热门文章

  1. spring+cxf调用webservice接口
  2. android模拟器EditText 不能用物理键盘输入,也不能用电脑键盘输入
  3. Kettle转换作业50个案例代码
  4. h2 java tcpip_windows下创建h2集群,及java集成详细步骤
  5. cv::Mat 与 float 互换,实现 argmax 得到像素点分类
  6. 深度学习入门篇(二)Lenet网络在caffe+QtCreator上部署应用
  7. 封装caffe-windows-cpu(支持模型有多个输出)
  8. Linux驱动编程 step-by-step (四) 字符设备的注册与设备节点的自动创建
  9. Ubuntu NFS服务器的配置
  10. 线程队列,线程池和协程