Android의 ML Kit 모델 설치 경로

모든 ML Kit 기능은 기본적으로 Google 학습 모델 (기본 모델)을 사용합니다. 이 가이드는 기본 모델에만 적용됩니다. 커스텀 모델에 대한 안내는 여기를 참조하세요.

ML Kit API의 모델은 다음 세 가지 방법 중 하나로 설치할 수 있습니다.

  1. 번들되지 않음: Google Play 서비스를 통해 모델이 다운로드되고 관리됩니다.
  2. 번들됨: 모델이 빌드 시간에 앱에 정적으로 연결됩니다.
  3. 동적으로 다운로드됨: 모델이 요청 시 다운로드됩니다.

각 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를 통해 명시적 다운로드를 요청할 수 있습니다.

  • 설치 시 모델 다운로드를 사용 설정하지 않거나 명시적 다운로드를 요청하지 않으면 기능을 처음 실행할 때 모델이 다운로드됩니다. 다운로드가 완료될 때까지 추론 요청이 실패합니다.

모델을 업데이트하는 방법

번들 모델 또는 동적으로 다운로드한 모델 옵션을 사용할 때 모델을 업데이트하려면 다음 안내를 따르세요.

  1. 최신 ML Kit 기능 클라이언트 라이브러리를 사용하도록 앱의 Gradle 파일을 업데이트합니다.

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.2.0' // The latest version number of the API
    }
    
  2. 앱을 다시 빌드합니다.

일부 API에서 동적으로 다운로드되는 모델을 제공하는 이유

일부 ML Kit API에는 모델 옵션이 너무 많아서 번들로 묶을 수 없습니다. 예를 들어 디지털 잉크 인식300개 이상의 언어를 지원하며 설치 중에 항상 모든 언어를 기능 내에 포함할 필요는 없습니다. 이를 위해 설치 후 요청 시 모델을 다운로드하는 세 번째 설치 옵션을 제공합니다. 현재 디지털 잉크 인식, 번역, 항목 추출에서만 이 옵션을 사용할 수 있습니다.