Guida alla configurazione per Android

Questa pagina mostra come configurare l'ambiente di sviluppo per l'utilizzo di MediaPipe Tasks nelle app Android.

Piattaforme e dispositivi supportati

Per creare app Android con MediaPipe Tasks, il tuo ambiente di sviluppo richiede quanto segue:

  • Android Studio con una versione consigliata di almeno 2021.1.1 (Bumblebee) o un altro IDE compatibile.
  • SDK per Android versione 24 o successive
  • Dispositivo Android con almeno la versione minima dell'SDK. Un emulatore Android potrebbe non funzionare per tutte le attività.

Configurazione dell'ambiente di sviluppo

Prima di eseguire un'attività MediaPipe su un'applicazione Android, devi avere un'app esistente o creare un nuovo progetto Android Studio sulla tua macchina locale. MediaPipe si inserisce nel livello dati dell'app, che contiene i dati dell'applicazione e la logica di business. Per ulteriori informazioni sull'architettura delle app per Android, consulta la Guida all'architettura delle app.

Configurazione dei dispositivi Android

Devi attivare le Opzioni sviluppatore e il debug USB su un dispositivo Android fisico prima di utilizzarlo per testare l'applicazione. Per istruzioni sulla configurazione del dispositivo con le Opzioni sviluppatore, consulta Configurare le opzioni per sviluppatori on-device.

Per le attività che non richiedono una fotocamera o un microfono del dispositivo, puoi utilizzare un emulatore di dispositivi Android anziché un dispositivo Android fisico. Per istruzioni sulla configurazione di un emulatore Android, vedi Eseguire app sull'emulatore Android.

Esempio di configurazione del codice

Il repository Esempi di MediaPipe contiene applicazioni Android di esempio per ogni attività MediaPipe. Puoi creare un progetto dal codice di esempio, creare il progetto ed eseguirlo.

Per importare e creare il progetto di codice di esempio:

  1. Avvia Android Studio.
  2. Da Android Studio, seleziona File > Nuovo > Importa progetto.
  3. Vai alla directory di codice di esempio contenente il file build.gradle e selezionala, ad esempio: .../mediapipe/examples/text_classification/android/build.gradle
  4. Se Android Studio richiede una sincronizzazione Gradle, scegli OK.
  5. Assicurati che il dispositivo Android sia connesso al computer e che la modalità sviluppatore sia attivata. Fai clic sulla freccia verde Run.

Se selezioni la directory corretta, Android Studio crea un nuovo progetto e lo crea. Questo processo può richiedere alcuni minuti, a seconda della velocità del computer e se hai utilizzato Android Studio per altri progetti. Al completamento della build, Android Studio mostra un messaggio BUILD SUCCESSFUL nel riquadro di stato Output build.

Per eseguire il progetto:

  1. In Android Studio, esegui il progetto selezionando Esegui > Esegui....
  2. Seleziona un dispositivo Android (o emulatore) collegato per testare l'app.

Dipendenze MediaPipe Tasks

MediaPipe Tasks fornisce tre librerie predefinite per visione artificiale, testo e audio. Il file del modello .tflite deve trovarsi nella directory degli asset del modulo Android che utilizza il modello. A seconda dell'attività MediaPipe utilizzata dall'app, aggiungi la libreria audio, di testo o di visione artificiale all'elenco delle dipendenze all'interno del file build.gradle.

Attività relative all'IA generativa

Le librerie di IA generativa delle attività di MediaPipe contengono attività che gestiscono la generazione di immagini o testo. Per importare le librerie di IA generativa di MediaPipe Tasks in Android Studio, aggiungi le dipendenze al file build.gradle.

Generatore di immagini

L'attività Generatore di immagini MediaPipe si trova all'interno della libreria tasks-vision-image-generator. Aggiungi la dipendenza al tuo file build.gradle:

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

API LLM Inference

L'attività di inferenza LLM MediaPipe si trova all'interno della libreria tasks-genai. Aggiungi la dipendenza al file build.gradle:

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

Attività relative alla vista

La libreria di visione artificiale Tasks di MediaPipe contiene attività che gestiscono gli input di immagini o video. Per importare la libreria Vision di MediaPipe Tasks in Android Studio, aggiungi le seguenti dipendenze al file build.gradle:

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

Attività di testo

La libreria di testo delle attività di MediaPipe contiene attività che gestiscono i dati della lingua in formato testo. Per importare la libreria di testo Tasks MediaPipe in Android Studio, aggiungi le seguenti dipendenze al file build.gradle:

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

Attività audio

La raccolta audio delle attività di MediaPipe contiene attività che gestiscono gli input audio. Per importare la raccolta audio Tasks di MediaPipe in Android Studio, aggiungi le seguenti dipendenze al file build.gradle:

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

Configurazione BaseOptions

BaseOptions consente la configurazione generale delle API MediaPipe Task.

Nome opzione Descrizione Valori accettati
modelAssetBuffer I contenuti del file di asset del modello come ByteBuffer diretto o MappedByteBuffer. ByteBuffer o MappedByteBuffer come stringa
modelAssetPath Il percorso del modello a un file di asset modello nella cartella degli asset per app per Android. Percorso del file come stringa
modelAssetFileDescriptor Il numero intero descrittore del file nativo di un file di asset del modello. Numero intero che specifica il descrittore del file
Delegate Abilita l'accelerazione hardware tramite un delegato del dispositivo per eseguire la pipeline MediaPipe. Valore predefinito: CPU. [CPU,
GPU]

Accelerazione hardware

MediaPipe Tasks supporta l'uso di GPU (Graphics Processing Unit) per l'esecuzione di modelli di machine learning. Sui dispositivi Android, puoi attivare l'uso dell'esecuzione accelerata GPU dei modelli utilizzando un delegato. I delegati fungono da driver hardware per MediaPipe, consentendoti di eseguire i tuoi modelli sui processori GPU anziché sui processori CPU standard.

Configura il delegato GPU nelle opzioni dell'attività tramite BaseOptions:

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

Risoluzione dei problemi

Per ricevere assistenza in merito a domande tecniche relative a MediaPipe, visita il gruppo di discussione o Stack Overflow per ricevere assistenza dalla community. Per segnalare bug o richiedere funzionalità, segnala un problema su GitHub.

Per assistenza relativa alla configurazione dell'ambiente di sviluppo Android, consulta la documentazione per gli sviluppatori Android.