1. 事前準備
在產品圖片搜尋學習路徑的稍早階段,您已瞭解如何呼叫使用 Vision API Product Search 建構的產品搜尋後端,從產品目錄中找出視覺上相似的產品。
在本程式碼研究室中,您將瞭解如何建構類似的後端,但使用自己的產品目錄。
課程內容
- 如何使用 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 金鑰
- 依序前往 Cloud Console >「APIs & Services」(API 和服務) >「Credentials」(憑證)。您也可以點選這個 URL,然後選取在 Product Search 快速入門導覽課程中使用的專案。
- 選取「建立憑證」>「API 金鑰」。如果 API 金鑰建立成功,您會看到這個對話方塊:
請記下這組 API 金鑰。您會在後續步驟中使用這項資訊。
限制 API 金鑰存取權
看到上述提示時,請選取「Restrict key」(限制金鑰)。
按照畫面上的指示套用下列限制:
- 應用程式限制 > Android 應用程式
- API 限制 > 限制金鑰 > Cloud Vision API
5. 下載並執行行動應用程式
您可以下載先前使用示範產品搜尋後端建立的 Android 應用程式,並將其變更為使用您剛建立的新後端。
下載程式碼
點選下方連結即可下載這個程式碼研究室的所有程式碼:
將下載的 ZIP 檔案解壓縮。這會解壓縮根資料夾 (odml-pathway-codelabs),其中包含您需要的所有資源。在本程式碼研究室中,您只需要 product-search/codelab2/android/final 子目錄中的來源。
這款應用程式使用 ML Kit 物件偵測和追蹤 API,以及使用 Vision API Product Search 建構的示範產品搜尋後端,讓使用者拍照並在示範產品目錄中搜尋外觀相似的產品。
將應用程式匯入 Android Studio
首先,請將範例應用程式匯入 Android Studio。
前往 Android Studio,選取「Import Project (Gradle, Eclipse ADT, etc.)」,然後選擇先前下載的原始碼中的 product-search/codelab2/android/final
資料夾。
執行範例應用程式
專案匯入 Android Studio 後,您就可以首次執行應用程式。
透過 USB 將 Android 裝置連線至主機,或啟動 Android Studio 模擬器,然後按一下 Android Studio 工具列中的「Run」 ( )。
(如果這個按鈕已停用,請確認您只匯入 final/app/build.gradle,而非整個存放區)。
現在 Android 裝置上應該會啟動應用程式。這項功能已可運作,但目前使用的是 Google 為你部署的示範產品搜尋後端。
接著,您將更新應用程式,使用在本程式碼研究室稍早建立的後端。
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_URL 是 Cloud Vision API 的 API 端點。
- VISION_API_KEY 是您在本程式碼研究室中先前建立的 API 金鑰。
- VISION_API_PROJECT_ID、VISION_API_LOCATION_ID 和 VISION_API_PRODUCT_SET_ID 是您在本程式碼研究室稍早的 Vision API Product Search 快速入門中使用的值。
開始執行
現在請按一下 Android Studio 工具列中的「Run」圖示 ( )。應用程式載入後,輕觸任一預設圖片,選取偵測到的物件,然後輕觸「搜尋」按鈕,即可查看搜尋結果。應用程式現在會使用您剛建立的產品搜尋後端!
7. 恭喜!
您已瞭解如何使用 Vision API Product Search 建構產品搜尋後端。
這樣就能順利啟動及執行!
涵蓋內容
- 如何使用產品目錄和 Vision API Product Search 建立產品搜尋後端
- 如何設定 API 金鑰,從行動應用程式呼叫產品搜尋後端
- 如何從行動應用程式呼叫後端
後續步驟
- 觀看這部影片,瞭解如何使用 Vision API Product Search 建構智慧衣櫥
- 請參閱產品搜尋裝置端機器學習學習途徑,瞭解建構產品搜尋功能的所有必要步驟
- 在自己的應用程式中運用所學