모든 ML Kit 기능은 기본적으로 Google에서 학습시킨 머신러닝 모델 (기본 모델이라고 함)을 사용합니다. 이 가이드는 기본 모델에만 적용됩니다. 커스텀 모델에 관한 안내는 여기를 참고하세요.
ML Kit API의 모델은 다음 세 가지 방법 중 하나로 설치할 수 있습니다.
- 번들 해제: 모델은 Google Play 서비스를 통해 다운로드되고 관리됩니다.
- 번들: 모델은 빌드 시 앱에 정적으로 연결됩니다.
- 동적으로 다운로드됨: 모델은 요청 시 다운로드됩니다.
각 API에 지원되는 설치 경로
아래 표에는 각 ML Kit 기능에서 지원하는 모델 설치 경로가 나와 있습니다.
| 번들 해제됨 | 번들 | 동적으로 다운로드됨 | |
| 텍스트 인식 v2 | ✅ | ✅ | |
| 얼굴 인식 | ✅ | ✅ | |
| 얼굴 메시 인식 | ✅ | ||
| 포즈 인식 | ✅ | ||
| 셀피 세그먼트 | ✅ | ||
| 바코드 스캔 | ✅ | ✅ | |
| 이미지 라벨 지정 | ✅ | ✅ | |
| 객체 감지 및 추적 | ✅ | ||
| 디지털 잉크 인식 | ✅ | ||
| 문서 스캐너 | ✅ | ||
| 피사체 세분화 | ✅ | ||
| Google 코드 스캐너 | ✅ | ||
| 언어 식별 | ✅ | ✅ | |
| 번역 | ✅ | ||
| 스마트 답장 | ✅ | ✅ | |
| 항목 추출 | ✅ |
API별 가이드에는 지정된 API에 사용할 수 있는 설치 옵션이 나와 있습니다.
설치 옵션 간의 주요 차이점
| 번들 해제 | 번들 | 동적으로 다운로드됨 | |
| 모델은 어디에 저장되나요? | Google Play 서비스에 있으며 이 앱에서 사용하는 저장용량에 포함되지 않습니다. | 설치 후 앱별 저장소에 저장됨 | 모델 다운로드 후 앱별 저장소에 저장됨 |
| 모델 크기가 앱 크기에 어떤 영향을 미치나요? | 앱 크기에 영향을 미치지 않음 | 앱 크기에 직접적인 영향을 미침 | 앱 크기에 영향을 미치지 않지만 앱별 저장소를 늘립니다. |
| 모델은 언제 업데이트되나요? | 새 버전이 출시되면 자동으로 업데이트됨 | 모델을 업데이트하려면 앱을 업데이트해야 함 | 모델을 업데이트하려면 앱을 업데이트해야 함 |
| 모델은 언제 다운로드되나요? | 사용 전에 모델을 다운로드해야 함 | 앱이 설치될 때 모든 모델과 기능이 포함되므로 즉시 사용할 수 있음 | 모델 다운로드, 업데이트, 삭제는 RemoteModelManager API를 사용하여 수동으로 관리해야 합니다. |
| 모델은 언제 기기에서 삭제되나요? | Google Play 서비스는 모델에 종속된 모든 앱이 제거된 경우에만 저장소에서 모델을 삭제합니다. | 앱이 제거되면 모델이 앱별 저장소에서 삭제됩니다. | 앱이 제거되면 다운로드된 모델이 앱별 저장소에서 삭제됩니다. |
번들 및 번들 해제 중에서 선택하는 방법
API가 번들 및 번들 해제 설치 옵션을 모두 지원하는 경우:
다음과 같은 경우 번들 옵션을 사용하세요.
- 앱 설치 직후 완전한 기능 제공
- 앱 설치 후 네트워크 연결 없이 기능 작동
다음과 같은 경우 번들 해제 옵션을 사용하세요.
- 앱 크기 축소
- Google Play 서비스의 자동 모델 업데이트
모델 다운로드 방법
번들 해제된 모델 옵션을 사용할 때는 모델을 기기에 다운로드하는 방법을 지정할 수 있습니다.
앱의
AndroidManifest.xml파일에 선언을 추가하여 설치 시 모델 다운로드를 사용 설정할 수 있습니다. 예를 들어 아래 코드 스니펫은 Play 스토어에서 앱을 설치한 후 바코드 스캔 모델을 자동으로 다운로드하도록 앱을 구성하는 방법을 보여줍니다.<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode" > <!-- To use multiple models: android:value="barcode,model2,model3" --> </application>명시적 다운로드를 요청할 수 있습니다. Google Play 서비스 ModuleInstallClient API를 통해 요청하세요.
설치 시 모델 다운로드를 사용 설정하지 않거나 명시적 다운로드를 요청하지 않으면 기능을 처음 실행할 때 모델이 다운로드됩니다. 다운로드가 완료될 때까지 추론 요청이 실패합니다.
모델 업데이트 방법
번들 모델 또는 동적으로 다운로드된 모델 옵션을 사용할 때 모델을 업데이트하려면 다음 단계를 따르세요.
최신 ML Kit 기능 클라이언트 라이브러리를 사용하도록 앱의 Gradle 파일을 업데이트합니다.
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API }앱을 다시 빌드합니다.
일부 API에서 동적으로 다운로드되는 모델을 제공하는 이유
일부 ML Kit API에는 번들로 묶을 수 있는 모델 옵션이 너무 많습니다. 예를 들어 디지털 잉크 인식은 300개 이상의 언어를 지원하며 설치 중에 모든 언어를 기능 내에 넣을 필요는 없습니다. 이를 위해 설치 후 주문형으로 모델을 다운로드하는 세 번째 설치 옵션을 제공합니다. 현재 디지털 잉크 인식, 번역, 항목 추출에만 이 옵션이 있습니다.