โมเดลการตรวจจับวัตถุคล้ายกับโมเดลการติดฉลากรูปภาพ แต่แทนที่จะกำหนดป้ายกำกับให้กับรูปภาพทั้งหมด จะกำหนดป้ายกำกับให้กับพื้นที่ของรูปภาพ คุณสามารถใช้แบบจำลองการตรวจจับวัตถุเพื่อจดจำและระบุตำแหน่งของวัตถุในภาพ หรือเพื่อติดตามการเคลื่อนไหวของวัตถุในชุดภาพ
ในการฝึกโมเดลการตรวจจับวัตถุ คุณต้องจัดเตรียมชุดรูปภาพของ AutoML Vision Edge พร้อมป้ายชื่อวัตถุและขอบเขตของวัตถุที่สอดคล้องกัน AutoML Vision Edge ใช้ชุดข้อมูลนี้เพื่อฝึกโมเดลใหม่ในระบบคลาวด์ ซึ่งคุณสามารถใช้สำหรับการตรวจจับวัตถุบนอุปกรณ์
ก่อนที่คุณจะเริ่มต้น
หากคุณยังไม่มีโปรเจ็กต์ Firebase ให้สร้างโปรเจ็กต์ใน คอนโซล Firebase
ทำความคุ้นเคยกับหลักเกณฑ์ที่นำเสนอใน คู่มือ ML แบบรวม - AutoML
หากคุณเพียงต้องการลองใช้ AutoML Vision Edge และไม่มีข้อมูลการฝึกอบรมของคุณเอง ให้ดาวน์โหลดชุดข้อมูลตัวอย่าง เช่น หนึ่งในรายการต่อไปนี้:
- หนึ่งใน ชุดข้อมูลที่แนะนำ ของ TensorFlow
- ชุดข้อมูลที่โฮสต์บน Kaggle
1. รวบรวมข้อมูลการฝึกอบรมของคุณ
ขั้นแรก คุณต้องรวบรวมชุดข้อมูลการฝึกอบรมของรูปภาพที่มีป้ายกำกับ โปรดคำนึงถึงแนวทางต่อไปนี้:
รูปภาพต้องอยู่ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้: JPEG, PNG, GIF, BMP, ICO
แต่ละภาพต้องมีขนาด 30MB หรือเล็กกว่า โปรดทราบว่า AutoML Vision Edge จะลดขนาดภาพส่วนใหญ่ระหว่างการประมวลผลล่วงหน้า ดังนั้นโดยทั่วไปแล้วจะไม่มีประโยชน์ด้านความแม่นยำในการให้ภาพที่มีความละเอียดสูงมาก
รวมตัวอย่างป้ายกำกับแต่ละรายการอย่างน้อย 10 ตัวอย่างและควรมากกว่า 100 รายการขึ้นไป
รวมหลายมุม ความละเอียด และพื้นหลังสำหรับป้ายแต่ละป้าย
ข้อมูลการฝึกอบรมควรใกล้เคียงกับข้อมูลที่คาดการณ์ไว้มากที่สุด ตัวอย่างเช่น หากกรณีการใช้งานของคุณเกี่ยวข้องกับภาพที่พร่ามัวและมีความละเอียดต่ำ (เช่น จากกล้องวงจรปิด) ข้อมูลการฝึกอบรมของคุณควรประกอบด้วยภาพที่พร่ามัวและมีความละเอียดต่ำ
โมเดลที่สร้างโดย AutoML Vision Edge ได้รับการปรับให้เหมาะกับภาพถ่ายของวัตถุในโลกแห่งความเป็นจริง อาจทำงานได้ไม่ดีสำหรับการเอ็กซ์เรย์ การวาดภาพด้วยมือ เอกสารที่สแกน ใบเสร็จ และอื่นๆ
นอกจากนี้ แบบจำลองไม่สามารถคาดเดาป้ายกำกับที่มนุษย์ไม่สามารถกำหนดได้โดยทั่วไป ดังนั้น หากมนุษย์ไม่สามารถกำหนดป้ายกำกับด้วยการดูที่ภาพเป็นเวลา 1-2 วินาที แบบจำลองก็ไม่ได้รับการฝึกฝนให้ทำเช่นนั้นเช่นกัน
เมื่อคุณเตรียมภาพการฝึกของคุณให้พร้อมแล้ว ให้เตรียมเพื่อนำเข้าสู่ Google Cloud คุณมีสองทางเลือก:
ตัวเลือกที่ 1: ที่เก็บข้อมูลบนคลาวด์พร้อมดัชนี 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 Console หลังจากที่คุณอัปโหลด แนะนำให้ใช้กับชุดข้อมูลขนาดเล็กเท่านั้น ดูขั้นตอนต่อไป
2. ฝึกโมเดลของคุณ
ต่อไป ฝึกโมเดลโดยใช้รูปภาพของคุณ:
เปิดหน้า Vision Datasets ใน Google Cloud Console เลือกโครงการของคุณเมื่อได้รับแจ้ง
คลิก ชุดข้อมูลใหม่ ระบุชื่อสำหรับชุดข้อมูล เลือกประเภทของแบบจำลองที่คุณต้องการฝึก และคลิก สร้างชุดข้อมูล
ในแท็บ นำเข้า ของชุดข้อมูล ให้อัปโหลดภาพการฝึก ไฟล์ 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. ประเมินแบบจำลองของคุณ
เมื่อการฝึกอบรมเสร็จสิ้น คุณสามารถคลิกแท็บ ประเมิน เพื่อดูเมตริกประสิทธิภาพสำหรับโมเดล
การใช้งานหน้านี้ที่สำคัญอย่างหนึ่งคือการกำหนดเกณฑ์ความเชื่อมั่นที่เหมาะกับโมเดลของคุณมากที่สุด เกณฑ์ความเชื่อมั่นคือความมั่นใจขั้นต่ำที่แบบจำลองต้องมีเพื่อกำหนดป้ายกำกับให้กับรูปภาพ เมื่อเลื่อนแถบ เลื่อนเกณฑ์ความเชื่อมั่น คุณจะเห็นว่าเกณฑ์ต่างๆ ส่งผลต่อประสิทธิภาพของโมเดลอย่างไร ประสิทธิภาพของโมเดลวัดโดยใช้สองเมตริก: ความแม่นยำ และ การเรียกคืน
ในบริบทของการจำแนกรูปภาพ ความแม่นยำ คืออัตราส่วนของจำนวนรูปภาพที่ติดป้ายอย่างถูกต้องต่อจำนวนรูปภาพที่โมเดลติดป้ายตามเกณฑ์ที่เลือก เมื่อโมเดลมีความแม่นยำสูง โมเดลจะกำหนดป้ายกำกับไม่ถูกต้องน้อยลง (ผลบวกปลอมน้อยลง)
การเรียกคืน คืออัตราส่วนของจำนวนรูปภาพที่ติดป้ายกำกับอย่างถูกต้องต่อจำนวนรูปภาพที่มีเนื้อหาที่โมเดลควรติดป้ายกำกับได้ เมื่อโมเดลมีการเรียกคืนสูง จะไม่สามารถกำหนดป้ายกำกับใด ๆ ได้น้อยลง (ค่าลบที่ผิดพลาดน้อยลง)
ไม่ว่าคุณจะปรับให้เหมาะสมเพื่อความแม่นยำหรือการเรียกคืนจะขึ้นอยู่กับกรณีการใช้งานของคุณ ดู คู่มือสำหรับผู้เริ่มต้นใช้งาน AutoML Vision และ คู่มือ ML แบบรวม - AutoML สำหรับข้อมูลเพิ่มเติม
เมื่อคุณพบเกณฑ์ความเชื่อมั่นที่สร้างเมตริกที่คุณพอใจ ให้จดบันทึกไว้ คุณจะใช้เกณฑ์ความเชื่อมั่นเพื่อกำหนดค่าโมเดลในแอปของคุณ (คุณสามารถใช้เครื่องมือนี้ได้ทุกเมื่อเพื่อรับค่าเกณฑ์ที่เหมาะสม)
4. เผยแพร่หรือดาวน์โหลดแบบจำลองของคุณ
หากคุณพอใจกับประสิทธิภาพของโมเดลและต้องการใช้ในแอป คุณมีสามตัวเลือก ซึ่งคุณสามารถเลือกชุดค่าผสมใดก็ได้: ปรับใช้โมเดลสำหรับการคาดคะเนออนไลน์ เผยแพร่โมเดลไปยัง Firebase หรือดาวน์โหลดโมเดลแล้วรวมเป็นชุด ด้วยแอพของคุณ
ปรับใช้โมเดล
บนแท็บ ทดสอบและใช้ งานชุดข้อมูลของคุณ คุณสามารถปรับใช้โมเดลของคุณสำหรับการคาดคะเนออนไลน์ ซึ่งจะรันโมเดลของคุณในระบบคลาวด์ ตัวเลือกนี้ครอบคลุมอยู่ใน เอกสาร Cloud AutoML เอกสารในไซต์นี้จัดการกับสองตัวเลือกที่เหลือ
เผยแพร่แบบจำลอง
เมื่อเผยแพร่โมเดลไปยัง Firebase คุณจะอัปเดตโมเดลได้โดยไม่ต้องเปิดตัวแอปเวอร์ชันใหม่ และคุณสามารถใช้การกำหนดค่าระยะไกลและการทดสอบ A/B เพื่อให้บริการโมเดลต่างๆ แบบไดนามิกแก่กลุ่มผู้ใช้ที่แตกต่างกัน
หากคุณเลือกที่จะจัดหาโมเดลด้วยการโฮสต์กับ Firebase เท่านั้น และไม่รวมโมเดลไว้กับแอป คุณจะลดขนาดการดาวน์โหลดเริ่มต้นของแอปได้ อย่างไรก็ตาม โปรดทราบว่าหากโมเดลไม่ได้รวมเข้ากับแอปของคุณ ฟังก์ชันที่เกี่ยวข้องกับโมเดลจะไม่สามารถใช้งานได้จนกว่าแอปของคุณจะดาวน์โหลดโมเดลเป็นครั้งแรก
หากต้องการเผยแพร่โมเดลของคุณ คุณสามารถใช้หนึ่งในสองวิธีต่อไปนี้:
- ดาวน์โหลดโมเดล TF Lite จากหน้า ทดสอบและใช้งาน ชุดข้อมูลของคุณใน Google Cloud Console จากนั้นอัปโหลดโมเดลในหน้า โมเดลที่กำหนดเอง ของคอนโซล Firebase นี่เป็นวิธีที่ง่ายที่สุดในการเผยแพร่โมเดลเดียว
- เผยแพร่โมเดลโดยตรงจากโครงการ Google Cloud ไปยัง Firebase โดยใช้ Admin SDK คุณสามารถใช้วิธีนี้เพื่อเผยแพร่หลายรุ่นเป็นชุดหรือเพื่อช่วยสร้างไปป์ไลน์การเผยแพร่อัตโนมัติ
ในการเผยแพร่โมเดลด้วย API การจัดการโมเดล Admin SDK :
เผยแพร่แบบจำลอง
คุณจะต้องระบุตัวระบุทรัพยากรของโมเดล ซึ่งเป็นสตริงที่มีลักษณะดังตัวอย่างต่อไปนี้:
projects/PROJECT_NUMBER/locations/us-central1/models/MODEL_ID
PROJECT_NUMBER
หมายเลขโปรเจ็กต์ของที่เก็บข้อมูล Cloud Storage ที่มีโมเดล นี่อาจเป็นโครงการ Firebase ของคุณหรือโครงการ Google Cloud อื่น คุณสามารถค้นหาค่านี้ได้ในหน้าการตั้งค่าของคอนโซล Firebase หรือแดชบอร์ด Google Cloud Console MODEL_ID
ID ของโมเดลที่คุณได้รับจาก AutoML Cloud API หลาม
# 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)
โหนด 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