หน้านี้แสดงวิธีตั้งค่าสภาพแวดล้อมการพัฒนาเพื่อใช้ 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 แต่ละรายการ คุณสร้างโปรเจ็กต์จากโค้ดตัวอย่าง สร้างโปรเจ็กต์ แล้วเรียกใช้ได้
วิธีนำเข้าและสร้างโปรเจ็กต์โค้ดตัวอย่าง
- เริ่ม Android Studio
- จาก Android Studio ให้เลือกไฟล์ > ใหม่ > นำเข้าโปรเจ็กต์
- ไปที่ไดเรกทอรีโค้ดตัวอย่างที่มีไฟล์
build.gradle
แล้วเลือกไดเรกทอรีนั้น เช่น.../mediapipe/examples/text_classification/android/build.gradle
- หาก Android Studio ขอการซิงค์ Gradle ให้เลือกตกลง
- ตรวจดูว่าอุปกรณ์ Android เชื่อมต่อกับคอมพิวเตอร์และเปิดใช้โหมดนักพัฒนาซอฟต์แวร์แล้ว คลิกลูกศร
Run
สีเขียว
หากคุณเลือกไดเรกทอรีที่ถูกต้อง Android Studio จะสร้างโปรเจ็กต์ใหม่และสร้างโปรเจ็กต์ดังกล่าว ขั้นตอนนี้อาจใช้เวลาสักครู่ ทั้งนี้ขึ้นอยู่กับความเร็วของคอมพิวเตอร์และคุณได้ใช้ Android Studio สำหรับโปรเจ็กต์อื่นๆ หรือไม่ เมื่อบิลด์เสร็จสมบูรณ์แล้ว Android Studio จะแสดงข้อความ BUILD SUCCESSFUL
ในแผงสถานะสร้างเอาต์พุต
ในการเรียกใช้โปรเจ็กต์ ให้ทำดังนี้
- จาก Android Studio ให้เรียกใช้โปรเจ็กต์โดยเลือกเรียกใช้ > เรียกใช้...
- เลือกอุปกรณ์ 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