1. 시작하기 전에
제품 이미지 검색 학습 과정의 앞부분에서 Vision API 제품 검색으로 구축한 제품 검색 백엔드를 제품 카탈로그에서 시각적으로 유사한 제품에 호출하는 방법을 알아보았습니다.
이 Codelab에서는 제품 카탈로그를 사용하여 유사한 백엔드를 빌드하는 방법을 알아봅니다.
과정 내용
- Vision API 제품 검색을 사용하여 제품 검색 백엔드를 빌드하는 방법
- 모바일 앱에서 Vision API에 액세스하도록 API 키를 설정하는 방법
필요한 항목
- 결제가 사용 설정된 Google Cloud 계정 (무료 체험 계정일 수 있음)
2 Vision API 제품 검색 정보
Vision API 제품 검색은 소매업체가 제품을 다양한 관점으로 시각적으로 설명하는 참조 이미지가 포함된 제품을 만들 수 있는 Google Cloud의 기능입니다. 소매 업체는 이러한 제품을 제품 세트에 추가 할 수 있습니다. 현재 Vision API 제품 검색은 가정용품, 의류, 장난감, 포장 상품, 일반 제품 카테고리를 지원합니다.
사용자가 자신의 이미지로 제품 세트를 쿼리하는 경우 Vision API 제품 검색은 머신러닝을 적용하여 사용자의 쿼리 이미지에 있는 제품을 소매업체의 제품 세트에 있는 이미지와 비교한 다음 시각적 및 의미론적으로 유사한 결과의 순위 목록을 반환합니다.
3. Google Cloud를 통한 백엔드 빌드
제품 이미지 검색 학습 과정의 초기에는 Vision API 제품 검색으로 구축한 데모 제품 검색 백엔드를 사용했습니다. 다음 가이드를 따라 Google Cloud 계정에 동일한 백엔드를 빌드합니다.
가이드를 완료한 후에는 다음 단계를 진행하여 모바일 앱에서 백엔드를 호출하는 API 키를 설정하세요.
4. API 키 설정
Vision API 제품 검색 빠른 시작에서는 쿼리 이미지를 사용하여 시각적으로 유사한 제품을 반환할 수 있는 제품 검색 백엔드를 빌드했습니다. 모바일 앱에서 제품 검색 API를 호출하려면 API 키를 설정한 다음 API 키를 자체 모바일 앱으로 제한하여 무단 사용을 방지해야 합니다.
API 키를 만듭니다.
- Cloud Console > API 및 서비스 > 사용자 인증 정보로 이동합니다. 이 URL을 클릭하고 제품 검색 빠른 시작에서 사용한 프로젝트를 선택할 수도 있습니다.
- 사용자 인증 정보 만들기 > API 키를 선택합니다. API 키가 생성되면 이 대화상자가 표시됩니다.
이 API 키를 기록해 둡니다. 이 Codelab의 뒷부분에서 사용합니다.
API 키에 대한 액세스 제한
위의 메시지가 표시되면 키 제한을 선택합니다.
화면의 안내에 따라 다음 제한사항을 적용합니다.
- 애플리케이션 제한사항 > Android 앱
- API 제한사항 > 키 제한 > Cloud Vision API
5 모바일 앱 다운로드 및 실행
데모 제품 검색 백엔드를 사용하는 이전에서 빌드한 Android 앱을 다운로드하여 방금 빌드한 새 백엔드를 사용하도록 변경할 수 있습니다.
코드 다운로드
다음 링크를 클릭하면 이 Codelab의 모든 코드를 다운로드할 수 있습니다.
다운로드한 ZIP 파일의 압축을 해제합니다. 그러면 필요한 모든 리소스가 포함된 루트 폴더 (odml-pathway-codelabs)의 압축이 해제됩니다. 이 Codelab에서는 product-search/codelab2/android/final 하위 디렉터리에 있는 소스만 필요합니다.
앱에서 ML Kit Object Detection 및 Tracking API와 Vision API 제품 검색으로 빌드된 데모 제품 검색 백엔드를 사용하여 사용자가 데모 제품 카탈로그에서 시각적으로 유사한 제품을 검색하여 검색합니다.
Android 스튜디오에 앱 가져오기
먼저 starter 앱을 Android 스튜디오로 가져옵니다.
Android 스튜디오로 이동하여 Import Project (Gradle, Eclipse ADT 등)를 선택하고 이전에 다운로드한 소스 코드에서 product-search/codelab2/android/final
폴더를 선택합니다.
시작 앱 실행
프로젝트를 Android 스튜디오로 가져왔으므로 이제 앱을 처음으로 실행할 수 있습니다.
USB를 통해 Android 기기를 호스트에 연결하거나 Android 스튜디오 에뮬레이터 시작을 클릭하고 Android 스튜디오 툴바에서 Run ( )을 클릭합니다.
(이 버튼을 사용 중지한 경우 전체 저장소가 아닌 최종/app/build.gradle만 가져와야 합니다.)
이제 Android 기기에서 앱이 실행됩니다. 이 API는 이미 작동하지만 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_URL은 Cloud Vision API의 API 엔드포인트입니다.
- VISION_API_KEY는 이 Codelab 초반에 만든 API 키입니다.
- VISION_API_PROJECT_ID , VISION_API_LOCATION_ID , VISION_API_PRODUCT_SET_ID는 이 Codelab 초반에 Vision API 제품 검색 빠른 시작에서 사용한 값입니다.
실행
이제 Android 스튜디오 툴바에서 Run ( )을 클릭합니다. 앱이 로드되면 미리 설정된 이미지를 탭한 다음 감지된 객체를 선택하고 검색 버튼을 탭하여 검색결과를 확인합니다. 이제 앱에서 방금 만든 제품 검색 백엔드를 사용하고 있습니다.
7 축하합니다.
지금까지 Vision API 제품 검색을 사용하여 제품 검색 백엔드를 빌드하는 방법을 배웠습니다.
이것으로 모든 작업을 시작할 수 있습니다.
학습한 내용
- 제품 카탈로그 및 Vision API 제품 검색을 사용하여 제품 검색 백엔드를 만드는 방법
- 모바일 앱에서 제품 검색 백엔드를 호출하도록 API 키를 설정하는 방법
- 모바일 앱에서 백엔드를 호출하는 방법
다음 단계
- Vision API 제품 검색을 사용한 스마트 벽장 제작에 관한 이 동영상을 시청하세요.
- 제품 검색 시 기기 내 ML 학습 과정을 확인하여 제품 검색 구축에 필요한 모든 단계 알아보기
- 앱에서 학습한 내용을 적용하세요.