ฟีเจอร์ทั้งหมดของ ML Kit จะใช้โมเดลแมชชีนเลิร์นนิงที่ Google ฝึก (หรือที่เรียกว่าโมเดลพื้นฐาน) โดยค่าเริ่มต้น คู่มือนี้ใช้ได้กับโมเดลพื้นฐานเท่านั้น ดูคำแนะนำเกี่ยวกับโมเดลที่กำหนดเองได้ที่นี่
คุณติดตั้งโมเดลใน ML Kit API ได้ 3 วิธีดังนี้
- แยกกลุ่ม: ระบบจะดาวน์โหลดและจัดการโมเดลผ่านบริการ Google Play
- รวมมาในแอป: โมเดลจะลิงก์กับแอปแบบคงที่ในเวลาบิลด์
- ดาวน์โหลดแบบไดนามิก: ระบบจะดาวน์โหลดโมเดลตามต้องการ
เส้นทางการติดตั้งที่รองรับสำหรับ API แต่ละรายการ
ตารางด้านล่างแสดงเส้นทางการติดตั้งโมเดลที่ฟีเจอร์ ML Kit แต่ละรายการรองรับ
| Unbundled | รวม | ดาวน์โหลดแบบไดนามิก | |
| การจดจำข้อความ v2 | ✅ | ✅ | |
| การตรวจจับใบหน้า | ✅ | ✅ | |
| การตรวจจับเมชใบหน้า | ✅ | ||
| การตรวจจับท่าทาง | ✅ | ||
| การแบ่งกลุ่มเซลฟี | ✅ | ||
| การสแกนบาร์โค้ด | ✅ | ✅ | |
| การติดป้ายกำกับรูปภาพ | ✅ | ✅ | |
| การตรวจจับออบเจ็กต์และการติดตาม | ✅ | ||
| การจดจำหมึกดิจิทัล | ✅ | ||
| เครื่องสแกนเอกสาร | ✅ | ||
| การแบ่งกลุ่มวัตถุ | ✅ | ||
| เครื่องมือสแกนโค้ดของ Google | ✅ | ||
| การระบุภาษา | ✅ | ✅ | |
| คำแปล | ✅ | ||
| ช่วยตอบ | ✅ | ✅ | |
| การดึงข้อมูลเอนทิตี | ✅ |
คู่มือเฉพาะ API จะแสดงตัวเลือกการติดตั้งที่ใช้ได้สำหรับ API นั้นๆ
ความแตกต่างที่สำคัญระหว่างตัวเลือกการติดตั้ง
| Unbundled | Bundled | ดาวน์โหลดแบบไดนามิก | |
| ระบบจัดเก็บโมเดลไว้ที่ใด | อยู่ในบริการ Google Play และไม่นับรวมในพื้นที่เก็บข้อมูลที่แอปนี้ใช้ | บันทึกไว้ในพื้นที่เก็บข้อมูลเฉพาะแอปหลังการติดตั้ง | บันทึกในพื้นที่เก็บข้อมูลเฉพาะแอปหลังจากดาวน์โหลดโมเดล |
| ขนาดโมเดลส่งผลต่อขนาดแอปอย่างไร | ไม่ส่งผลต่อขนาดแอป | ส่งผลต่อขนาดแอปโดยตรง | ไม่ส่งผลต่อขนาดแอป แต่จะเพิ่มพื้นที่เก็บข้อมูลเฉพาะแอป |
| ระบบจะอัปเดตโมเดลเมื่อใด | อัปเดตโดยอัตโนมัติเมื่อมีการเปิดตัวเวอร์ชันใหม่ | ต้องอัปเดตแอปเพื่ออัปเดตโมเดล | ต้องอัปเดตแอปเพื่ออัปเดตโมเดล |
| ระบบจะดาวน์โหลดโมเดลเมื่อใด | ต้องดาวน์โหลดโมเดลก่อนใช้งาน | โมเดลและฟีเจอร์ทั้งหมดจะรวมอยู่เมื่อติดตั้งแอป จึงใช้งานได้ทันที | คุณต้องจัดการการดาวน์โหลด การอัปเดต และการลบโมเดลด้วยตนเองโดยใช้ API RemoteModelManager |
| ระบบจะนำโมเดลออกจากอุปกรณ์เมื่อใด | บริการ 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>คุณสามารถขอการดาวน์โหลดที่ชัดเจนผ่าน ModuleInstallClient API ของบริการ Google Play
หากคุณไม่ได้เปิดใช้การดาวน์โหลดโมเดลขณะติดตั้งหรือขอการดาวน์โหลดอย่างชัดแจ้ง ระบบจะดาวน์โหลดโมเดลเมื่อคุณเรียกใช้ฟีเจอร์เป็นครั้งแรก คำขอการอนุมานจะดำเนินการไม่สำเร็จจนกว่าการดาวน์โหลดจะเสร็จสมบูรณ์
วิธีอัปเดตโมเดล
วิธีอัปเดตโมเดลเมื่อใช้ตัวเลือกโมเดลที่รวมมาให้หรือโมเดลที่ดาวน์โหลดแบบไดนามิก
อัปเดตไฟล์ 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 ซึ่งจะดาวน์โหลดโมเดลตามต้องการหลังการติดตั้ง ปัจจุบันมีเพียงการจดจำหมึกดิจิทัล การแปลภาษา และการดึงข้อมูลเอนทิตีเท่านั้นที่มีตัวเลือกนี้