物料陈列检测

更新时间:
复制 MD 格式

物料陈列检测是基于多模态大模型(MLLM)构建的门店营销物料合规智能检测能力,面向线下零售 / 渠道门店的营销物料巡检场景。针对门店实拍图中的功能台卡、海报、门型展架等标准物料,以及灯布、KT 板、地贴、灯箱等长尾物料,按巡检规则做自然语言级合规判定,输出可直接对接业务系统的结构化结论与中文证据描述。同步调用,单次请求即返回结果。

适用场景

  • 门店营销物料合规巡检:自动判定门店内是否按总部下发的标准陈列指引摆放 / 张贴指定营销物料(功能台卡、海报、门型展架等),识别「未摆放、摆放错误、内容不符」等典型问题。

  • 新品 / 活动期素材落地核验:新品发布或大促活动期间,对门店实拍图中的活动物料是否已按要求上架进行批量自动核验,替代人工抽检。

  • 双图比对与单图检测自适应:同一接口同时支持「参考图 + 目标图」双图比对(模式 A)与「仅目标图」单图检测(模式 B),根据是否传入 ImageRefer 自动切换,调用方无需区分调用方式。

功能介绍

  • 多模式智能路由:内置物料类型解析能力,基于 Rules 自然语言文本自动识别目标物料类型,路由至对应的素材检测链路;调用方仅需传入图像 URL 与规则文本。目前已支持「功能台卡」「海报」「门型展架」「其他素材」4 套检测项路由,后续将持续增加细分营销物料类型的检测链路。

  • MLLM 语义级理解 + 规则结构化协同:采用多模态大模型完成物料识别、内容比对、文字 OCR 等语义级理解,配合规则清洗与结构化模型将自然语言规则拆解为可逐条判定的步骤(S1 / S2…),在保证准确率的同时兼顾规则灵活性与可追溯性。

  • 结构化审核结论输出:输出统一为 Result.OverallResult + Result.Steps[] + Result.Evidence 的结构,整体结论由各步骤逻辑 AND 得出,每条步骤独立可见,便于直接驱动下游业务系统并支持 case 级人审追溯。

  • 支持的输入格式:当前支持公网可访问的图像 URL;支持单图(模式 B)与双图(模式 A)两种调用形态,输出结构完全一致。

调用方式

  • 同步调用:单次请求即返回检测结果,无需轮询。响应为 Code / Message / RequestId / Success / Data 统一信封。

  • 鉴权与签名:经 Aidge 网关调用,鉴权、签名与公共参数遵循平台统一接入方式。具体请求路径以正式发布的接口文档为准。

  • 超时设置:建议将请求超时设置为不低于接口的最长响应时间(具体值以正式发布为准)。

请求参数

参数名

类型

必填

说明

ImageUrl

String

目标图(待检测门店实拍图)URL,需公网可访问。

ImageRefer

String

标准参考图 URL。传入则自动启用模式 A(双图比对);不传或为空则走模式 B(单图检测)

Rules

String

巡检规则文本,支持自然语言;多条规则换行分隔。不可与 ApiId 同时为空(二者至少传一个)。示例见下方「请求示例」。

ReqId

String

调用方自定义请求 ID,用于链路追踪,原样回传在 Result.ReqId

ApiId

String

如需指定自定义版本的 API 可传此参数:若在试用阶段创建过「我的 API」,可通过产品后台「智能巡检 - API 管理 - 我的 API」查询对应功能的 ApiId。不可与 Rules 同时为空(二者至少传一个)。

请求示例

RulesApiId 不可同时为空,二者至少传一个:传 Rules 用本次请求内的自然语言规则;传 ApiId 则复用「我的 API」中已保存的自定义规则配置。

模式 A(双图比对)+ 传 Rules

{
  "ImageUrl": "https://xxx.com/store_photo.jpg",
  "ImageRefer": "https://xxx.com/standard_refer.jpg",
  "Rules": "检测图片是否存在\"功能台卡\"(功能台卡一般是指用于辅助产品展示、摆放在中柜或体验台上、含有产品介绍插页的亚克力材质台卡,注意价签、标牌、海报等不属于功能台卡),符合则回复\"是\",不符合则回复\"否\"。\n台卡上需展示「Y300」机型,符合则回复\"是\",不符合则回复\"否\"。",
  "ReqId": "req-20240611-001"
}

模式 B(单图检测)+ 传 ApiId(复用自定义 API)

{
  "ImageUrl": "https://xxx.com/store_photo.jpg",
  "ImageRefer": "",
  "ReqId": "req-20240611-002",
  "ApiId": "XXXXXX"
}

使用 Rules 时,建议直接写明物料类型名(功能台卡 / 海报 / 门型展架),系统据此路由到对应专用检测链路;若识别不出这三类,会走兜底通用检测链路(仍会检测并返回结果,Type 可能为实际物料名或「未知物料」)。

响应参数

顶层信封

字段

类型

说明

Code

String

状态码,success 表示成功。

Message

String

说明信息。

Success

Boolean

是否成功。

RequestId

String

请求追踪 ID。

Data

Object

业务数据,含 Result(检测结果对象)与 UsageMap(处理计数,形如 {"ProcessingCount": 1},恒有)。

Data.Result 内部结构

字段路径

类型

含义与约束

Result.ReqId

String

原样回传调用方传入的 ReqId,用于链路追踪;入参未传则为空串 ""

Result.OverallResult

String

整条规则的整体判定,取值 "True" / "False"。等于 Steps 中所有 Result 的逻辑 AND;为字符串字面量(非布尔)。

Result.Type

String

本次实际识别出的目标物料类型名(如功能台卡 / 海报 / 门型展架 / 灯布 / 未知物料)。单值字符串(无顿号、数组或修饰前后缀);无法识别时为「未知物料」,此时 S1 必为 "False"

Result.Steps

Array

步骤结果数组,每项含 StepIdResult,与规则拆解出的步骤一一对齐;顺序一致,不缺、不多、不重排。

Result.Steps[].StepId

String

步骤 ID,S1 / S2 / …,与规则步骤对齐。

Result.Steps[].Result

String

该步骤的判定结果,取值 "True" / "False"(字符串字面量)。

Result.Evidence

String

检测依据的视觉证据,简短中文(建议 ≤ 100 字)。严格基于图片观察,禁止编造;位置描述并入此字段;引用图中字样用中文引号「」。

响应示例

模式 B — 命中且合规

{
  "Data": {
    "UsageMap": { "ProcessingCount": 1 },
    "Result": {
      "Steps": [
        { "StepId": "S1", "Result": "True" },
        { "StepId": "S2", "Result": "True" }
      ],
      "Evidence": "中央体验台中部摆放一块亚克力功能台卡,可见独立产品插页结构;插页画面清晰识别到「Y300」机型字样,精确匹配",
      "ReqId": "req-20240611-001",
      "OverallResult": "True",
      "Type": "功能台卡"
    }
  },
  "RequestId": "65B3FEBD-43B4-1195-9285-C814C767B641",
  "Message": "Success",
  "Code": "success",
  "Success": true
}

模式 B — 目标素材不存在

{
  "Data": {
    "UsageMap": { "ProcessingCount": 1 },
    "Result": {
      "Steps": [
        { "StepId": "S1", "Result": "False" },
        { "StepId": "S2", "Result": "False" }
      ],
      "Evidence": "未发现独立落地的门型展架;店内仅有墙面海报与桌面台卡,均不属于门型展架定义范围",
      "ReqId": "req-20240611-002",
      "OverallResult": "False",
      "Type": "门型展架"
    }
  },
  "RequestId": "7B2EECC1-ABEC-1B84-956A-A452217A18C9",
  "Message": "Success",
  "Code": "success",
  "Success": true
}

模式 A(双图比对)— 结构与模式 B 完全一致,无额外字段

{
  "Data": {
    "UsageMap": { "ProcessingCount": 1 },
    "Result": {
      "Steps": [
        { "StepId": "S1", "Result": "True" },
        { "StepId": "S2", "Result": "True" }
      ],
      "Evidence": "目标图玻璃门左侧张贴一张产品海报;与参考图比对,构图、配色、产品布局一致,海报中部清晰识别到「S20系列」字样",
      "ReqId": "req-20240611-003",
      "OverallResult": "True",
      "Type": "海报"
    }
  },
  "RequestId": "C77486A5-9BA2-1FDE-90CD-C5423DAE57AD",
  "Message": "Success",
  "Code": "success",
  "Success": true
}

非三类物料(走兜底通用检测)— 仍返回正常结构

{
  "Data": {
    "UsageMap": { "ProcessingCount": 1 },
    "Result": {
      "Steps": [
        { "StepId": "S1", "Result": "False" }
      ],
      "Evidence": "图片为门店外天空与招牌特写,画面内未识别到规则要求的目标物料",
      "ReqId": "req-20240611-004",
      "OverallResult": "False",
      "Type": "未知物料"
    }
  },
  "RequestId": "150F10E9-CF63-1849-91C8-BE8B41D37C13",
  "Message": "Success",
  "Code": "success",
  "Success": true
}

物料类型与路由

系统按规则文本识别目标物料类型并路由到对应检测链路。当前已支持 功能台卡 / 海报 / 门型展架 三类专用检测链路,以及「其他素材」兜底通用检测链路:

物料类型

说明

功能台卡

用于辅助产品展示、摆放在中柜或体验台上、含有产品介绍插页的亚克力材质台卡。注意价签、标牌、海报等不属于功能台卡。

海报

张贴于墙面 / 橱窗 / 玻璃门的印刷宣传画面。

门型展架

双立柱 + 顶横梁封闭框架、落地放置的展示物料。

其他素材

规则未写明、或系统识别不出上述三类时,走兜底通用检测链路:仍会检测并返回标准结构,Type 为实际物料名(如灯布、KT 板、地贴、灯箱等)或「未知物料」。

建议在规则文本中直接写明物料类型名,以便路由到对应专用检测链路、获得更高准确率。

使用建议

  • 规则撰写:用自然语言直接描述,明确「什么物料 + 在哪里 + 什么状态」;复合规则建议拆成多条(每条对应一个 S 步骤),结果更稳定、更易追溯。

  • 物料类型名:规则里直接写明功能台卡 / 海报 / 门型展架,触发对应专用检测链路。

  • 一图一请求:建议每张门店实拍图独立提交一次调用,避免单请求多图导致模型注意力分散;多角度拍摄建议按区域分拆。

  • 图片质量:图片需公网可访问;物料在画面中占比越大、画面越清晰,识别准确率越高。

错误码

错误码参照 Aidge 平台统一错误码

计费方式

按调用次数计费,0.05 元 / 次(暂定),最终以产品计费为准。