人脸库管理
$config = [
'app_id' => 'your appid',
'api_key' => 'your api key',
'secret_key' => 'your secret key'
];
$ai = AI::baidu($config);
特别说明: 在下文中的所有$ai变量都表示当前的百度AI实例
人脸注册
人脸注册的路由为facesetUser()
// 注册url形式的图片
$imgUrl = 'http://domain/someimg.jpg';
$group = 'some_group'; //百度ai人脸库必选参数
$user = 'some_user';
$ai->facesetUser()->url($imgUrl)->group($group)->user($user)->add();
//注册base64编码后的图片
$code = 'Y3Jpc2VuY2hvdQ==';
$ai->facesetUser()->base64($code)->group($group)->user($user)->add();
// 注册本地文件
$path = 'path/to/someimg.jpg';
$ai->facesetUser()->path($path)->group($group)->user($user)->add();
// 使用可选参数
$ai->facesetUser()->path($path)->group($group)->user($user)->add([
'user_info' => 'user info',
'quality_control' => 'NONE',
'liveness' => 'NONE'
]);
人脸更新
人脸更新的路由为facesetUser()
// 以图片base64编码进行更新
$code = 'Y3Jpc2VuY2hvdQ==';
$ai->facesetUser()->base64($code)->group($group)->user($user)->update();
// 以图片url进行更新
$ai->facesetUser()
->url('http://domain/some.jpg')
->group($group)
->user($user)
->update();
// 以图片路径进行更新
$ai->facesetUser()
->path('path/ti/some.jpg')
->group($group)
->user($user)
->update();
// 以face_token 进行更新
$ai->facesetUser()->faceToken('facetoken')->group($group)->user($user)->update();
// 兼容官方可选参数
$ai->facesetUser()
->path('path/ti/some.jpg')
->group($group)
->user($user)
->update([
'user_info' => 'user info',
'quality_control' => 'NONE',
'liveness' => 'NONE'
]);
人脸删除
人脸删除的路由是faceset 和人脸注册的不一致
$group = 'some_group';
$user = 'some_user';
$faceToken = 'face_token'; // 人脸注册时 返回的图片唯一标志 是人脸删除的必选参数
$res = $ai->faceset()->group($group)->user($user)->faceToken($faceToken )->delete();
if($res->success()){
//do something
}
用户信息查询
// 查询特定group的信息
$ai->facesetUser()->user('some_user')->group('some_group')->get();
// 查询所有group的信息
$ai->facesetUser()->group()->user('some_user')->get();
获取用户人脸列表
用于获取一个用户的全部人脸列表
// 获取全部列表
$res = $ai->faceset()->group('some_group')->user('some_user')->get();
//获取部分列表
$res = $ai->faceset()
->group('some_group')
->user('some_user')
->get([
'start' => '0',
'length' => '1000'
]);
// 接收返回数据
if($res->success()){
var_dump($res->toArray());
}
获取用户列表
用于查询指定用户组中的用户列表。
$res = $ai->facesetGroup()->group('some_group')->users();
if($res->success()){
var_dump($res->toArray());
}
复制用户
用于将已经存在于人脸库中的用户复制到一个新的组
$res = $ai->facesetUser()->user()->copy($src, $dest);
if($res->success()){
// do something
}
删除用户
用于将用户从某个组中删除
//删除某个组的用户
$ai->facesetUser()->user('some_user')->group('some_group')->delete();
//删除所有组的用户
$ai->facesetUser()->user('some_user')->group()->delete();
创建用户组
用于创建一个空的用户组,如果用户组已存在 则返回错误
$res = $ai->facesetGroup()->group('other_group')->add();
if($res->success()){
// create group successful
}
删除用户组
删除用户组下所有的用户及人脸,如果组不存在 则返回错误
注:组内的人脸数量如果大于500条,会在后台异步进行删除。在删除期间,无法向该组中添加人脸。1秒钟可以删除20条记录,相当于一小时可以将7万人的人脸组删除干净。
$ai->facesetGroup()->group('some_group')->delete();
组列表查询
//查询所有信息
$res = $ai->facesetGroup()->get();
//查询部分信息
$res = $ai->facesetGroup()->get([
'start' => 0,
'length' => 100,
]);
if($res->success()){
var_dump($res->toArray());
}
Last updated