前不久《最强大脑》第四季第一期的舞台上,王峰对阵小度机器人进行了“人机大战”,其中最精彩和有趣的是第一场pk---从小时候照片判别长大后对应的人,而她有个姐姐,这对姐妹恰恰是双胞胎!百度真的这么强吗,可以识别出万分之一的区别?

有没有办法衡量百度到底有多强,带着这个疑问,我搜到了百度已经开放了他的人脸识别sdk。同时作为对比,我选择旷视科技这家公司,因为他们的技术应用在支付宝人脸支付、人脸解锁等场景(https://zhuanlan.zhihu.com/p/21978771)。作为程序员,撸起袖子马上干起来。

还要说明下的是,人脸对比是确认一张照片的人和另一张照片的人的相似度,相似度越高说明两个人越像,越低说明两个人不像。大家常见的就是支付宝里的刷脸支付,它的作用和签名验证、指纹验证(上班手指打卡器)一样,确定你是不是你的问题。而人脸对比和最强大脑里的从小时候照片推算出长大后照片有些不同,但目标是一样的,都是看相似性。通过对比人脸识别中人脸对比的准确性,可以知道谁的算法更加强劲。

  • 百度人脸对比sdk入口地址:https://cloud.baidu.com/product/face/compare
  • 旷视科技人脸对比入口地址:https://www.faceplusplus.com.cn/face/detect-api.html

分别注册账号,拿到api key和api secret,阅读下示例代码。发现face++的很简单,直接用curl.exe + MS命令行。而百度我选择用python sdk。由于我用的是免费的接口,旷视的调用次数限制未知,而百度的api每天最多1000次,他们都对并发不做保证,如果想要商用并且调用次数很多,考虑买个商用授权吧。同时还要说明,试用版和商用版用的效果是一样的,也就是商用版识别结果会和试用版一样,仅仅是次数限制。

face++对免费api的说明:

  1. 并发数有上限且不保证并发:由于资源有限,在调用繁忙的情况下,您的请求有可能会受到并发限制。
  2. Face 存储有上限:每个用户使用免费服务只能创建 1000个 FaceSet,总计最多存储 100 万个人脸。
  3. 一个用户只能有一个 API Key 使用免费服务,而且该 API Key 不能转为正式 API Key。

1.首先我想到的是对比下双胞胎辨别能力如何

从朱佳雯微博提取了3张正面照片,从朱佳怡提取1张正面图片。

图片来源:

蜜蜂少女队-朱佳雯 http://weibo.com/u/5873198061
http://tva2.sinaimg.cn/crop.0.0.749.749.180/006ptl6Zjw8fa9d1bq3xmj30ku0ktmyd.jpg
http://wx1.sinaimg.cn/mw690/006ptl6Zgy1fc0nme8eapj31ho1zk7wj.jpg
http://wx3.sinaimg.cn/mw690/006ptl6Zgy1fcfsg03fs1j31ho1zkhdv.jpg
蜜蜂少女队-朱佳怡 http://www.weibo.com/u/5873198101
http://tva3.sinaimg.cn/crop.0.0.749.749.180/006ptl7Djw8fa0yk1bwisj30ku0ktmy7.jpg

face++的识别代码,请将“应用的API Key”和“应用的Secret Key”分别替换成申请到的字符串。

set ZJW1=http://tva2.sinaimg.cn/crop.0.0.749.749.180/006ptl6Zjw8fa9d1bq3xmj30ku0ktmyd.jpg
set ZJW2=http://wx1.sinaimg.cn/mw690/006ptl6Zgy1fc0nme8eapj31ho1zk7wj.jpg
set ZJW3=http://wx3.sinaimg.cn/mw690/006ptl6Zgy1fcfsg03fs1j31ho1zkhdv.jpg
set ZJY=http://tva3.sinaimg.cn/crop.0.0.749.749.180/006ptl7Djw8fa0yk1bwisj30ku0ktmy7.jpg
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%ZJW1%" -F "image_url2=%ZJY%"
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%ZJW2%" -F "image_url2=%ZJY%"
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%ZJW3%" -F "image_url2=%ZJY%"
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%ZJW1%" -F "image_url2=%ZJW2%"
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%ZJW1%" -F "image_url2=%ZJW3%"
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%ZJW2%" -F "image_url2=%ZJW3%"

百度识别代码

安装百度人脸识别包,pip install baidu-aip

百度识别需要使用本地文件,下载她们的照片,依次命名zhujiawen、zhujiawen2、zhujiawen3和zhujiayi,保存到d盘下。

# 引入人脸识别 SDK
from aip import AipFace# 定义常量
APP_ID = '你的 App ID'
API_KEY = '你的 API Key'
SECRET_KEY = '你的 Secret Key'# 初始化AipFace对象
aipFace = AipFace(APP_ID, API_KEY, SECRET_KEY)# 读取图片
def get_file_content(filePath):with open(filePath, 'rb') as fp:return fp.read()aipFace.match([get_file_content('d:/zhujiawen.jpg'),get_file_content('d:/zhujiayi.jpg'),])
aipFace.match([get_file_content('d:/zhujiawen2.jpg'),get_file_content('d:/zhujiayi.jpg'),])
aipFace.match([get_file_content('d:/zhujiawen3.jpg'),get_file_content('d:/zhujiayi.jpg'),])
aipFace.match([get_file_content('d:/zhujiawen.jpg'),get_file_content('d:/zhujiawen2.jpg'),])
aipFace.match([get_file_content('d:/zhujiawen.jpg'),get_file_content('d:/zhujiawen3.jpg'),])
aipFace.match([get_file_content('d:/zhujiawen2.jpg'),get_file_content('d:/zhujiawen3.jpg'),])

图片如下(前三章朱佳雯,后一张朱佳怡):

对比结果如下(数值越高越相似):

表1 人脸对比结果
序号 图片1 图片2 face++ 百度
1 朱佳雯1 朱佳怡 88.804 93.915
2 朱佳雯2 朱佳怡 84.242 94.210
3 朱佳雯3 朱佳怡 79.859 93.574
4 朱佳雯1 朱佳雯2 84.716 93.172
5 朱佳雯1 朱佳雯3 87.825 92.108
6 朱佳雯2 朱佳雯3 83.453 92.042

这个是百度运行结果,可以参考下:

我们观察数据,分析下:

1)序号1、序号2的数值都比序号6大,这意味着双胞胎的相似度有时高过自己与自己的相似度。这说明,最强大脑中,小度可能真的是运气好,蒙对了!

2)百度的数据比较集中,在92~95之间,而face++数据在79~89之间。这说明百度的算法可能比较准确。(双胞胎确实像啊,怎么face++范围波动那么大?)

3)观察最大值,face++在1(人不同)和5(同一个人)时数值最大,百度在1(人不同)和2(人不同)数值最大。face++比百度稍微好些。

4)观察最小值,face++序号3(不同人)最小,百度序号6最小(同一人)。face++比百度好。

对比双胞胎,双方确实都有问题。要说谁好一些,我投face++一票。

2.可能你说上一回合,各有错误,而每张照片差别太大(清晰度、时间、光照、妆容都不一样)。那么同一个人在同一时间段的照片分别对比(人脸表情、朝向不同),看看相似性是不是应该很高。

这次换王珞丹,从她的微博弄下5张图,分别用第1张与后4张进行对比:

王珞丹
http://ww2.sinaimg.cn/mw1024/49393842jw1f8wne2olizj22as3g6u0x.jpg
http://ww1.sinaimg.cn/mw1024/49393842jw1f8wnejo9tyj22as3g6u0y.jpg
http://ww4.sinaimg.cn/mw1024/49393842jw1f8wne9yic3j22as3g6qv6.jpg
http://ww3.sinaimg.cn/mw1024/49393842jw1f8wndxibndj22as3g6qv5.jpg
http://ww3.sinaimg.cn/mw1024/49393842jw1f8wnee6krdj22as3g6qv6.jpg

对比代码:

face++的

set WLD1=http://ww2.sinaimg.cn/mw1024/49393842jw1f8wne2olizj22as3g6u0x.jpg
set WLD2=http://ww1.sinaimg.cn/mw1024/49393842jw1f8wnejo9tyj22as3g6u0y.jpg
set WLD3=http://ww4.sinaimg.cn/mw1024/49393842jw1f8wne9yic3j22as3g6qv6.jpg
set WLD4=http://ww3.sinaimg.cn/mw1024/49393842jw1f8wndxibndj22as3g6qv5.jpg
set WLD5=http://ww3.sinaimg.cn/mw1024/49393842jw1f8wnee6krdj22as3g6qv6.jpg
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%WLD1%" -F "image_url2=%WLD2%"
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%WLD1%" -F "image_url2=%WLD3%"
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%WLD1%" -F "image_url2=%WLD4%"
curl -X POST "https://api-cn.faceplusplus.com/facepp/v3/compare" -F "api_key=应用的API Key" -F "api_secret=应用的Secret Key" -F "image_url1=%WLD1%" -F "image_url2=%WLD5%"

百度的(还是一次下载图片,保存为wangluodan1、wangluodan2、wangluodan3、wangluodan4、wangluodan5)

aipFace.match([get_file_content('d:/wangluodan1.jpg'),get_file_content('d:/wangluodan2.jpg'),])
aipFace.match([get_file_content('d:/wangluodan1.jpg'),get_file_content('d:/wangluodan3.jpg'),])
aipFace.match([get_file_content('d:/wangluodan1.jpg'),get_file_content('d:/wangluodan4.jpg'),])
aipFace.match([get_file_content('d:/wangluodan1.jpg'),get_file_content('d:/wangluodan5.jpg'),])

对比结果如下(数值越高越相似):

表2 人脸对比结果
序号 图片1 图片2 face++ 百度
1 王珞丹1 王珞丹2 88.973 95.826
2 王珞丹1 王珞丹3 94.752 98.096
3 王珞丹1 王珞丹4 81.722 93.068
4 王珞丹1 王珞丹5 80.724 94.447

果不其然,face++的相似度范围来去太大,而百度依旧十分稳定!这一回合百度完胜。可以看到face++在人脸发生很大的旋转、表情发生变化时,数值波动增大,识别效果不如百度。这一回合毋庸置疑,我投百度一票。

最后在看一下不同的人的对比:

表3 人脸对比结果
序号 图片1 图片2 face++ 百度
1 朱佳雯1 王珞丹1 59.221 53.006

再一次看到对于不同的人,百度的相似度更低。百度能在同样的人的对比中,相似度更高,而在不同人对比中,相似度更低,这一回合我投百度一票。最终还是百度更强,说明百度的人脸识别应该是国内最强。

  • 文章仅从少量数据分析,如果要更强说服力,需要拿更多的图片对比。
  • 文章可以分享,谢绝转载。
  • 文中图片皆来自互联网,侵权立删。
关注公众号nui-develop

国内人脸识别公司哪家强,人脸比对跑个分比较下!相关推荐

  1. 震惊!680万用户信息泄露,国内某人脸识别公司数据库“裸奔”

    华盟君报道,据某404网站,以及微博安全应急响应中心消息,国内某人脸识别公司发生大规模数据泄露事件.超过250万人的数据可被获取,680万条记录泄露,其中包括身份证信息,人脸识别图像及捕捉地点等. 据 ...

  2. 人脸识别门禁_门禁人脸识别系统铜陵县门禁人脸识别系统哪家好

    门禁人脸识别系统铜陵县门禁人脸识别系统哪家好 工地 1.建筑工地使用人脸识别门禁考勤机解决问题:工人刷脸出入,刷脸考勤,杜绝虚假考勤,提高考勤效率,工人工种分组,实名制管理. 2.人脸识别测温一体机用 ...

  3. 英国认定人脸识别公司Clearview AI侵犯隐私:罚款750万英镑,删除英国居民信息...

    NEW 关注Tech逆向思维视频号 最新视频→[一周以来,离开上海的人去哪儿了?] 5月24日消息,当地时间周一英国数据保护监管机构以侵犯英国隐私法律法规为由,对美国人脸识别公司Clearview A ...

  4. 全球值得关注的11家人脸识别公司与机构

    来源:资本实验室 根据美国国家标准与技术研究院(NIST)的2018年全球人脸识别算法测试(FRVT)最新结果,今年共有来自全球的39家企业和机构参与本次竞赛.在最新排名中,前五名算法被中国公司包揽, ...

  5. Springboot毕业设计毕设作品,人脸识别公司考勤系统 开题报告

      本科生毕业论文 基于Java(springboot框架)人脸识别公司签到系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学本 ...

  6. 基于JAVA人脸识别公司签到系统(Springboot框架+AI人工智能) 开题报告

      本科生毕业论文 基于Java(springboot框架)人脸识别公司签到系统 开题报告 学    院: 专    业: 计算机科学与技术 年    级: 学生姓名: 指导教师:   XXXX大学本 ...

  7. 人脸识别(5)---人脸识别技术及应用概览

    人脸识别技术及应用概览 科技的发展正在加速改变我们的生活.以前,我们购物埋单时,收银员会问"现金还是刷卡",现在,这句话则变成了"微信还是支付宝?"以前,我们上 ...

  8. 人脸识别(4)---人脸识别行业分析报告

    人脸识别行业分析报告 图像识别主要用到了两个第三方的框架:OpenCV和TesseractOCR,OpenCV用来做图像处理,定位到身份证号码的区域,TesseractOCR则是对定位到的区域内的内容 ...

  9. 人工智能人脸识别系统,人工智能应用人脸识别

    手机人脸识别的原理是什么? . 不同品牌机型采用的面部识别技术方案不同,面部识别效果也会不一样:目前vivo/iQOO系列手机,仅NEX双屏版采用3D人脸识别技术,其余机型均采用FaceWake面部识 ...

最新文章

  1. 双网卡绑定-bond0
  2. 用Python开始机器学习(3:数据拟合与广义线性回归)
  3. Windows 下启动前删除Resin日志等文件的bat命令
  4. http://blog.csdn.net/itplus/article/details/10088625
  5. react 条件渲染
  6. C#学习笔记——25个经典问题
  7. mysql 存储过程 用户变量值_mysql:用户变量、系统变量、局部变量(存储过程中的)...
  8. 如何做好软件测试管理工作,如何才能做好软件测试工作
  9. while循环 for循环的理解
  10. Affinity Publisher for Mac(实用桌面排版工具)
  11. Mysql 省市县乡 地址分割
  12. 大学实验室面试总结(机器学习)
  13. ESP8266红外学习遥控器
  14. 大专毕业C/C++零基础学编程难吗?多久能就业?
  15. 兼职程序员可以从什么平台接私活?
  16. javascript高级程序设计读书笔记1
  17. 【基础概念】什么是benchmark model?
  18. crm订单管理系统有哪些?
  19. 低功耗版STM8L051的一个诡异配置
  20. Clementine简介

热门文章

  1. 【区块链 | 智能合约】Ethereum源代码(1)- 下载、编译、启动go-ethereum
  2. linux apache certbot,CA证书和Ingress (5) Amazon Linux Certbot
  3. 对话屏幕Dynpro(se51)
  4. AIX LVM 简介与管理
  5. 书法在平面设计中有哪些作用
  6. 24种设计模式大全-牛人详解
  7. mysql 幻读的隔离_MySQL的RR隔离级别与幻读问题
  8. 【毕业N年系列】 毕业第一年
  9. Numpy给数组增加维度的操作
  10. html5炫酷作品源代码,8个超炫酷的HTML5动画演示及源码