모든 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개 이상의 언어를 지원하며 설치 중에 모든 언어를 기능 내에 넣을 필요는 없습니다. 이를 위해 설치 후 주문형으로 모델을 다운로드하는 세 번째 설치 옵션을 제공합니다. 현재 디지털 잉크 인식, 번역, 엔티티 추출에만 이 옵션이 있습니다.