使用腾讯 AI 开放平台,打造极致产品

腾讯提供的 AI 开放平台功能还是很多的,并由腾讯三大 AI 实验室提供强大的技术基石

目前官方提供的 SDK 只接入了文本翻译(AI Lab)、通用 OCR、语音识别-流式版(WeChat AI)三个 API

不过在腾讯 AI 开放平台官方提供了功能体验,可以去看看:官方地址,点击对应的功能即可

我是没看到官网有体验,所以自己用了一个人脸对比的接口,写了一些代码,看到微博上朋友年会的照片,两张感觉不像一个人,来对比下,我是魔鬼 😈

使用人脸识别中的人脸对比接口,对请求图片的两个人脸进行对比,计算相似性以及五官相似度

对比接口地址为:https://api.ai.qq.com/fcgi-bin/face/face_facecompare

请求参数还是蛮简单的,文档地址:https://ai.qq.com/doc/facecompare.shtml

主要的还是获取签名鉴权,方法也很常见,字典升序,MD5 大写之类的

function getReqSign($params, $appkey)
{
    ksort($params);

    $str = '';
    foreach ($params as $key => $value) {
        if ($value !== '') {
            $str .= $key . '=' . urlencode($value) . '&';
        }
    }

    $str .= 'app_key=' . $appkey;

    $sign = strtoupper(md5($str));
    return $sign;
}

然后搞一个通用的 Curl 请求的方法,这里就不贴了

拼接对应的参数,发起请求

// 图片base64编码
$path = './005wyXttly1fz5g9o8qn0j30yi0yiqv5.jpg';
$data = file_get_contents($path);
$base64a = base64_encode($data);

$path = './005wyXttly1fy7pqyv9yhj31hc1hctuk.jpg';
$data = file_get_contents($path);
$base64b = base64_encode($data);

// 接口请求参数
$params = array(
    'app_id' => '', // 应用标识
    'time_stamp' => time(),
    'nonce_str' => uniqid(),
    'sign' => '',
    'image_a' => $base64a,
    'image_b' => $base64b,
);

// 应用密钥
$appkey = '';

// 计算sign参数
$params['sign'] = getReqSign($params, $appkey);

// 执行API调用
$url = 'https://api.ai.qq.com/fcgi-bin/face/face_facecompare';
$response = myCurl($url, $params);

echo $response;

$response 就是返回的接口结果,similarity就是相似度

{
    "ret": 0,
    "msg": "ok",
    "data": {
        "similarity": 86,
        "fail_flag": 0
    }
}

86%的相似度,看来美颜还没有过分,哈哈哈

腾讯 AI 开放平台提供的接口还是很方便的,推荐使用~

2 条评论

发表评论

*