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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

      เวลาการฝึกทั่วไป
      ชุดขนาดเล็กมาก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 ทำให้คุณอัปเดตโมเดลได้โดยไม่ต้องเผยแพร่ แอปเวอร์ชันใหม่ และคุณสามารถใช้การกำหนดค่าระยะไกลและการทดสอบ A/B เพื่อ แสดงรูปแบบต่างๆ แก่ผู้ใช้กลุ่มต่างๆ แบบไดนามิก

หากคุณเลือกที่จะระบุเฉพาะโมเดลโดยการโฮสต์โมเดลด้วย 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 ที่มีฟิลด์ model. นี่อาจเป็นโปรเจ็กต์ 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