资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

接口调用问题

在私有化部署过程中遇到的接口调用相关问题,可以查看此文档进行解决。
若文档仍未解决您的问题,请提交工单联系百度的工作人员

Face_token问题

1.私有化如何使用face_token?

​ 私有化环境下想要使用Face_token,需要在生成Face_token的时候(即调用检测、注册接口时),要加face_field字段:feature,用于预先提取特征,方便使用face_token进行特征分析

2.调用detect接口生成的face_token无法用来调用比对、搜索、活体等接口,应该怎么解决?

​ (1)调用比对、搜索接口:调用detect、add接口检测时,要加face_field字段:feature,用于预先提取特征,方便使用face_token进行比对 ​ (2)调用活体接口:调用detect、add接口时,使用liveness_control参数,用于预先提取活体特征,进行活体分析 ​ (3)获取人脸属性:希望通过facetoken获取什么属性,detect的阶段就需要在field参数中增加哪个参数

  1. 注册图片后,立即调用显示face_token不存在

注册后,存储face_token需要一段时间,这个时候立即调取图片,库内还未生成该face_token,需要开启redis服务存储图片特征值。

(1)修改 /home/idl-face/odp/conf/app/face-api/project/face.conf 将face_token_storage : db 改为 face_token_storage : cache

img

(2)修改 /home/idl-face/odp/conf/app/face-api/project/service.conf 将cache : 0 改为 cache : 1

img

(3)进入 /home/idl-face/odp/conf/db/ 目录,新建redis.conf文件,修改文件权限 chmod 755 redis.conf

img

(4)文件中添加以下内容,将红框中的ip改为redis服务的地址

img

注:单条cache有效时间为1个小时, 每条占用空间约4~5K内存

若想修改Cache有效时间,修改/home/idl-face/odp/app/face-api/models/service/dao/cache/Face.php中 EXPIRE项的值即可

其他问题

1.修改max_face_num检测最大人脸数量参数

(1)进入容器

docker ps -a #查看所有容器
docker exec -it (container_id) /bin/bash #进入到container_id容器

(2)修改文件内容

进入文件

cd /home/idl-face/odp/app/face-api/models/domain/request/v3/face/Detect.php

修改最大人脸数量阈值

img

(3)修改人脸检测接口中max_face_num的最大人脸数量

2.当访问接口时,会给出不同的错误提示

​ (1)当返回504时,一般是nginx错误,可以查看nginx服务是否启动,查看nginx的日志

​ (2)当返回502时,一般是hhvm错误,可以查看hhvm服务是否启动,查看hhvm的日志,查找问题原因

​ (3)当返回222915时,一般是feature_service错误,可以查看feature_service服务是否启动,查看feature_service的日志,查找问题原因

3.当访问接口时错误大概定位

如果提示504 则查看nginx是否有错误
如果提示502 500,则查看hhvm是否有错误,
如果提示222915,则查看feature_service是否有错误

4.如何控制1:N返回的最大人脸数

​```javascript
进入docker容器
cd /home/idl-face/odp/app/face-api/models/domain/request/v3/face
vi Identify.php
第58行'options' => array('min' => 1, 'max' => 20),将max调大

注意:返回较多时,会影响检索速度

  1. 若您想将数据库从一台服务器迁移到另一台服务器,请参考数据库迁移方案
上一篇
安装部署问题
下一篇
其他常见问题