โมเดลการตรวจจับวัตถุคล้ายกับโมเดลการติดป้ายกำกับรูปภาพ แต่ไม่ใช่ กำหนดป้ายกำกับให้กับรูปภาพทั้งหมด และกำหนดป้ายกำกับให้กับพื้นที่ของรูปภาพ คุณสามารถ ใช้โมเดลการตรวจจับวัตถุเพื่อจดจำและค้นหาวัตถุในรูปภาพ หรือ ติดตามการเคลื่อนไหวของวัตถุในชุดรูปภาพ
หากต้องการฝึกโมเดลการตรวจจับออบเจ็กต์ ให้ระบุชุด AutoML Vision Edge รูปภาพที่มีป้ายกำกับออบเจ็กต์และขอบเขตของออบเจ็กต์ที่สอดคล้องกัน AutoML Vision Edge ใช้ชุดข้อมูลนี้เพื่อฝึกโมเดลใหม่ในระบบคลาวด์ ซึ่งใช้ได้กับ การตรวจจับออบเจ็กต์ในอุปกรณ์
คุณลักษณะการฝึกโมเดลของก่อนเริ่มต้น
หากยังไม่มีโปรเจ็กต์ Firebase ให้สร้างใน คอนโซล Firebase
ทำความคุ้นเคยกับหลักเกณฑ์ที่แสดงอยู่ใน คู่มือ ML ที่ครอบคลุม - AutoML
หากต้องการลองใช้ AutoML Vision Edge และไม่มีการฝึกของคุณเอง ให้ดาวน์โหลดชุดข้อมูลตัวอย่างดังต่อไปนี้
- หนึ่งในชุดข้อมูลที่แนะนำของ TensorFlow
- ชุดข้อมูลที่โฮสต์บน Kaggle
1. รวบรวมข้อมูลการฝึก
ก่อนอื่น คุณต้องรวบรวมชุดข้อมูลการฝึกของรูปภาพที่ติดป้ายกำกับ เก็บ โปรดคำนึงถึงหลักเกณฑ์ต่อไปนี้
รูปภาพต้องอยู่ในรูปแบบ JPEG, PNG, GIF, BMP และ ICO
แต่ละภาพต้องมีขนาดไม่เกิน 30 MB โปรดทราบว่าการดาวน์เกรด AutoML Vision Edge รูปภาพส่วนใหญ่ระหว่างการประมวลผลล่วงหน้า ดังนั้นโดยทั่วไปแล้วจึงไม่ได้รับประโยชน์จากความถูกต้อง ให้ภาพความละเอียดสูงมาก
ใส่ตัวอย่างป้ายกำกับแต่ละป้ายอย่างน้อย 10 ตัวอย่างและควรเป็น 100 ตัวอย่างขึ้นไป
ใส่มุม ความละเอียด และพื้นหลังหลายๆ แบบสำหรับป้ายกำกับแต่ละป้าย
ข้อมูลการฝึกควรใกล้เคียงกับข้อมูลที่ ก็เกิดขึ้นได้ ตัวอย่างเช่น หากกรณีการใช้งานของคุณเบลอและ รูปภาพความละเอียดต่ำ (เช่น จากกล้องรักษาความปลอดภัย) ข้อมูลการฝึกของคุณ ควรประกอบด้วยรูปภาพที่เบลอและมีความละเอียดต่ำ
โมเดลที่สร้างโดย AutoML Vision Edge จะได้รับการเพิ่มประสิทธิภาพสำหรับรูปภาพ วัตถุในโลกจริง แต่อาจไม่เหมาะกับการเอกซเรย์ การวาดด้วยมือ เอกสารที่สแกน ใบเสร็จ และอีกมากมาย
นอกจากนี้ โดยทั่วไปแล้ว โมเดลจะไม่สามารถคาดการณ์ป้ายกำกับที่มนุษย์กำหนดไม่ได้ ดังนั้น หากมนุษย์ไม่สามารถกำหนดป้ายกำกับด้วยการดูรูปภาพเป็นเวลา 1-2 วินาที โมเดลอาจไม่ได้รับการฝึกให้ทำ เช่นกัน
เมื่อคุณมีรูปภาพการฝึกพร้อมแล้ว ให้เตรียมรูปภาพเพื่อนำเข้าสู่ Google Cloud คุณมีสองตัวเลือกดังนี้
ตัวเลือกที่ 1: Cloud Storage ที่มีดัชนี CSV
อัปโหลดรูปภาพการฝึกอบรมไปยัง Google Cloud Storage และเตรียมไฟล์ CSV ที่มี URL ของรูปภาพแต่ละรูป และ แก้ไขป้ายกำกับวัตถุและขอบเขตที่ล้อมรอบสำหรับแต่ละรูปภาพ ตัวเลือกนี้คือ มีประโยชน์เมื่อใช้ชุดข้อมูลขนาดใหญ่
เช่น อัปโหลดรูปภาพไปยัง Cloud Storage และเตรียมไฟล์ CSV ดังต่อไปนี้
gs://your-training-data-bucket/001.jpg,accordion,0.2,0.4,,,0.3,0.5,, gs://your-training-data-bucket/001.jpg,tuba,0.2,0.5,,,0.4,0.8,, gs://your-training-data-bucket/002.jpg,accordion,0.2,0.2,,,0.9,0.8,,
กรอบล้อมรอบวัตถุถูกระบุเป็นพิกัดสัมพัทธ์ในรูปภาพ โปรดดู การจัดรูปแบบ CSV ข้อมูลการฝึก
รูปภาพต้องจัดเก็บในที่เก็บข้อมูลที่อยู่ในภูมิภาค us-central1
และ
ของโปรเจ็กต์ Google Cloud ที่เกี่ยวข้องของโปรเจ็กต์ Firebase
ตัวเลือกที่ 2: รูปภาพที่ไม่มีป้ายกำกับ
ติดป้ายกำกับอิมเมจการฝึกและวาดขอบเขตออบเจ็กต์ใน Google Cloudหลังจากอัปโหลด วิธีนี้เหมาะสำหรับผู้ให้บริการขนาดเล็กเท่านั้น ชุดข้อมูล ดูขั้นตอนถัดไป
2. ฝึกโมเดล
จากนั้น ฝึกโมเดลโดยใช้รูปภาพของคุณ ดังนี้
เปิดชุดข้อมูล Vision ในคอนโซล Google Cloud เลือกโปรเจ็กต์เมื่อได้รับแจ้ง
คลิกชุดข้อมูลใหม่ ระบุชื่อชุดข้อมูล เลือกประเภทของ โมเดลที่ต้องการฝึก แล้วคลิกสร้างชุดข้อมูล
ในแท็บนำเข้าของชุดข้อมูล ให้อัปโหลดรูปภาพการฝึก ไฟล์ ZIP รูปภาพการฝึกหรือไฟล์ CSV ที่มี Cloud Storage สถานที่ที่คุณอัปโหลดไป โปรดดู รวบรวมข้อมูลการฝึก
หลังจากนำเข้าเสร็จสมบูรณ์แล้ว ให้ใช้แท็บรูปภาพเพื่อยืนยัน ข้อมูลการฝึกอบรม
หากไม่ได้อัปโหลดไฟล์ CSV ให้วาดกรอบล้อมรอบสำหรับแต่ละรูปภาพ ที่คุณต้องการจดจำและติดป้ายกำกับแต่ละออบเจ็กต์
คลิกเริ่มการฝึกในแท็บฝึก
ตั้งชื่อโมเดลและเลือกประเภทโมเดล Edge
กำหนดการตั้งค่าการฝึกต่อไปนี้ ซึ่งควบคุมประสิทธิภาพ ของโมเดลที่สร้างขึ้น
เพิ่มประสิทธิภาพโมเดลสำหรับ... การกำหนดค่าโมเดลที่จะใช้ คุณสามารถฝึกได้เร็วขึ้น เล็กลง รูปแบบเมื่อเวลาในการตอบสนองต่ำหรือแพ็กเกจขนาดเล็กมีความสำคัญ หรือ ช้ากว่า ใหญ่กว่า ซึ่งเป็นโมเดลเมื่อความแม่นยำเป็นสิ่งสำคัญที่สุด งบประมาณชั่วโมงของโหนด เวลาสูงสุด (เป็นชั่วโมงประมวลผล) ในการใช้การฝึก โมเดล โดยปกติเวลาการฝึกที่มากขึ้นมักจะทำให้ โมเดล
โปรดทราบว่าการฝึกทำได้น้อยกว่าที่ระบุ หากระบบกำหนดว่าจะให้เพิ่มประสิทธิภาพโมเดลนั้น และ ก็ไม่ได้ช่วยเพิ่มความแม่นยำ ระบบจะเรียกเก็บเงินจากคุณ สำหรับชั่วโมงที่ใช้งานจริงเท่านั้น
เวลาการฝึกทั่วไป ชุดขนาดเล็กมาก 1 ชั่วโมง รูปภาพ 500 รูป 2 ชั่วโมง รูปภาพ 1,000 รูป 3 ชั่วโมง รูปภาพ 5,000 รูป 6 ชั่วโมง รูปภาพ 10,000 รูป 7 ชั่วโมง รูปภาพ 50,000 รูป 11 ชั่วโมง รูปภาพ 100,000 รูป 13 ชั่วโมง รูปภาพ 1,000,000 รูป 18 ชั่วโมง
3. ประเมินโมเดล
เมื่อการฝึกเสร็จสมบูรณ์ คุณสามารถคลิกแท็บประเมินเพื่อ ดูเมตริกประสิทธิภาพของโมเดล
การใช้งานที่สำคัญอย่างหนึ่งของหน้านี้คือการพิจารณาเกณฑ์ความเชื่อมั่นที่ใช้งานได้ ดีที่สุดสำหรับโมเดลของคุณ เกณฑ์ความเชื่อมั่นคือความเชื่อมั่นขั้นต่ำของโมเดล สิ่งที่ต้องมีเพื่อติดป้ายกำกับให้กับรูปภาพ ด้วยการเลื่อนเกณฑ์ความเชื่อมั่น จะช่วยให้คุณดูได้ว่าเกณฑ์ต่างๆ ส่งผลต่อประสิทธิภาพของโมเดลอย่างไร ประสิทธิภาพของโมเดลจะวัดโดยใช้เมตริก 2 รายการ ได้แก่ ความแม่นยำและความอ่อนไหว
ในบริบทของการจัดประเภทรูปภาพ ความแม่นยำคืออัตราส่วนของจำนวน ของรูปภาพที่มีป้ายกำกับถูกต้อง ตามจำนวนภาพที่โมเดลมีป้ายกำกับ ตามเกณฑ์ที่เลือกไว้ เมื่อโมเดลมีความแม่นยำสูง ก็จะกำหนด ป้ายกำกับอย่างไม่ถูกต้องบ่อยน้อยลง (ผลบวกลวงน้อยลง)
ความอ่อนไหวคืออัตราส่วนของจำนวนรูปภาพที่ติดป้ายกำกับอย่างถูกต้อง จำนวนรูปภาพที่มีเนื้อหาซึ่งโมเดลควรติดป้ายกำกับได้ วันและเวลา โมเดลมีความอ่อนไหวสูง จึงไม่สามารถกำหนดป้ายกำกับได้ไม่บ่อยนัก (เท็จน้อย เชิงลบ)
การเพิ่มประสิทธิภาพเพื่อความแม่นยำหรือความอ่อนไหวจะขึ้นอยู่กับกรณีการใช้งานของคุณ โปรดดู ผู้เริ่มต้น AutoML Vision และ คู่มือ ML ที่ครอบคลุม - AutoML สำหรับข้อมูลเพิ่มเติม
เมื่อพบเกณฑ์ความเชื่อมั่นที่แสดงเมตริกที่คุณพอใจ จดบันทึกเรื่องนี้ คุณจะใช้เกณฑ์ความเชื่อมั่นเพื่อกำหนดค่าโมเดลใน แอป (คุณใช้เครื่องมือนี้ได้ทุกเมื่อเพื่อให้ได้ค่าเกณฑ์ที่เหมาะสม)
4. เผยแพร่หรือดาวน์โหลดโมเดล
หากพอใจกับประสิทธิภาพของโมเดลและต้องการใช้ในแอป คุณมี 3 ตัวเลือก ซึ่งคุณสามารถเลือกผสมผสานกัน ได้แก่ ติดตั้งใช้งาน โมเดลสำหรับการคาดการณ์ออนไลน์ เผยแพร่โมเดลใน Firebase หรือดาวน์โหลด และรวมเข้ากับแอปของคุณ
ทำให้โมเดลใช้งานได้
ในหน้า Test & use คุณสามารถทำให้โมเดลใช้งานได้สำหรับ การคาดการณ์ของคุณ ซึ่งเรียกใช้โมเดลในระบบคลาวด์ ตัวเลือกนี้ครอบคลุมอยู่ใน เอกสาร Cloud AutoML เอกสารในเว็บไซต์นี้จะจัดการกับตัวเลือกอีก 2 รายการที่เหลือ
เผยแพร่โมเดล
การเผยแพร่โมเดลไปยัง Firebase ทำให้คุณอัปเดตโมเดลได้โดยไม่ต้องเผยแพร่ แอปเวอร์ชันใหม่ และคุณจะใช้ Remote Config และ A/B Testing เพื่อทำสิ่งต่อไปนี้ได้ แสดงรูปแบบต่างๆ แก่ผู้ใช้กลุ่มต่างๆ แบบไดนามิก
หากคุณเลือกที่จะระบุเฉพาะโมเดลโดยการโฮสต์โมเดลด้วย Firebase ไม่ใช่ รวมกลุ่มแอปไว้กับแอปของคุณ คุณจะลดขนาดการดาวน์โหลดเริ่มต้นของแอปได้ อย่างไรก็ตาม หากโมเดลไม่ได้รวมอยู่กับแอปของคุณ ฟังก์ชันการทำงานที่เกี่ยวข้องกับโมเดลจะยังไม่พร้อมใช้งานจนกว่าแอปของคุณจะดาวน์โหลด โมเดลของคุณเป็นครั้งแรก
หากต้องการเผยแพร่โมเดล คุณสามารถใช้วิธีใดวิธีหนึ่งต่อไปนี้
- ดาวน์โหลดโมเดล TF Lite จากการทดสอบและ ใช้ในส่วน Google Cloud แล้วอัปโหลดโมเดลบน หน้าโมเดลที่กำหนดเองของคอนโซล Firebase ปกติแล้ว วิธีที่ง่ายที่สุดในการเผยแพร่โมเดลเดียว
- เผยแพร่โมเดลจากโปรเจ็กต์ Google Cloud ไปยัง Firebase โดยตรงโดยใช้ Admin SDK คุณสามารถใช้วิธีนี้เพื่อเผยแพร่โมเดลจำนวนมากหรือ ช่วยสร้างไปป์ไลน์การเผยแพร่อัตโนมัติ
วิธีเผยแพร่โมเดลด้วย model management API ของ Admin SDK
เผยแพร่โมเดล
คุณจะต้องระบุตัวระบุทรัพยากรของโมเดล ซึ่งเป็นสตริง ที่มีลักษณะดังตัวอย่างต่อไปนี้
projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
PROJECT_NUMBER
หมายเลขโปรเจ็กต์ของที่เก็บข้อมูล Cloud Storage ที่มีฟิลด์ โมเดล นี่อาจเป็นโปรเจ็กต์ Firebase ของคุณหรือ Google Cloud อื่น คุณดูค่านี้ได้ในหน้าการตั้งค่าของ คอนโซล Firebase หรือแดชบอร์ดคอนโซล Google Cloud MODEL_ID
รหัสของโมเดล ซึ่งได้มาจาก AutoML Cloud API Python
# First, import and initialize the SDK. # Get a reference to the AutoML model source = ml.TFLiteAutoMlSource('projects/{}/locations/us-central1/models/{}'.format( # See above for information on these values. project_number, model_id )) # Create the model object tflite_format = ml.TFLiteFormat(model_source=source) model = ml.Model( display_name="example_model", # This is the name you will use from your app to load the model. tags=["examples"], # Optional tags for easier management. model_format=tflite_format) # Add the model to your Firebase project and publish it new_model = ml.create_model(model) new_model.wait_for_unlocked() ml.publish_model(new_model.model_id)
Node.js
// First, import and initialize the SDK. (async () => { // Get a reference to the AutoML model. See above for information on these // values. const automlModel = `projects/${projectNumber}/locations/us-central1/models/${modelId}`; // Create the model object and add the model to your Firebase project. const model = await ml.createModel({ displayName: 'example_model', // This is the name you use from your app to load the model. tags: ['examples'], // Optional tags for easier management. tfliteModel: { automlModel: automlModel }, }); // Wait for the model to be ready. await model.waitForUnlocked(); // Publish the model. await ml.publishModel(model.modelId); process.exit(); })().catch(console.error);
ดาวน์โหลดและ รวมโมเดลกับแอปของคุณ
การรวมโมเดลกับแอปจะทำให้คุณมั่นใจได้ว่าฟีเจอร์ ML ของแอป ยังคงใช้งานได้เมื่อรูปแบบที่โฮสต์ด้วย Firebase ไม่พร้อมใช้งาน
หากคุณทั้งเผยแพร่โมเดลและรวมอยู่กับแอป แอปจะใช้ มีเวอร์ชันล่าสุดพร้อมใช้งาน
หากต้องการดาวน์โหลดโมเดล ให้คลิก TF Lite ในหน้าทดสอบและ การใช้งาน
ขั้นตอนถัดไป
เมื่อคุณเผยแพร่หรือดาวน์โหลดโมเดลแล้ว ให้ดูวิธีใช้โมเดล ใน iOS+ และ แอป Android