陈列检测Pro

更新时间:
复制 MD 格式

1、产品简介

基于专用视觉模型构建的商品陈列检测产品,直接识别图片中可见商品的位置和名称。产品支持元气森林业务类型的默认识别规则,也支持调用方提供自定义规则,输出逐商品位置与名称,适用于饮料陈列巡检和商品定位展示。

2、适用场景

  1. 饮料陈列识别:使用元气森林业务类型的默认规则识别可见饮料商品。

  2. 自定义检测规则:通过 rule 指定符合输出约束的商品识别任务。

  3. 商品定位展示:将逐商品名称和位置框用于展示、统计或人工复核。

3、功能介绍

  1. 直接识别商品:每个商品输出一个位置框和名称,名称无法确定时返回 unknown。

  2. 两种规则入口:非空 rule 优先;未提供有效 rule 时,type 必须为元气森林。

  3. 统一结果校验:框坐标转整数并限制在 0–1000,反向坐标交换;名称缺失时使用 unknown;任一项不是有效商品对象、框非法或无面积时整批失败。

  4. 结果范围:当前输出检测名称和位置,不包含向量库召回、SKU 编码或相似度分数。

4、开发指南

本文请求和响应字段遵循对应搭建文档的实际大小写及结构。示例为业务工作流输入输出,不额外假设平台网关封装;对外调用地址、鉴权方式和网关封装应以实际发布接口为准。

4.1 请求参数

参数名

类型

必填

说明

imageUrl

String

是

待识别原图的 HTTPS 地址;须可访问,不含空白或 URL 用户名密码

rule

String

否

自定义识别规则;非空时优先,忽略 type

type

String

条件必填

rule 未提供或为空时,必须为 元气森林

4.2 请求示例

{
  "imageUrl": "https://example.com/images/api-09.jpg",
  "type": "元气森林"
}

示例图片地址和知识库标识(如有)为占位值,调用时替换为实际资源。

自定义规则示例:

{
  "imageUrl": "https://example.com/images/api-09.jpg",
  "rule": "定位图中可见饮料商品。只输出 JSON 数组,每项包含 bbox_2d(0–1000 整数坐标)和 sku_name(商品名称,无法确认时为 unknown)。每件商品独立一项。"
}

4.3 响应参数

通用字段:

字段路径

类型

说明

success

Boolean

调用是否成功;有效业务结论不等于审核通过

errorCode

String

成功为空字符串;失败为错误码

errorMessage

String

成功为空字符串;失败为具体错误说明

usageMap

Object

成功为 {"ProcessingCount":1};失败为空对象

usageMap.ProcessingCount

Integer

成功处理计数为 1;失败时该字段不返回

业务字段:

字段路径

类型

说明

data

Array

逐商品结果数组,成功时非空,失败时为空数组

| data[ ].idx | Integer | 商品序号,从 1 开始递增 |

| data[ ].bbox_2d | Integer[4] | [左上x,左上y,右下x,右下y],范围 0–1000,框必须有面积 |

| data[ ].detected_sku_name | String | 商品名称;名称缺失或无法确定时为 unknown |

| boxCount | Integer | 商品框数量,与 data 长度一致;失败时为 0 |

rule 直接作为模型提示词使用,应要求输出完整 JSON 数组,每项包含 bbox_2d 和非空 sku_name。默认规则识别饮料商品,不应理解为只输出单一品牌。空商品数组、无效项或无法解析的截断响应均导致失败,不保留部分商品结果。

4.4 响应示例

以下均为结构示例,非实测结果。

1)成功响应

{
  "success": true,
  "errorCode": "",
  "errorMessage": "",
  "data": [
    {
      "idx": 1,
      "bbox_2d": [
        100,
        200,
        300,
        600
      ],
      "detected_sku_name": "元气森林 气泡水"
    },
    {
      "idx": 2,
      "bbox_2d": [
        320,
        200,
        520,
        600
      ],
      "detected_sku_name": "unknown"
    }
  ],
  "boxCount": 2,
  "usageMap": {
    "ProcessingCount": 1
  }
}

参数错误响应

{
  "success": false,
  "errorCode": "InvalidParameter",
  "errorMessage": "未提供有效 rule 时,type 必须为元气森林",
  "usageMap": {},

  "data": [ ],

  "boxCount": 0
}

处理失败响应

{
  "success": false,
  "errorCode": "DownstreamUnavailable",
  "errorMessage": "未获得有效商品数组",
  "usageMap": {},

  "data": [ ],

  "boxCount": 0
}

4.5 错误码

错误码

含义

处理建议

InvalidParameter

输入不合法或识别服务明确返回业务错误

根据 errorMessage 修正参数或业务输入后重新调用

DownstreamUnavailable

鉴权、限流、超时、空响应、缺字段或解析等处理异常

根据 errorMessage 检查资源与服务状态;临时故障可稍后重试

应结合 success、errorCode、errorMessage 判断结果。源搭建文档未约定每类业务错误对应的 HTTP 状态码。平台公共错误码可参考错误码,本接口工作流错误码以上表为准。