你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

产品识别(版本 4.0 预览版)

借助产品识别 API,可以分析零售商店中货架的照片。 可以检测产品是否存在,并获取其边界框坐标。 将其与模型自定义结合使用,以训练模型来识别特定产品。 还可以将产品识别结果与商店的货架图文档进行比较。

使用 Vision Studio 快速轻松地在浏览器中试用产品识别的功能。

Photo of a shelf with products and gaps outlined in rectangles.

注意

图像中显示的品牌不属于 Microsoft,不表示品牌所有者对 Microsoft 或 Microsoft 产品任何形式的认可,也不表示 Microsoft 对品牌所有者或其产品的认可。

重要

可以使用自定义视觉服务或图像分析 4.0 产品识别 API 训练用于产品识别的自定义模型。 下表对这两项服务进行了比较。

Areas 货架上的产品 - 自定义视觉 产品识别 – 图像分析 API/自定义
功能 自定义产品理解 图像拼接和校正、
预训练产品理解、
自定义产品理解、
陈列图匹配
基础模型 CNN Florence 转换器模型
标记 Customvision.ai AML Studio
Web 门户 Customvision.ai Vision Studio
REST、SDK REST、Python 示例
所需的最少训练数据 每个类别 15 个图像 每个类别 2-5 个图像
训练数据存储 上传到服务 客户的 blob 存储帐户
模型托管 云和边缘 仅云托管,边缘容器托管即将推出
AI 质量
contextTop-1 准确度,14 个数据集
1 次拍摄(目录)29.4
2 次拍摄57.1
3 次拍摄66.7
5 次拍摄80.8
10 次拍摄86.4
full94.9
contextTop-1 准确度,14 个数据集
1 次拍摄(目录)86.9
2 次拍摄88.8
3 次拍摄89.8
5 次拍摄90.3
10 次拍摄91.0
full95.4
定价 自定义视觉定价 图像分析定价

产品识别功能

货架图像构成

借助拼结和纠正 API,可以修改图像,以提高产品理解结果的准确度。 这些 API 可用于:

  • 将货架的多张图像拼结在一起,以形成一张图像。
  • 纠正图像,除去透视失真。

货架产品识别(预训练模型)

借助产品理解 API,可以使用现成的预训练模型分析货架图像。 此操作检测货架图像中的产品和间隙,并返回每个产品和间隙的边界框坐标及其置信度分数。

以下 JSON 响应显示了产品理解 API 返回的内容。

{
  "imageMetadata": {
    "width": 2000,
    "height": 1500
  },
  "products": [
    {
      "id": "string",
      "boundingBox": {
        "x": 1234,
        "y": 1234,
        "w": 12,
        "h": 12
      },
      "classifications": [
        {
          "confidence": 0.9,
          "label": "string"
        }
      ]
    }
  ],
  "gaps": [
    {
      "id": "string",
      "boundingBox": {
        "x": 1234,
        "y": 1234,
        "w": 123,
        "h": 123
      },
      "classifications": [
        {
          "confidence": 0.8,
          "label": "string"
        }
      ]
    }
  ]
}

货架产品识别(自定义模型)

产品理解 API 还可以与自定义训练模型一起使用,以检测特定产品。 此操作返回每个产品和间隙的边界框坐标,以及每件产品的标签。

以下 JSON 响应显示产品理解 API 与自定义模型一起使用时返回的内容。

"detectedProducts": {
  "imageMetadata": {
    "width": 21,
    "height": 25
  },
  "products": [
    {
      "id": "01",
      "boundingBox": {
        "x": 123,
        "y": 234,
        "w": 34,
        "h": 45
      },
      "classifications": [
        {
          "confidence": 0.8,
          "label": "Product1"
        }
      ]
    }
  ],
  "gaps": [
    {
      "id": "02",
      "boundingBox": {
        "x": 12,
        "y": 123,
        "w": 1234,
        "h": 123
      },
      "classifications": [
        {
          "confidence": 0.9,
          "label": "Product1"
        }
      ]
    }
  ]
}

货架计划图合规性

借助货架图匹配 API,可以将产品理解 API 的结果与货架图文档进行比较。 此操作将检测到的每个产品和间隙与货架图文档中的相应位置加以匹配。

无论是否为产品或间隙所占用,这都返回 JSON 响应,说明货架图文档中的每个位置。

{
  "matchedResultsPerPosition": [
    {
      "positionId": "01",
      "detectedObject": {
        "id": "01",
        "boundingBox": {
          "x": 12,
          "y": 1234,
          "w": 123,
          "h": 12345
        },
        "classifications": [
          {
            "confidence": 0.9,
            "label": "Product1"
          }
        ]
      }
    }
  ]
}

限制

  • 产品识别仅在 Azure 区域美国东部和美国西部 2 可用。
  • 货架图像的大小上限为 20 MB。 建议大小为 4 MB。
  • 在上传货架图像进行分析之前,建议对货架图像进行拼结和纠正
  • 使用自定义模型在产品识别中是可选操作,但对货架图匹配功能则是必需的。

后续步骤

通过尝试拼结和纠正 API 使用产品识别入门。 然后借助产品理解 API 执行基本分析。