PHP实现百度人脸识别


Posted in PHP onMay 06, 2019

PHP接入百度人脸识别,供大家参考,具体内容如下

1.注册百度开发者账号。

https://login.bce.baidu.com/?account= 注册登录成功后,进入控制台,在左边的导航栏找到产品-》人工智能-》人脸识别:

PHP实现百度人脸识别

创建应用。创建应用成功后拿到应用的API Key和Secret Key

2.接口调用-获取access token

调用人脸识别接口前需要获取access token,示例代码:

function execCurl($url, $param) {
 if (empty($url) || empty($param)) {
  return array('result' => false, 'err_msg' => 'url or param is null');
 }
 $curl = curl_init();//初始化curl
 curl_setopt($curl, CURLOPT_URL, $url);//抓取指定网页
 curl_setopt($curl, CURLOPT_HEADER, 0);//设置header
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
 curl_setopt($curl, CURLOPT_POST, 1);//post提交方式
 curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
 $data = curl_exec($curl);//运行curl
 $curl_err_msg = curl_error($curl);
 curl_close($curl);
 if($data === false) {
  return array('result' => false, 'err_msg' => $curl_err_msg);
 }else {
  return array('result' => true, 'data' => $data);
 }
}
 
$url = 'https://aip.baidubce.com/oauth/2.0/token';
$param = array(
 'grant_type' => 'client_credentials',
 'client_id' => '你的API Key',
 'client_secret' => '你的Secret Key'
);
$result = execCurl($url, $param);

3.调用人脸检查接口

如果需要判断一张图片中的人脸,是否符合后续识别或者对比的条件,在请求时在face_field参数中请求quality。

下面示例是请求图文为base64转码字符串(转码不能包含头信息),也可以传图片网络地址,官方文档

示例代码:

function checkPictureToCheckFace($image_path, $access_token) {
 $url = 'https://aip.baidubce.com/rest/2.0/face/v3/detect?access_token=' . $access_token;
 $param = array(
  'image' => base64EncodeImage($image_path),
  'image_type' => 'BASE64',
  'face_field' => 'quality'
 );
 $param = json_encode($param);
 $result = execCurl($url, $param);
 if($result['result'] == false) return $result;
 $data = json_decode($result['data'], true);
 if($data['error_code'] != 0) return array('result' => false, 'err_msg' => '上传的人脸不符合要求,请重新上传五官清晰的真实头像');
 $err_result = array('result' => false, 'err_msg' => '上传的人脸不符合要求,请重新上传五官清晰的真实头像!');
 $quality = $data['result']['face_list'][0]['quality'];
 if($quality['occlusion']['left_eye'] > 0.6) return $err_result; // 左眼被遮挡的阈值
 if($quality['occlusion']['right_eye'] > 0.6) return $err_result; // 右眼被遮挡的阈值
 if($quality['occlusion']['nose'] > 0.7) return $err_result; // 鼻子被遮挡的阈值
 if($quality['occlusion']['mouth'] > 0.7) return $err_result; // 嘴巴被遮挡的阈值
 if($quality['occlusion']['left_cheek'] > 0.8) return $err_result; // 左脸颊被遮挡的阈值
 if($quality['occlusion']['right_cheek'] > 0.8) return $err_result; // 右脸颊被遮挡的阈值
 if($quality['occlusion']['chin_contour'] > 0.6) return $err_result; // 下巴被遮挡阈值
 if($quality['blur'] != 0 && $quality['blur'] > 0.7) return $err_result; // 模糊度范围 0是最清晰,1是最模糊
 if($quality['illumination'] < 40) return $err_result; // 光照范围 
 if($quality['completeness'] == 0) return $err_result; // 人脸完整度 0为人脸溢出图像边界,1为人脸都在图像边界内
 return array('result' => true);
}
 
function execCurl($url, $param) {
 if (empty($url) || empty($param)) {
  return array('result' => false, 'err_msg' => 'url or param is null');
 }
 $curl = curl_init();//初始化curl
 curl_setopt($curl, CURLOPT_URL, $url);//抓取指定网页
 curl_setopt($curl, CURLOPT_HEADER, 0);//设置header
 curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);//要求结果为字符串且输出到屏幕上
 curl_setopt($curl, CURLOPT_POST, 1);//post提交方式
 curl_setopt($curl, CURLOPT_POSTFIELDS, $param);
 curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
 curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
 $data = curl_exec($curl);//运行curl
 $curl_err_msg = curl_error($curl);
 curl_close($curl);
 if($data === false) {
  return array('result' => false, 'err_msg' => $curl_err_msg);
 }else {
  return array('result' => true, 'data' => $data);
 }
}
 
function base64EncodeImage($image_path) {
 $base64_image = '';
 $image_info = getimagesize($image_path);
 $image_data = fread(fopen($image_path, 'r'), filesize($image_path));
 $base64_image = chunk_split(base64_encode($image_data));
 return $base64_image;
}
 
$image_path = 'image/1.jpg';
$access_token = '上一步的获取access token';
$result = checkPictureToCheckFace($image_path, $access_token);

判断是否符合人脸识别检查的字段说明:

PHP实现百度人脸识别

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
用PHP创建PDF中文文档
Oct 09 PHP
php开发过程中关于继承的使用方法分享
Jun 17 PHP
PHP及Zend Engine的线程安全模型分析
Nov 10 PHP
PHP判断来访是搜索引擎蜘蛛还是普通用户的代码小结
Sep 14 PHP
CodeIgniter针对数据库的连接、配置及使用方法
Mar 03 PHP
Yii基于CActiveForm的Ajax数据验证用法示例
Jul 14 PHP
PHP微信API接口类
Aug 22 PHP
Yii框架弹出窗口组件CJuiDialog用法分析
Jan 07 PHP
实现php删除链表中重复的结点
Sep 27 PHP
php实现每日签到功能
Nov 29 PHP
Laravel框架实现多个视图共享相同数据的方法详解
Jul 09 PHP
laravel 查询数据库获取结果实现判断是否为空
Oct 24 PHP
PHP7使用ODBC连接SQL Server2008 R2数据库示例【基于thinkPHP5.1框架】
May 06 #PHP
PHP连接SQL Server的方法分析【基于thinkPHP5.1框架】
May 06 #PHP
php + WebUploader实现图片批量上传功能
May 06 #PHP
thinkPHP5.1框架路由::get、post请求简单用法示例
May 06 #PHP
ThinkPHP5.1框架页面跳转及修改跳转页面模版示例
May 06 #PHP
PHP实现八皇后算法
May 06 #PHP
Laravel中10个有用的用法小结
May 06 #PHP
You might like
php中防止伪造跨站请求的小招式
2011/09/02 PHP
PHP5.5在windows安装使用memcached服务端的方法
2014/04/16 PHP
CI框架安全类Security.php源码分析
2014/11/04 PHP
标准版Eclipse搭建PHP环境的详细步骤
2015/11/18 PHP
PHP连接MYSQL数据库实例代码
2016/01/20 PHP
thinkphp在低版本Nginx 下支持PATHINFO的方法分享
2016/05/27 PHP
基于jQuery的简单九宫格实现代码
2012/08/09 Javascript
使用jQuery快速解决input中placeholder值在ie中无法支持的问题
2014/01/02 Javascript
javaScript中with函数用法实例分析
2015/06/08 Javascript
jQuery原理系列-css选择器的简单实现
2016/06/07 Javascript
Bootstrap源码解读排版(1)
2016/12/23 Javascript
基于JavaScript实现购物车功能
2017/02/07 Javascript
JavaScript实现提交模式窗口后刷新父窗口数据的方法
2017/06/16 Javascript
详谈构造函数加括号与不加括号的区别
2017/10/26 Javascript
anime.js 实现带有描边动画效果的复选框(推荐)
2017/12/24 Javascript
vue 虚拟dom的patch源码分析
2018/03/01 Javascript
JS实现长图上下滚动效果
2020/03/19 Javascript
JavaScript运行机制实例分析
2020/04/11 Javascript
在vue中给后台接口传的值为数组的格式代码
2020/11/12 Javascript
python计算方程式根的方法
2015/05/07 Python
深入理解Python变量与常量
2016/06/02 Python
python 函数传参之传值还是传引用的分析
2017/09/07 Python
python学生管理系统代码实现
2020/04/05 Python
python使用代理ip访问网站的实例
2018/05/07 Python
对python 匹配字符串开头和结尾的方法详解
2018/10/27 Python
pycharm 在windows上编辑代码用linux执行配置的方法
2018/10/27 Python
在Python中实现替换字符串中的子串的示例
2018/10/31 Python
纯css3实现的动画按钮的实例教程
2014/11/17 HTML / CSS
我的applet原先好好的, 一放到web server就会有问题,为什么?
2016/05/10 面试题
大三学生入党思想汇报
2014/01/02 职场文书
房屋出售协议书
2014/04/10 职场文书
比赛口号大全
2014/06/10 职场文书
最美家庭活动方案
2014/08/31 职场文书
酒店管理专业毕业生自我鉴定
2014/09/29 职场文书
先进单位事迹材料
2014/12/25 职场文书
《Estab Life》4月6日播出 正式PV、主视觉图公开
2022/03/20 日漫