使用 Vision API Product Search 构建商品图片搜索后端

1. 准备工作

25939f5a13eeb3c3.png

在前面的产品图片搜索学习路线中,您学习了如何针对通过产品目录中外观相似的商品调用通过 Vision API Product Search 构建的商品搜索后端。

在此 Codelab 中,您将学习如何使用商品清单构建类似的后端。

学习内容

  • 如何使用 Vision API Product Search 构建商品搜索后端
  • 如何设置 API 密钥以从移动应用访问 Vision API

所需条件

  • 启用了结算功能的 Google Cloud 帐号(可以是免费试用帐号)

2. 关于 Vision API Product Search

Vision API Product Search 是 Google Cloud 中的一项功能,可让零售商创建从一组角度直观地描述商品的参考图片。然后,零售商可以将这些商品添加到商品集中。Vision API Product Search 目前支持以下商品类别:家居用品、服饰、玩具、包装商品和一般商品。

用户使用自己的图片查询商品集时,Vision API Product Search 会应用机器学习,以比较用户查询图片中的商品与零售商商品集中的图片,然后返回在视觉和语义上类似的结果的排序列表。

3.使用 Google Cloud 构建后端

之前,在产品图片搜索学习路线中,您使用了通过 Vision API Product Search 构建的演示版商品搜索后端。请按照本教程在您的 Google Cloud 帐号中构建相同的后端:

完成本教程后,请继续执行以下步骤,设置用于从移动应用调用后端的 API 密钥。

4.设置 API 密钥

在 Vision API Product Search 快速入门中,您构建了一个可获取查询图片并返回外观相似的商品的商品搜索后端。为了从移动应用调用商品搜索 API,您需要设置 API 密钥,然后将 API 密钥限制为用于您自己的移动应用,以避免未经授权的使用。

创建 API 密钥

  1. 转到 Cloud Console > API 和服务 > 凭据。您还可以点击此网址,然后选择您在“Google 购物”快速入门中使用的项目。
  2. 选择创建凭据 > API 密钥。如果 API 密钥创建成功,您会看到以下对话框:

d0bc04782a41a698.png

记下此 API 密钥。您稍后将在此 Codelab 中使用它。

限制对 API 密钥的访问权限

看到上述提示时,选择限制密钥

按照屏幕上的说明应用这些限制:

  • “应用限制”>“Android 应用”
  • API 限制 > 限制密钥 > Cloud Vision API

5. 下载并运行移动应用

您可以下载之前使用演示版产品搜索后端的 Android 应用,并将其更改为使用您刚刚构建的新后端。

下载代码

点击下面的链接可下载本 Codelab 的所有代码:

解压下载的 ZIP 文件。该操作将打开一个根文件夹 (odml-pathway-codelab),其中包含您需要的所有资源。对于本 Codelab,您只需要 product-search/codelab2/android/final 子目录中的源代码。

该应用使用 ML Kit Object Detection and Tracking API 以及使用 Vision API Product Search 构建的演示商品搜索后端,让用户可以进行照片和演示演示商品清单中的类似商品。

将应用导入 Android Studio

首先,将 starter 应用导入 Android Studio。

转到 Android Studio,选择 Import Project(Gradle、Eclipse ADT 等),然后选择之前下载的源代码中的 product-search/codelab2/android/final 文件夹。

7c0f27882a2698ac.png

运行起始应用

现在,您已将项目导入 Android Studio,可以首次运行应用了。

通过 USB 将 Android 设备连接到主机或启动 Android Studio 模拟器,然后点击 Android Studio 工具栏中的 Run ( execute.png)。

(如果此按钮已停用,请确保您仅导入 final/app/build.gradle,而不是整个代码库。)

现在,该应用应该已在 Android 设备上启动。它已经正常运行,但它使用 Google 为你部署的演示产品搜索后端。

接下来,您将更新应用,以使用您之前在此 Codelab 中构建的后端。

6.更新 API 端点

更改 API 配置

转到 ProductSearchAPIClient 类,您将看到已经定义的商品搜索后端的配置。注释掉演示后端的配置:

// Define the product search backend
// Option 1: Use the demo project that we have already deployed for you
// const val VISION_API_URL =
    "https://us-central1-odml-codelabs.cloudfunctions.net/productSearch"
// const val VISION_API_KEY = ""
// const val VISION_API_PROJECT_ID = "odml-codelabs"
// const val VISION_API_LOCATION_ID = "us-east1"
// const val VISION_API_PRODUCT_SET_ID = "product_set0"

然后将其替换为您的配置:

// Option 2: Go through the Vision API Product Search quickstart and deploy to your project.
// Fill in the const below with your project info.
const val VISION_API_URL = "https://vision.googleapis.com/v1"
const val VISION_API_KEY = "YOUR_API_KEY"
const val VISION_API_PROJECT_ID = "YOUR_PROJECT_ID"
const val VISION_API_LOCATION_ID = "YOUR_LOCATION_ID"
const val VISION_API_PRODUCT_SET_ID = "YOUR_PRODUCT_SET_ID"
  • VISION_API_网址 是 Cloud Vision API 的 API 端点。
  • VISION_API_KEY 是您之前在此 Codelab 中创建的 API 密钥。
  • VISION_API_PROJECT_IDVISION_API_LOCATION_IDVISION_API_PRODUCT_SET_ID 是您在本 Codelab 前面的 Vision API Product Search 快速入门中使用的值。

运行应用

现在,点击 Android Studio 工具栏中的 Run ( execute.png)。应用加载后,点按任意预设图片,选择检测到的对象,然后点按搜索按钮以查看搜索结果。该应用现在使用的是您刚刚创建的商品搜索后端!

25939f5a13eeb3c3.png

7. 恭喜!

您已了解如何使用 Vision API Product Search 构建商品搜索后端。

您只需完成此步骤便可开始投放广告!

所学内容

  • 如何使用商品清单和 Vision API Product Search 创建商品搜索后端
  • 如何设置 API 密钥以从移动应用调用商品搜索后端
  • 如何从移动应用调用后端

后续步骤

  • 观看此视频,了解如何使用 Vision API Product Search 构建智能壁橱
  • 查看商品搜索设备端机器学习学习路线,了解构建商品搜索所需的所有步骤
  • 运用您学到的知识在自己的应用中运用

了解详情