ฟีเจอร์ทั้งหมดของ 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 บางรายการมีโมเดลที่ดาวน์โหลดแบบไดนามิก
API บางรายการของ ML Kit มีตัวเลือกโมเดลมากเกินไปที่จะรวมไว้ เช่น การจดจำลายมือดิจิทัลรองรับมากกว่า 300 ภาษา และไม่จำเป็น เสมอไปที่จะต้องใส่ทุกภาษาไว้ในฟีเจอร์ระหว่างการติดตั้ง ด้วยเหตุนี้ เราจึงมีตัวเลือกการติดตั้งที่ 3 ซึ่งระบบจะดาวน์โหลดโมเดลตามคำขอหลังการติดตั้ง ปัจจุบันมีเพียงการจดจำลายมือดิจิทัล, การแปล และการแยกเอนทิตีเท่านั้นที่มีตัวเลือกนี้