เส้นทางการติดตั้งโมเดล ML Kit บน Android

ฟีเจอร์ทั้งหมดของ ML Kit ใช้โมเดลแมชชีนเลิร์นนิงที่ Google ฝึก (เรียกว่าโมเดลพื้นฐาน) โดยค่าเริ่มต้น คู่มือนี้ใช้ได้กับรุ่นพื้นฐานเท่านั้น ดูคำแนะนำเกี่ยวกับโมเดลที่กำหนดเองได้ที่นี่

คุณติดตั้งโมเดลใน ML Kit API ได้ 3 วิธีดังนี้

  1. แยกกัน: ระบบจะดาวน์โหลดและจัดการโมเดลผ่านบริการ Google Play
  2. รวมกลุ่ม: โมเดลจะลิงก์กับแอปแบบคงที่ในเวลาบิลด์
  3. ดาวน์โหลดแบบไดนามิก: ระบบจะดาวน์โหลดโมเดลตามคำขอ

เส้นทางการติดตั้งที่รองรับสำหรับแต่ละ API

ตารางด้านล่างแสดงเส้นทางการติดตั้งโมเดลที่ฟีเจอร์ ML Kit แต่ละรายการรองรับ

แยกจำหน่าย รวมแพ็กเกจ ดาวน์โหลดแบบไดนามิก
การจดจำข้อความ v2 ✅ ✅
การตรวจจับใบหน้า ✅ ✅
การตรวจจับตาข่ายใบหน้า ✅
การตรวจจับท่าทาง ✅
การแบ่งกลุ่มเซลฟี ✅
การสแกนบาร์โค้ด ✅ ✅
การติดป้ายกำกับรูปภาพ ✅ ✅
การตรวจจับและการติดตามออบเจ็กต์ ✅
การจดจำหมึกดิจิทัล ✅
เครื่องสแกนเอกสาร ✅
การแบ่งกลุ่มวัตถุ ✅
เครื่องมือสแกนโค้ดของ Google ✅
การระบุภาษา ✅ ✅
คำแปล ✅
ช่วยตอบ ✅ ✅
การแยกเอนทิตี ✅

คำแนะนำเฉพาะ API จะแสดงตัวเลือกการติดตั้งที่ใช้ได้สำหรับ API ที่ระบุ

ความแตกต่างที่สำคัญระหว่างตัวเลือกการติดตั้ง

แยกจำหน่าย รวม ดาวน์โหลดแบบไดนามิก
ระบบจัดเก็บโมเดลไว้ที่ใด อยู่ในบริการ 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>
    
  • คุณขอให้ดาวน์โหลดอย่างชัดเจนผ่าน บริการ Google Play ModuleInstallClient API ได้

  • หากไม่ได้เปิดใช้การดาวน์โหลดโมเดลในเวลาที่ติดตั้งหรือขอให้ดาวน์โหลดอย่างชัดเจน ระบบจะดาวน์โหลดโมเดลในครั้งแรกที่คุณเรียกใช้ฟีเจอร์ จนกว่าการดาวน์โหลดจะเสร็จสมบูรณ์ คำขอการอนุมานจะล้มเหลว

วิธีอัปเดตโมเดล

วิธีอัปเดตรุ่นเมื่อใช้ตัวเลือกโมเดลที่รวมไว้หรือโมเดลที่ดาวน์โหลดแบบไดนามิก มีดังนี้

  1. อัปเดตไฟล์ Gradle ของแอปเพื่อใช้ไลบรารีไคลเอ็นต์ฟีเจอร์ ML Kit ล่าสุด

    dependencies {
      implementation 'com.google.mlkit:barcode-scanning: 17.3.0' // The latest version number of the API
    }
    
  2. สร้างแอปใหม่

เหตุผลที่ API บางรายการเสนอโมเดลที่ดาวน์โหลดแบบไดนามิก

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