百度人脸算法,私有化部署安装,调试

百度官方环境要求(主要是GPU)

http://ai.baidu.com/docs#/PrivateAI_FaceProducts/top
硬件:

GPU: 显存6G以上,不支持虚拟化的GPU。推荐:NVIDIA Tesla P4
CPU: AMD 64/x86_64,推荐:E5-2620V4*2
内存: 32G以上,内存容量会影响可以创建的人脸库的大小,人脸查找时需要将人脸放到内存中(一条人脸占用4k内存)
硬盘: 500G以上

一、基础环境搭建

1、安装centos7 系统

下载镜像(百度推荐的centos7.2):

官方地址:
http://vault.centos.org/
http://vault.centos.org/7.2.1511/isos/x86_64/CentOS-7-x86_64-DVD-1511.iso
阿里云:
http://mirrors.aliyun.com/centos/
网易云:
http://mirrors.163.com/centos/
华为云:
https://mirrors.huaweicloud.com/centos/

安装操作系统

本人选的是mini版,勾选develop-tools 开发者工具
修改主机名
配置网络,要能ping通外网

2、安装基础工具包

安装gcc环境和一些基础包

yum install -y wget
yum install -y net-tools
yum install -y pciutils
yum install -y psmisc
yum install -y gcc

3、安装python

百度要求python 2.7
官方下载地址:
https://www.python.org/downloads/
下载安装步骤:

wget https://www.python.org/ftp/python/2.7.16/Python-2.7.16.tgz
tar -zxvf Python-2.7.16.tgz
cd Python-2.7.16
./configure
make
make install
#查看python 版本
python -V

二、百度部署包下载安装

1、提取指纹,获取安装包

使用百度的指纹提取工具,提取指纹,发给百度相关人员
http://ai.baidu.com/docs#/PrivateAI_FingerprintExtractionTool/7c6dd9d5
拿到安装部署包

2、下载安装部署包

将下载的安装包,解压到 /home/private

cd /home/private/original
#下载安装安装部署文件(挺大的,要等一会)
sh download.sh

3、安装服务

#使用一键安装
cd /home/private/original/package/Install
python install.py inall

安装显卡驱动的时候会提示重启机器!
重启后:继续执行

python install.py inall

安装过程需要手动出入几次
①127.0.0.1
②license服务的ip(单机就是本机ip)
③确认license服务端口

4、检查服务

#查看鉴权服务是否启动
netstat -anp | grep 8887

在这里插入图片描述

#查看face-service服务端口
netstat -anp | grep 8300

在这里插入图片描述

#查看人脸特征提取服务是否启动
ps -aux | grep feature

在这里插入图片描述

三、接口测试

1、百度自带测试工具测试

#查看容器id (CONTAINER ID)
docker ps
#进入容器:
docker exec -it (容器id) /bin/bash
#在容器中:
cd /home/idl-face/testtool/
#测试接口
/home/idl-face/odp/php/bin/php FaceApiV3Test.php 127.0.0.1 8300

2、本地java代码测试

package com.wesic.baidu;

import java.util.HashMap;
import java.util.Map;

/**
 * caobin
 * 2019/2/22
 **/
public class FaceDetect {

    /**
     * 重要提示代码中所需工具类
     * FileUtil,Base64Util,HttpUtil,GsonUtils请从
     * https://ai.baidu.com/file/658A35ABAB2D404FBF903F64D47C1F72
     * https://ai.baidu.com/file/C8D81F3301E24D2892968F09AE1AD6E2
     * https://ai.baidu.com/file/544D677F5D4E4F17B4122FBD60DB82B3
     * https://ai.baidu.com/file/470B3ACCA3FE43788B5A963BF0B625F3
     * 下载
     */
    public static String detect() {
        // 请求url
        //在线接口
//        String url = "https://192.168.xx.xxx:8300/rest/2.0/face/v3/detect";
        //私有化接口
        String url = "http://192.168.xx.xxx:8300/face-api/v3/face/detect?appid=test_detect";
        try {

            byte[] bytes = FileUtil.readFileByBytes("D:\\1.jpg");
            String image = Base64Util.encode(bytes);
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("max_face_num", 2);
            map.put("image", image);
            map.put("face_field", "beauty,gender,age,landmark150,glasses,race");
            map.put("image_type", "BASE64");
            map.put("face_type", "LIVE");

            String param = GsonUtils.toJson(map);

            // 注意这里仅为了简化编码每一次请求都去获取access_token,线上环境access_token有过期时间, 客户端可自行缓存,过期后重新获取。
            String accessToken = "24.f6c637553955b719cd3c5b6753dfb060.2592000.1553422416.282335-15609077";

            String result = HttpUtil.post(url, accessToken, "application/json", param);
            System.out.println(result);
            return result;
        } catch (Exception e) {
            e.printStackTrace();
        }
        return null;
    }

    public static void main(String[] args) {
        FaceDetect.detect();
    }
}

四、问题总结

emmm, 如果以上步骤能一次通过,自然是最好不过,
但人生不如意十有八九。。。
问题一:
显卡驱动安装不成功
解决方式:
自己尝试手动安装驱动,但是安装失败了(之前自己单独是安装成功过的)
失败后,再次执行百度的安装脚本,成功了!(可能是少了什么)
问题二:
脚本执行卡住,一直停在[“yum”, “update”]
解决方式:
修改脚本

vi /home/private/original/package/Install/docker/install.py
shell.run(["yum", "update"])
改成
shell.run(["yum", "update","-y"])

问题三:
安装脚本提示解压失败
解决方式:
注释掉报错的那几行解压脚本,手动解压(原因可能是,python的版本?)

其余问题请参考百度官方文档:
http://ai.baidu.com/docs#/PrivateAI_FaceProducts/top
接口文档参考:
http://ai.baidu.com/docs#/Face_Private_API/top

本文链接:
https://blog.csdn.net/Felix_CB/article/details/88761870

你可能感兴趣的:(人脸识别)