你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn。
货架产品识别(预览版):使用预先训练的模型分析货架图像
重要
此功能现已弃用。 2025 年 3 月 31 日,Azure AI 图像分析 4.0 自定义图像分类、自定义对象检测和产品识别预览 API 将停用。 该日期之后,对这些服务的 API 调用会失败。
要确保模型顺利运行,请转换到现已正式发布的 Azure AI 自定义视觉。 自定义视觉可提供与这些即将停用的功能相似的功能。
若要开始使用产品识别,最快的方法是使用内置的预先训练 AI 模型。 使用产品识别 API,你可以上传货架图像并获取产品和空隙的位置。
注意
图像中显示的品牌不属于 Microsoft,不表示品牌所有者对 Microsoft 或 Microsoft 产品任何形式的认可,也不表示 Microsoft 对品牌所有者或其产品的认可。
先决条件
- Azure 订阅 - 免费创建订阅
- 获取 Azure 订阅后,请在 Azure 门户中创建视觉资源。 它必须部署在受支持的 Azure 区域中(请参阅区域可用性)。 部署后,选择”转到资源”。
- 需要从创建的资源获取密钥和终结点,以便将应用程序连接到 Azure AI 视觉服务。 你稍后会在本指南中将密钥和终结点粘贴到下面的代码中。
- 一个具有 Blob 存储容器的 Azure 存储资源。 创建一个
- 已安装 cURL。 或者,可以使用其他 REST 平台,例如 Swagger 或 VS Code 的 REST 客户端扩展。
- 货架图像。 可以下载我们的示例图像或使用你自己的图像。 每个图像的最大文件大小为 20 MB。
分析货架图像
若要分析货架图像,请执行以下步骤:
将要分析的图像上传到 Blob 存储容器,并获取绝对 URL。
将以下
curl
命令复制到文本编辑器中。curl -X PUT -H "Ocp-Apim-Subscription-Key: <subscriptionKey>" -H "Content-Type: application/json" "<endpoint>/computervision/productrecognition/ms-pretrained-product-detection/runs/<your_run_name>?api-version=2023-04-01-preview" -d "{ 'url':'<your_url_string>' }"
必要时在命令中进行如下更改:
- 将“
<subscriptionKey>
”替换为视觉资源密钥。 - 将“
<endpoint>
”替换为视觉资源终结点。 例如:https://YourResourceName.cognitiveservices.azure.com
。 - 将“
<your_run_name>
”替换为任务队列唯一的测试运行名称。 这是异步 API 任务队列名称,你可以稍后用来检索 API 响应。 例如:.../runs/test1?api-version...
- 将
<your_url_string>
内容替换为图像的 Blob URL
- 将“
打开命令提示符窗口。
将文本编辑器中编辑的
curl
命令粘贴到命令提示符窗口,然后运行命令。
检查响应
成功的响应以 JSON 格式返回。 产品识别 API 结果在 ProductRecognitionResultApiModel
JSON 字段中返回:
"ProductRecognitionResultApiModel": {
"description": "Results from the product understanding operation.",
"required": [
"gaps",
"imageMetadata",
"products"
],
"type": "object",
"properties": {
"imageMetadata": {
"$ref": "#/definitions/ImageMetadataApiModel"
},
"products": {
"description": "Products detected in the image.",
"type": "array",
"items": {
"$ref": "#/definitions/DetectedObject"
}
},
"gaps": {
"description": "Gaps detected in the image.",
"type": "array",
"items": {
"$ref": "#/definitions/DetectedObject"
}
}
}
}
有关每个 JSON 字段的定义,请参阅以下部分。
产品识别结果 API 模型
产品识别操作的结果。
名称 | Type | 描述 | 必需 |
---|---|---|---|
imageMetadata |
ImageMetadataApiModel | 图像元数据信息,例如高度、宽度和格式。 | 是 |
products |
DetectedObject | 在图像中检测到的产品。 | 是 |
gaps |
DetectedObject | 在图像中检测到的空隙。 | 是 |
图像元数据 API 模型
图像元数据信息,例如高度、宽度和格式。
名称 | Type | 描述 | 必需 |
---|---|---|---|
width |
integer | 图像的宽度(以像素为单位)。 | 是 |
height |
integer | 图像的高度(以像素为单位)。 | 是 |
检测到的对象 API 模型
描述在图像中检测到的对象。
名称 | Type | 描述 | 必须 |
---|---|---|---|
id |
string | 检测到的对象的 ID。 | 否 |
boundingBox |
BoundingBox | 图像内部区域的边框。 | 是 |
tags |
TagsApiModel | 检测到的对象的分类置信度。 | 是 |
边框 API 模型
图像内部区域的边框。
名称 | Type | 描述 | 必需 |
---|---|---|---|
x |
integer | 区域左上角点的左坐标(以像素为单位)。 | 是 |
y |
integer | 区域左上角点的上坐标(以像素为单位)。 | 是 |
w |
integer | 从区域左上角点测得的宽度(以像素为单位)。 | 是 |
h |
integer | 从区域左上角点测得的高度(以像素为单位)。 | 是 |
图像标记 API 模型
描述标签的图像分类置信度。
名称 | Type | 描述 | 必需 |
---|---|---|---|
confidence |
FLOAT | 分类预测的置信度。 | 是 |
name |
字符串 | 分类预测的标签。 | 是 |
后续步骤
在本指南中,你已了解如何使用预先训练的产品识别 REST API 发出简单的分析调用。 接下来,请了解如何使用自定义产品识别模型更好地解决业务需求。