智能多媒体 API

  • 1:N人脸比对

    最近更新时间:2018-07-10 18:37:40

    七牛1:N人脸比对服务可对一张含有人脸的图片进行智能识别,检测出图片中的人脸后在自定义的人像库中进行人脸检索,将相似度最高的人脸作为其身份返回。整个服务由多个API接口组合而成,可实现功能包括新建人像库、删除人像库、添加人脸、删除人脸、显示全部人像库、显示人脸、人脸检索。

    使用方式

    七牛1:N人脸比对服务支持对存储在七牛云 bucket(支持华东、华北和华南 bucket)或 非七牛云 bucket的图片进行智能识别。目前支持的图片格式有 png、jpg 和 bmp。

    组合接口信息

    接口名称 请求路径 请求方式 接口功能
    新建人像库 /v1/face/group/<id>/new POST 创建一个新的人像库并将人脸信息存入库中,返回录入人像库的人脸唯一标识。
    删除人像库 /v1/face/group/<id>/remove POST 删除指定的人像库,如果人像库中含有人脸也一并删除。
    添加人脸 /v1/face/group/<id>/add POST 在指定人像库中添加人脸,返回新添加的人脸唯一标识
    删除人脸 /v1/face/group/<id>/delete POST 删除指定人像库中的一个或多个人脸
    显示所有人像库 /v1/face/group GET 显示所有创建的人像库的唯一ID
    显示人脸 /v1/face/group/<id> GET 显示指定的人像库中的所有人脸
    人脸搜索 /v1/face/group/<id>/search POST 将输入图片中检测到的人脸在指定人像库中进行检索,并返回相似度最高的人脸。请求图片中人脸不能小于60* 60。

    请求域名

    HOST: argus.atlab.ai
    

    具体调用方式及示例

    新建人像库

    创建一个新的人像库并将人脸(包括人脸图片和姓名信息)存入库中,返回录入人像库的人脸唯一标识。

    请求语法

    POST /v1/face/group/<id>/new  Http/1.1
    Content-Type: application/json
    Authorization: Qiniu <AccessKey>:<Sign>
    
    {
        "data": [
            {
                "uri": "http://xx.com/xxx",
                "attribute": {
                    "id": <id>,
                    "name": <name>,
                    "mode": <mode>
                }
            },
            {
                "uri": "http://xx.com/xxx",
                "attribute": {
                    "id": <id>,
                    "name": <name>,
                    "mode": <mode>
                }
            }
        ]
    }
    

    注意: 需要在 POST 请求的 head 部分添加七牛鉴权,以进行用户身份验证。

    请求字段说明:

    字段 取值 是否必选 说明
    id string Y 人像库的唯一标识
    uri string Y 人脸图片的资源地址
    attribute.id string N 自定义人脸ID,用于返回信息中的人脸id
    attribute.name string Y 人物姓名
    attribute.model string N 人脸选择策略,可以设置为 SINGLE(只允许图片里面出现单张人脸,否则API返回错误) 或者 LARGEST(如果存在多张人脸,使用最大的人脸),不填默认 SINGLE,人脸不能小于50*50

    响应语法

    200 OK
    Content-Type: application/json
    
    {
        "faces": [
            <face_id>,
            "",
            ...
        ],
        "errors": [
            null,
            {
                "code": xxx,
                "message": "xxx"
            },
            ...
        ]
    }
    
    

    返回字段说明:

    字段 取值 说明
    faces list 录入的所有人脸列表
    face_id str 人脸ID(如果请求时为未定义人脸ID,则返回系统指定人脸唯一标识)
    code int 错误码
    message string 结果描述信息

    返回示例

    200 ok
    {
        "errors": [
            null, 
            null
        ], 
            "faces": [
            "1101", 
            "BwAAAPlKBne7rDMV"
        ]
    }
    

    删除人像库

    删除指定的人像库,如果人像库中含有人脸也一并删除。

    请求语法

    POST /v1/face/group/<id>/remove  Http/1.1
    Authorization: Qiniu <AccessKey>:<Sign>
    
    

    注意: 需要在 POST 请求的 head 部分添加七牛鉴权,以进行用户身份验证。

    请求字段说明:

    字段 取值 是否必选 说明
    id string Y 人脸库的唯一标识

    响应语法

    200 ok
    
    {}
    
    

    注意: 删除成功响应内容为空。

    添加人脸

    在指定人像库中添加人脸,返回新添加的人脸唯一标识

    请求语法

    POST /v1/face/group/<id>/add  Http/1.1
    Content-Type: application/json
    Authorization: Qiniu <AccessKey>:<Sign>
    
    {
        "data": [
            {
                "uri": "http://xx.com/xxx",
                "attribute": {
                    "id": <id>,
                    "name": <name>,
                    "mode": <mode>
                }
            },
            {
                "uri": "http://xx.com/xxx",
                "attribute": {
                    "id": <id>,
                    "name": <name>,
                    "mode": <mode>
                }
            }
        ]
    }
    

    注意: 需要在 POST 请求的 head 部分添加七牛鉴权,以进行用户身份验证。

    请求字段说明:

    字段 取值 是否必选 说明
    id string Y 人像库的唯一标识
    uri string Y 人脸图片的资源地址
    attribute.id string N 自定义人脸ID,用于返回信息中的人脸id
    attribute.name string Y 人物姓名
    attribute.model string N 人脸选择策略,可以设置为 SINGLE(只允许图片里面出现单张人脸,否则API返回错误) 或者 LARGEST(如果存在多张人脸,使用最大的人脸),不填默认 SINGLE,人脸不能小于50*50

    响应语法

    200 OK
    Content-Type: application/json
    
    {
        "faces": [
            <face_id>,
            "",
            ...
        ],
        "errors": [
            null,
            {
                "code": xxx,
                "message": "xxx"
            },
            ...
        ]
    }
    
    

    返回字段说明:

    字段 取值 说明
    faces list 录入的所有人脸列表
    face_id str 人脸ID(如果请求时为未定义人脸ID,则返回系统指定人脸唯一标识)
    code int 错误码
    message string 结果描述信息

    返回示例

    200 ok
    {
         "errors": [
            null, 
            null
        ], 
            "faces": [
            "1101", 
            "BwAAAOmYlLcarjMV", 
            "1102", 
            "1103"
        ]
    }
    

    删除人脸

    删除指定人像库中一个或多个人脸

    请求语法

    POST /v1/face/group/<id>/delete  Http/1.1
    Content-Type: application/json
    Authorization: Qiniu <AccessKey>:<Sign>
    
    {
        "faces":[
            <face_id>,
            ...
        ]
    }
    
    

    注意: 需要在 POST 请求的 head 部分添加七牛鉴权,以进行用户身份验证。

    请求字段说明:

    字段 取值 是否必选 说明
    id string Y 需要删除的人脸所在人像库的唯一标识
    face_id string Y 需要删除的人脸ID

    响应语法

    200 ok
    
    {
        "code": 0,
        "message": "",
    }
    

    注意: 删除成功响应内容为空。

    显示所有的人像库

    显示所有已建立的人像库的唯一id

    请求语法

    GET /v1/face/group  Http/1.1
    Authorization: Qiniu <AccessKey>:<Sign>
    
    

    注意: 需要在 POST 请求的 head 部分添加七牛鉴权,以进行用户身份验证。

    响应语法

    200 ok
    
    {
        "code": 0,
        "message": "",
        "result": [
            <id>,
            ...
        ]
    }
    

    返回字段说明:

    字段 取值 说明
    code int 0:表示正确
    message string 结果描述信息
    id string 人像库唯一标识

    响应示例:

    {
        "code": 0, 
        "message": "", 
        "result": [
            "1",
            "2"
        ]
    }
    
    

    显示人脸

    显示指定的人像库中的所有人脸

    请求语法

    GET /v1/face/group/<id>  Http/1.1
    Authorization: Qiniu <AccessKey>:<Sign>
    
    

    注意: 需要在 POST 请求的 head 部分添加七牛鉴权,以进行用户身份验证。

    请求字段说明:

    字段 取值 是否必选 说明
    id string Y 人像库的唯一标识

    响应语法

    200 ok
    
    {
        "code": 0,
        "message": "",
        "result": [
            {
                "id": <id>,
                "value": {
                    "name": "xx"
                }
            },
            ...
        ]
    }
    

    返回字段说明:

    字段 取值 说明
    code int 0:表示正确
    message string 结果描述信息
    id string 人脸ID
    value.name string 人物姓名

    响应示例

    {
        "code": 0, 
        "message": "", 
        "result": [
            {
                "id": "1101", 
                "value": {
                    "name": "jack"
                }
            }, 
            {
                "id": "BwAAAGC9vHa7rDMV", 
                "value": {
                    "name": "anne"
                }
            }, 
                    {
                "id": "1102", 
                "value": {
                    "name": "jessica"
                }
            }
        ]
    }
    
    

    人脸库搜索

    将输入图片中检测到的所有人脸在指定人像库中进行检索,并返回相似度最高的人脸。请求图片中人脸不能小于60* 60。

    请求语法

    POST /v1/face/group/<id>/search Http/1.1
    Content-Type: application/json
    Authorization: Qiniu <AccessKey>:<Sign>
    
    {
        "data": {
            "uri": "http://xx.com/xxx"
        }
    }
    

    注意: 需要在 POST 请求的 head 部分添加七牛鉴权,以进行用户身份验证。

    请求字段说明:

    字段 取值 是否必选 说明
    id string Y 人像库的唯一标识
    uri string Y 图片资源地址

    响应语法

    200 ok
    
    {
        "code": 0,
        "message": "",
        "result": {
            "detections": [
                {
                    "boundingBox":{
                        "pts": [[1213,400],[205,400],[205,535],[1213,535]],
                        "score":0.998
                    },
                    "value": {
              "name": "",  
                        "score":0.9998
                    }
                }
            ]
        ...
        }
    }
    

    返回字段说明:

    字段 取值 说明
    code int 0:表示正确
    message string 结果描述信息
    boundingBox map 人脸边框信息
    boundingBox.pst list[4] 人脸边框在图片中的位置[左上,右上,右下,左下]
    boundingBox.score float 人脸位置检测准确度
    value.name string 检索得到的人脸姓名
    value.score float 0~1,检索结果的置信度,1为确定

    响应示例:

     {
        "code": 0, 
        "message": "", 
        "result": {
            "detections": [
                {
                    "boundingBox": {
                        "pts": [
                            [
                                189, 
                                117
                            ], 
                            [
                                352, 
                                117
                            ], 
                            [
                                352, 
                                346
                            ], 
                            [
                                189, 
                                346
                            ]
                        ], 
                        "score": 0.99974865
                    }, 
                    "value": {
                        "name": "anne", 
                        "score": 0.7573377
                    }
                }, 
                {
                    "boundingBox": {
                        "pts": [
                            [
                                554, 
                                184
                            ], 
                            [
                                718, 
                                184
                            ], 
                            [
                                718, 
                                429
                            ], 
                            [
                                554, 
                                429
                            ]
                        ], 
                        "score": 0.9997271
                    }, 
                    "value": {
                        "name": "jessica", 
                        "score": 0.4404112
                    }
                }
            ]
        }
    }
    
    

    服务价格

    总调用量P 费用
    单位:万张 单价(元/百张)
    0 < P ≤ 500 0.19
    500 < P ≤ 1500 0.18
    1500 < P ≤ 3000 0.17
    P > 3000 0.16

    注意:人像库在50万张以内不收底库费用,如底库超过50万张请找销售与我们联系。

    计费示例

    某公司2018年5月使用七牛云1:N人脸比对别服务,共发起500万张请求,
    则当月使用七牛云1:N人脸比对服务产生的费用为:

    确定的结果产生费用:0.19元/百张 * 500万张 = 9500 元

    总计费用:9500 元

    以上内容是否对您有帮助?
  • 提交工单