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

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](../../../../../translated_images/lesson-16.215daf18b00631fbdfd64c6fc2dc6044dff5d544288825d8076f9fb83d964c23.th.jpg)
> 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
![แสงจากฉากผ่านเลนส์และถูกโฟกัสบนเซ็นเซอร์ CMOS](../../../../../translated_images/cmos-sensor.75f9cd74decb137149a4c9ea825251a4549497d67c0ae2776159e6102bb53aa9.th.png)
เซ็นเซอร์กล้องส่วนใหญ่ใช้เซ็นเซอร์ภาพที่แต่ละพิกเซลเป็นโฟโตไดโอด เลนส์จะโฟกัสภาพลงบนเซ็นเซอร์ภาพ และโฟโตไดโอดนับพันหรือหลายล้านตัวจะตรวจจับแสงที่ตกลงบนแต่ละตัว และบันทึกเป็นข้อมูลพิกเซล
> 💁 เลนส์จะพลิกภาพกลับด้าน และเซ็นเซอร์กล้องจะพลิกภาพกลับมาให้ถูกต้อง เช่นเดียวกับในดวงตาของคุณ - สิ่งที่คุณเห็นจะถูกตรวจจับกลับด้านที่ด้านหลังของดวงตา และสมองของคุณจะปรับให้ถูกต้อง
> 🎓 เซ็นเซอร์ภาพเรียกว่า 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** สำหรับการทำซ้ำ
![ปุ่มเผยแพร่](../../../../../translated_images/custom-vision-publish-button.b7174e1977b0c33b8b72d4e5b1326c779e0af196f3849d09985ee2d7d5493a39.th.png)
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* ซึ่งเป็นคีย์ที่ปลอดภัยที่คุณต้องส่งเมื่อเรียกโมเดล แอปพลิเคชันที่ส่งคีย์นี้เท่านั้นที่ได้รับอนุญาตให้ใช้โมเดล แอปพลิเคชันอื่น ๆ จะถูกปฏิเสธ
![กล่อง API การทำนายที่แสดง URL และคีย์](../../../../../translated_images/custom-vision-prediction-key-endpoint.30c569ffd0338864f319911f052d5e9b8c5066cb0800a26dd6f7ff5713130ad8.th.png)
✅ เมื่อมีการเผยแพร่การทำซ้ำใหม่ จะมีชื่อที่แตกต่างกัน คุณคิดว่าคุณจะเปลี่ยนการทำซ้ำที่อุปกรณ์ IoT ใช้อย่างไร?
## จำแนกภาพจากอุปกรณ์ IoT ของคุณ
ตอนนี้คุณสามารถใช้รายละเอียดการเชื่อมต่อเหล่านี้เพื่อเรียกตัวจำแนกภาพจากอุปกรณ์ IoT ของคุณได้แล้ว
### งาน - จำแนกภาพจากอุปกรณ์ IoT ของคุณ
ทำตามคู่มือที่เกี่ยวข้องเพื่อจำแนกภาพโดยใช้อุปกรณ์ IoT ของคุณ:
* [Arduino - Wio Terminal](wio-terminal-classify-image.md)
* [คอมพิวเตอร์บอร์ดเดี่ยว - Raspberry Pi/อุปกรณ์ IoT เสมือน](single-board-computer-classify-image.md)
## ปรับปรุงโมเดล
คุณอาจพบว่าผลลัพธ์ที่คุณได้รับเมื่อใช้กล้องที่เชื่อมต่อกับอุปกรณ์ IoT ของคุณไม่ตรงกับที่คุณคาดหวัง การทำนายไม่ได้แม่นยำเสมอไปเมื่อใช้ภาพที่อัปโหลดจากคอมพิวเตอร์ของคุณ นี่เป็นเพราะโมเดลถูกฝึกด้วยข้อมูลที่แตกต่างจากที่ใช้ในการทำนาย
เพื่อให้ได้ผลลัพธ์ที่ดีที่สุดสำหรับตัวจำแนกภาพ คุณต้องการฝึกโมเดลด้วยภาพที่คล้ายกับภาพที่ใช้ในการทำนายมากที่สุด หากคุณใช้กล้องโทรศัพท์ของคุณเพื่อจับภาพสำหรับการฝึก ตัวอย่างเช่น คุณภาพของภาพ ความคมชัด และสีจะต่างจากกล้องที่เชื่อมต่อกับอุปกรณ์ IoT
![ภาพกล้วย 2 ภาพ ภาพความละเอียดต่ำที่มีแสงไม่ดีจากอุปกรณ์ IoT และภาพความละเอียดสูงที่มีแสงดีจากโทรศัพท์](../../../../../translated_images/banana-picture-compare.174df164dc326a42cf7fb051a7497e6113c620e91552d92ca914220305d47d9a.th.png)
ในภาพด้านบน ภาพกล้วยทางซ้ายถูกถ่ายโดยใช้กล้อง 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) แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลโดยอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์ที่เป็นมืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้