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.
172 lines
23 KiB
172 lines
23 KiB
<!--
|
|
CO_OP_TRANSLATOR_METADATA:
|
|
{
|
|
"original_hash": "557f4ee96b752e0651d2e6e74aa6bd14",
|
|
"translation_date": "2025-08-27T20:12:17+00:00",
|
|
"source_file": "4-manufacturing/lessons/2-check-fruit-from-device/README.md",
|
|
"language_code": "th"
|
|
}
|
|
-->
|
|
# ตรวจสอบคุณภาพผลไม้จากอุปกรณ์ IoT
|
|
|
|

|
|
|
|
> Sketchnote โดย [Nitya Narasimhan](https://github.com/nitya) คลิกที่ภาพเพื่อดูเวอร์ชันขนาดใหญ่
|
|
|
|
## แบบทดสอบก่อนเรียน
|
|
|
|
[แบบทดสอบก่อนเรียน](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/31)
|
|
|
|
## บทนำ
|
|
|
|
ในบทเรียนที่ผ่านมา คุณได้เรียนรู้เกี่ยวกับตัวจำแนกภาพ และวิธีการฝึกให้สามารถตรวจจับผลไม้ที่ดีและไม่ดีได้ เพื่อใช้งานตัวจำแนกภาพนี้ในแอปพลิเคชัน IoT คุณจำเป็นต้องสามารถจับภาพโดยใช้กล้องบางประเภท และส่งภาพนี้ไปยังคลาวด์เพื่อทำการจำแนก
|
|
|
|
ในบทเรียนนี้ คุณจะได้เรียนรู้เกี่ยวกับเซ็นเซอร์กล้อง และวิธีการใช้งานร่วมกับอุปกรณ์ IoT เพื่อจับภาพ นอกจากนี้คุณยังจะได้เรียนรู้วิธีการเรียกใช้งานตัวจำแนกภาพจากอุปกรณ์ IoT ของคุณ
|
|
|
|
ในบทเรียนนี้เราจะครอบคลุม:
|
|
|
|
* [เซ็นเซอร์กล้อง](../../../../../4-manufacturing/lessons/2-check-fruit-from-device)
|
|
* [จับภาพโดยใช้อุปกรณ์ IoT](../../../../../4-manufacturing/lessons/2-check-fruit-from-device)
|
|
* [เผยแพร่ตัวจำแนกภาพของคุณ](../../../../../4-manufacturing/lessons/2-check-fruit-from-device)
|
|
* [จำแนกภาพจากอุปกรณ์ IoT ของคุณ](../../../../../4-manufacturing/lessons/2-check-fruit-from-device)
|
|
* [ปรับปรุงโมเดล](../../../../../4-manufacturing/lessons/2-check-fruit-from-device)
|
|
|
|
## เซ็นเซอร์กล้อง
|
|
|
|
เซ็นเซอร์กล้อง ตามชื่อของมัน คือกล้องที่คุณสามารถเชื่อมต่อกับอุปกรณ์ IoT ของคุณได้ กล้องเหล่านี้สามารถถ่ายภาพนิ่งหรือบันทึกวิดีโอแบบสตรีมมิ่งได้ บางรุ่นจะส่งข้อมูลภาพดิบ ในขณะที่บางรุ่นจะบีบอัดข้อมูลภาพเป็นไฟล์ภาพ เช่น JPEG หรือ PNG โดยทั่วไปกล้องที่ใช้งานร่วมกับอุปกรณ์ IoT จะมีขนาดเล็กและความละเอียดต่ำกว่าที่คุณคุ้นเคย แต่คุณสามารถหากล้องที่มีความละเอียดสูงซึ่งเทียบเท่ากับโทรศัพท์ระดับสูงได้ นอกจากนี้ยังมีกล้องที่สามารถเปลี่ยนเลนส์ได้หลายแบบ กล้องหลายตัว กล้องอินฟราเรด หรือกล้อง UV
|
|
|
|

|
|
|
|
เซ็นเซอร์กล้องส่วนใหญ่ใช้เซ็นเซอร์ภาพที่แต่ละพิกเซลเป็นโฟโตไดโอด เลนส์จะโฟกัสภาพลงบนเซ็นเซอร์ภาพ และโฟโตไดโอดนับพันหรือหลายล้านตัวจะตรวจจับแสงที่ตกลงบนแต่ละตัว และบันทึกเป็นข้อมูลพิกเซล
|
|
|
|
> 💁 เลนส์จะพลิกภาพกลับด้าน และเซ็นเซอร์กล้องจะพลิกภาพกลับมาให้ถูกต้อง เช่นเดียวกับในดวงตาของคุณ - สิ่งที่คุณเห็นจะถูกตรวจจับกลับด้านที่ด้านหลังของดวงตา และสมองของคุณจะปรับให้ถูกต้อง
|
|
|
|
> 🎓 เซ็นเซอร์ภาพเรียกว่า Active-Pixel Sensor (APS) และประเภท APS ที่ได้รับความนิยมมากที่สุดคือเซ็นเซอร์ CMOS (Complementary Metal-Oxide Semiconductor) คุณอาจเคยได้ยินคำว่าเซ็นเซอร์ CMOS ใช้สำหรับเซ็นเซอร์กล้อง
|
|
|
|
เซ็นเซอร์กล้องเป็นเซ็นเซอร์ดิจิทัลที่ส่งข้อมูลภาพในรูปแบบดิจิทัล โดยปกติจะใช้ไลบรารีที่ช่วยในการสื่อสาร กล้องเชื่อมต่อโดยใช้โปรโตคอล เช่น SPI เพื่อส่งข้อมูลจำนวนมาก - ภาพมีขนาดใหญ่กว่าตัวเลขเดี่ยวจากเซ็นเซอร์ เช่น เซ็นเซอร์วัดอุณหภูมิ
|
|
|
|
✅ ข้อจำกัดเกี่ยวกับขนาดภาพในอุปกรณ์ IoT มีอะไรบ้าง? ลองคิดถึงข้อจำกัดโดยเฉพาะในฮาร์ดแวร์ไมโครคอนโทรลเลอร์
|
|
|
|
## จับภาพโดยใช้อุปกรณ์ IoT
|
|
|
|
คุณสามารถใช้อุปกรณ์ IoT ของคุณเพื่อจับภาพและนำไปจำแนกได้
|
|
|
|
### งาน - จับภาพโดยใช้อุปกรณ์ IoT
|
|
|
|
ทำตามคู่มือที่เกี่ยวข้องเพื่อจับภาพโดยใช้อุปกรณ์ IoT ของคุณ:
|
|
|
|
* [Arduino - Wio Terminal](wio-terminal-camera.md)
|
|
* [คอมพิวเตอร์บอร์ดเดี่ยว - Raspberry Pi](pi-camera.md)
|
|
* [คอมพิวเตอร์บอร์ดเดี่ยว - อุปกรณ์เสมือน](virtual-device-camera.md)
|
|
|
|
## เผยแพร่ตัวจำแนกภาพของคุณ
|
|
|
|
คุณได้ฝึกตัวจำแนกภาพในบทเรียนที่ผ่านมา ก่อนที่คุณจะใช้งานมันจากอุปกรณ์ IoT คุณจำเป็นต้องเผยแพร่โมเดล
|
|
|
|
### การทำซ้ำของโมเดล
|
|
|
|
เมื่อโมเดลของคุณกำลังฝึกในบทเรียนที่ผ่านมา คุณอาจสังเกตเห็นว่าแท็บ **Performance** แสดงการทำซ้ำทางด้านข้าง เมื่อคุณฝึกโมเดลครั้งแรก คุณจะเห็น *Iteration 1* ในการฝึก เมื่อคุณปรับปรุงโมเดลโดยใช้ภาพการทำนาย คุณจะเห็น *Iteration 2* ในการฝึก
|
|
|
|
ทุกครั้งที่คุณฝึกโมเดล คุณจะได้การทำซ้ำใหม่ นี่เป็นวิธีการติดตามเวอร์ชันต่าง ๆ ของโมเดลที่ฝึกด้วยชุดข้อมูลต่าง ๆ เมื่อคุณทำ **Quick Test** จะมีเมนูแบบเลื่อนลงที่คุณสามารถใช้เลือกการทำซ้ำ เพื่อเปรียบเทียบผลลัพธ์ระหว่างการทำซ้ำหลายครั้ง
|
|
|
|
เมื่อคุณพอใจกับการทำซ้ำ คุณสามารถเผยแพร่เพื่อให้ใช้งานได้จากแอปพลิเคชันภายนอก วิธีนี้คุณสามารถมีเวอร์ชันที่เผยแพร่ซึ่งใช้งานโดยอุปกรณ์ของคุณ และทำงานกับเวอร์ชันใหม่ในหลายการทำซ้ำ จากนั้นเผยแพร่เมื่อคุณพอใจกับมัน
|
|
|
|
### งาน - เผยแพร่การทำซ้ำ
|
|
|
|
การทำซ้ำจะถูกเผยแพร่จากพอร์ทัล Custom Vision
|
|
|
|
1. เปิดพอร์ทัล Custom Vision ที่ [CustomVision.ai](https://customvision.ai) และลงชื่อเข้าใช้หากคุณยังไม่ได้เปิด จากนั้นเปิดโปรเจกต์ `fruit-quality-detector` ของคุณ
|
|
|
|
1. เลือกแท็บ **Performance** จากตัวเลือกด้านบน
|
|
|
|
1. เลือกการทำซ้ำล่าสุดจากรายการ *Iterations* ทางด้านข้าง
|
|
|
|
1. เลือกปุ่ม **Publish** สำหรับการทำซ้ำ
|
|
|
|

|
|
|
|
1. ในกล่อง *Publish Model* ตั้งค่าทรัพยากร *Prediction resource* เป็นทรัพยากร `fruit-quality-detector-prediction` ที่คุณสร้างในบทเรียนที่ผ่านมา ปล่อยชื่อไว้เป็น `Iteration2` และเลือกปุ่ม **Publish**
|
|
|
|
1. เมื่อเผยแพร่แล้ว ให้เลือกปุ่ม **Prediction URL** ซึ่งจะแสดงรายละเอียดของ API การทำนาย และคุณจะต้องใช้สิ่งนี้เพื่อเรียกโมเดลจากอุปกรณ์ IoT ของคุณ ส่วนล่างจะมีป้ายกำกับ *If you have an image file* และนี่คือรายละเอียดที่คุณต้องการ คัดลอก URL ที่แสดงซึ่งจะมีลักษณะดังนี้:
|
|
|
|
```output
|
|
https://<location>.api.cognitive.microsoft.com/customvision/v3.0/Prediction/<id>/classify/iterations/Iteration2/image
|
|
```
|
|
|
|
โดยที่ `<location>` จะเป็นตำแหน่งที่คุณใช้เมื่อสร้างทรัพยากร Custom Vision และ `<id>` จะเป็น ID ยาวที่ประกอบด้วยตัวอักษรและตัวเลข
|
|
|
|
นอกจากนี้ให้คัดลอกค่าของ *Prediction-Key* ซึ่งเป็นคีย์ที่ปลอดภัยที่คุณต้องส่งเมื่อเรียกโมเดล แอปพลิเคชันที่ส่งคีย์นี้เท่านั้นที่ได้รับอนุญาตให้ใช้โมเดล แอปพลิเคชันอื่น ๆ จะถูกปฏิเสธ
|
|
|
|

|
|
|
|
✅ เมื่อมีการเผยแพร่การทำซ้ำใหม่ จะมีชื่อที่แตกต่างกัน คุณคิดว่าคุณจะเปลี่ยนการทำซ้ำที่อุปกรณ์ IoT ใช้อย่างไร?
|
|
|
|
## จำแนกภาพจากอุปกรณ์ IoT ของคุณ
|
|
|
|
ตอนนี้คุณสามารถใช้รายละเอียดการเชื่อมต่อเหล่านี้เพื่อเรียกตัวจำแนกภาพจากอุปกรณ์ IoT ของคุณได้แล้ว
|
|
|
|
### งาน - จำแนกภาพจากอุปกรณ์ IoT ของคุณ
|
|
|
|
ทำตามคู่มือที่เกี่ยวข้องเพื่อจำแนกภาพโดยใช้อุปกรณ์ IoT ของคุณ:
|
|
|
|
* [Arduino - Wio Terminal](wio-terminal-classify-image.md)
|
|
* [คอมพิวเตอร์บอร์ดเดี่ยว - Raspberry Pi/อุปกรณ์ IoT เสมือน](single-board-computer-classify-image.md)
|
|
|
|
## ปรับปรุงโมเดล
|
|
|
|
คุณอาจพบว่าผลลัพธ์ที่คุณได้รับเมื่อใช้กล้องที่เชื่อมต่อกับอุปกรณ์ IoT ของคุณไม่ตรงกับที่คุณคาดหวัง การทำนายไม่ได้แม่นยำเสมอไปเมื่อใช้ภาพที่อัปโหลดจากคอมพิวเตอร์ของคุณ นี่เป็นเพราะโมเดลถูกฝึกด้วยข้อมูลที่แตกต่างจากที่ใช้ในการทำนาย
|
|
|
|
เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดสำหรับตัวจำแนกภาพ คุณต้องการฝึกโมเดลด้วยภาพที่คล้ายกับภาพที่ใช้ในการทำนายมากที่สุด หากคุณใช้กล้องโทรศัพท์ของคุณเพื่อจับภาพสำหรับการฝึก ตัวอย่างเช่น คุณภาพของภาพ ความคมชัด และสีจะต่างจากกล้องที่เชื่อมต่อกับอุปกรณ์ IoT
|
|
|
|

|
|
|
|
ในภาพด้านบน ภาพกล้วยทางซ้ายถูกถ่ายโดยใช้กล้อง Raspberry Pi ส่วนภาพทางขวาถูกถ่ายจากกล้วยเดียวกันในตำแหน่งเดียวกันโดยใช้ iPhone มีความแตกต่างของคุณภาพที่เห็นได้ชัด - ภาพ iPhone คมชัดกว่า มีสีสว่างกว่า และมีความคอนทราสต์มากกว่า
|
|
|
|
✅ อะไรอีกบ้างที่อาจทำให้ภาพที่จับโดยอุปกรณ์ IoT ของคุณมีการทำนายที่ไม่ถูกต้อง? ลองคิดถึงสภาพแวดล้อมที่อุปกรณ์ IoT อาจถูกใช้งาน ปัจจัยใดบ้างที่สามารถส่งผลต่อภาพที่ถูกจับ?
|
|
|
|
เพื่อปรับปรุงโมเดล คุณสามารถฝึกใหม่โดยใช้ภาพที่จับจากอุปกรณ์ IoT
|
|
|
|
### งาน - ปรับปรุงโมเดล
|
|
|
|
1. จำแนกภาพหลายภาพของผลไม้ที่สุกและไม่สุกโดยใช้อุปกรณ์ IoT ของคุณ
|
|
|
|
1. ในพอร์ทัล Custom Vision ฝึกโมเดลใหม่โดยใช้ภาพในแท็บ *Predictions*
|
|
|
|
> ⚠️ คุณสามารถอ้างอิง [คำแนะนำสำหรับการฝึกตัวจำแนกภาพใหม่ในบทเรียนที่ 1 หากจำเป็น](../1-train-fruit-detector/README.md#retrain-your-image-classifier)
|
|
|
|
1. หากภาพของคุณดูแตกต่างจากภาพต้นฉบับที่ใช้ในการฝึก คุณสามารถลบภาพต้นฉบับทั้งหมดโดยเลือกในแท็บ *Training Images* และเลือกปุ่ม **Delete** เพื่อเลือกภาพ ให้เลื่อนเคอร์เซอร์ของคุณไปที่ภาพและเครื่องหมายถูกจะปรากฏขึ้น เลือกเครื่องหมายถูกนั้นเพื่อเลือกหรือยกเลิกการเลือกภาพ
|
|
|
|
1. ฝึกการทำซ้ำใหม่ของโมเดลและเผยแพร่โดยใช้ขั้นตอนด้านบน
|
|
|
|
1. อัปเดต URL ของ endpoint ในโค้ดของคุณ และรันแอปใหม่
|
|
|
|
1. ทำซ้ำขั้นตอนเหล่านี้จนกว่าคุณจะพอใจกับผลลัพธ์ของการทำนาย
|
|
|
|
---
|
|
|
|
## 🚀 ความท้าทาย
|
|
|
|
ความละเอียดของภาพหรือแสงมีผลต่อการทำนายมากแค่ไหน?
|
|
|
|
ลองเปลี่ยนความละเอียดของภาพในโค้ดอุปกรณ์ของคุณและดูว่ามันส่งผลต่อคุณภาพของภาพหรือไม่ นอกจากนี้ลองเปลี่ยนแสงดู
|
|
|
|
หากคุณต้องการสร้างอุปกรณ์สำหรับการผลิตเพื่อขายให้กับฟาร์มหรือโรงงาน คุณจะทำอย่างไรเพื่อให้มั่นใจว่ามันให้ผลลัพธ์ที่สม่ำเสมอตลอดเวลา?
|
|
|
|
## แบบทดสอบหลังเรียน
|
|
|
|
[แบบทดสอบหลังเรียน](https://black-meadow-040d15503.1.azurestaticapps.net/quiz/32)
|
|
|
|
## ทบทวนและศึกษาด้วยตนเอง
|
|
|
|
คุณได้ฝึกโมเดล Custom Vision ของคุณโดยใช้พอร์ทัล ซึ่งต้องอาศัยการมีภาพอยู่ - และในโลกจริงคุณอาจไม่สามารถหาข้อมูลการฝึกที่ตรงกับสิ่งที่กล้องบนอุปกรณ์ของคุณจับได้ คุณสามารถแก้ไขปัญหานี้โดยการฝึกโดยตรงจากอุปกรณ์ของคุณโดยใช้ API การฝึก เพื่อฝึกโมเดลโดยใช้ภาพที่จับจากอุปกรณ์ IoT ของคุณ
|
|
|
|
* อ่านเพิ่มเติมเกี่ยวกับ API การฝึกใน [การเริ่มต้นใช้งาน Custom Vision SDK](https://docs.microsoft.com/azure/cognitive-services/custom-vision-service/quickstarts/image-classification?WT.mc_id=academic-17441-jabenn&tabs=visual-studio&pivots=programming-language-python)
|
|
|
|
## งานที่ได้รับมอบหมาย
|
|
|
|
[ตอบสนองต่อผลลัพธ์การจำแนก](assignment.md)
|
|
|
|
---
|
|
|
|
**ข้อจำกัดความรับผิดชอบ**:
|
|
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI [Co-op Translator](https://github.com/Azure/co-op-translator) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์ที่เป็นมืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้ |