29 KiB
ฝึกสร้างตัวตรวจจับสินค้าในสต็อก
สเก็ตโน้ตโดย Nitya Narasimhan คลิกที่ภาพเพื่อดูเวอร์ชันขนาดใหญ่
วิดีโอนี้ให้ภาพรวมเกี่ยวกับการตรวจจับวัตถุด้วยบริการ Azure Custom Vision ซึ่งเป็นบริการที่จะครอบคลุมในบทเรียนนี้
🎥 คลิกที่ภาพด้านบนเพื่อดูวิดีโอ
แบบทดสอบก่อนเรียน
บทนำ
ในโปรเจกต์ก่อนหน้านี้ คุณได้ใช้ AI เพื่อฝึกโมเดลจำแนกภาพ ซึ่งเป็นโมเดลที่สามารถบอกได้ว่าภาพนั้นมีอะไรอยู่ เช่น ผลไม้สุกหรือผลไม้ดิบ อีกประเภทหนึ่งของโมเดล AI ที่สามารถใช้กับภาพได้คือการตรวจจับวัตถุ โมเดลเหล่านี้ไม่ได้จำแนกภาพด้วยแท็ก แต่ถูกฝึกให้รู้จักวัตถุ และสามารถค้นหาวัตถุในภาพได้ ไม่เพียงแค่ตรวจจับว่ามีวัตถุอยู่ในภาพ แต่ยังสามารถบอกตำแหน่งของวัตถุในภาพได้ด้วย สิ่งนี้ช่วยให้คุณสามารถนับจำนวนวัตถุในภาพได้
ในบทเรียนนี้ คุณจะได้เรียนรู้เกี่ยวกับการตรวจจับวัตถุ รวมถึงวิธีการใช้งานในธุรกิจค้าปลีก นอกจากนี้คุณยังจะได้เรียนรู้วิธีการฝึกตัวตรวจจับวัตถุในระบบคลาวด์
ในบทเรียนนี้เราจะครอบคลุม:
- การตรวจจับวัตถุ
- การใช้การตรวจจับวัตถุในธุรกิจค้าปลีก
- การฝึกตัวตรวจจับวัตถุ
- การทดสอบตัวตรวจจับวัตถุ
- การฝึกตัวตรวจจับวัตถุใหม่
การตรวจจับวัตถุ
การตรวจจับวัตถุเกี่ยวข้องกับการตรวจจับวัตถุในภาพโดยใช้ AI แตกต่างจากโมเดลจำแนกภาพที่คุณฝึกในโปรเจกต์ก่อนหน้า การตรวจจับวัตถุไม่ได้เกี่ยวกับการทำนายแท็กที่ดีที่สุดสำหรับภาพทั้งหมด แต่เกี่ยวกับการค้นหาวัตถุหนึ่งหรือมากกว่าในภาพ
การตรวจจับวัตถุ vs การจำแนกภาพ
การจำแนกภาพเกี่ยวกับการจำแนกภาพทั้งหมด - ความน่าจะเป็นที่ภาพทั้งหมดจะตรงกับแต่ละแท็ก คุณจะได้รับค่าความน่าจะเป็นสำหรับทุกแท็กที่ใช้ฝึกโมเดล
ในตัวอย่างด้านบน มีการจำแนกภาพสองภาพโดยใช้โมเดลที่ฝึกเพื่อจำแนกกระปุกเม็ดมะม่วงหิมพานต์หรือกระป๋องมะเขือเทศบด ภาพแรกเป็นกระปุกเม็ดมะม่วงหิมพานต์ และมีผลลัพธ์ดังนี้:
แท็ก | ความน่าจะเป็น |
---|---|
เม็ดมะม่วงหิมพานต์ |
98.4% |
มะเขือเทศบด |
1.6% |
ภาพที่สองเป็นกระป๋องมะเขือเทศบด และผลลัพธ์คือ:
แท็ก | ความน่าจะเป็น |
---|---|
เม็ดมะม่วงหิมพานต์ |
0.7% |
มะเขือเทศบด |
99.3% |
คุณสามารถใช้ค่าความน่าจะเป็นเหล่านี้ร่วมกับเปอร์เซ็นต์เกณฑ์เพื่อทำนายสิ่งที่อยู่ในภาพ แต่ถ้าภาพมีหลายกระป๋องมะเขือเทศบด หรือมีทั้งเม็ดมะม่วงหิมพานต์และมะเขือเทศบด? ผลลัพธ์อาจไม่ให้สิ่งที่คุณต้องการ นี่คือจุดที่การตรวจจับวัตถุเข้ามามีบทบาท
การตรวจจับวัตถุเกี่ยวข้องกับการฝึกโมเดลให้รู้จักวัตถุ แทนที่จะให้ภาพที่มีวัตถุและบอกว่าภาพแต่ละภาพเป็นแท็กใดแท็กหนึ่ง คุณจะเน้นส่วนของภาพที่มีวัตถุเฉพาะ และแท็กนั้น คุณสามารถแท็กวัตถุเดียวในภาพหรือหลายวัตถุ วิธีนี้โมเดลจะเรียนรู้ว่าตัววัตถุมีลักษณะอย่างไร ไม่ใช่แค่ภาพที่มีวัตถุมีลักษณะอย่างไร
เมื่อคุณใช้โมเดลเพื่อทำนายภาพ แทนที่จะได้รับรายการแท็กและเปอร์เซ็นต์ คุณจะได้รับรายการวัตถุที่ตรวจจับได้ พร้อมกับกรอบสี่เหลี่ยมรอบวัตถุและความน่าจะเป็นที่วัตถุนั้นตรงกับแท็กที่กำหนด
🎓 กรอบสี่เหลี่ยม คือกรอบรอบวัตถุ
ภาพด้านบนมีทั้งกระปุกเม็ดมะม่วงหิมพานต์และกระป๋องมะเขือเทศบดสามกระป๋อง ตัวตรวจจับวัตถุตรวจจับเม็ดมะม่วงหิมพานต์ โดยคืนกรอบสี่เหลี่ยมที่มีเม็ดมะม่วงหิมพานต์พร้อมเปอร์เซ็นต์ความน่าจะเป็นที่กรอบสี่เหลี่ยมมีวัตถุ ในกรณีนี้คือ 97.6% ตัวตรวจจับวัตถุยังตรวจจับกระป๋องมะเขือเทศบดสามกระป๋อง และให้กรอบสี่เหลี่ยมแยกกันสามกรอบสำหรับแต่ละกระป๋องที่ตรวจจับได้ และแต่ละกรอบมีเปอร์เซ็นต์ความน่าจะเป็นที่กรอบสี่เหลี่ยมมีกระป๋องมะเขือเทศบด
✅ ลองคิดถึงสถานการณ์ต่าง ๆ ที่คุณอาจต้องการใช้โมเดล AI ที่ใช้ภาพ คุณคิดว่าสถานการณ์ใดต้องการการจำแนกภาพ และสถานการณ์ใดต้องการการตรวจจับวัตถุ?
การทำงานของการตรวจจับวัตถุ
การตรวจจับวัตถุใช้โมเดล ML ที่ซับซ้อน โมเดลเหล่านี้ทำงานโดยแบ่งภาพออกเป็นหลายเซลล์ จากนั้นตรวจสอบว่าจุดศูนย์กลางของกรอบสี่เหลี่ยมตรงกับจุดศูนย์กลางของภาพที่ตรงกับภาพที่ใช้ฝึกโมเดล คุณสามารถคิดว่านี่เหมือนกับการรันโมเดลจำแนกภาพในส่วนต่าง ๆ ของภาพเพื่อค้นหาความตรงกัน
💁 นี่เป็นการอธิบายแบบง่าย ๆ มาก ๆ มีเทคนิคมากมายสำหรับการตรวจจับวัตถุ และคุณสามารถอ่านเพิ่มเติมเกี่ยวกับเทคนิคเหล่านี้ได้ใน หน้าการตรวจจับวัตถุบน Wikipedia
มีโมเดลหลายแบบที่สามารถทำการตรวจจับวัตถุได้ หนึ่งในโมเดลที่มีชื่อเสียงคือ YOLO (You only look once) ซึ่งมีความเร็วสูงและสามารถตรวจจับวัตถุได้ 20 ประเภท เช่น คน สุนัข ขวด และรถยนต์
✅ อ่านเพิ่มเติมเกี่ยวกับโมเดล YOLO ที่ pjreddie.com/darknet/yolo/
โมเดลตรวจจับวัตถุสามารถฝึกใหม่ได้โดยใช้การเรียนรู้แบบถ่ายโอนเพื่อตรวจจับวัตถุที่กำหนดเอง
การใช้การตรวจจับวัตถุในธุรกิจค้าปลีก
การตรวจจับวัตถุมีการใช้งานหลากหลายในธุรกิจค้าปลีก ตัวอย่างเช่น:
- การตรวจสอบและนับสินค้าในสต็อก - การตรวจจับเมื่อสินค้าบนชั้นวางมีน้อยเกินไป หากสินค้ามีน้อยเกินไป สามารถส่งการแจ้งเตือนไปยังพนักงานหรือหุ่นยนต์เพื่อเติมสินค้า
- การตรวจจับหน้ากาก - ในร้านค้าที่มีนโยบายหน้ากากในช่วงเหตุการณ์ด้านสาธารณสุข การตรวจจับวัตถุสามารถตรวจจับคนที่สวมหน้ากากและคนที่ไม่ได้สวมหน้ากาก
- การเรียกเก็บเงินอัตโนมัติ - การตรวจจับสินค้าที่หยิบออกจากชั้นวางในร้านค้าอัตโนมัติและเรียกเก็บเงินจากลูกค้าอย่างเหมาะสม
- การตรวจจับอันตราย - การตรวจจับสิ่งของที่แตกบนพื้น หรือของเหลวที่หก และแจ้งเตือนทีมทำความสะอาด
✅ ทำการค้นคว้า: มีการใช้งานอื่น ๆ สำหรับการตรวจจับวัตถุในธุรกิจค้าปลีกอีกหรือไม่?
การฝึกตัวตรวจจับวัตถุ
คุณสามารถฝึกตัวตรวจจับวัตถุโดยใช้ Custom Vision ในลักษณะเดียวกับที่คุณฝึกโมเดลจำแนกภาพ
งาน - สร้างตัวตรวจจับวัตถุ
-
สร้าง Resource Group สำหรับโปรเจกต์นี้ชื่อ
stock-detector
-
สร้างทรัพยากรการฝึก Custom Vision ฟรี และทรัพยากรการทำนาย Custom Vision ฟรีใน Resource Group
stock-detector
ตั้งชื่อว่าstock-detector-training
และstock-detector-prediction
💁 คุณสามารถมีทรัพยากรการฝึกและการทำนายฟรีได้เพียงหนึ่งเดียว ดังนั้นตรวจสอบให้แน่ใจว่าคุณได้ล้างโปรเจกต์จากบทเรียนก่อนหน้าแล้ว
⚠️ คุณสามารถอ้างอิง คำแนะนำในการสร้างทรัพยากรการฝึกและการทำนายจากโปรเจกต์ 4 บทเรียน 1 หากจำเป็น
-
เปิดพอร์ทัล Custom Vision ที่ CustomVision.ai และลงชื่อเข้าใช้ด้วยบัญชี Microsoft ที่คุณใช้สำหรับบัญชี Azure
-
ทำตาม ส่วนการสร้างโปรเจกต์ใหม่ในเอกสาร Build an object detector quickstart บน Microsoft Docs เพื่อสร้างโปรเจกต์ Custom Vision ใหม่ UI อาจเปลี่ยนแปลงได้ และเอกสารเหล่านี้เป็นข้อมูลอ้างอิงที่อัปเดตที่สุดเสมอ
ตั้งชื่อโปรเจกต์ของคุณว่า
stock-detector
เมื่อคุณสร้างโปรเจกต์ของคุณ ตรวจสอบให้แน่ใจว่าได้ใช้ทรัพยากร
stock-detector-training
ที่คุณสร้างไว้ก่อนหน้านี้ ใช้ประเภทโปรเจกต์ Object Detection และโดเมน Products on Shelves✅ โดเมน Products on Shelves ถูกออกแบบมาโดยเฉพาะสำหรับการตรวจจับสินค้าบนชั้นวาง อ่านเพิ่มเติมเกี่ยวกับโดเมนต่าง ๆ ใน เอกสาร Select a domain บน Microsoft Docs
✅ ใช้เวลาสำรวจ UI ของ Custom Vision สำหรับตัวตรวจจับวัตถุของคุณ
งาน - ฝึกตัวตรวจจับวัตถุของคุณ
ในการฝึกโมเดลของคุณ คุณจะต้องมีชุดภาพที่มีวัตถุที่คุณต้องการตรวจจับ
-
รวบรวมภาพที่มีวัตถุที่ต้องการตรวจจับ คุณจะต้องมีภาพอย่างน้อย 15 ภาพที่มีวัตถุแต่ละชนิดที่ต้องการตรวจจับจากมุมต่าง ๆ และในสภาพแสงที่แตกต่างกัน แต่ยิ่งมีมากยิ่งดี ตัวตรวจจับวัตถุนี้ใช้โดเมน Products on Shelves ดังนั้นลองจัดวางวัตถุเหมือนกับว่ามันอยู่บนชั้นวางสินค้า คุณจะต้องมีภาพบางส่วนเพื่อทดสอบโมเดลด้วย หากคุณตรวจจับวัตถุมากกว่าหนึ่งชนิด คุณจะต้องมีภาพทดสอบที่มีวัตถุทั้งหมด
💁 ภาพที่มีวัตถุหลายชนิดนับรวมในขั้นต่ำ 15 ภาพสำหรับวัตถุทั้งหมดในภาพ
ภาพของคุณควรเป็น png หรือ jpeg และมีขนาดเล็กกว่า 6MB หากคุณสร้างภาพด้วย iPhone ตัวอย่างเช่น ภาพอาจเป็นภาพ HEIC ความละเอียดสูง ดังนั้นจะต้องแปลงและอาจลดขนาดลง ยิ่งมีภาพมากยิ่งดี และคุณควรมีจำนวนภาพของวัตถุที่สุกและดิบใกล้เคียงกัน
โมเดลนี้ออกแบบมาสำหรับสินค้าบนชั้นวาง ดังนั้นลองถ่ายภาพวัตถุบนชั้นวาง
คุณสามารถค้นหาภาพตัวอย่างที่คุณสามารถใช้ได้ใน โฟลเดอร์ images ของเม็ดมะม่วงหิมพานต์และมะเขือเทศบดที่คุณสามารถใช้ได้
-
ทำตาม ส่วน Upload and tag images ในเอกสาร Build an object detector quickstart บน Microsoft Docs เพื่ออัปโหลดภาพการฝึกของคุณ สร้างแท็กที่เกี่ยวข้องตามประเภทของวัตถุที่คุณต้องการตรวจจับ
เมื่อคุณวาดกรอบสี่เหลี่ยมรอบวัตถุ ให้วาดให้แน่นรอบวัตถุ การวาดกรอบสี่เหลี่ยมทั้งหมดอาจใช้เวลานาน แต่เครื่องมือจะตรวจจับสิ่งที่คิดว่าเป็นกรอบสี่เหลี่ยม ทำให้เร็วขึ้น
💁 หากคุณมีภาพมากกว่า 15 ภาพสำหรับวัตถุแต่ละชนิด คุณสามารถฝึกหลังจาก 15 ภาพแล้วใช้ฟีเจอร์ Suggested tags ฟีเจอร์นี้จะใช้โมเดลที่ฝึกแล้วเพื่อตรวจจับวัตถุในภาพที่ยังไม่ได้แท็ก คุณสามารถยืนยันวัตถุที่ตรวจจับได้ หรือปฏิเสธและวาดกรอบสี่เหลี่ยมใหม่ สิ่งนี้สามารถช่วยประหยัดเวลาได้มาก
-
ทำตาม ส่วน Train the detector ในเอกสาร Build an object detector quickstart บน Microsoft Docs เพื่อฝึกตัวตรวจจับวัตถุของคุณบนภาพที่แท็กไว้
คุณจะได้รับตัวเลือกประเภทการฝึก เลือก Quick Training
ตัวตรวจจับวัตถุจะเริ่มฝึก และจะใช้เวลาสองสามนาทีเพื่อให้การฝึกเสร็จสมบูรณ์
ทดสอบตัวตรวจจับวัตถุของคุณ
เมื่อคุณฝึกตัวตรวจจับวัตถุเสร็จแล้ว คุณสามารถทดสอบได้โดยให้ภาพใหม่เพื่อให้ตรวจจับวัตถุในภาพ
งาน - ทดสอบตัวตรวจจับวัตถุของคุณ
-
ใช้ปุ่ม Quick Test เพื่ออัปโหลดภาพทดสอบและตรวจสอบว่าวัตถุถูกตรวจจับ ใช้ภาพทดสอบที่คุณสร้างไว้ก่อนหน้านี้ ไม่ใช่ภาพที่คุณใช้สำหรับการฝึก
-
ลองใช้ภาพทดสอบทั้งหมดที่คุณมีและสังเกตค่าความน่าจะเป็น
ฝึกตัวตรวจจับวัตถุใหม่
เมื่อคุณทดสอบตัวตรวจจับวัตถุของคุณ อาจไม่ให้ผลลัพธ์ตามที่คุณคาดหวัง เช่นเดียวกับโมเดลจำแนกภาพในโปรเจกต์ก่อนหน้า คุณสามารถปรับปรุงตัวตรวจจับวัตถุของคุณโดยการฝึกใหม่ด้วยภาพที่โมเดลตรวจจับผิดพลาด
ทุกครั้งที่คุณทำการทำนายโดยใช้ตัวเลือก Quick Test ภาพและผลลัพธ์จะถูกบันทึกไว้ คุณสามารถใช้ภาพเหล่านี้เพื่อฝ แบบทดสอบหลังการบรรยาย
ทบทวนและศึกษาด้วยตนเอง
- เมื่อคุณฝึกตัวตรวจจับวัตถุ คุณจะเห็นค่าต่าง ๆ เช่น Precision, Recall, และ mAP ซึ่งเป็นการประเมินผลโมเดลที่ถูกสร้างขึ้น ลองอ่านเพิ่มเติมเกี่ยวกับค่าต่าง ๆ เหล่านี้ได้ที่ ส่วน Evaluate the detector ใน Build an object detector quickstart บน Microsoft docs
- อ่านเพิ่มเติมเกี่ยวกับการตรวจจับวัตถุได้ที่ หน้าการตรวจจับวัตถุบน Wikipedia
งานที่ได้รับมอบหมาย
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามอย่างเต็มที่เพื่อให้การแปลมีความถูกต้อง โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่แม่นยำ เอกสารต้นฉบับในภาษาต้นทางควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามนุษย์ที่เป็นมืออาชีพ เราจะไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความที่ผิดพลาดซึ่งเกิดจากการใช้การแปลนี้