27 KiB
ตรวจสอบสต็อกจากอุปกรณ์ IoT
สเก็ตโน้ตโดย Nitya Narasimhan คลิกที่ภาพเพื่อดูเวอร์ชันขนาดใหญ่
แบบทดสอบก่อนเรียน
บทนำ
ในบทเรียนก่อนหน้านี้ คุณได้เรียนรู้เกี่ยวกับการใช้งานการตรวจจับวัตถุในธุรกิจค้าปลีก รวมถึงการฝึกตัวตรวจจับวัตถุเพื่อระบุสต็อกสินค้า ในบทเรียนนี้ คุณจะได้เรียนรู้วิธีการใช้งานตัวตรวจจับวัตถุจากอุปกรณ์ IoT เพื่อการนับสต็อกสินค้า
ในบทเรียนนี้เราจะครอบคลุม:
- การนับสต็อก
- เรียกใช้งานตัวตรวจจับวัตถุจากอุปกรณ์ IoT
- กรอบสี่เหลี่ยม (Bounding boxes)
- ฝึกโมเดลใหม่
- นับสต็อก
🗑 นี่เป็นบทเรียนสุดท้ายในโปรเจกต์นี้ ดังนั้นหลังจากที่คุณทำบทเรียนและงานที่มอบหมายเสร็จแล้ว อย่าลืมล้างข้อมูลบริการคลาวด์ของคุณ คุณจะต้องใช้บริการเหล่านี้เพื่อทำงานที่มอบหมายให้เสร็จ ดังนั้นอย่าลืมทำงานให้เสร็จก่อน
ดูคำแนะนำใน คู่มือการล้างข้อมูลโปรเจกต์ หากจำเป็นสำหรับคำแนะนำในการดำเนินการนี้
การนับสต็อก
ตัวตรวจจับวัตถุสามารถใช้ในการตรวจสอบสต็อกสินค้าได้ ไม่ว่าจะเป็นการนับจำนวนสินค้าหรือการตรวจสอบว่าสินค้าอยู่ในตำแหน่งที่ควรจะอยู่ อุปกรณ์ IoT ที่มีกล้องสามารถติดตั้งได้ทั่วทั้งร้านเพื่อเฝ้าดูสต็อกสินค้า โดยเริ่มจากจุดที่สำคัญ เช่น พื้นที่ที่มีสินค้ามูลค่าสูงในจำนวนที่จำกัด
ตัวอย่างเช่น หากกล้องชี้ไปที่ชั้นวางที่สามารถวางกระป๋องซอสมะเขือเทศได้ 8 กระป๋อง และตัวตรวจจับวัตถุตรวจพบเพียง 7 กระป๋อง นั่นหมายความว่ามี 1 กระป๋องหายไปและต้องเติมสต็อก
ในภาพด้านบน ตัวตรวจจับวัตถุได้ตรวจพบกระป๋องซอสมะเขือเทศ 7 กระป๋องบนชั้นวางที่สามารถวางได้ 8 กระป๋อง ไม่เพียงแต่อุปกรณ์ IoT จะสามารถส่งการแจ้งเตือนเกี่ยวกับความจำเป็นในการเติมสต็อก แต่ยังสามารถระบุตำแหน่งของสินค้าที่หายไป ซึ่งเป็นข้อมูลสำคัญหากคุณใช้หุ่นยนต์ในการเติมสต็อกสินค้า
💁 ขึ้นอยู่กับร้านค้าและความนิยมของสินค้า การเติมสต็อกอาจไม่เกิดขึ้นหากสินค้าหายไปเพียง 1 ชิ้น คุณจะต้องสร้างอัลกอริทึมที่กำหนดเวลาการเติมสต็อกตามประเภทสินค้า ลูกค้า และเกณฑ์อื่น ๆ
✅ ในสถานการณ์อื่น ๆ คุณสามารถรวมการตรวจจับวัตถุและหุ่นยนต์ได้อย่างไร?
บางครั้งสินค้าที่ไม่ถูกต้องอาจอยู่บนชั้นวาง ซึ่งอาจเกิดจากความผิดพลาดของมนุษย์ในการเติมสต็อก หรือจากลูกค้าที่เปลี่ยนใจและวางสินค้ากลับในตำแหน่งที่ใกล้ที่สุด หากเป็นสินค้าที่ไม่เน่าเสีย เช่น อาหารกระป๋อง นี่อาจเป็นเรื่องน่ารำคาญ แต่หากเป็นสินค้าที่เน่าเสีย เช่น สินค้าที่ต้องแช่แข็งหรือแช่เย็น อาจหมายความว่าสินค้านั้นไม่สามารถขายได้อีกต่อไป เนื่องจากไม่สามารถบอกได้ว่าสินค้านั้นอยู่นอกตู้แช่แข็งนานแค่ไหน
การตรวจจับวัตถุสามารถใช้ในการตรวจจับสินค้าที่ไม่คาดคิด และแจ้งเตือนมนุษย์หรือหุ่นยนต์ให้คืนสินค้านั้นไปยังตำแหน่งที่ถูกต้องทันทีที่ตรวจพบ
ในภาพด้านบน กระป๋องข้าวโพดอ่อนถูกวางบนชั้นวางข้างซอสมะเขือเทศ ตัวตรวจจับวัตถุได้ตรวจพบสิ่งนี้ ทำให้อุปกรณ์ IoT สามารถแจ้งเตือนมนุษย์หรือหุ่นยนต์ให้คืนกระป๋องไปยังตำแหน่งที่ถูกต้อง
เรียกใช้งานตัวตรวจจับวัตถุจากอุปกรณ์ IoT
ตัวตรวจจับวัตถุที่คุณฝึกในบทเรียนก่อนหน้านี้สามารถเรียกใช้งานจากอุปกรณ์ IoT ของคุณได้
งาน - เผยแพร่การทำงานของตัวตรวจจับวัตถุ
การเผยแพร่การทำงานจะทำผ่านพอร์ทัล Custom Vision
-
เปิดพอร์ทัล Custom Vision ที่ CustomVision.ai และลงชื่อเข้าใช้หากคุณยังไม่ได้เปิด จากนั้นเปิดโปรเจกต์
stock-detector
ของคุณ -
เลือกแท็บ Performance จากตัวเลือกด้านบน
-
เลือกการทำงานล่าสุดจากรายการ Iterations ด้านข้าง
-
กดปุ่ม Publish สำหรับการทำงานนั้น
-
ในหน้าต่าง Publish Model ตั้งค่าทรัพยากร Prediction resource เป็นทรัพยากร
stock-detector-prediction
ที่คุณสร้างในบทเรียนก่อนหน้า ตั้งชื่อเป็นIteration2
และกดปุ่ม Publish -
เมื่อเผยแพร่เสร็จแล้ว กดปุ่ม Prediction URL ซึ่งจะแสดงรายละเอียดของ API การทำนาย และคุณจะต้องใช้ข้อมูลเหล่านี้เพื่อเรียกใช้งานโมเดลจากอุปกรณ์ IoT ของคุณ ส่วนล่างที่มีข้อความ If you have an image file คือข้อมูลที่คุณต้องการ คัดลอก URL ที่แสดง ซึ่งจะมีลักษณะดังนี้:
https://<location>.api.cognitive.microsoft.com/customvision/v3.0/Prediction/<id>/detect/iterations/Iteration2/image
โดย
<location>
จะเป็นตำแหน่งที่คุณใช้เมื่อสร้างทรัพยากร Custom Vision และ<id>
จะเป็นรหัสยาวที่ประกอบด้วยตัวอักษรและตัวเลขนอกจากนี้ คัดลอกค่าของ Prediction-Key ซึ่งเป็นคีย์ที่ปลอดภัยที่คุณต้องส่งเมื่อเรียกใช้งานโมเดล มีเพียงแอปพลิเคชันที่ส่งคีย์นี้เท่านั้นที่สามารถใช้โมเดลได้ แอปพลิเคชันอื่น ๆ จะถูกปฏิเสธ
✅ เมื่อมีการเผยแพร่การทำงานใหม่ จะมีชื่อที่แตกต่างกัน คุณคิดว่าคุณจะเปลี่ยนการทำงานที่อุปกรณ์ IoT ใช้อย่างไร?
งาน - เรียกใช้งานตัวตรวจจับวัตถุจากอุปกรณ์ IoT
ทำตามคำแนะนำที่เกี่ยวข้องด้านล่างเพื่อใช้งานตัวตรวจจับวัตถุจากอุปกรณ์ IoT ของคุณ:
กรอบสี่เหลี่ยม (Bounding boxes)
เมื่อคุณใช้งานตัวตรวจจับวัตถุ คุณจะได้รับผลลัพธ์ที่ไม่เพียงแค่แสดงวัตถุที่ตรวจพบพร้อมแท็กและความน่าจะเป็น แต่ยังรวมถึงกรอบสี่เหลี่ยมที่ระบุตำแหน่งที่ตัวตรวจจับวัตถุตรวจพบวัตถุด้วยความน่าจะเป็นที่กำหนด
💁 กรอบสี่เหลี่ยมคือกรอบที่กำหนดพื้นที่ที่มีวัตถุที่ตรวจพบ เป็นกรอบที่กำหนดขอบเขตของวัตถุ
ผลลัพธ์ของการทำนายในแท็บ Predictions ใน Custom Vision จะมีกรอบสี่เหลี่ยมที่วาดบนภาพที่ส่งไปเพื่อการทำนาย
ในภาพด้านบน มีการตรวจพบกระป๋องซอสมะเขือเทศ 4 กระป๋อง ในผลลัพธ์จะมีกรอบสีแดงที่วางทับสำหรับแต่ละวัตถุที่ตรวจพบในภาพ ซึ่งแสดงกรอบสี่เหลี่ยมสำหรับภาพนั้น
✅ เปิดการทำนายใน Custom Vision และตรวจสอบกรอบสี่เหลี่ยม
กรอบสี่เหลี่ยมถูกกำหนดด้วยค่าทั้งหมด 4 ค่า ได้แก่ top, left, height และ width ค่าต่าง ๆ นี้อยู่ในช่วง 0-1 ซึ่งแสดงตำแหน่งเป็นเปอร์เซ็นต์ของขนาดภาพ จุดเริ่มต้น (ตำแหน่ง 0,0) คือมุมบนซ้ายของภาพ ดังนั้นค่าด้านบนคือระยะห่างจากด้านบน และด้านล่างของกรอบสี่เหลี่ยมคือค่าด้านบนบวกกับความสูง
ภาพด้านบนมีความกว้าง 600 พิกเซลและความสูง 800 พิกเซล กรอบสี่เหลี่ยมเริ่มต้นที่ 320 พิกเซลลงมา ซึ่งให้ค่าด้านบนเป็น 0.4 (800 x 0.4 = 320) จากด้านซ้าย กรอบสี่เหลี่ยมเริ่มต้นที่ 240 พิกเซล ซึ่งให้ค่าด้านซ้ายเป็น 0.4 (600 x 0.4 = 240) ความสูงของกรอบสี่เหลี่ยมคือ 240 พิกเซล ซึ่งให้ค่าความสูงเป็น 0.3 (800 x 0.3 = 240) ความกว้างของกรอบสี่เหลี่ยมคือ 120 พิกเซล ซึ่งให้ค่าความกว้างเป็น 0.2 (600 x 0.2 = 120)
ค่าพิกัด | ค่า |
---|---|
Top | 0.4 |
Left | 0.4 |
Height | 0.3 |
Width | 0.2 |
การใช้ค่าร้อยละจาก 0-1 หมายความว่าไม่ว่าภาพจะถูกปรับขนาดเป็นเท่าใด กรอบสี่เหลี่ยมจะเริ่มต้นที่ 0.4 ของความยาวและความสูง และมีขนาด 0.3 ของความสูงและ 0.2 ของความกว้าง
คุณสามารถใช้กรอบสี่เหลี่ยมร่วมกับความน่าจะเป็นเพื่อประเมินความแม่นยำของการตรวจจับ ตัวอย่างเช่น ตัวตรวจจับวัตถุสามารถตรวจพบวัตถุหลายชิ้นที่ทับซ้อนกัน เช่น การตรวจพบกระป๋องหนึ่งกระป๋องอยู่ในอีกกระป๋องหนึ่ง โค้ดของคุณสามารถตรวจสอบกรอบสี่เหลี่ยม เข้าใจว่าสิ่งนี้เป็นไปไม่ได้ และละเว้นวัตถุใด ๆ ที่มีการทับซ้อนกันอย่างมีนัยสำคัญกับวัตถุอื่น ๆ
ในตัวอย่างด้านบน กรอบสี่เหลี่ยมหนึ่งแสดงกระป๋องซอสมะเขือเทศที่มีความน่าจะเป็น 78.3% กรอบสี่เหลี่ยมที่สองมีขนาดเล็กกว่าเล็กน้อย และอยู่ภายในกรอบแรกด้วยความน่าจะเป็น 64.3% โค้ดของคุณสามารถตรวจสอบกรอบสี่เหลี่ยม เห็นว่ามันทับซ้อนกันทั้งหมด และละเว้นความน่าจะเป็นที่ต่ำกว่า เนื่องจากไม่มีทางที่กระป๋องหนึ่งจะอยู่ในอีกกระป๋องหนึ่งได้
✅ คุณคิดว่าสถานการณ์ใดที่การตรวจพบวัตถุหนึ่งอยู่ในอีกวัตถุหนึ่งเป็นสิ่งที่ถูกต้อง?
ฝึกโมเดลใหม่
เช่นเดียวกับตัวจำแนกภาพ คุณสามารถฝึกโมเดลของคุณใหม่โดยใช้ข้อมูลที่จับได้จากอุปกรณ์ IoT ของคุณ การใช้ข้อมูลจริงนี้จะช่วยให้โมเดลของคุณทำงานได้ดีเมื่อใช้งานจากอุปกรณ์ IoT
แตกต่างจากตัวจำแนกภาพ คุณไม่สามารถแท็กภาพได้โดยตรง แต่คุณต้องตรวจสอบกรอบสี่เหลี่ยมที่ตรวจพบโดยโมเดลทุกกรอบ หากกรอบนั้นอยู่รอบสิ่งที่ผิด คุณต้องลบออก หากอยู่ในตำแหน่งที่ผิด คุณต้องปรับแก้ไข
งาน - ฝึกโมเดลใหม่
-
ตรวจสอบให้แน่ใจว่าคุณได้จับภาพหลากหลายรูปแบบโดยใช้อุปกรณ์ IoT ของคุณ
-
จากแท็บ Predictions เลือกภาพ คุณจะเห็นกรอบสีแดงที่แสดงกรอบสี่เหลี่ยมของวัตถุที่ตรวจพบ
-
ทำงานผ่านกรอบสี่เหลี่ยมแต่ละกรอบ เลือกกรอบนั้นก่อน และคุณจะเห็นป๊อปอัปที่แสดงแท็ก ใช้ที่จับที่มุมของกรอบสี่เหลี่ยมเพื่อปรับขนาดหากจำเป็น หากแท็กผิด ให้ลบออกด้วยปุ่ม X และเพิ่มแท็กที่ถูกต้อง หากกรอบสี่เหลี่ยมไม่ครอบคลุมวัตถุ ให้ลบออกด้วยปุ่มถังขยะ
-
ปิดตัวแก้ไขเมื่อเสร็จสิ้น และภาพจะย้ายจากแท็บ Predictions ไปยังแท็บ Training Images ทำซ้ำกระบวนการสำหรับการทำนายทั้งหมด
-
ใช้ปุ่ม Train เพื่อฝึกโมเดลของคุณใหม่ เมื่อฝึกเสร็จแล้ว เผยแพร่การทำงานใหม่และอัปเดตอุปกรณ์ IoT ของคุณให้ใช้ URL ของการทำงานใหม่
-
ปรับใช้โค้ดของคุณใหม่และทดสอบอุปกรณ์ IoT ของคุณ
นับสต็อก
โดยใช้การผสมผสานระหว่างจำนวนวัตถุที่ตรวจพบและกรอบสี่เหลี่ยม คุณสามารถนับสต็อกสินค้าบนชั้นวางได้
งาน - นับสต็อก
ทำตามคำแนะนำที่เกี่ยวข้องด้านล่างเพื่อการนับสต็อกโดยใช้ผลลัพธ์จากตัวตรวจจับวัตถุจากอุปกรณ์ IoT ของคุณ:
🚀 ความท้าทาย
คุณสามารถตรวจจับสินค้าที่ไม่ถูกต้องได้หรือไม่? ฝึกโมเดลของคุณกับวัตถุหลายประเภท จากนั้นอัปเดตแอปของคุณเพื่อแจ้งเตือนคุณหากตรวจพบสินค้าที่ไม่ถูกต้อง
หรืออาจพัฒนาไปอีกขั้นโดยตรวจจับสินค้าที่วางอยู่ข้างกันบนชั้นวางเดียวกัน และดูว่ามีสิ่งใดถูกวางผิดตำแหน่งโดยการกำหนดขอบเขตบนกรอบสี่เหลี่ยม
แบบทดสอบหลังเรียน
ทบทวนและศึกษาด้วยตนเอง
- เรียนรู้เพิ่มเติมเกี่ยวกับการออกแบบระบบตรวจจับสต็อกสินค้าครบวงจรจาก คู่มือรูปแบบการตรวจจับสินค้าหมดที่ขอบระบบบน Microsoft Docs
- เรียนรู้วิธีอื่น ๆ ในการสร้างโซลูชันค้าปลีกครบวงจรโดยผสมผสานบริการ IoT และคลาวด์หลากหลายรูปแบบผ่านการรับชม เบื้องหลังโซลูชันค้าปลีก - Hands On! วิดีโอบน YouTube
งานที่มอบหมาย
ใช้งานตัวตรวจจับวัตถุของคุณที่ขอบระบบ
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้องมากที่สุด แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้