12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788 |
- <?php
- namespace App\Services\Vendor\BaiduAi;
- use App\Services\Service;
- class FaceService extends Service
- {
- /** @var ApiBase $base */
- protected $base;
- /**
- * 人脸检测 detect api url
- * @var string
- */
- private $detectUrl = 'https://aip.baidubce.com/rest/2.0/face/v3/detect';
- /**
- * 人脸比对 match api url
- * @var string
- */
- private $matchUrl = "https://aip.baidubce.com/rest/2.0/face/v3/match";
- /**
- * 在线活体检测 faceverify api url
- * @var string
- */
- private $faceverifyUrl = 'https://aip.baidubce.com/rest/2.0/face/v3/faceverify';
- public function __construct()
- {
- $this->base = new ApiBase(
- config('baidu.face.appid'),
- config('baidu.face.apikey'),
- config('baidu.face.secretKey')
- );
- }
- /**
- * 人脸检测接口
- *
- * @param string $image - 图片信息(**总数据大小应小于10M**),图片上传方式根据image_type来判断
- * @param string $imageType - 图片类型 **BASE64**:图片的base64值,base64编码后的图片数据,需urlencode,编码后的图片大小不超过2M;**URL**:图片的 URL地址( 可能由于网络等原因导致下载图片时间过长)**;FACE_TOKEN**: 人脸图片的唯一标识,调用人脸检测接口时,会为每个人脸图片赋予一个唯一的FACE_TOKEN,同一张图片多次检测得到的FACE_TOKEN是同一个
- * @param array $options - 可选参数对象,key: value都为string类型
- * @description options列表:
- * face_field 包括**age,beauty,expression,faceshape,gender,glasses,landmark,race,quality,facetype,parsing信息** <br> 逗号分隔. 默认只返回face_token、人脸框、概率和旋转角度
- * max_face_num 最多处理人脸的数目,默认值为1,仅检测图片中面积最大的那个人脸;**最大值10**,检测图片中面积最大的几张人脸。
- * face_type 人脸的类型 **LIVE**表示生活照:通常为手机、相机拍摄的人像图片、或从网络获取的人像图片等**IDCARD**表示身份证芯片照:二代身份证内置芯片中的人像照片 **WATERMARK**表示带水印证件照:一般为带水印的小图,如公安网小图 **CERT**表示证件照片:如拍摄的身份证、工卡、护照、学生证等证件图片 默认**LIVE**
- * @return array
- */
- public function detect($image, $imageType, $options = array())
- {
- $data = array();
- $data['image'] = $image;
- $data['image_type'] = $imageType;
- $data = array_merge($data, $options);
- return $this->base->request($this->detectUrl, json_encode($data), array(
- 'Content-Type' => 'application/json',
- ));
- }
- /**
- * 人脸比对接口
- *
- * @param array $images
- * @return array
- */
- public function match($images)
- {
- return $this->base->request($this->matchUrl, json_encode($images), array(
- 'Content-Type' => 'application/json',
- ));
- }
- /**
- * 在线活体检测接口
- *
- * @param array $images
- * @return array
- */
- public function faceverify($images)
- {
- return $this->base->request($this->faceverifyUrl, json_encode($images), array(
- 'Content-Type' => 'application/json',
- ));
- }
- }
|