概述
目前市场上的人脸识别技术已经相对成熟,并且已经广泛的应用于门禁,考勤,美颜软件等方面。但是对于开发者来说自己开发高效准确的算法并不是一件容易的事情,因此很多公司提供了良好的API接口来让开发者能够将精力集中在软件的拓展功能实现上。Face++是北京旷视科技有限公司旗下的新型视觉服务平台,Face++平台通过提供云端API、离线SDK、以及面向用户的自主研发产品形式,将人脸识别技术广泛应用到互联网及移动应用场景中,非常重要的是它对于非商业用户提供免费试用帐号注册。将树莓派作为硬件载体,使用face++人脸识别云平台能够在宿舍中搭建一个性价比很高的门禁系统,通过这一过程能够更加深刻的理解嵌入式系统以及云服务的广泛应用,为使用其他的云服务API接口打下良好的基础。
Face++所有的API接口都是使用POST请求进行调用的,但是C++下的POST调用需要libcurl相关的库,并且要进行复杂的编译工作,代码量也非常大。因此使用python来完成相关的编程工作能够大大的简化代码以便于理解,并且树莓派也是支持python的编译器的。
准备工作
一、face++的注册与配置
首先登入face++的官方网站https://www.faceplusplus.com.cn/
点击右上角的注册按钮进入注册界面,按步骤完成注册信息填写并进行邮箱验证
在概览界面可以看到快速开始栏,点击“填写开发者资料”完善相关资料。之后按步骤进行API Key的创建,这是非常关键的一步。
其中类型一定要填写试用,只有创建试用API Key才能使用 API 免费服务,并且一个用户只能有一个免费API Key。免费服务是有一些限制的:
- 并发数有上限且不保证并发:由于资源有限,在调用繁忙的情况下,请求有可能会受到并发限制,因此出现并发错误时要重新调用。
- Face 存储有上限:每个用户使用免费服务只能创建 1000个 FaceSet,总计最多存储 100 万个人脸。
- 一个用户只能有一个 API Key 使用免费服务,而且该 API Key 不能转为正式 API Key。SDK 不提供免费使用或免费测试。
之后在应用管理-API Key界面就可以看到两个非常关键的参数,API Key和API Secret,在所有的POST调用当中均需要这两个参数。
二、安装python的OpenCV库
由于Python在window下的安装非常简单,故不再赘述。安装的版本会影响opencv库的安装。Opencv2.4.9只支持python2.7的版本,我这里使用的是2.7.11的版本。Opencv3则支持python3.0以上的版本。
首先解压Opencv并在…\opencv\opencv\build\python\2.7\x86目录下找到cv2.pyd