โดยค่าเริ่มต้น API ของ ML Kit จะใช้โมเดลแมชชีนเลิร์นนิงที่ฝึกโดย Google โมเดลเหล่านี้ได้รับการออกแบบมาให้ครอบคลุมการใช้งานที่หลากหลาย อย่างไรก็ตาม Use Case บางกรณีจำเป็นต้องใช้รูปแบบที่ตรงเป้าหมายมากขึ้น นั่นเป็นเหตุผลที่ ML Kit API บางส่วน อนุญาตให้คุณแทนที่โมเดลเริ่มต้นด้วยโมเดล TensorFlow Lite ที่กำหนดเองได้
ทั้ง Image Labeling และ API Object Detection & Tracking จะรองรับโมเดลการจัดประเภทรูปภาพที่กำหนดเอง ซึ่งใช้งานได้กับการเลือกโมเดลคุณภาพสูงที่ฝึกล่วงหน้าใน TensorFlow Hub หรือโมเดลแบบกำหนดเองที่ฝึกด้วย TensorFlow, AutoML Vision Edge หรือ TensorFlow Lite
หากต้องการโซลูชันที่กำหนดเองสำหรับโดเมนหรือกรณีการใช้งานอื่นๆ โปรดไปที่หน้าแมชชีนเลิร์นนิงในอุปกรณ์เพื่อดูคำแนะนำเกี่ยวกับโซลูชันและเครื่องมือทั้งหมดของ Google สำหรับแมชชีนเลิร์นนิงในอุปกรณ์
ประโยชน์ของการใช้ ML Kit กับโมเดลที่กำหนดเอง
ประโยชน์ของการใช้โมเดลการจัดประเภทรูปภาพที่กำหนดเองกับ ML Kit มีดังนี้
- API ระดับสูงที่ใช้งานง่าย - ไม่จำเป็นต้องจัดการกับอินพุต/เอาต์พุตของโมเดลระดับต่ำ จัดการอิมเมจก่อน/หลังการประมวลผล หรือสร้างไปป์ไลน์การประมวลผล
- ไม่ต้องกังวลเรื่องการแมปป้ายกำกับด้วยตนเอง ML Kit จะดึงป้ายกำกับจากข้อมูลเมตาโมเดล TFLite และทำการแมปให้คุณ
- รองรับโมเดลที่กำหนดเองจากแหล่งที่มาที่หลากหลาย ตั้งแต่โมเดลที่ฝึกไว้แล้วล่วงหน้าที่เผยแพร่ใน TensorFlow Hub ไปจนถึงโมเดลใหม่ที่ฝึกด้วย TensorFlow, AutoML Vision Edge หรือ TensorFlow Lite Model Maker
- รองรับโมเดลที่โฮสต์กับ Firebase ลดขนาด APK โดยการดาวน์โหลดโมเดล ตามความต้องการ พุชการอัปเดตโมเดลโดยไม่ต้องเผยแพร่แอปอีกครั้ง และทำการทดสอบ A/B ง่ายๆ ด้วยการกำหนดค่าระยะไกลของ Firebase
- เพิ่มประสิทธิภาพเพื่อการผสานรวมกับ API กล้องของ Android
และโดยเฉพาะอย่างยิ่งสำหรับการตรวจจับและการติดตามวัตถุ
- ปรับปรุงความแม่นยำของการจัดประเภทด้วยการค้นหาออบเจ็กต์ก่อน แล้วจึงเรียกใช้ตัวแยกประเภทเฉพาะในพื้นที่รูปภาพที่เกี่ยวข้อง
- มอบประสบการณ์แบบอินเทอร์แอกทีฟแบบเรียลไทม์โดยให้ผู้ใช้แสดงความคิดเห็นเกี่ยวกับออบเจ็กต์ทันทีที่มีการตรวจพบและแยกประเภท
ใช้โมเดลการจัดประเภทอิมเมจก่อนการฝึก
คุณจะใช้โมเดล TensorFlow Lite ที่ฝึกไว้แล้วล่วงหน้าได้หากมีคุณสมบัติตรงตามชุดเกณฑ์ เราใช้ TensorFlow Hub เพื่อเสนอชุดโมเดลที่ผ่านการตรวจสอบ จาก Google หรือผู้สร้างโมเดลคนอื่นๆ ที่มีคุณสมบัติตรงตามเกณฑ์เหล่านี้
ใช้โมเดลที่เผยแพร่บน TensorFlow Hub
TensorFlow Hub มีโมเดลการจัดประเภทอิมเมจก่อนการฝึกที่หลากหลายจากผู้สร้างโมเดลจำนวนมากที่ใช้ร่วมกับ API การติดป้ายกำกับรูปภาพและการตรวจจับออบเจ็กต์และ API การติดตามได้ โดยทำตามขั้นตอนต่อไปนี้
- เลือกรุ่นจากคอลเล็กชันโมเดลที่รองรับ ML Kit
- ดาวน์โหลดไฟล์โมเดล .tflite จากหน้ารายละเอียดโมเดล หากมี ให้เลือกรูปแบบโมเดลที่มีข้อมูลเมตา
- ทำตามคำแนะนำสำหรับ Image Labeling API หรือ Object Detection and Tracking API เกี่ยวกับวิธีรวมไฟล์โมเดลกับโปรเจ็กต์ของคุณ และนำไปใช้ในแอปพลิเคชัน Android หรือ iOS
ฝึกโมเดลการจัดประเภทรูปภาพของคุณเอง
หากไม่มีโมเดลการจัดประเภทอิมเมจก่อนการฝึกที่เหมาะกับความต้องการของคุณ มีหลายวิธีในการฝึกโมเดล TensorFlow Lite ตามวิธีเหล่านั้น ซึ่งบางวิธีจะมีการสรุปและอธิบายรายละเอียดเพิ่มเติมไว้ด้านล่าง
ตัวเลือกในการฝึกโมเดลการจัดประเภทรูปภาพของคุณเอง | |
---|---|
AutoML Vision Edge |
|
เครื่องมือสร้างโมเดล TensorFlow Lite |
|
แปลงโมเดล TensorFlow เป็น TensorFlow Lite |
|
AutoML Vision Edge
โมเดลการจัดประเภทรูปภาพที่ฝึกโดยใช้ AutoML Vision Edge จะรองรับโมเดลที่กำหนดเองใน API การติดป้ายกำกับรูปภาพ และ API การตรวจจับออบเจ็กต์และการติดตาม นอกจากนี้ API เหล่านี้ยังรองรับการดาวน์โหลดโมเดลที่โฮสต์ด้วยการทำให้โมเดล Firebase ใช้งานได้ด้วย
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้โมเดลที่ฝึกด้วย AutoML Vision Edge ในแอป Android และ iOS ให้ทำตามคำแนะนำสำหรับโมเดลที่กำหนดเองสำหรับ API แต่ละรายการ ทั้งนี้ขึ้นอยู่กับกรณีการใช้งานของคุณ
เครื่องมือสร้างโมเดล TensorFlow Lite
ไลบรารี TFLite Model Maker ช่วยลดความซับซ้อนของกระบวนการปรับเปลี่ยนและแปลงโมเดลโครงข่ายระบบประสาทเทียม TensorFlow ให้เป็นข้อมูลอินพุตเฉพาะเมื่อทำให้โมเดลนี้ใช้งานได้สำหรับแอปพลิเคชัน ML ในอุปกรณ์ คุณสามารถทำตามColab สำหรับการจัดประเภทรูปภาพด้วย TensorFlow Lite Model Maker
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้โมเดลที่ฝึกด้วย Model Maker ในแอป Android และ iOS ให้ทำตามคำแนะนำสำหรับ Image Labeling API หรือ Object Detection and Tracking API ทั้งนี้ขึ้นอยู่กับกรณีการใช้งานของคุณ
โมเดลที่สร้างโดยใช้ตัวแปลง TensorFlow Lite
หากมีโมเดลการจัดประเภทรูปภาพ TensorFlow อยู่แล้ว คุณก็จะแปลงโมเดลได้โดยใช้ตัวแปลง TensorFlow Lite โปรดตรวจสอบว่าโมเดลที่สร้างเป็นไปตามข้อกำหนดความเข้ากันได้ด้านล่าง
หากต้องการดูข้อมูลเพิ่มเติมเกี่ยวกับวิธีใช้โมเดล TensorFlow Lite ในแอป Android และ iOS ให้ทำตามคำแนะนำสำหรับ Image Labeling API หรือ Object Detection and Tracking API ทั้งนี้ขึ้นอยู่กับกรณีการใช้งานของคุณ
ความเข้ากันได้ของโมเดล TensorFlow Lite
คุณสามารถใช้โมเดลการจัดประเภทอิมเมจ TensorFlow Lite ที่ฝึกไว้แล้วล่วงหน้าหากโมเดลดังกล่าวเป็นไปตามข้อกำหนดต่อไปนี้
Tensor
- โมเดลต้องมี Tensor อินพุตเพียง 1 รายการเท่านั้นที่มีข้อจำกัดต่อไปนี้
- โดยข้อมูลจะอยู่ในรูปแบบพิกเซล RGB
- ข้อมูลเป็นประเภท UINT8 หรือ FLOAT32 หากประเภท Tensor อินพุตคือ FLOAT32 ต้องระบุ NormalizationOptions โดยแนบ Metadata
- Tensor มีมิติข้อมูล 4 รายการ คือ BxHxWxC โดยที่:
- B คือขนาดกลุ่ม ค่านี้ต้องเป็น 1 (ไม่รองรับการอนุมานในกลุ่มที่ใหญ่กว่า)
- W และ H คือความกว้างและความสูงของอินพุต
- C คือจํานวนแชแนลที่คาดไว้ ต้องเป็น 3
- โมเดลต้องมี Tensor เอาต์พุตอย่างน้อย 1 รายการที่มีคลาส N และมิติข้อมูล 2 หรือ 4 รายการดังนี้
- (1xN)
- (1x1x1xN)
- ขณะนี้รองรับเฉพาะโมเดลส่วนหัวเดียวอย่างเต็มรูปแบบ โมเดลแบบหลายหัวอาจ ให้ผลลัพธ์ที่ไม่คาดคิด
Metadata
คุณเพิ่มข้อมูลเมตาลงในไฟล์ TensorFlow Lite ได้ตามที่อธิบายไว้ในการเพิ่มข้อมูลเมตาไปยังโมเดล TensorFlow Lite
หากต้องการใช้โมเดลที่มี Tensor อินพุต FLOAT32 คุณต้องระบุ NormalizationOptions ในข้อมูลเมตา
เราขอแนะนำให้คุณแนบข้อมูลเมตานี้ไปยัง Tensor เอาต์พุต TensorMetadata:
- แมปป้ายกำกับระบุชื่อคลาสเอาต์พุตแต่ละรายการเป็น AssociatedFile ที่มีประเภทเป็น TENSOR_AXIS_LABELS (มิฉะนั้นระบบจะแสดงผลเฉพาะดัชนีคลาสเอาต์พุตตัวเลขเท่านั้น)
- เกณฑ์คะแนนเริ่มต้นซึ่งต่ำกว่าผลลัพธ์จะถือว่ามีความเชื่อมั่นต่ำเกินกว่าที่จะแสดงผลเป็น ProcessUnit ที่มี ScoreThresholdingOptions