ฟีเจอร์ทั้งหมดของ ML Kit ใช้โมเดลแมชชีนเลิร์นนิงที่ Google ฝึก (เรียกว่าโมเดลฐาน) โดยค่าเริ่มต้น คำแนะนำนี้ใช้ได้กับโมเดลฐานเท่านั้น ดูคำแนะนำเกี่ยวกับโมเดลที่กำหนดเองได้ที่นี่
คุณติดตั้งโมเดลใน ML Kit API ได้ 3 วิธีดังนี้
- แบบแยก: ระบบจะดาวน์โหลดและจัดการโมเดลผ่านบริการ Google Play
- แบบรวม: ระบบจะลิงก์โมเดลกับแอปแบบคงที่ในระหว่างเวลาบิลด์
- แบบดาวน์โหลดแบบไดนามิก: ระบบจะดาวน์โหลดโมเดลตามความต้องการ
เส้นทางการติดตั้งที่รองรับสำหรับแต่ละ API
ตารางด้านล่างแสดงเส้นทางการติดตั้งโมเดลที่ฟีเจอร์แต่ละรายการของ ML Kit รองรับ
| แบบแยก | แบบรวม | แบบดาวน์โหลดแบบไดนามิก | |
| การจดจำข้อความ v2 | ✅ | ✅ | |
| การตรวจจับใบหน้า | ✅ | ✅ | |
| การตรวจจับตาข่ายใบหน้า | ✅ | ||
| การตรวจจับท่าทาง | ✅ | ||
| การแบ่งส่วนภาพเซลฟี | ✅ | ||
| การสแกนบาร์โค้ด | ✅ | ✅ | |
| การติดป้ายกำกับรูปภาพ | ✅ | ✅ | |
| การตรวจจับและติดตามออบเจ็กต์ | ✅ | ||
| การจดจำลายมือดิจิทัล | ✅ | ||
| เครื่องสแกนเอกสาร | ✅ | ||
| การแบ่งส่วนออบเจ็กต์ | ✅ | ||
| เครื่องมือสแกนโค้ดของ Google | ✅ | ||
| การระบุภาษา | ✅ | ✅ | |
| คำแปล | ✅ | ||
| ช่วยตอบ | ✅ | ✅ | |
| การแยกเอนทิตี | ✅ |
คำแนะนำเฉพาะ API จะแสดงตัวเลือกการติดตั้งที่พร้อมใช้งานสำหรับ API นั้นๆ
ความแตกต่างที่สำคัญระหว่างตัวเลือกการติดตั้ง
| แบบแยก | แบบรวม | แบบดาวน์โหลดแบบไดนามิก | |
| ระบบจัดเก็บโมเดลไว้ที่ใด | อยู่ในบริการ Google Play และไม่นับรวมกับพื้นที่เก็บข้อมูลที่แอปนี้ใช้ | บันทึกไว้ในพื้นที่เก็บข้อมูลเฉพาะของแอป หลังการติดตั้ง | บันทึกไว้ในพื้นที่เก็บข้อมูลเฉพาะของแอป หลังการดาวน์โหลดโมเดล |
| ขนาดโมเดลส่งผลต่อขนาดแอปอย่างไร | ไม่ส่งผลต่อขนาดแอป | ส่งผลต่อขนาดแอปโดยตรง | ไม่ส่งผลต่อขนาดแอป แต่จะเพิ่ม พื้นที่เก็บข้อมูลเฉพาะของแอป |
| ระบบอัปเดตโมเดลเมื่อใด | อัปเดตโดยอัตโนมัติเมื่อมีการเผยแพร่เวอร์ชันใหม่ | ต้องอัปเดตแอปเพื่ออัปเดตโมเดล | ต้องอัปเดตแอปเพื่ออัปเดตโมเดล |
| ระบบดาวน์โหลดโมเดลเมื่อใด | ต้องดาวน์โหลดโมเดลก่อนใช้งาน | ระบบจะรวมโมเดลและฟีเจอร์ทั้งหมดไว้เมื่อติดตั้งแอป คุณจึงใช้งานได้ทันที | คุณต้องจัดการการดาวน์โหลด การอัปเดต และการลบโมเดลด้วยตนเองโดยใช้ RemoteModelManager API |
| ระบบนำโมเดลออกจากอุปกรณ์เมื่อใด | บริการ Google Play จะนำโมเดลออกจากพื้นที่เก็บข้อมูลก็ต่อเมื่อคุณถอนการติดตั้งแอปทั้งหมด ที่ใช้โมเดลนั้น | ระบบจะนำโมเดลออกจากพื้นที่เก็บข้อมูลเฉพาะของแอป เมื่อคุณถอนการติดตั้งแอป | ระบบจะนำโมเดลที่ดาวน์โหลดออกจากพื้นที่เก็บข้อมูลเฉพาะของแอป เมื่อคุณถอนการติดตั้งแอป |
วิธีเลือกระหว่างแบบรวมและแบบแยก
หาก API รองรับตัวเลือกการติดตั้งทั้งแบบรวมและแบบแยก ให้ทำดังนี้
ใช้ตัวเลือกแบบรวมหากคุณให้ความสำคัญกับสิ่งต่อไปนี้
- ฟังก์ชันการทำงานของฟีเจอร์ทั้งหมดพร้อมใช้งานทันทีหลังการติดตั้งแอป
- ฟังก์ชันการทำงานของฟีเจอร์พร้อมใช้งานโดยไม่ต้องเชื่อมต่อเครือข่ายหลังการติดตั้งแอป
ใช้ตัวเลือกแบบแยกหากคุณให้ความสำคัญกับสิ่งต่อไปนี้
- ขนาดแอปเล็กลง
- บริการ Google Play อัปเดตโมเดลโดยอัตโนมัติ
วิธีดาวน์โหลดโมเดล
เมื่อใช้ตัวเลือกโมเดลแบบแยก คุณสามารถระบุวิธีที่ต้องการให้ระบบดาวน์โหลดโมเดลลงในอุปกรณ์ได้ดังนี้
คุณสามารถเปิดใช้การดาวน์โหลดโมเดลในระหว่างการติดตั้ง ได้โดยเพิ่มการประกาศลงในไฟล์
AndroidManifest.xmlของแอป ตัวอย่างเช่น ข้อมูลโค้ดด้านล่างแสดงวิธีกำหนดค่าแอปให้ดาวน์โหลดโมเดลการสแกนบาร์โค้ดโดยอัตโนมัติหลังจากติดตั้งแอปจาก Play Store<application ...> ... <meta-data android:name="com.google.mlkit.vision.DEPENDENCIES" android:value="barcode" > <!-- To use multiple models: android:value="barcode,model2,model3" --> </application>คุณสามารถขอการดาวน์โหลดอย่างชัดแจ้ง ผ่าน บริการ Google Play ModuleInstallClient API
หากคุณไม่เปิดใช้การดาวน์โหลดโมเดลในระหว่างการติดตั้งหรือขอการดาวน์โหลดอย่างชัดแจ้ง ระบบจะดาวน์โหลดโมเดลในครั้งแรกที่คุณเรียกใช้ฟีเจอร์ คำขออนุมานจะล้มเหลวจนกว่าการดาวน์โหลดจะเสร็จสมบูรณ์
วิธีอัปเดตโมเดล
วิธีอัปเดตโมเดลเมื่อใช้ตัวเลือกโมเดลแบบรวมหรือโมเดลแบบดาวน์โหลดแบบไดนามิก
อัปเดตไฟล์ Gradle ของแอปเพื่อใช้ไลบรารีไคลเอ็นต์ฟีเจอร์ ML Kit ล่าสุด
dependencies { implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API }สร้างแอปใหม่
สาเหตุที่ API บางรายการมีโมเดลแบบดาวน์โหลดแบบไดนามิก
ML Kit API บางรายการมีตัวเลือกโมเดลมากเกินไปที่จะรวมไว้ ตัวอย่างเช่น การจดจำลายมือดิจิทัลรองรับมากกว่า 300 ภาษา และไม่จำเป็นเสมอไปที่จะต้องใส่ทุกภาษาไว้ในฟีเจอร์ระหว่างการติดตั้ง ด้วยเหตุนี้ เราจึงมีตัวเลือกการติดตั้งที่ 3 ซึ่งระบบจะดาวน์โหลดโมเดลตามความต้องการหลังการติดตั้ง ปัจจุบันมีเพียงการจดจำลายมือดิจิทัล, การแปล และการแยกเอนทิตีเท่านั้นที่มีตัวเลือกนี้