ฝึกโมเดลการตรวจจับออบเจ็กต์ด้วย AutoML Vision Edge

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

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

คุณลักษณะการฝึกโมเดลของ

ก่อนเริ่มต้น

  • หากยังไม่มีโปรเจ็กต์ Firebase ให้สร้างใน คอนโซล Firebase

  • ทำความคุ้นเคยกับหลักเกณฑ์ที่แสดงอยู่ใน คู่มือ ML ที่ครอบคลุม - AutoML

  • หากต้องการลองใช้ AutoML Vision Edge เท่านั้นและไม่มีข้อมูลการฝึกของคุณเอง ให้ดาวน์โหลดชุดข้อมูลตัวอย่าง เช่น ชุดข้อมูลต่อไปนี้

1. รวบรวมข้อมูลการฝึก

ก่อนอื่น คุณต้องรวบรวมชุดข้อมูลการฝึกของรูปภาพที่ติดป้ายกำกับ เก็บ โปรดคำนึงถึงหลักเกณฑ์ต่อไปนี้

  • รูปภาพต้องอยู่ในรูปแบบ JPEG, PNG, GIF, BMP และ ICO

  • แต่ละภาพต้องมีขนาดไม่เกิน 30 MB โปรดทราบว่าการดาวน์เกรด AutoML Vision Edge รูปภาพส่วนใหญ่ระหว่างการประมวลผลล่วงหน้า ดังนั้นโดยทั่วไปแล้วจึงไม่ได้รับประโยชน์จากความถูกต้อง ให้ภาพความละเอียดสูงมาก

  • ใส่ตัวอย่างป้ายกำกับแต่ละป้ายอย่างน้อย 10 ตัวอย่างและควรเป็น 100 ตัวอย่างขึ้นไป

  • ใส่ภาพจากหลายมุม ความละเอียด และพื้นหลังสำหรับป้ายกำกับแต่ละรายการ

  • ข้อมูลการฝึกควรใกล้เคียงกับข้อมูลที่ ก็เกิดขึ้นได้ เช่น หาก Use Case ของคุณเกี่ยวข้องกับรูปภาพที่เบลอและมีความละเอียดต่ำ (เช่น จากกล้องรักษาความปลอดภัย) ข้อมูลการฝึกอบรมควรประกอบด้วยรูปภาพที่เบลอและมีความละเอียดต่ำ

  • โมเดลที่ 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. ฝึกโมเดล

จากนั้น ฝึกโมเดลโดยใช้รูปภาพของคุณ ดังนี้

  1. เปิดชุดข้อมูล Vision ในคอนโซล Google Cloud เลือกโปรเจ็กต์เมื่อได้รับแจ้ง

  2. คลิกชุดข้อมูลใหม่ ตั้งชื่อชุดข้อมูล เลือกประเภทโมเดลที่ต้องการฝึก แล้วคลิกสร้างชุดข้อมูล

  3. ในแท็บนำเข้าของชุดข้อมูล ให้อัปโหลดรูปภาพการฝึก ไฟล์ ZIP รูปภาพการฝึกหรือไฟล์ CSV ที่มี Cloud Storage สถานที่ที่คุณอัปโหลดไป โปรดดู รวบรวมข้อมูลการฝึก

  4. หลังจากนำเข้าเสร็จสมบูรณ์แล้ว ให้ใช้แท็บรูปภาพเพื่อยืนยัน ข้อมูลการฝึกอบรม

  5. หากคุณไม่ได้อัปโหลด CSV ให้วาดกรอบล้อมรอบวัตถุที่ต้องการจดจำและติดป้ายกำกับวัตถุแต่ละรายการสำหรับแต่ละรูปภาพ

  6. คลิกเริ่มการฝึกในแท็บฝึก

    1. ตั้งชื่อโมเดลและเลือกประเภทโมเดล Edge

    2. กำหนดการตั้งค่าการฝึกต่อไปนี้ ซึ่งควบคุมประสิทธิภาพ ของโมเดลที่สร้างขึ้น

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

      เวลาสูงสุด (เป็นชั่วโมงประมวลผล) ในการใช้การฝึก โมเดล โดยปกติเวลาการฝึกที่มากขึ้นมักจะทำให้ โมเดล

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

      เวลาการฝึกทั่วไป
      ชุดขนาดเล็กมาก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 หรือดาวน์โหลด และรวมเข้ากับแอปของคุณ

ทำให้โมเดลใช้งานได้

ในแท็บทดสอบและใช้งานของชุดข้อมูล คุณสามารถทำให้โมเดลใช้งานได้กับการคาดการณ์ออนไลน์ ซึ่งจะเรียกใช้โมเดลในระบบคลาวด์ ตัวเลือกนี้ครอบคลุมอยู่ใน เอกสาร 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

  1. ติดตั้งและเริ่มต้น SDK

  2. เผยแพร่โมเดล

    คุณจะต้องระบุตัวระบุทรัพยากรของโมเดล ซึ่งเป็นสตริง ที่มีลักษณะดังตัวอย่างต่อไปนี้

    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