腾讯提供的 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 开放平台提供的接口还是很方便的,推荐使用~