You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
IoT-For-Beginners/translations/th/4-manufacturing/lessons/2-check-fruit-from-device/README.md

23 KiB

ตรวจสอบคุณภาพผลไม้จากอุปกรณ์ IoT

ภาพรวมของบทเรียนนี้ในรูปแบบ sketchnote

Sketchnote โดย Nitya Narasimhan คลิกที่ภาพเพื่อดูเวอร์ชันขนาดใหญ่

แบบทดสอบก่อนเรียน

แบบทดสอบก่อนเรียน

บทนำ

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

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

ในบทเรียนนี้เราจะครอบคลุม:

เซ็นเซอร์กล้อง

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

แสงจากฉากผ่านเลนส์และถูกโฟกัสบนเซ็นเซอร์ CMOS

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

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

🎓 เซ็นเซอร์ภาพเรียกว่า Active-Pixel Sensor (APS) และประเภท APS ที่ได้รับความนิยมมากที่สุดคือเซ็นเซอร์ CMOS (Complementary Metal-Oxide Semiconductor) คุณอาจเคยได้ยินคำว่าเซ็นเซอร์ CMOS ใช้สำหรับเซ็นเซอร์กล้อง

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

ข้อจำกัดเกี่ยวกับขนาดภาพในอุปกรณ์ IoT มีอะไรบ้าง? ลองคิดถึงข้อจำกัดโดยเฉพาะในฮาร์ดแวร์ไมโครคอนโทรลเลอร์

จับภาพโดยใช้อุปกรณ์ IoT

คุณสามารถใช้อุปกรณ์ IoT ของคุณเพื่อจับภาพและนำไปจำแนกได้

งาน - จับภาพโดยใช้อุปกรณ์ IoT

ทำตามคู่มือที่เกี่ยวข้องเพื่อจับภาพโดยใช้อุปกรณ์ IoT ของคุณ:

เผยแพร่ตัวจำแนกภาพของคุณ

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

การทำซ้ำของโมเดล

เมื่อโมเดลของคุณกำลังฝึกในบทเรียนที่ผ่านมา คุณอาจสังเกตเห็นว่าแท็บ Performance แสดงการทำซ้ำทางด้านข้าง เมื่อคุณฝึกโมเดลครั้งแรก คุณจะเห็น Iteration 1 ในการฝึก เมื่อคุณปรับปรุงโมเดลโดยใช้ภาพการทำนาย คุณจะเห็น Iteration 2 ในการฝึก

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

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

งาน - เผยแพร่การทำซ้ำ

การทำซ้ำจะถูกเผยแพร่จากพอร์ทัล Custom Vision

  1. เปิดพอร์ทัล Custom Vision ที่ CustomVision.ai และลงชื่อเข้าใช้หากคุณยังไม่ได้เปิด จากนั้นเปิดโปรเจกต์ fruit-quality-detector ของคุณ

  2. เลือกแท็บ Performance จากตัวเลือกด้านบน

  3. เลือกการทำซ้ำล่าสุดจากรายการ Iterations ทางด้านข้าง

  4. เลือกปุ่ม Publish สำหรับการทำซ้ำ

    ปุ่มเผยแพร่

  5. ในกล่อง Publish Model ตั้งค่าทรัพยากร Prediction resource เป็นทรัพยากร fruit-quality-detector-prediction ที่คุณสร้างในบทเรียนที่ผ่านมา ปล่อยชื่อไว้เป็น Iteration2 และเลือกปุ่ม Publish

  6. เมื่อเผยแพร่แล้ว ให้เลือกปุ่ม Prediction URL ซึ่งจะแสดงรายละเอียดของ API การทำนาย และคุณจะต้องใช้สิ่งนี้เพื่อเรียกโมเดลจากอุปกรณ์ IoT ของคุณ ส่วนล่างจะมีป้ายกำกับ If you have an image file และนี่คือรายละเอียดที่คุณต้องการ คัดลอก URL ที่แสดงซึ่งจะมีลักษณะดังนี้:

    https://<location>.api.cognitive.microsoft.com/customvision/v3.0/Prediction/<id>/classify/iterations/Iteration2/image
    

    โดยที่ <location> จะเป็นตำแหน่งที่คุณใช้เมื่อสร้างทรัพยากร Custom Vision และ <id> จะเป็น ID ยาวที่ประกอบด้วยตัวอักษรและตัวเลข

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

    กล่อง API การทำนายที่แสดง URL และคีย์

เมื่อมีการเผยแพร่การทำซ้ำใหม่ จะมีชื่อที่แตกต่างกัน คุณคิดว่าคุณจะเปลี่ยนการทำซ้ำที่อุปกรณ์ IoT ใช้อย่างไร?

จำแนกภาพจากอุปกรณ์ IoT ของคุณ

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

งาน - จำแนกภาพจากอุปกรณ์ IoT ของคุณ

ทำตามคู่มือที่เกี่ยวข้องเพื่อจำแนกภาพโดยใช้อุปกรณ์ IoT ของคุณ:

ปรับปรุงโมเดล

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

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

ภาพกล้วย 2 ภาพ ภาพความละเอียดต่ำที่มีแสงไม่ดีจากอุปกรณ์ IoT และภาพความละเอียดสูงที่มีแสงดีจากโทรศัพท์

ในภาพด้านบน ภาพกล้วยทางซ้ายถูกถ่ายโดยใช้กล้อง Raspberry Pi ส่วนภาพทางขวาถูกถ่ายจากกล้วยเดียวกันในตำแหน่งเดียวกันโดยใช้ iPhone มีความแตกต่างของคุณภาพที่เห็นได้ชัด - ภาพ iPhone คมชัดกว่า มีสีสว่างกว่า และมีความคอนทราสต์มากกว่า

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

เพื่อปรับปรุงโมเดล คุณสามารถฝึกใหม่โดยใช้ภาพที่จับจากอุปกรณ์ IoT

งาน - ปรับปรุงโมเดล

  1. จำแนกภาพหลายภาพของผลไม้ที่สุกและไม่สุกโดยใช้อุปกรณ์ IoT ของคุณ

  2. ในพอร์ทัล Custom Vision ฝึกโมเดลใหม่โดยใช้ภาพในแท็บ Predictions

    ⚠️ คุณสามารถอ้างอิง คำแนะนำสำหรับการฝึกตัวจำแนกภาพใหม่ในบทเรียนที่ 1 หากจำเป็น

  3. หากภาพของคุณดูแตกต่างจากภาพต้นฉบับที่ใช้ในการฝึก คุณสามารถลบภาพต้นฉบับทั้งหมดโดยเลือกในแท็บ Training Images และเลือกปุ่ม Delete เพื่อเลือกภาพ ให้เลื่อนเคอร์เซอร์ของคุณไปที่ภาพและเครื่องหมายถูกจะปรากฏขึ้น เลือกเครื่องหมายถูกนั้นเพื่อเลือกหรือยกเลิกการเลือกภาพ

  4. ฝึกการทำซ้ำใหม่ของโมเดลและเผยแพร่โดยใช้ขั้นตอนด้านบน

  5. อัปเดต URL ของ endpoint ในโค้ดของคุณ และรันแอปใหม่

  6. ทำซ้ำขั้นตอนเหล่านี้จนกว่าคุณจะพอใจกับผลลัพธ์ของการทำนาย


🚀 ความท้าทาย

ความละเอียดของภาพหรือแสงมีผลต่อการทำนายมากแค่ไหน?

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

หากคุณต้องการสร้างอุปกรณ์สำหรับการผลิตเพื่อขายให้กับฟาร์มหรือโรงงาน คุณจะทำอย่างไรเพื่อให้มั่นใจว่ามันให้ผลลัพธ์ที่สม่ำเสมอตลอดเวลา?

แบบทดสอบหลังเรียน

แบบทดสอบหลังเรียน

ทบทวนและศึกษาด้วยตนเอง

คุณได้ฝึกโมเดล Custom Vision ของคุณโดยใช้พอร์ทัล ซึ่งต้องอาศัยการมีภาพอยู่ - และในโลกจริงคุณอาจไม่สามารถหาข้อมูลการฝึกที่ตรงกับสิ่งที่กล้องบนอุปกรณ์ของคุณจับได้ คุณสามารถแก้ไขปัญหานี้โดยการฝึกโดยตรงจากอุปกรณ์ของคุณโดยใช้ API การฝึก เพื่อฝึกโมเดลโดยใช้ภาพที่จับจากอุปกรณ์ IoT ของคุณ

งานที่ได้รับมอบหมาย

ตอบสนองต่อผลลัพธ์การจำแนก


ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์ที่เป็นมืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้