โมเดลที่กำหนดเองที่ใช้ ML Kit

โดยค่าเริ่มต้น API ของ ML Kit จะใช้โมเดลแมชชีนเลิร์นนิงที่ Google ฝึก ซึ่งออกแบบมาให้ครอบคลุมแอปพลิเคชันที่หลากหลาย อย่างไรก็ตาม บางกรณีการใช้งานต้องใช้โมเดลที่กำหนดเป้าหมายมากขึ้น ด้วยเหตุนี้ API บางรายการของ ML Kit จึงอนุญาตให้คุณแทนที่โมเดลเริ่มต้นด้วยโมเดล LiteRT ที่กำหนดเองได้แล้ว

ทั้ง การติดป้ายกำกับรูปภาพ และ การตรวจจับและติดตามออบเจ็กต์ API รองรับโมเดลการจัดประเภทรูปภาพที่กำหนดเอง โดยเข้ากันได้กับโมเดลที่ฝึกไว้ล่วงหน้าคุณภาพสูงที่เลือกไว้ใน TensorFlow Hub หรือโมเดลที่กำหนดเองซึ่งคุณฝึกด้วย TensorFlow หรือ AutoML

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

ประโยชน์ของการใช้ ML Kit กับโมเดลที่กำหนดเอง

ประโยชน์ของการใช้โมเดลการจัดประเภทรูปภาพที่กำหนดเองกับ ML Kit มีดังนี้

  • API ระดับสูงที่ใช้งานง่าย - ไม่จำเป็นต้องจัดการอินพุต/เอาต์พุตของโมเดลระดับต่ำ ประมวลผลรูปภาพล่วงหน้า/ภายหลัง หรือสร้างไปป์ไลน์การประมวลผล
  • ไม่ต้องกังวลเกี่ยวกับการแมปป้ายกำกับด้วยตนเอง, ML Kit จะดึง ป้ายกำกับจากข้อมูลเมตาของโมเดล LiteRT และทำการแมปให้คุณ
  • รองรับโมเดลที่กำหนดเองจากแหล่งที่มาที่หลากหลาย ตั้งแต่โมเดลที่ฝึกไว้ล่วงหน้า ที่เผยแพร่ใน TensorFlow Hub ไปจนถึงโมเดลใหม่ที่ฝึกด้วย TensorFlow หรือ AutoML
  • เพิ่มประสิทธิภาพเพื่อการผสานรวมกับ API กล้องของ Android

และสำหรับ API การตรวจจับและติดตามออบเจ็กต์ โดยเฉพาะ:

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

ใช้โมเดลการจัดประเภทรูปภาพที่ฝึกไว้ล่วงหน้า

คุณสามารถใช้โมเดล LiteRT ที่ฝึกไว้ล่วงหน้าได้หากเป็นไปตามเกณฑ์ที่กำหนดa เรามีโมเดลที่ผ่านการตรวจสอบแล้วจาก Google หรือผู้สร้างโมเดลรายอื่นๆ ซึ่งเป็นไปตามเกณฑ์เหล่านี้ผ่าน TensorFlow Hub

ใช้โมเดลที่เผยแพร่ใน TensorFlow Hub

TensorFlow Hub มีโมเดลการจัดประเภทรูปภาพที่ฝึกไว้ล่วงหน้ามากมาย จากผู้สร้างโมเดลต่างๆ ซึ่งสามารถใช้กับ API การติดป้ายกำกับรูปภาพและ API การตรวจจับและติดตามออบเจ็กต์ได้ โปรดทำตามขั้นตอนต่อไปนี้

  1. เลือกโมเดลจากคอลเล็กชันโมเดลที่เข้ากันได้กับ ML Kit
  2. ดาวน์โหลดไฟล์โมเดล .tflite จากหน้ารายละเอียดโมเดล เลือกรูปแบบโมเดลที่มีข้อมูลเมตาหากมี
  3. ทำตามคำแนะนำสำหรับ API การติดป้ายกำกับรูปภาพ หรือ API การตรวจจับและติดตามออบเจ็กต์ เกี่ยวกับวิธีรวมไฟล์โมเดลกับโปรเจ็กต์และใช้ในแอปพลิเคชัน Android หรือ iOS

ฝึกโมเดลการจัดประเภทรูปภาพของคุณเอง

หากไม่มีโมเดลการจัดประเภทรูปภาพที่ฝึกไว้ล่วงหน้าที่ตรงกับความต้องการของคุณ คุณสามารถฝึกโมเดล LiteRT ของคุณเองได้หลายวิธี ซึ่งเราได้สรุปและอธิบายรายละเอียดเพิ่มเติมไว้ในส่วนต่อไปนี้

ตัวเลือกในการฝึกโมเดลการจัดประเภทรูปภาพของคุณเอง
AutoML
  • ให้บริการผ่าน Google Cloud AI
  • สร้างโมเดลการจัดประเภทรูปภาพที่ล้ำสมัย
  • ประเมินประสิทธิภาพและขนาด
แปลงโมเดล TensorFlow เป็น LiteRT
  • ฝึกโมเดลด้วย TensorFlow แล้วแปลงเป็น LiteRT

AutoML

API โมเดลที่กำหนดเองใน API การติดป้ายกำกับรูปภาพ และ API การตรวจจับและติดตามออบเจ็กต์ รองรับโมเดลการจัดประเภทรูปภาพที่ฝึกโดยใช้ AutoML นอกจากนี้ API เหล่านี้ยัง รองรับการดาวน์โหลดโมเดลที่โฮสต์ด้วย Cloud Storage ด้วย

หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้โมเดลที่ฝึกด้วย AutoML ในแอป Android และ iOS ให้ทำตามคำแนะนำโมเดลที่กำหนดเองสำหรับ API แต่ละรายการ ทั้งนี้ขึ้นอยู่กับกรณีการใช้งาน

โมเดลที่สร้างโดยใช้ตัวแปลง LiteRT

หากมีโมเดลการจัดประเภทรูปภาพ TensorFlow อยู่แล้ว คุณสามารถแปลง โมเดลดังกล่าวได้โดยใช้ ตัวแปลง LiteRT ตรวจสอบว่าโมเดลที่สร้างขึ้นเป็นไปตามข้อกำหนดด้านความเข้ากันได้ต่อไปนี้

หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้โมเดล LiteRT ในแอป Android และ iOS ให้ทำตามคำแนะนำสำหรับAPI การติดป้ายกำกับรูปภาพ หรือ API การตรวจจับและติดตามออบเจ็กต์ ทั้งนี้ขึ้นอยู่กับกรณีการใช้งาน

ความเข้ากันได้ของโมเดล LiteRT

คุณสามารถใช้โมเดลการจัดประเภทรูปภาพ LiteRT ที่ฝึกไว้ล่วงหน้าได้หากเป็นไปตามข้อกำหนดต่อไปนี้

เทนเซอร์

  • โมเดลต้องมีเทนเซอร์อินพุตเพียงรายการเดียวที่มีข้อจำกัดต่อไปนี้
    • ข้อมูลอยู่ในรูปแบบพิกเซล RGB
    • ข้อมูลเป็นประเภท UINT8 หรือ FLOAT32 หากเทนเซอร์อินพุตเป็นประเภท FLOAT32 คุณต้องระบุ NormalizationOptions โดยแนบ ข้อมูลเมตา
    • Tensor มี 4 มิติ ได้แก่ BxHxWxC โดยที่
      • B คือขนาดกลุ่ม ต้องเป็น 1 (ระบบไม่รองรับการอนุมานในกลุ่มขนาดใหญ่)
      • W และ H คือความกว้างและความสูงของอินพุต
      • C คือจำนวนช่องที่คาดไว้ ต้องเป็น 3
  • โมเดลต้องมีเทนเซอร์เอาต์พุตอย่างน้อย 1 รายการที่มี N คลาสและมี 2 หรือ 4 มิติ ดังนี้
    • (1xN)
    • (1x1x1xN)
  • ระบบรองรับโมเดลแบบหัวเดียวอย่างเต็มรูปแบบ โมเดลแบบหลายหัวอาจแสดงผลลัพธ์ที่ไม่คาดคิด

ข้อมูลเมตา

คุณสามารถเพิ่มข้อมูลเมตาลงในไฟล์ LiteRT ได้ตามที่อธิบายไว้ใน หัวข้อการเพิ่มข้อมูลเมตาลงในโมเดล LiteRT

หากต้องการใช้โมเดลที่มีเทนเซอร์อินพุต FLOAT32 คุณต้องระบุ NormalizationOptions ในข้อมูลเมตา

นอกจากนี้ เราขอแนะนำให้คุณแนบข้อมูลเมตานี้กับ TensorMetadata ของเทนเซอร์เอาต์พุต TensorMetadata:

  • แผนที่ป้ายกำกับที่ระบุชื่อของคลาสเอาต์พุตแต่ละคลาสเป็น AssociatedFile ที่มีประเภท TENSOR_AXIS_LABELS (มิฉะนั้น ระบบจะแสดงได้เฉพาะดัชนีคลาสเอาต์พุตที่เป็นตัวเลข)
  • เกณฑ์คะแนนเริ่มต้นที่ต่ำกว่าซึ่งระบบจะพิจารณาว่าผลลัพธ์มีความน่าเชื่อถือต่ำเกินไปที่จะแสดงเป็น ProcessUnit ที่มี ScoreThresholdingOptions