本文介绍了如何使用PHP SDK自定义人脸检索接口,对指定的人脸图片进行自定义人脸检索。

功能描述

自定义人脸检索根据您输入的待识别人脸图片(face),在指定人脸库(group)中查找并返回最相似的Top 5个体(person),返回的Top 5个体按照相似度从大到小排序。

检索人脸时,必须指定要检索的分组信息(最多指定一个分组)。关于参数的详细说明,请参见自定义人脸检索API文档

您需要使用内容安全的API接入地址,调用本SDK接口。关于API接入地址的信息,请参见接入地址(Endpoint)

前提条件

已安装PHP依赖。关于安装PHP依赖的具体操作,请参见安装PHP依赖
说明 请一定按照安装PHP依赖页面中的版本安装,否则会导致调用失败。

提交人脸图片检索任务

<?php

use AlibabaCloud\Client\AlibabaCloud;
use AlibabaCloud\Client\Exception\ClientException;
use AlibabaCloud\Client\Exception\ServerException;
use AlibabaCloud\Green\Green;

try {
    // 请替换成您的AccessKey ID、AccessKey Secret。
    AlibabaCloud::accessKeyClient('您的AccessKey ID', '您的AccessKey Secret')
        ->regionId('cn-shanghai')
        ->asDefaultClient();

    // url:待检索图片url,必选;groupId:检索库的Id,必选。
    $task1 = array('dataId' => '业务数据ID',
        'url' => '待检测图片链接地址',
        'extras' => array('groupId' => '个体组ID')
    );
    // scenes:检测场景,取值:sface-n,表示自定义人脸检索。
    $result = Green::v20180509()->imageSyncScan()
        ->body(json_encode(array("tasks" => array($task1),
            "scenes" => array("sface-n"))))
        ->request();
    print_r($result->toArray());
} catch (ClientException $exception) {
    echo $exception->getMessage() . PHP_EOL;
} catch (ServerException $exception) {
    echo $exception->getMessage() . PHP_EOL;
    echo $exception->getErrorCode() . PHP_EOL;
    echo $exception->getRequestId() . PHP_EOL;
    echo $exception->getErrorMessage() . PHP_EOL;
}