ฝึกโมเดลการติดป้ายกำกับรูปภาพด้วย 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

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

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

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

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