件重尺审核

更新时间:
复制为 MD 格式

面向电商物流"件重尺"环节的包裹合规性智能复核。基于 MLLM + 专用 CV 协同:MLLM 做语义场景理解与异物识别,专用包裹分割 + IoU 评估模型做框选贴合度量化。输入扫描台拍摄的原图 + 带人工框选的标注图,输出布尔型审核结论与中文原因。异步调用:提交任务后通过统一异步查询接口轮询结果。

定位与适用场景

物流仓库的"件重尺"环节,作业员在扫描台上拍照并人工框选包裹,得到的图像须满足三类合规:框得不能过大(含背景)、不能过小(截断包裹)、扫描区不能混入异物(手指 / 键盘 / 标签机 / 辅助工具)。

本接口替代或辅助人工外包审核,适用场景:

  • 入库质检流水线:新品入库 SOP 的件重尺自动复核,配合 ERP 实时拦截不合规件。

  • 多采集环境统一处理:白色背景板 + 蓝色框选 / 绿色背景板 + 蓝红双框两种主流采集模式,本接口自动识别背景与框选类型,调用方无需指定。

  • 通用框-主体审核:商品拍照素材的边界框审核、单据扫描质量校验等场景同样适用。

模型架构

  • 多模态大模型(MLLM):完成语义级场景理解(识别背景 + 框选样式)、异物识别(区分包裹与手指 / 键盘等非作业目标)。

  • 专用 CV 模型:完成像素级包裹分割 + 框选与分割结果的 IoU 计算,量化"框选过大 / 过小"。

  • 智能路由:根据 MLLM 输出的场景标签,将请求路由至对应子流程,平衡推理时延与准确率。

接口

异步:提交任务获取 TaskId,再通过统一异步查询接口(QueryAsyncTaskResult)轮询结果。具体提交端点详见正式发布的接口文档。

快速开始(待定)

import json
import time

# 1. 提交审核任务
submit_data = json.dumps({
    "RawImageUrl": "https://example.com/raw.jpg",
    "AnnotatedImageUrl": "https://example.com/annotated.jpg"
})
submit_resp = make_signed_request("<package_audit_submit_endpoint>", submit_data)
task_id = submit_resp["Data"]["TaskId"]

# 2. 轮询查询任务结果(共用 QueryAsyncTaskResult 接口)
while True:
    query_data = json.dumps({"TaskId": task_id})
    query_resp = make_signed_request("/rest/ai/task/queryTaskResult", query_data)
    status = query_resp["Data"]["Status"]
    if status == "COMPLETED":
        # Data.Result 为对象,含 result / info
        result_obj = query_resp["Data"]["Result"]
        print("审核结果:", result_obj["info"], "通过" if result_obj["result"] else "不通过")
        break
    elif status == "FAILED":
        print("任务失败")
        break
    time.sleep(5)

请求参数

参数

类型

必填

说明

RawImageUrl

String

原始图像 URL:包裹在扫描台上的未标注拍摄图,需公网可访问。要求:PNG / JPEG / JPG 格式;分辨率 ≤ 4000×4000;文件 ≤ 10 MB。

AnnotatedImageUrl

String

人工框选标注的图像 URL:原图基础上叠加了蓝色 / 红色矩形框选线条,需公网可访问。要求同 RawImageUrl

响应字段

提交接口响应

提交接口返回任务 ID。后续通过统一异步结果查询接口轮询,状态为 COMPLETED 时取 Data.Result(对象,含 result / info)。

{
  "Data": {
    "TaskId": "a8323ada-a196-9061-976f-90e38b27323a"
  },
  "RequestId": "F93D82E4-D0B6-1043-AC58-282597BC3C10",
  "Message": "Success",
  "Code": "success",
  "Success": true
}

查询任务结果(COMPLETED 状态)

{
  "Data": {
    "Status": "COMPLETED",
    "UsageMap": { "ProcessingCount": "1" },
    "TaskId": "a8323ada-a196-9061-976f-90e38b27323a",
    "Result": {
      "info": "审核通过",
      "result": true
    }
  },
  "RequestId": "BB79D551-60FA-16FB-A78C-88B0A881BEC4",
  "Message": "Success",
  "Code": "success",
  "Success": true
}

注意:查询接口的 Data.Result对象,可直接读取,含 result(boolean)、info(string) 两个字段。

字段

类型

说明

Code

String

业务状态码。成功为 success

Message

String

报错信息。成功时为 "Success"

Success

Boolean

本次调用是否成功。

RequestId

String

请求唯一标识。

Data.TaskId

String

异步任务 ID(仅提交接口返回)。后续通过 QueryAsyncTaskResult 查询。

Data.Status

String

任务状态:QUEUED / IN_PROGRESS / COMPLETED / FAILED(仅查询接口返回)。

Data.Result

Object

审核结果对象,可直接读取,含 resultinfo 两个字段(见下方 Data.Result.*)。

Data.Result.result

Boolean

审核结论:true 通过、false 不通过。可直接对接业务系统的拦截开关。

Data.Result.info

String

审核结论的中文描述。取值见下方"审核结论枚举"。

Data.UsageMap.ProcessingCount

Number

本次处理次数。

审核结论枚举(Data.Result.info)

Info 取值

Result

含义

审核通过

true

框选合规、无异物干扰。

审核不通过:框选过大

false

框选范围明显超出包裹边界,含较多背景。

审核不通过:框选过小

false

框选范围截断包裹,未覆盖完整边界。

审核不通过:存在异物

false

扫描区域内混入手指、键盘、标签机、辅助工具等非作业目标。

支持的审核维度

维度名称

字段标识

说明

框选有效性

is_properly_circled

判定人工框选是否构成包裹的最小有效边界矩形,识别"框选过大"与"框选过小"两类异常。

背景异物干扰

has_foreign_object

判定扫描区域内是否混入手指、键盘、标签机、辅助工具等非作业目标物。

支持的采集场景

服务端会从 AnnotatedImageUrl 自动识别采集场景,调用方无需手动指定

场景

背景板

框选样式

说明

无框选

任意

未叠加任何人工框选线条,按通过处理。标识:no_annotation

白底蓝框

白色

蓝色单框

主流单框采集模式。标识:white_blue

绿底双框

绿色

蓝色 + 红色双框

主流双框采集模式(蓝框 = 外接矩形,红框 = 最小矩形)。标识:green_blue_red

完整示例

请求示例

{
  "RawImageUrl": "https://example.com/package-raw.jpg",
  "AnnotatedImageUrl": "https://example.com/package-annotated.jpg"
}

响应示例

{
  "Code": "success",
  "Message": "Success",
  "Success": true,
  "RequestId": "2157065A-D6C8-1F3E-A4D0-B1234567890",
  "Data": {
    "Status": "COMPLETED",
    "TaskId": "a8323ada-a196-9061-976f-90e38b27323a",
    "UsageMap": { "ProcessingCount": "1" },
    "Result": {
      "info": "审核不通过:框选过大",
      "result": false
    }
  }
}

使用建议

  • RawImageUrl 与 AnnotatedImageUrl 务必同源:两张图必须来自同一次拍摄,仅差异在是否叠加框选。否则 IoU 计算偏差会导致误判。

  • 分辨率与采样:扫描台输出图通常 1920×1080 即可。过大的图(接近 4000×4000)推理时延变长,建议先做客户端缩放。

  • 不通过后的工作流:建议在 ERP 端按 Info 文本做分流——"框选过大 / 过小"提醒重新框选;"存在异物"提醒清理扫描区。

  • 统计与回溯:保留 RequestId 至业务日志,便于按"日 / 仓 / 作业员"汇总不通过率,定位 SOP 优化点。

错误码

错误码

触发场景

InvalidParameter

两个 URL 至少一个不可访问 / 图片格式或分辨率不在范围 / 文件超过 10 MB。

InputContentBlocked

输入图片触发内容安全审核。

DownstreamUnavailable

图片下载失败 / 下游模型暂时不可用。建议指数退避后重试。

FreeQuotaExhausted

试用额度已耗尽。

InternalError

服务端内部错误。请保留 RequestId 联系技术支持。

完整错误码列表参见错误码。

使用限制

  • 调用模式:异步(提交 + 查询)。QPS 上限以正式发布的产品文档为准。

  • 输入图片:PNG / JPEG / JPG;分辨率 ≤ 4000×4000;文件 ≤ 10 MB;公网可访问。

  • 计费:按 ProcessingCount 计次。详见产品计费。

后续步骤

  • 错误码 -- 错误码完整释义。

  • 频率限制 -- 各 API QPS 上限与提升通道。