ฝึกโมเดลการติดป้ายกำกับรูปภาพด้วย AutoML Vision Edge

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

AutoML Vision Edge เป็นบริการของ Google Cloud การใช้บริการอยู่ภายใต้ ข้อตกลงการอนุญาตให้ใช้สิทธิของ Google Cloud Platform และข้อกำหนดเฉพาะของบริการ และจะมีการเรียกเก็บเงินตามนั้น ดูข้อมูลการเรียกเก็บเงินได้ที่หน้าราคา ของ AutoML

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

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

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

  • รูปภาพต้องอยู่ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้: JPEG, PNG, GIF, BMP, ICO

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

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

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

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

  • โมเดลที่สร้างโดย AutoML Vision Edge ได้รับการเพิ่มประสิทธิภาพสำหรับภาพถ่ายของ ออบเจ็กต์ในโลกจริง แต่ไม่เหมาะกับภาพรังสี ภาพวาดด้วยมือ เอกสารที่สแกน ใบเสร็จ และอื่นๆ

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

เมื่อเตรียมรูปภาพการฝึกพร้อมแล้ว ให้เตรียมรูปภาพเหล่านั้นเพื่อนำเข้าไปยัง Firebase คุณมี 3 ตัวเลือกดังนี้

ตัวเลือกที่ 1: ไฟล์ ZIP ที่มีโครงสร้าง

จัดระเบียบรูปภาพการฝึกเป็นไดเรกทอรี โดยแต่ละไดเรกทอรีจะมีชื่อตามป้ายกำกับและ มีรูปภาพที่เป็นตัวอย่างของป้ายกำกับนั้น จากนั้นบีบอัดโครงสร้างไดเรกทอรีเป็นไฟล์เก็บถาวรแบบ Zip

ชื่อไดเรกทอรีในไฟล์เก็บถาวร ZIP นี้มีความยาวได้สูงสุด 32 อักขระ ASCII และมีได้เฉพาะอักขระที่เป็นตัวอักษรและตัวเลขคละกัน รวมถึงขีดล่าง (_)

เช่น

my_training_data.zip
  |____accordion
  | |____001.jpg
  | |____002.jpg
  | |____003.jpg
  |____bass_guitar
  | |____hofner.gif
  | |____p-bass.png
  |____clavier
    |____well-tempered.jpg
    |____well-tempered (1).jpg
    |____well-tempered (2).jpg

ตัวเลือกที่ 2: Cloud Storage พร้อมดัชนี CSV

อัปโหลดรูปภาพการฝึกไปยัง Google Cloud Storage และเตรียมไฟล์ CSV ที่แสดง URL ของแต่ละรูปภาพ และป้ายกำกับที่ถูกต้องสำหรับแต่ละรูปภาพ (ไม่บังคับ) ตัวเลือกนี้มีประโยชน์เมื่อใช้ชุดข้อมูลขนาดใหญ่มาก

เช่น อัปโหลดรูปภาพไปยัง Cloud Storage และเตรียมไฟล์ CSV ดังตัวอย่างต่อไปนี้

gs://your-training-data-bucket/001.jpg,accordion
gs://your-training-data-bucket/002.jpg,accordion
gs://your-training-data-bucket/003.jpg,accordion
gs://your-training-data-bucket/hofner.gif,bass_guitar
gs://your-training-data-bucket/p-bass.png,bass_guitar
gs://your-training-data-bucket/well-tempered.jpg,clavier
gs://your-training-data-bucket/well-tempered%20(1).jpg,clavier
gs://your-training-data-bucket/well-tempered%20(2).jpg,clavier

รูปภาพต้องจัดเก็บไว้ในที่เก็บข้อมูลที่เป็นส่วนหนึ่งของโปรเจ็กต์ Firebase ที่เกี่ยวข้องกับGoogle Cloudโปรเจ็กต์

ดูข้อมูลเพิ่มเติมเกี่ยวกับการเตรียมไฟล์ CSV ได้ที่หัวข้อการเตรียมข้อมูลการฝึกในเอกสารประกอบ Cloud AutoML Vision

ตัวเลือกที่ 3: รูปภาพที่ไม่มีป้ายกำกับ

ติดป้ายกำกับรูปภาพการฝึกในคอนโซล Firebase หลังจากอัปโหลด ทีละรูปหรือในไฟล์ ZIP ที่ไม่มีโครงสร้าง ดูขั้นตอนถัดไป

2. ฝึกโมเดล

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

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

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

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

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

  5. ในแท็บฝึก ให้คลิกเริ่มฝึก

    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 คุณสามารถใช้วิธีนี้เพื่อเผยแพร่โมเดลหลายรายการพร้อมกัน หรือเพื่อ ช่วยสร้างไปป์ไลน์การเผยแพร่แบบอัตโนมัติ

วิธีเผยแพร่โมเดลด้วย 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