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/5-retail/lessons/2-check-stock-device/README.md

27 KiB

ตรวจสอบสต็อกจากอุปกรณ์ IoT

ภาพสเก็ตโน้ตของบทเรียนนี้

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

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

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

บทนำ

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

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

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

ดูคำแนะนำใน คู่มือการล้างข้อมูลโปรเจกต์ หากจำเป็นสำหรับคำแนะนำในการดำเนินการนี้

การนับสต็อก

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

ตัวอย่างเช่น หากกล้องชี้ไปที่ชั้นวางที่สามารถวางกระป๋องซอสมะเขือเทศได้ 8 กระป๋อง และตัวตรวจจับวัตถุตรวจพบเพียง 7 กระป๋อง นั่นหมายความว่ามี 1 กระป๋องหายไปและต้องเติมสต็อก

กระป๋องซอสมะเขือเทศ 7 กระป๋องบนชั้นวาง

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

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

ในสถานการณ์อื่น ๆ คุณสามารถรวมการตรวจจับวัตถุและหุ่นยนต์ได้อย่างไร?

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

การตรวจจับวัตถุสามารถใช้ในการตรวจจับสินค้าที่ไม่คาดคิด และแจ้งเตือนมนุษย์หรือหุ่นยนต์ให้คืนสินค้านั้นไปยังตำแหน่งที่ถูกต้องทันทีที่ตรวจพบ

กระป๋องข้าวโพดอ่อนบนชั้นวางซอสมะเขือเทศ

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

เรียกใช้งานตัวตรวจจับวัตถุจากอุปกรณ์ IoT

ตัวตรวจจับวัตถุที่คุณฝึกในบทเรียนก่อนหน้านี้สามารถเรียกใช้งานจากอุปกรณ์ IoT ของคุณได้

งาน - เผยแพร่การทำงานของตัวตรวจจับวัตถุ

การเผยแพร่การทำงานจะทำผ่านพอร์ทัล Custom Vision

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

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

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

  4. กดปุ่ม Publish สำหรับการทำงานนั้น

    ปุ่มเผยแพร่

  5. ในหน้าต่าง Publish Model ตั้งค่าทรัพยากร Prediction resource เป็นทรัพยากร stock-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>/detect/iterations/Iteration2/image
    

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

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

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

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

งาน - เรียกใช้งานตัวตรวจจับวัตถุจากอุปกรณ์ IoT

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

กรอบสี่เหลี่ยม (Bounding boxes)

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

💁 กรอบสี่เหลี่ยมคือกรอบที่กำหนดพื้นที่ที่มีวัตถุที่ตรวจพบ เป็นกรอบที่กำหนดขอบเขตของวัตถุ

ผลลัพธ์ของการทำนายในแท็บ Predictions ใน Custom Vision จะมีกรอบสี่เหลี่ยมที่วาดบนภาพที่ส่งไปเพื่อการทำนาย

กระป๋องซอสมะเขือเทศ 4 กระป๋องบนชั้นวางพร้อมการทำนาย

ในภาพด้านบน มีการตรวจพบกระป๋องซอสมะเขือเทศ 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

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

งาน - ฝึกโมเดลใหม่

  1. ตรวจสอบให้แน่ใจว่าคุณได้จับภาพหลากหลายรูปแบบโดยใช้อุปกรณ์ IoT ของคุณ

  2. จากแท็บ Predictions เลือกภาพ คุณจะเห็นกรอบสีแดงที่แสดงกรอบสี่เหลี่ยมของวัตถุที่ตรวจพบ

  3. ทำงานผ่านกรอบสี่เหลี่ยมแต่ละกรอบ เลือกกรอบนั้นก่อน และคุณจะเห็นป๊อปอัปที่แสดงแท็ก ใช้ที่จับที่มุมของกรอบสี่เหลี่ยมเพื่อปรับขนาดหากจำเป็น หากแท็กผิด ให้ลบออกด้วยปุ่ม X และเพิ่มแท็กที่ถูกต้อง หากกรอบสี่เหลี่ยมไม่ครอบคลุมวัตถุ ให้ลบออกด้วยปุ่มถังขยะ

  4. ปิดตัวแก้ไขเมื่อเสร็จสิ้น และภาพจะย้ายจากแท็บ Predictions ไปยังแท็บ Training Images ทำซ้ำกระบวนการสำหรับการทำนายทั้งหมด

  5. ใช้ปุ่ม Train เพื่อฝึกโมเดลของคุณใหม่ เมื่อฝึกเสร็จแล้ว เผยแพร่การทำงานใหม่และอัปเดตอุปกรณ์ IoT ของคุณให้ใช้ URL ของการทำงานใหม่

  6. ปรับใช้โค้ดของคุณใหม่และทดสอบอุปกรณ์ IoT ของคุณ

นับสต็อก

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

งาน - นับสต็อก

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


🚀 ความท้าทาย

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

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

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

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

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

งานที่มอบหมาย

ใช้งานตัวตรวจจับวัตถุของคุณที่ขอบระบบ


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