คำแนะนำการตั้งค่าสำหรับ Android

หน้านี้แสดงวิธีตั้งค่าสภาพแวดล้อมการพัฒนาเพื่อใช้ MediaPipe Tasks ในแอปพลิเคชัน Android

อุปกรณ์และแพลตฟอร์มที่รองรับ

หากต้องการสร้างแอปพลิเคชัน Android ด้วย MediaPipe Tasks สภาพแวดล้อมการพัฒนาของคุณจำเป็นต้องมีสิ่งต่อไปนี้

  • 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 Example มีตัวอย่างแอปพลิเคชัน 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 สำหรับโปรเจ็กต์อื่นๆ หรือไม่ เมื่อบิลด์เสร็จสมบูรณ์แล้ว Android Studio จะแสดงข้อความ BUILD SUCCESSFUL ในแผงสถานะสร้างเอาต์พุต

ในการเรียกใช้โปรเจ็กต์ ให้ทำดังนี้

  1. จาก Android Studio ให้เรียกใช้โปรเจ็กต์โดยเลือกเรียกใช้ > เรียกใช้...
  2. เลือกอุปกรณ์ Android (หรือโปรแกรมจำลอง) ที่แนบมาเพื่อทดสอบแอป

ทรัพยากร Dependency ของงาน MediaPipe

MediaPipe Tasks มีไลบรารีที่สร้างไว้ล่วงหน้า 3 รายการสำหรับการมองเห็น ข้อความ และเสียง ไฟล์โมเดล .tflite ต้องอยู่ในไดเรกทอรีเนื้อหาของโมดูล Android ที่ใช้โมเดลดังกล่าว เพิ่มไฟล์ Vision, ข้อความ หรือคลังเพลงและเสียงลงในรายการทรัพยากร Dependency ภายในไฟล์ build.gradle ทั้งนี้ขึ้นอยู่กับงาน MediaPipe ที่แอปใช้

งาน Generative AI

ไลบรารี MediaPipe Tasks Generative AI มีงานที่จัดการการสร้างรูปภาพหรือข้อความ หากต้องการนำเข้าไลบรารี MediaPipe Tasks Generative AI ใน Android Studio ให้เพิ่มทรัพยากร Dependency ลงในไฟล์ build.gradle

เครื่องมือสร้างรูปภาพ

งาน MediaPipe Image Generator อยู่ในไลบรารี tasks-vision-image-generator เพิ่มทรัพยากร Dependency ไปยังไฟล์ build.gradle ของคุณดังนี้

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

API การอนุมาน LLM

งานการอนุมาน MediaPipe LLM จะอยู่ในไลบรารี tasks-genai เพิ่มทรัพยากร Dependency ในไฟล์ build.gradle ของคุณ:

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

งานด้านการมองเห็น

ไลบรารีวิสัยทัศน์ของ MediaPipe Tasks มีงานที่จัดการอินพุตรูปภาพหรือวิดีโอ หากต้องการนำเข้าไลบรารี Vision ของ MediaPipe Tasks ใน Android Studio ให้เพิ่มทรัพยากร Dependency ต่อไปนี้ลงในไฟล์ build.gradle

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

งานข้อความ

ไลบรารีข้อความงาน MediaPipe Tasks มีงานที่จัดการข้อมูลภาษาในรูปแบบข้อความ หากต้องการนำเข้าไลบรารีข้อความ MediaPipe Tasks ใน Android Studio ให้เพิ่มทรัพยากร Dependency ต่อไปนี้ลงในไฟล์ build.gradle

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

งานด้านเสียง

ไลบรารีเสียงของ MediaPipe Tasks มีงานที่จัดการอินพุตเสียง หากต้องการนำเข้าไลบรารีเสียงของ MediaPipe Tasks ใน Android Studio ให้เพิ่มทรัพยากร Dependency ต่อไปนี้ลงในไฟล์ 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 โปรดไปที่กลุ่มสนทนาหรือ Stack Overflow เพื่อรับการสนับสนุนจากชุมชน หากต้องการรายงานข้อบกพร่องหรือส่งคำขอฟีเจอร์ ให้แจ้งปัญหาใน GitHub

หากต้องการความช่วยเหลือในการตั้งค่าสภาพแวดล้อมในการพัฒนาซอฟต์แวร์ Android โปรดไปที่เอกสารสำหรับนักพัฒนาซอฟต์แวร์ Android