מדריך ההגדרה ל-Android

בדף הזה מוסבר איך להגדיר את סביבת הפיתוח לשימוש ב-MediaPipe Tasks באפליקציות שלכם ל-Android.

פלטפורמות ומכשירים נתמכים

כדי ליצור אפליקציות ל-Android עם משימות MediaPipe, סביבת הפיתוח שלכם דורשת את הדברים הבאים:

  • Android Studio עם גרסה מומלצת של לפחות 2021.1.1 (Bumblebee) או סביבת פיתוח משולבת (IDE) תואמת אחרת.
  • Android SDK מגרסה 24 ואילך
  • מכשיר Android עם גרסת SDK מינימלית. יכול להיות שאמולטור Android לא יפעל בכל המשימות.

הגדרה של סביבת המפתח

כדי להפעיל משימת MediaPipe באפליקציה ל-Android, חייבת להיות לכם אפליקציה קיימת או ליצור פרויקט חדש של Android Studio במחשב המקומי שלכם. MediaPipe הוא חלק משכבת הנתונים של האפליקציה, שמכילה את נתוני האפליקציה ואת הלוגיקה העסקית. מידע נוסף על ארכיטקטורת אפליקציות ל-Android זמין במאמר מדריך לארכיטקטורת אפליקציות.

הגדרת מכשיר Android

צריך להפעיל את האפשרויות למפתחים ואת האפשרות לניפוי באגים ב-USB במכשיר Android פיזי לפני שמשתמשים בהם לבדיקת האפליקציה. להוראות לגבי הגדרת אפשרויות למפתחים במכשיר, קראו את המאמר הגדרת אפשרויות למפתחים במכשיר.

כדי לבצע משימות שלא דורשות מצלמה או מיקרופון של המכשיר, תוכלו להשתמש באמולטור של מכשיר Android במקום במכשיר Android פיזי. לקבלת הוראות להגדרת אמולטור Android, קראו את המאמר הפעלת אפליקציות באמולטור Android.

דוגמה להגדרת קוד

המאגר MediaPipe דוגמאות מכיל אפליקציות Android לדוגמה לכל משימה של MediaPipe. אפשר ליצור פרויקט מהקוד לדוגמה, לבנות אותו ואז להריץ אותו.

כדי לייבא ולבנות את פרויקט הקוד לדוגמה:

  1. מפעילים את Android Studio.
  2. ב-Android Studio, בוחרים באפשרות קובץ > חדש > ייבוא פרויקט.
  3. מנווטים לספריית הקוד לדוגמה שמכילה את הקובץ build.gradle, ובוחרים את הספרייה הזו. לדוגמה: .../mediapipe/examples/text_classification/android/build.gradle
  4. אם התקבלה בקשה מ-Android Studio לסנכרון של Gradle, בוחרים באפשרות אישור.
  5. מוודאים שמכשיר Android מחובר למחשב ושמצב הפיתוח מופעל. לוחצים על החץ הירוק Run.

אם בוחרים את הספרייה הנכונה, המערכת של Android Studio יוצרת פרויקט חדש ויוצרת אותו. התהליך הזה יכול להימשך כמה דקות, בהתאם למהירות המחשב ולמצב שבו השתמשתם ב-Android Studio לפרויקטים אחרים. בסיום ה-build, תוצג ב-Android Studio ההודעה BUILD SUCCESSFUL בחלונית הסטטוס Build Output.

כדי להפעיל את הפרויקט:

  1. ב-Android Studio, מפעילים את הפרויקט על ידי בחירה באפשרות הפעלה > הפעלה....
  2. כדי לבדוק את האפליקציה, צריך לבחור מכשיר Android (או אמולטור) מחובר.

יחסי תלות של משימות MediaPipe

השירות MediaPipe Tasks מספק שלוש ספריות מוגדרות מראש לראייה, לטקסט ולאודיו. קובץ המודל .tflite חייב להיות בספריית הנכסים של המודול ל-Android שמשתמש במודל. בהתאם למשימת MediaPipe שבה נעשה שימוש באפליקציה, מוסיפים את ספריית הראייה, הטקסט או האודיו לרשימת יחסי התלות בקובץ build.gradle.

משימות של בינה מלאכותית גנרטיבית

ספריות ה-MediaPipe Tasks של AI גנרטיבי למשימות כוללות משימות שמטפלות ביצירת תמונות או טקסט. כדי לייבא את ספריות ה-AI הגנרטיבי של MediaPipe Tasks ב-Android Studio, צריך להוסיף את יחסי התלות לקובץ build.gradle.

כלי ליצירת תמונות

המשימה 'מחולל תמונות MediaPipe' נמצאת בספרייה tasks-vision-image-generator. מוסיפים את התלות לקובץ build.gradle:

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

LLM Inference API

משימת ההסקה של LLM ב-MediaPipe נמצאת בספרייה tasks-genai. מוסיפים את התלות לקובץ build.gradle:

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

משימות ראייה

ספריית הראייה של משימות MediaPipe מכילה משימות שמטפלות בקלט תמונה או וידאו. כדי לייבא את ספריית הראייה של MediaPipe Tasks ב-Android Studio, צריך להוסיף את יחסי התלות הבאים לקובץ build.gradle:

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

משימות טקסט

ספריית הטקסט של משימות MediaPipe מכילה משימות שמטפלות בנתוני שפה בפורמט טקסט. כדי לייבא את ספריית הטקסט של MediaPipe Tasks ב-Android Studio, צריך להוסיף את יחסי התלות הבאים לקובץ build.gradle:

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

משימות אודיו

ספריית האודיו של MediaPipe Tasks מכילה משימות שמטפלות בקלט של צלילים. כדי לייבא את ספריית האודיו של MediaPipe Tasks ב-Android Studio, צריך להוסיף את יחסי התלות הבאים לקובץ build.gradle:

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

תצורת BaseOptions

BaseOptions מאפשר הגדרה כללית של ממשקי API למשימות של MediaPipe.

שם האפשרות תיאור ערכים קבילים
modelAssetBuffer תוכן הקובץ של נכס המודל כ-ByteBuffer ישיר או MappedByteBuffer. ByteBuffer או MappedByteBuffer כמחרוזת
modelAssetPath נתיב המודל לקובץ של נכס מודל בתיקייה של נכסי האפליקציות ל-Android. נתיב הקובץ כמחרוזת
modelAssetFileDescriptor המספר השלם המקורי של מתאר הקובץ בקובץ נכס לדוגמה. מספר שלם שמציין את מתאר הקובץ
Delegate המדיניות הזו מאפשרת לשפר את המהירות באמצעות חומרה באמצעות נציג מורשה במכשיר כדי להפעיל את צינור עיבוד הנתונים של MediaPipe. ערך ברירת המחדל: CPU. [CPU,
GPU]

שיפור המהירות באמצעות חומרה

ב-MediaPipe Tasks יש תמיכה בשימוש ביחידות עיבוד גרפי (GPU) להרצת מודלים של למידת מכונה. במכשירי Android, ניתן לך לאפשר שימוש בביצוע עם המואץ של GPU למודלים שלך באמצעות אובייקט בעל גישה. נציגים פועלים בתור מנהלי התקנים של חומרה ל-MediaPipe, ומאפשרים לכם להריץ את המודלים במעבדי GPU במקום במעבדי CPU סטנדרטיים.

הגדרת גישה ל-GPU באפשרויות המשימה דרך BaseOptions:

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

פתרון בעיות

לקבלת עזרה בשאלות טכניות שקשורות ל-MediaPipe, תוכלו לקבל תמיכה מהקהילה בקבוצת הדיון או ב-StackOverflow. כדי לדווח על באגים או לשלוח בקשות להוספת תכונות, תוכלו לדווח על בעיה ב-GitHub.

לקבלת עזרה בהגדרת סביבת הפיתוח של Android, תוכלו להיעזר במסמכי התיעוד למפתחים של Android.