人脸识别

    软件说明文档

    功能

    1. 镜头模组基于UVC协议, 支持720P 的MJPG视频流播放
    2. 人脸库管理,四个方面:

      1. 人脸注册(支持单用户实时注册和批量导库)
      2. 查询单个人脸库记录
      3. 删除单个人脸库记录
      4. 清空底库
    3. 设备管理与配置,四个方面:

      1. 人脸检测配置
      2. 活体检测配置
      3. 人脸识别配置
      4. 驾驶行为分析配置

    具体参数

    名称 功能描述
    操作系统 Ubuntu 16.04
    图像分辨率 支持720p图像
    人脸检测 25FPS,支持RGB和NIR模态并行采集、检测
    活体检测 支持RGB、NIR双模活体,攻击拒绝率99.5%以上
    整体性能 端到端全流程<150ms(含检测、活体、底库5W下检索)
    人脸库管理 支持5W人脸库管理,批量导入、增加、删除功能
    DMS 支持驾驶行为分析能力,耗时小于50m
    支持RGB、IR模式7种行为检测:正常、进食、喝水、打电话、抽烟、睁闭眼、张嘴
    数据输出 算法处理后的结构化JSON数据输出
    视频输出 支持UVC接口,MJPEG格式输出
    网络 支持USB虚拟网卡接口
    网络协议 支持标准HTTP协议

    操作说明

    设备上电

    模组采用Micro USB线连接, Host 端usb接口供电(usb2.0/usb3.0均可)

    Host端网络配置

    设备默认IP为192.168.3.99, 接入到Host端usb后,host端会枚举出两个设备:UVC摄像头以及网卡,在进行网络通讯前需要对该网卡进行设置,配置成同一网端,相关配置如下图:

    备注: Host端网卡名称可能因usb口不同而变化,需具体确认. 上图网络名可通过ifconfig 命令确定(enp0s20f0u6), 如果翠鸟设备固定连接某个usb口, 则其生成的网卡名固定,配置过程仅需要一次,后续设备上电会自动连接

    Setup PC 端Demo APP

    PC端Demo APP依赖与QT环境,请先安装以下两个软件包

    1. 在任意位置打开终端执行以下命令(仅需执行一次):
    sudo apt-get update
    sudo apt-get install gstreamer0.10-*
    sudo apt-get install  libqt5multimedia5-plugins
    1. 切换到Demo APP目录下执行(仅需执行一次)
    ./pack.sh
    1. 运行Demo程序(Demo APP目录下)
     sudo ./QTcamera.sh  

    即可预览到视频画面,包括人脸检测框,识别结果,活体检测结果,以及DMS检测结果

    备注:默认输出为RGB视频流,可在配置中实时切换为IR视频流

    人脸库管理(基于HTTP协议)

    人脸库管理主要涉及以下几个方面:人脸注册,人脸库统计,人脸库查找,人脸库删除

    人脸注册:支持通过视频预览窗口实时注册,支持通过HTTP协议批量注册

    人脸库统计:统计当前人脸库数量,获取用户列表

    人脸库查找: 根据用户名查找

    人脸库删除: 根据用户名删除,支持单人脸删除和批量删除(清空底库)

    设备配置(基于HTTP协议)

    主要支持以下算法的配置选项:

    • 多人脸检测开关:最多支持10人脸支持
    • 活体检测开关:RGB与IR 活体检测的开启与关闭,可分别控制
    • 活体阈值:阈值越大,安全性越高,通过率越低
    • 识别阈值:阈值越大,误识率越低, 通过率越低
    • 最小检测人脸:数值越大,可检测距离越小,单位pixel
    • 驾驶行为检测:支持5种DMS行为, 张闭嘴以及睁闭眼检测

    API

    1. 接口说明流程

    • 客户购买套件,将模组接入 Ubuntu 电脑
    • 导入人脸信息/实时注册人脸库
    • 根据业务场景需求,修改质量、活体模式等配置选项
    • 打开 QTdemo 软件
    • 在设备上进行实时识别使用
    • 如设置需调整,通过接口进行配置修改

    2. 接口参数设置

    • 接口根地址:http://设备IP地址:8080/
    • 接口形式:HTTP请求
    • 接口鉴权:每次请求需传入密码
    • 通用返回信息:

      • RequestValue: 原请求类型值
      • ret_code:类型int,0成功,1失败
      • log: 返回的日志信息

    3. 接口列表

    3.1 设备管理接口

    • 密码设置
    • 序列号获取
    • 设备时间
    • 设备重启
    • 设备重置
    • 有线网络
    • 识别记录回调
    • 设备心跳回调
    • 获取软件版本
    • RGB补光灯控制
    • IR补光灯控制

    3.2 用户管理接口

    • 用户注册(批量注册)
    • 用户删除
    • 获取用户信息
    • 获取用户列表
    • 删除单用户记录
    • 清空人脸数据库
    • 单用户实时注册

    3.3 识别管理接口

    • 提取人脸特征
    • 人脸比对
    • 人脸搜索
    • 活体模式
    • 活体阈值
    • DMS使能控制
    • 多人脸检测使能
    • 最小检测人脸
    • 设置人脸画框
    • 识别阈值修改
    • 质量控制

    4. 接口详细功能

    4.1 设备管理接口

    • 设备管理POST URL:http://设备IP:8080/DeviceManage
    • 设备请求类型:

      序号 Request value Request type 说明
      1 2817 setPassword 密码管理
      2 2818 getDeviceID 设备序列号获取
      3 2819 setTime 设备时间
      4 2820 Restart 设备重启
      5 2821 Restore 设备重置
      6 2822 setWiredNetwork 有线网络
      7 2828 setRecognitionCallback 识别记录回调
      8 2829 setDeviceHeartBeat 设备心跳回调
      9 2831 getSoftVersion 获取软件版本
      10 2945 SetRGBLED RGB补光灯控制
      11 2946 SetIRLED IR补光灯控制

    1. 密码设置

    • 说明

      设置及修改设备密码

    • 请求

      方法

      URL

      Request Type

      setPassword

      名称

      定义

      必须

      备注

      old_password

      设备旧密码,string

      Y

      默认初始密码是123456,修改后密码长度要求是6位字母或者数字

       

      new_password

      设备新密码,string

      Y

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
        	“RequestValue”:  2817,
        	“old_password”:  “123456”,
        	“new_password”:  “12345x”
        }
      • Respone:

        {
        	“log”: “set password success”,
        	“ret_code”:0
        }

    2. 序列号获取

    • 说明

      获取设备的唯一出厂标识码

    • 请求

      方法

      URL

      Request Type

      getDeviceID

      名称

      定义

      必须

      备注

      pass

      设备密码,string

      Y

      请求鉴权

      注:序列号当前是从加密芯片中读取

    • 返回

      • log信息
      • 设备序列号信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post

        {
        	“RequestValue”:  2818,
        	“pass”:  “123456”,
        }
      • Respone:

        			"RequestValue": 2818,
        			"deviceSN": "01237B62729036F4EE",
        			"log": "get deviceID success",
        			"ret_code": 0

    3. 设备时间

    • 说明

      手动设置设备当前时间

    • 请求

      方法

      URL

      Request Type

      setTime

      名称

      定义

      必须

      备注

      pass

      设备密码,string

      Y

      请求鉴权

      timestamp

      Unix秒级时间戳,uint64

      Y

      配置成功后,设备时间实时调整更新

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
            "RequestValue": 2819,
            "pass": "123456",
            "timestamp": 1577690264
        }
      • Respone:

        {
        	“log”: “set_time success”,
        	“ret_code”:0
        }

    4. 设备重启

    • 说明

      用于强制重启设备

    • 请求

      方法

      URL

      Request Type

      restart

      名称

      定义

      必须

      备注

      pass

      设备密码,string

      Y

      请求鉴权

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
        	“RequestValue”:  2820,
        	“pass”:  “123456”,
        }
      • 备注:当前不返回,直接重启

    5. 设备重置

    • 说明

      所有功能配置恢复默认出厂值,人脸库数据并不受影响

    • 请求

      方法

      URL

      Request Type

      reset

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
        	“RequestValue”:  2821,
        	“pass”:  “123456”,
        }
      • 备注:当前不返回,直接重启

    6. 有线网络

    • 说明

      用于管理有线网络配置,默认为静态IP

    • 请求

      方法

      URL

      Request Type

      setWiredNetwork

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      device_ip

      IP地址

      Y

      手动模式配置成功后,设备会自动重启

      gateway

      网关

      Y

      netmask

      子网掩码

      Y

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
        	“RequestValue”:  2822,
        	“pass”:  “123456”,
        	“device_ip”:  “192.168.3.100”,
        	“gateway”:  “192.168.3.1”,
        	“netmask”:  “255.255.255.0”
        }
      • 备注:当前不返回,直接重启

    7. 识别记录回调

    • 说明

      设置识别回调接口,成功识别人脸后,设备会向回调地址POST一条识别记录

      注:如果设置了识别间隔时间,在识别间隔时间内,只会回调一条记录。

    • 请求

    方法

    URL

    Request Type

    setRecognitionCallback

    名称

    定义

    必须

    备注

    pass

    设备密码

    Y

    请求鉴权

    callback_url

    回调地址,string

    Y

    IP地址:端口/url字段;详见下方回调信息示例

    返回

    log 信息

    ret_code: 0 操作正确,1 操作失败

    • 识别回调信息

      device_id 设备序列号
      score 识别分数
      timestamp 设备时间戳
      user_id 用户唯一id
      username 用户名
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
            "RequestValue":2828,
            "pass":"123456",
            "callback_url":"192.168.3.252:8001/recognition_result"
        }
      • Respone:

        {
        	“log”: “set recognition callback url success”,
        	“ret_code”:0
        }
      • Recognition Callback Post:

        {
        	"device_id" : "01237B62729036F4EE",
        	"score" : 0.90283358097076416,
        	"timestamp" : 1577763831,
        	"user_id" : "1593561621",
        	"username" : "sheldon"
        }

    8. 设备心跳回调

    • 说明

      用于检测设备是否在正常运行

    • 请求

      方法

      URL

      Request Type

      setDeviceHeartBeat

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      callback_url

      回调地址,string

      Y

      IP地址:端口/url字段;详见下方回调信息示例

      interval_time

      回调间隔时间,int

      Y

      心跳回调的执行间隔时间,单位秒,最短时间是1s

    • 返回

      log信息

      ret_code: 0 操作正确,1 操作失败

    • 心跳回调信息

      device_id 设备序列号
      temperature 设备CPU温度
      timestamp 设备时间戳
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
        	“RequestValue”:  2829,
        	“pass”:  “123456”,
        	“callback_url”:  “192.168.3.252:8001/heartbeat”,
        	“interval_time”:  10    // 单位: s
        }
      • Respone:

        {
        	“log”: “set  heartbeat callback url success”,
        	“ret_code”:0
        }
      • Heartbeat Callback Post:

        {
        	"device_id" : "01237B62729036F4EE", //设备ID
        	"temperature" : 61.746536254882812, //CPU 温度
        	"timestamp" : 1577763860 //设备时间戳
        }

    9. 获取软件版本

    • 说明

      获得设备上运行的软件版本

    • 请求

      方法

      URL

      Request Type

      getSoftVersion

      名称

      定义

      必须

      备注

      pass

      设备密码,string

      Y

      请求鉴权

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
        	“RequestValue”:  2831,
        	“pass”:  “123456”,
        }
      • Respone:

        {
        	"RequestValue": 2831,
        	"log": "getSoftVersion success",
        	"ret_code": 0,
        	"sw_version": "V0.6.33-87a5fe7-commit"
        }

    10. RGB补光灯控制

    • 说明

      控制 RGB 补光灯的亮度

    • 请求

      方法

      URL

      Request Type

      SetRGBLED

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

       brightness

       RGB补光灯控制,uint8

       Y

      补光灯强度 0:关闭,255:全开; 注:当前只支持开关,即0关闭,其它值均全开打开

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
        	“RequestValue”:  2945,
        	“pass”:  “123456”,
        	“brightness”:  1     // 0 :关闭; 其它:打开
        }
      • Respone:

         {
        	“RequestValue”:  2945,
        	“log”: “set RGB LED success”,
        	“ret_code”:  0
        }

    11. IR补光灯控制

    • 说明

      控制 IR补光灯的亮度

    • 请求

      方法

      URL

      Request Type

      SetIRLED

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

       brightness

       IR补光灯控制,uint8

       Y

      补光灯强度,范围0~2550:关闭; 255:全开 注:当前仅支持开关,即0关闭,其它均打开

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/DeviceManage
      • Post:

        {
        	“RequestValue”:  2946,
        	“pass”:  “123456”,
        	“brightness”:  1     // 0 :关闭; 其它:打开
        }
      • Respone:

         {
        	“RequestValue”:  2946,
        	“log”: “set  IR LED success”,
        	“ret_code”:  0
        }

    4.2 用户管理接口

    • 用户管理POST URL:http://设备IP:8080/UserManage
    • 用户管理请求类型:

      序号 Request value Request type 说明
      1 2817 addUser 用户注册
      2 2819 deleteUser 用户删除
      3 2822 getUserInfo 获取用户信息
      4 2824 getUserList 查询用户列表
      5 2826 deleteALLUser 清空用户
      6 2962 SetUserRegister 开启用户注册
      7 2963 GetUserNumber 获取用户数量

    1. 用户注册或更新

    • 说明

      用户及人脸信息注册或更新

    • 请求

      方法

      URL

      Request Type

      addUser

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      user_id

      用户唯一ID

      Y

       

      image_content

            image base64编码后的图片数据;

            URL图片的 URL地址,通过URL下载到本地;

            FeatureBASE64的特征值字符串

      Y

      图片信息,小于4MB,图片上传方式根据image_type来判断。支持pngjpg格式。

      image_type

            imageimage_contentBASE64的人脸图片

            URLimage内容将从人脸图片URL地址

            featureimage_contentBASE64的特征值字符串

      Y

      当前只支持 Image 模式

      user_info

      用户资料,长度256B

            name:用户名(必须)

            ID card num:电话号码(非必须)

            other:其他信息(非必须)

      Y

       

      action_type

      图片注册操作方式

            APPEND:当user_id存在时,新注册的图片会追加到具体的user_id下面

            REPLACE:当user_id存在时,新注册的图片会替换掉原user下的所有图片

      默认 APPEND

      N

      每个user下,可以最多有5张图片,如果超过5张,则append形式也会随机覆盖一张已有图片。 

       

      quality_control

      图片质量控制

      NONE: 不进行控制

      LOW较低的质量要求

      NORMAL:一般的质量要求

      HIGH较高的质量要求

       

      N

       

      默认 NONE

      若图片质量不满足要求,则返回结果中会提示质量检测失败

       

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
      • 注册状态成功

        • user_id:用户id
        • position:人脸的左上和右下角点的坐标(x,y)
        • device_id:设备ID
      • 注册状态失败:提示具体格式或质量控制不满足的反馈
    • Postman 示例

      • URLhttp://192.168.3.99:8080/UserManage
      • Post:

        {
        "RequestValue":2817,
        "pass":"123456",
        "user_id": "0002",
        "image_type": "image",
        "user_info": {
            "name": "xiaoming-01"
        },
        "action_type": "APPEND",
        "quality_control": "NONE",
        "image_content": "/9j/base64-image-string" 
        }
      • Respone:

        {
        	"RequestValue": 2817,
        	"device_id": "01237B62729036F4EE",
        	"log": "add user 0002 success",
        	"position": {
        		"point_1": "(48,28)",
        		"point_2": "(387,367)"
        	},
        	"ret_code": 0,
        	"user_id": "0002"
        }

        备注: image_content为人脸图片的base64编码内容, 需要在PC端用工具将图片base64转码后的string作为image_content

    2. 用户删除

    • 说明

      删除用户及对应的所有图片&特征值数据,不会删除已经产生的记录信息

    • 请求

      方法

      URL

      Request Type

      deleteUser

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      user_id

      用户唯一id,string

      Y

      删除该用户,以及该用户下所有图片

    • 返回

      • log信息
      • user_id:被删除用户的id
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/UserManage
      • Post:

        {
        	“RequestValue”:  2819,
        	“pass”:  “123456”,
        	“user_id”: “mmmm”,   //用户唯一码
        }
      • Respone:

         {
        	“RequestValue”:  2819,
        	“log”: “delete  user with mmmm success”,
        	“ret_code”:  0,
        	“user_id”: “mmmm”,
        }

    3. 获取用户信息

    • 说明

      获取具体用户下的相关信息

    • 请求

      方法

      URL

      Request Type

      getUserInfo

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      user_id

      用户唯一ID,string

      Y

       

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
      • user_id:用户ID
      • user_info:用户信息
    • Postman 示例

      • URLhttp://192.168.3.99:8080/UserManage
      • Post:

        {
        	“RequestValue”:  2822,
        	“pass”:  “123456”,
        	“user_id”: “mmmm”,   //用户唯一码
        }
      • Respone:

         {
        	“RequestValue”:  2822,
        	“log”: “get  user  information success”,
        	“ret_code”:  0,
        	“user_id”: “mmmm”,
        	“user_info”: {
        	“name”: “xxxx”
        	}
        }

    4. 查询用户列表信息

    • 说明

      获取设备上所有用户的列表信息

    • 请求

      方法

      URL

      Request Type

      getUserList

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      start

      默认值0,起始序列

      Y

       

      length

      默认值100,最大值1000

      Y

    • 返回

      • user_id_list:列表中包含所有用户的user_id
      • log 信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/UserManage
      • Post:

        {
        	“RequestValue”:  2824,
        	“pass”:  “123456”
        }
      • Respone:

         {
        	“RequestValue”:  2824,
        	“log”: “Get User List success”,
        	“ret_code”:  0,
        	“user_id_list”: [
        	“xxxxx”,
        	“yyyyy”,
        	“zzzzz”
        	]
        }

    5. 清空用户

    • 说明

      清空整个人脸数据库中的用户

    • 请求

      方法

      URL

      Request Type

      deleteAllUser

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/UserManage
      • Post:

        {
        	“RequestValue”:  2826,
        	“pass”:  “123456”
        }
      • Respone:

         {
        RequestValue”:  2826,
        	“log”: “success to clear up face database”,
        	“ret_code”:  0
        }

    6. 开启用户注册

    • 说明

      开启端上实时人脸注册,具体是:host 端通过发送 post 请求发送命令,设备开始【20s 内】人脸注册,捕捉到一张符合要求的人脸,并将注册到符合条件得人脸通过 response 返回,否则超时处理

    • 请求

      方法

      URL

      Request Type

      SetUserRegister

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      user_id

       用户 ID

       Y

      用户唯一

      user_info

        包含name字段

       Y

      user_info可包含多个字段,其中name是必选项

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/UserManage
      • Post:

        {
        	“RequestValue”:  2962,
        	“pass”:  “123456”,
        	“user_id”: “mmmm”,   //用户唯一码
        	“user_info”: {
        	name: “xxxx”
        	}
        }
      • Respone:

         {
        	“RequestValue”:  2962,
        	“log”: “success to register user”,
        	“ret_code”:  0,
        	“user_id”: “mmmm”,
        	“register_img”= “image-base64” // base64编码的人脸小图
        }

    7. 获取数据库用户数量

    • 说明

      获取当前人脸数据库中的用户数量

    • 请求

      方法

      URL

      Request Type

      GetUserNumber

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/UserManage
      • Post:

        {
        	“RequestValue”:  2963,
        	“pass”:  “123456”
        }
      • Respone:

         {
        	“RequestValue”:  2963,
        	“log”: “success to get database user  number”,
        	“ret_code”:  0,
        	“number”: 3
        }

    4.3 识别管理接口

    • 识别管理POST URL:http://设备IP:8080/RecognitionManage
    • 识别管理请求类型:

      序号 Request value Request type 说明
      1 2817 getFeature 提取人脸特征
      2 2818 Match 人脸比对
      3 2819 Identify 人脸搜索
      4 2821 setLivenessType 活体模式
      5 2961 SetLivenessTheshold 活体阈值设定
      6 2944 SetDmsEnable 驾驶行为分析
      7 2985 setMultiFaceDetectEnable 多人脸检测
      8 2950 SetFaceDetectionMinSize 最小识别人脸
      9 2951 SetDetectionBBoxShow 显示人脸检测框
      10 2960 SetRecognitionTheshold 设置识别阈值
      11 2822 setQualityControl 质量控制

    1. 获取人脸特征值

    • 说明

      对一张图片进行特征值抽取

    • 请求

      方法

      URL

      Request Type

      getFeature

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      image_content

            image:图片的base64值,base64编码后的图片数据;

            URL图片的 URL地址,通过URL下载到本地;

      Y

      图片信息,小于4MB,图片上传方式根据image_type来判断。支持pngjpg格式。

      image_type

            imageimage_contentBASE64的人脸图片

            URLimage内容将从URL地址

      Y

      当前只支持image

      quality_control

      图片质量控制

      NONE: 不进行控制

      LOW较低的质量要求

      NORMAL:一般的质量要求

      HIGH较高的质量要求

       

      默认 NONE若图片质量不满足要求,则返回结果中会提示质量检测失败

       

      N

            NONE:不经过质量判断模型

            LOW:遮挡0.8、角度30°、光照不要求、模糊度 0.8

            NORMAL:遮挡0.6、角度20°、光照40-255、模糊度 0.6

            HIGH:遮挡0.3、角度15°、光照60-120、模糊度 0.3

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
      • 人脸特征 feature, base64 string 类型
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2817,
        	“pass”:  “123456”,
        	“image_content”: “xxxxx-image-base64”,
        	“image_type”: “image”,   
        	“quality_control”, “LOW”,
        	“user_id”: “mmmm”,  
        	“user_info”:{
        	“name”: “xxxx”,
        	}
        }
      • Respone:

         {
        	“RequestValue”:  2817,
        	“log”: “add feature success”,
        	“ret_code”:  0,
        	“feature”: “feature-base64-encode”,  // base64编码后得特征 string
        }

    2. 人脸对比

    • 说明

      对比两个图片或特征值的相似度得分

    • 请求(json入参)

      方法

      URL

      Request Type

      Match

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      image_content

            image base64编码后的图片数据;

            URL图片的 URL地址,通过URL下载到本地;

            FeatureBASE64的特征值字符串

      Y

      图片信息,小于4MB,图片上传方式根据image_type来判断。支持pngjpg格式。

      image_type

            imageimage_contentBASE64的人脸图片

            URLimage内容将从人脸图片URL地址

            featureimage_contentBASE64的特征值字符串

      Y

      当前只支持 image

      quality_control

      图片质量控制

      NONE: 不进行控制

      LOW较低的质量要求

      NORMAL:一般的质量要求

      HIGH较高的质量要求

       

      默认 NONE若图片质量不满足要求,则返回结果中会提示质量检测失败

      N

       

            NONE:不经过质量判断模型

            LOW:遮挡0.8、角度30°、光照不要求、模糊度 0.8

            NORMAL:遮挡0.6、角度20°、光照40-255、模糊度 0.6

            HIGH:遮挡0.3、角度15°、光照60-120、模糊度 0.3

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
      • score:相似度对比分数
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2818,
        	“pass”:  “123456”,
        	“image1”:{
        		“image_content”: “xxxxx-image-base64”,
        		“image_type”: “image”,    
        		}
        		“image2”: {
        			“image_content”: “xxxxx-image-base64”,
        			“image_type”: “image”,    
        	}
        	“quality_control”, “LOW”,
        }
      • Respone:

         {
        	“RequestValue”:  2818,
        	“log”: “recognition compare success”,
        	“ret_code”:  0,
        	“score”:  0.7
        }

    3. 人脸搜索

    • 说明

      用指定的一张人脸,在人脸库中搜索

    • 请求

      方法

      URL

      Request Type

      Identify

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      image_content

            image base64编码后的图片数据;

            URL图片的 URL地址,通过URL下载到本地;

            FeatureBASE64的特征值字符串

      Y

      图片信息,小于4MB,图片上传方式根据image_type来判断。支持pngjpg格式

      image_type

            imageimage_contentBASE64的人脸图片

            URLimage内容将从人脸图片URL地址

            featureimage_contentBASE64的特征值字符串

      Y

      注:当前只支持 image 格式

      quality_control

      图片质量控制

      NONE: 不进行控制

      LOW较低的质量要求

      NORMAL:一般的质量要求

      HIGH较高的质量要求

       

      默认 NONE若图片质量不满足要求,则返回结果中会提示质量检测失败

      N

       

            NONE:不经过质量判断模型

            LOW:遮挡0.8、角度30°、光照不要求、模糊度 0.8

            NORMAL:遮挡0.6、角度20°、光照40-255、模糊度 0.6

            HIGH:遮挡0.3、角度15°、光照不60-120、模糊度 0.3

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
      • user_list:用户信息列表(以score大小降序排列)

        • user_id:用户名
        • user_info:用户信息
        • score:相似度得分
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2819,
        	“pass”:  “123456”,
        	“image_content”: “xxxxx-image-base64”,
        	“image_type”: “image”,    
        	“quality_control”, “LOW”,
        	“user_id”: “mmmm”,   
        	“user_info”:{
        	“name”: “xxxx”,
        	}
        }
      • Respone:

         {
        	“RequestValue”:  2819,
        	“log”: “recognition identify success”,
        	“ret_code”:  0,
        	“score”: 0.8
        }

    4. 活体模式

    • 说明

      管理应用的活体模式

    • 请求

      方法

      URL

      Request Type

      setLivenessType

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      liveness_type

            NONE:不使用活体

            RGB:使用可见光活体

            NIR:使用近红外活体

            RGB+NIR:使用可见光和近红外活体

            RGB+Depth:使用可见光和深度图模式(支持结构光和Tof方案)

            RGB+NIR+Depth:三种模态全部开启

      Y

      uint8,当前只支持0-3

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2821,
        	“pass”:  “123456”,
        	“liveness_type”: 3   // RGB+NIR 类型
        }
      • Respone:

         {
        	“RequestValue”:  2821,
        	“log”: “set liveness type 1 success”,
        	“ret_code”:  0
        }

    5. 活体阈值

    • 说明

      管理应用的活体阈值

    • 请求

      方法

      URL

      Request Type

      setLivenessType

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      liveness_threshold

      活体阈值 0-100 之间

      Y

      Int 类型

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2961,
        	“pass”:  “123456”,
        	“liveness_threshold”: 80   // 活体阈值
        }
      • Respone:

         {
        	“RequestValue”:  2961,
        	“log”: “set liveness threshold  80 success”,
        	“ret_code”:  0
        }

    6. DMS使能

    • 说明

      Dms功能开启与关闭

    • 请求

      方法

      URL

      Request Type

      setLivenessType

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      dms_enable

      dms使能

      Y

      0 : disable

      1 : enable

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2944,
        	“pass”:  “123456”,
        	“dms_enable”: 1
        }
      • Respone:

         {	
        	“RequestValue”:  2944,
        	“log”: “set dms enable success,  0 is disable , 1 is enable”,
        	“ret_code”:  0
        }

    7. 多人脸检测

    • 说明

      是否开启多人脸检测

    • 请求

      方法

      URL

      Request Type

      setDetectNum

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权,需加密请求。

      multiface_detection_enable

      使能多人脸检测

      Y

      0:disable; 1:enable

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2949,
        	“pass”:  “123456”,
        	“multiface_detection_enable”:  0  // 0:关闭多人脸检测, 1 开启
        }
      • Respone:

         {
        	“RequestValue”:  2949,
        	“log”: “set multi face detection enable success, 0 is disable, 1 is enable”,
        	“ret_code”:  0
        }

    8. 最小检测人脸

    • 说明

      可检测到的最小人脸尺寸,用于调整有效的识别距离

    • 请求

      方法

      URL

      Request Type

      setMinSize

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      face_detect_minsize

      单位:像素

      100,可检测的最小人脸尺寸为100*100

      最小支持30px,最大不超过720px

      默认为60px

      Y

       

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2950,
        	“pass”:  “123456”,
        	“face_detect_minsize”:  100
        }
      • Respone:

        {
        	“RequestValue”:  2950,
        	“log”: “set face detection min size : 100 success”,
        	“ret_code”:  0
        }

    9. 人脸画框显示

    • 说明

      是否显示人脸框

    • 请求

      方法

      URL

      Request Type

      setBboxShow

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      show_bbox

      使能人脸画框 uint8

      Y

      0 disable

      1 enable

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2951,
        	“pass”:  “123456”,
        	“show_bbox”:  1
        }
      • Respone:

         {
        	“RequestValue”:  2951,
        	“log”: “set enable face detect draw bbox success: 0 is disable, 1 is enable”,
        	“ret_code”:  0
        }

    10. 设备识别阈值

    • 说明

      设置人脸识别阈值

    • 请求

      方法

      URL

      Request Type

      setRecognitionThreshold

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      recognition_threshold

      识别阈值 0-100 之间,uint8

       

      Y

       

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
        	“RequestValue”:  2960,
        	“pass”:  “123456”,
        	“recognition_threshold”:   80
        }
      • Respone:

         {
        	“RequestValue”:  2960,
        	“log”: “set recognition threshold 80 success”,
        	“ret_code”:  0
        }

    11. 质量控制

    • 说明

      用于人脸注册和识别过程中,质量控制的开关和具体值设置

    • 请求

      方法

      URL

      Request Type

      setQualityControl

      名称

      定义

      必须

      备注

      pass

      设备密码

      Y

      请求鉴权

      work_field

            ALL:全流程都开启质量控制

            ADDUSER:图片注册流程

            RECOGNITION:活体及识别全流程

      Y

      0 ALL

      1 ADDUSER

      2 RECOGNITION

      quality_control

      图片质量控制

            NONE: 不进行控制

            LOW较低的质量要求

            NORMAL:一般的质量要求

            HIGH较高的质量要求

       

      默认 NONE若图片质量不满足要求,则返回结果中会提示质量检测失败

      Y

      0 NULL

      1 LOW

      2 NORMAL

      3 HIGH

    • 返回

      • log信息
      • ret_code: 0 操作正确,1 操作失败
    • Postman 示例

      • URLhttp://192.168.3.99:8080/RecognitionManage
      • Post:

        {
            “RequestValue”:  2822,
            “pass”: "123456",
        	“work_field”:  0,
        	“quality_control”: 2,
        }
      • Respone:

        {
        	“RequestValue”:  2822,
        	“log”: “set quality work field 0 success”,
        	“ret_code”:  0
        }
    上一篇
    产品概述
    下一篇
    硬件说明文档