
# Pangu-CV-图像分类-2.1.0
#### 功能介绍
根据在图像信息中所反映的不同特征，对图像进行定量分析，把图像划归为若干个类别中的某一种。适用于动植物分类、车辆类型分类、车牌分类、废钢定级、零部件分类等任务。
![](https://support.huaweicloud.com/api-pangulm/public_sys-resources/note_3.0-zh-cn.png)
服务调用方式：
- 支持图片推理。
- 图片推理支持在线和边缘部署。
 
#### 授权信息
账号具备所有API的调用权限，如果使用账号下的IAM用户调用当前API，该IAM用户需具备调用API所需的权限，具体权限要求请参见[权限和授权项](https://support.huaweicloud.com/productdesc-pangulm/pangulm_01_0020.html)。
#### URI
POST /v1/{project_id}/infer-api/proxy/service/{deployment_id}/
获取URI方式请参见[请求URI](https://support.huaweicloud.com/api-pangulm/pangulm_05_0004.html)。
表1推理接口路径参数 
| 参数            | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                 |
|:---|:---|:---|:---|
| project_id    | 是    | String | **参数解释：** 项目ID，获取方法请参见[获取项目ID](https://support.huaweicloud.com/api-pangulm/pangulm_05_0021.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及               |
| deployment_id | 是    | String | **参数解释：** 模型的部署ID，获取方法请参见[获取模型部署ID](https://support.huaweicloud.com/api-pangulm/pangulm_05_0023.html)。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
   
#### 请求参数
使用[Token认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section94702116509)方式的请求Header参数见[表2]。
 表2请求Header参数（Token认证） 
| 参数           | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      |
|:---|:---|:---|:---|
| X-Auth-Token | 是    | String | **参数解释：** 用户Token。 用于获取操作API的权限。如[图4](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__fig10797003103)中响应消息头中X-Subject-Token的值即为Token。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| Content-Type | 是    | String | **参数解释：** 发送的实体的MIME类型。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** application/json                                                                                                                                                              |
   
使用[API Key认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section148602501261)方式的请求Header参数见[表3]。
 表3请求Header参数（API Key认证） 
| 参数             | 是否必选 | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                         |
|:---|:---|:---|:---|
| X-Apig-AppCode | 是    | String | **参数解释：** API Key值。 用于获取操作API的权限。[API Key认证](https://support.huaweicloud.com/api-pangulm/pangulm_05_0009.html#pangulm_05_0009__section148602501261)响应消息头中X-Apig-AppCode的值即为API Key。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及 |
| Content-Type   | 是    | String | **参数解释：** 发送的实体的MIME类型。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** application/json                                                                                                                                                                                  |
   
表4请求Body参数 
| 参数        | 是否必选 | 参数类型                  | 描述                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                |
|:---|:---|:---|:---|
| images    | 是    | String/List\[String\] | **参数解释：** 被检测图片的base64编码。 **约束限制：** - 建议单次请求体大小不超过4M。  - 建议使用JPG、PNG、JPEG、BMP格式的图片。  - 默认只支持RGB三通道图片数据，其他通道的数据暂不支持。  - 单张图片请求时，参数类型为String，为图片的base64编码；批量请求时，参数类型为List\[String\]，以列表形式存放各图片的base64编码，单次请求不超过24张。   **取值范围：** 不涉及 **默认取值：** 不涉及 |
| mode      | 否    | String                | **参数解释：** 取值为"single"或者"multiple"，分别表示单标签分类和多标签分类模式，二者取一，默认设置为训练得到的模型对应的模式。 **约束限制：** 不涉及 **取值范围：** - single：单标签分类  - multiple：多标签分类   **默认取值：** 不涉及                                                                                                                                                                                                                                         |
| threshold | 否    | dict                  | **参数解释：** 多标签分类时，各标签对应的预测得分阈值，预测得分小于阈值的预测结果将会被过滤。 **约束限制：** 仅在多标签分类模式下有效。 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                       |
| top       | 否    | int                   | **参数解释：** 单标签分类时，用于规定输出top N的预测得分对应的预测结果。 **约束限制：** 仅在单标签分类模式下有效。 **取值范围：** 不涉及 **默认取值：** 不涉及                                                                                                                                                                                                                                                                                                                                                                                                                                            |
   
#### 响应参数
**状态码： 200**
响应成功返回的结构体是一个Dict，由本次请求的多张输入图像的预测结果组成，图像与图像之间通过编号（键）区分。
表5单/多标签分类响应成功Body参数 
| 参数         | 参数类型         | 描述                                                                                                                                                                                                                                                                                                                     |
|:---|:---|:---|
| 键          | String       | **参数解释：** 输入图像的顺序编号，从"0"开始，最大不超过"23"。 **约束限制：** 不涉及 **取值范围：** 0-23 **默认取值：** 不涉及 |
| 值          | List\[Dict\] | **参数解释：** 当前编号的图像对应的预测结果。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及          |
| dataset_id | String       | **参数解释：** 训练数据集ID。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                  |
   
其中，每张图像的预测结果参数类型为List\[Dict\]，表示预测得到的一个或多个类别，每个Dict的参数内容请参考[表6]。
 表6单张图像的单个类别预测结果参数 
| 参数    | 参数类型   | 描述                                                                                                                                                                                                                                                                                                                              |
|:---|:---|:---|
| label | String | **参数解释：** 预测的类别，与训练数据中定义的类别相同。 **约束限制：** 不涉及 **取值范围：** 不涉及 **默认取值：** 不涉及                 |
| score | String | **参数解释：** 预测的置信度结果，输出每个标签对应的预测得分，得分区间为0至1。 **约束限制：** 不涉及 **取值范围：** 0-1 **默认取值：** 不涉及 |
   
**状态码： 400**
表7响应失败Body参数 
| 参数         | 参数类型   | 描述    |
|:---|:---|:---|
| error_code | String | 错误码。  |
| error_msg  | String | 错误信息。 |
   
#### 请求示例
单图请求示例：
```
{
  "images": "/9j/4Vr2RXhpZgAASUkqAAgAAA.....",
}
```
批量请求示例（单次请求批次上限为24张图）：
```
{
  "images": ["/9j/4Vr2RXhpZgAASUkqAAgAAA.....", "/9j/4RIrRXhpZgAATU......"]
}
```
带高级参数的单标签分类请求示例：
```
{
  "images": ["/9j/4Vr2RXhpZgAASUkqAAgAAA.....", "/9j/4RIrRXhpZgAATU......"],
  "top": 3
}
```
带高级参数的多标签分类请求示例：
```
{
  "images": ["/9j/4Vr2RXhpZgAASUkqAAgAAA.....", "/9j/4RIrRXhpZgAATU......"],
  "threshold": 
  {
    "bird": 0.33,
    "blackbird": 0.44
  }
}
```
#### 响应示例
响应返回一个字典，键为本次请求的输入图像的编号，对输入的图像按顺序从0开始编号；值为一个列表，列表里为该图像的预测结果，每张图像可能存在多个预测结果（例如多标签分类模式）。
```
{
    "0": [
        {
            "label": "bird",
            "score": "0.95511043"
        },
        {
            "label": "blackbird",
            "score": "0.75241840"
        },
    ],
    "1": [
        {
            "label": "bird",
            "score": "0.36211243"
        }
    ],
    "dataset_id": "1341002014632579072"
}
```
#### 状态码
请参见[状态码](https://support.huaweicloud.com/api-pangulm/pangulm_05_0019.html)。
#### 错误码
请参见[错误码](https://support.huaweicloud.com/api-pangulm/pangulm_05_0020.html)。
