Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

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

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

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

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

ก่อนที่คุณจะเริ่มต้น

1. รวบรวมข้อมูลการฝึกอบรมของคุณ

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

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

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

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

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

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

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

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

เมื่อคุณเตรียมอิมเมจการฝึกของคุณให้พร้อมแล้ว ให้เตรียมอิมเมจเพื่อนำเข้าสู่ Firebase คุณมีสามตัวเลือก:

ตัวเลือกที่ 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: ที่เก็บข้อมูลบนคลาวด์พร้อมดัชนี 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 Vision สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการเตรียมไฟล์ CSV

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

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

2. ฝึกโมเดลของคุณ

ต่อไป ฝึกโมเดลโดยใช้รูปภาพของคุณ:

  1. เปิดหน้า Vision Datasets ใน Google Cloud Console เลือกโครงการของคุณเมื่อได้รับแจ้ง

  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. ประเมินโมเดลของคุณ

เมื่อการฝึกอบรมเสร็จสิ้น คุณสามารถคลิกแท็บ ประเมิน เพื่อดูเมตริกประสิทธิภาพสำหรับโมเดล

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

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

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

ไม่ว่าคุณจะปรับให้เหมาะสมเพื่อความแม่นยำหรือการเรียกคืนจะขึ้นอยู่กับกรณีการใช้งานของคุณ ดูคู่มือสำหรับผู้เริ่มต้นใช้งาน 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 :

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

  2. เผยแพร่แบบจำลอง

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

    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