Android 설정 가이드

이 페이지에서는 Android 애플리케이션에서 MediaPipe 태스크를 사용하도록 개발 환경을 설정하는 방법을 설명합니다.

지원되는 기기 및 플랫폼

MediaPipe 태스크로 Android 애플리케이션을 만들려면 개발 환경에 다음이 필요합니다.

  • 권장 버전 2021.1.1 (Bumblebee) 또는 호환되는 다른 IDE가 있는 Android 스튜디오
  • Android SDK 버전 24 이상
  • 최소 SDK 버전이 설치된 Android 기기 Android Emulator가 모든 작업에서 작동하지는 않을 수 있습니다.

개발자 환경 설정

Android 애플리케이션에서 MediaPipe 작업을 실행하기 전에 기존 앱이 있거나 로컬 머신에 새 Android 스튜디오 프로젝트를 만들어야 합니다. MediaPipe는 애플리케이션 데이터와 비즈니스 로직이 포함된 앱의 데이터 영역에 잘 맞습니다. Android 앱 아키텍처에 관한 자세한 내용은 앱 아키텍처 가이드를 참고하세요.

Android 기기 설정

애플리케이션을 테스트하는 데 사용하기 전에 실제 Android 기기에서 개발자 옵션과 USB 디버깅을 사용 설정해야 합니다. 개발자 옵션으로 기기를 구성하는 방법은 온디바이스 개발자 옵션 구성을 참고하세요.

기기의 카메라나 마이크가 필요하지 않은 작업의 경우 실제 Android 기기 대신 Android 기기 에뮬레이터를 사용할 수 있습니다. Android Emulator 설정에 관한 안내는 Android Emulator에서 앱 실행을 참고하세요.

코드 설정 예시

MediaPipe 예시 저장소에는 각 MediaPipe 태스크의 Android 애플리케이션 예가 포함되어 있습니다. 예시 코드에서 프로젝트를 만들고 프로젝트를 빌드하여 실행할 수 있습니다.

예시 코드 프로젝트를 가져오고 빌드하는 방법은 다음과 같습니다.

  1. Android 스튜디오를 시작합니다.
  2. Android 스튜디오에서 File > New > Import Project를 선택합니다.
  3. build.gradle 파일이 포함된 예시 코드 디렉터리로 이동하여 디렉터리를 선택합니다. 예를 들면 다음과 같습니다. .../mediapipe/examples/text_classification/android/build.gradle
  4. Android 스튜디오에서 Gradle 동기화를 요청하면 OK를 선택합니다.
  5. Android 기기가 컴퓨터에 연결되어 있고 개발자 모드가 사용 설정되어 있는지 확인합니다. 녹색 Run 화살표를 클릭합니다.

올바른 디렉터리를 선택하면 Android 스튜디오에서 새 프로젝트를 만들고 빌드합니다. 이 프로세스는 컴퓨터 속도에 따라, 그리고 다른 프로젝트에 Android 스튜디오를 사용한 경우에 따라 몇 분 정도 걸릴 수 있습니다. 빌드가 완료되면 Android 스튜디오의 Build Output 상태 패널에 BUILD SUCCESSFUL 메시지가 표시됩니다.

프로젝트를 실행하는 방법은 다음과 같습니다.

  1. Android 스튜디오에서 Run > Run...을 선택하여 프로젝트를 실행합니다.
  2. 연결된 Android 기기 (또는 에뮬레이터)를 선택하여 앱을 테스트합니다.

MediaPipe 태스크 종속 항목

MediaPipe 태스크는 비전, 텍스트, 오디오를 위해 사전 빌드된 라이브러리 세 개를 제공합니다. .tflite 모델 파일은 모델을 사용하는 Android 모듈의 assets 디렉터리에 있어야 합니다. 앱에서 사용하는 MediaPipe 태스크에 따라 build.gradle 파일 내 종속 항목 목록에 비전, 텍스트 또는 오디오 라이브러리를 추가합니다.

생성형 AI 작업

MediaPipe 태스크 생성형 AI 라이브러리에는 이미지 또는 텍스트 생성을 처리하는 태스크가 포함되어 있습니다. Android 스튜디오에서 MediaPipe Tasks 생성형 AI 라이브러리를 가져오려면 build.gradle 파일에 종속 항목을 추가합니다.

이미지 생성기

MediaPipe 이미지 생성기 작업은 tasks-vision-image-generator 라이브러리 내에 포함되어 있습니다. build.gradle 파일에 종속 항목을 추가합니다.

dependencies {
    implementation 'com.google.mediapipe:tasks-vision-image-generator:latest.release'
}

LLM 추론 API

MediaPipe LLM 추론 작업은 tasks-genai 라이브러리 내에 포함되어 있습니다. build.gradle 파일에 종속 항목을 추가합니다.

dependencies {
    implementation 'com.google.mediapipe:tasks-genai:latest.release'
}

비전 작업

MediaPipe 태스크 비전 라이브러리에는 이미지 또는 동영상 입력을 처리하는 태스크가 포함되어 있습니다. Android 스튜디오에서 MediaPipe 태스크 비전 라이브러리를 가져오려면 build.gradle 파일에 다음 종속 항목을 추가합니다.

dependencies {
    implementation 'com.google.mediapipe:tasks-vision:latest.release'
}

텍스트 작업

MediaPipe 태스크 텍스트 라이브러리에는 언어 데이터를 텍스트 형식으로 처리하는 태스크가 포함되어 있습니다. Android 스튜디오에서 MediaPipe Tasks 텍스트 라이브러리를 가져오려면 build.gradle 파일에 다음 종속 항목을 추가합니다.

dependencies {
    implementation 'com.google.mediapipe:tasks-text:latest.release'
}

오디오 작업

MediaPipe 작업 오디오 라이브러리에는 사운드 입력을 처리하는 작업이 포함되어 있습니다. Android 스튜디오에서 MediaPipe Tasks 오디오 라이브러리를 가져오려면 build.gradle 파일에 다음 종속 항목을 추가합니다.

dependencies {
    implementation 'com.google.mediapipe:tasks-audio:latest.release'
}

BaseOptions 구성

BaseOptions는 MediaPipe Task API의 일반 구성을 허용합니다.

옵션 이름 설명 허용되는 값
modelAssetBuffer 직접 ByteBuffer 또는 MappedByteBuffer로 표시된 모델 애셋 파일 콘텐츠 ByteBuffer 또는 MappedByteBuffer 문자열
modelAssetPath Android 앱 애셋 폴더에 있는 모델 애셋 파일의 모델 경로입니다. 문자열로 표시된 파일 경로
modelAssetFileDescriptor 모델 애셋 파일의 네이티브 파일 설명자 정수입니다. 파일 설명자를 지정하는 정수
Delegate 기기 대리자를 통한 하드웨어 가속을 사용 설정하여 MediaPipe 파이프라인을 실행합니다. 기본값은 CPU입니다. [CPU,
GPU]

하드웨어 가속

MediaPipe 태스크는 그래픽 처리 장치 (GPU)를 사용하여 머신러닝 모델을 실행하도록 지원합니다. Android 기기에서는 대리자를 통해 모델의 GPU 가속 실행을 사용하도록 설정할 수 있습니다. 위임은 MediaPipe의 하드웨어 드라이버 역할을 하므로 표준 CPU 프로세서 대신 GPU 프로세서에서 모델을 실행할 수 있습니다.

BaseOptions를 통해 작업 옵션에서 GPU 대리자를 구성합니다.

BaseOptions baseOptions = BaseOptions.builder().useGpu().build();

문제 해결

MediaPipe와 관련된 기술 질문이 있으면 토론방 또는 Stack Overflow를 방문하여 커뮤니티의 지원을 받으세요. 버그를 신고하거나 기능을 요청하려면 GitHub에서 문제를 신고하세요.

Android 개발 환경 설정에 도움이 필요하면 Android 개발자 문서를 참고하세요.