9.0 KiB
เรียกใช้งานตัวตรวจจับวัตถุจากอุปกรณ์ IoT ของคุณ - ฮาร์ดแวร์ IoT เสมือนและ Raspberry Pi
เมื่อคุณเผยแพร่ตัวตรวจจับวัตถุแล้ว คุณสามารถใช้งานมันจากอุปกรณ์ IoT ของคุณได้
คัดลอกโปรเจกต์ตัวจำแนกภาพ
ตัวตรวจจับสินค้าส่วนใหญ่จะเหมือนกับตัวจำแนกภาพที่คุณสร้างในบทเรียนก่อนหน้า
งาน - คัดลอกโปรเจกต์ตัวจำแนกภาพ
-
สร้างโฟลเดอร์ชื่อ
stock-counter
บนคอมพิวเตอร์ของคุณหากคุณใช้อุปกรณ์ IoT เสมือน หรือบน Raspberry Pi ของคุณ หากคุณใช้อุปกรณ์ IoT เสมือน อย่าลืมตั้งค่าสภาพแวดล้อมเสมือน -
ตั้งค่าฮาร์ดแวร์กล้อง
- หากคุณใช้ Raspberry Pi คุณจะต้องติดตั้ง PiCamera คุณอาจต้องการยึดกล้องให้อยู่ในตำแหน่งเดียว เช่น แขวนสายเคเบิลไว้เหนือกล่องหรือกระป๋อง หรือยึดกล้องกับกล่องด้วยเทปสองหน้า
- หากคุณใช้อุปกรณ์ IoT เสมือน คุณจะต้องติดตั้ง CounterFit และ CounterFit PyCamera shim หากคุณจะใช้ภาพนิ่ง ให้จับภาพบางภาพที่ตัวตรวจจับวัตถุของคุณยังไม่เคยเห็น หากคุณจะใช้เว็บแคม อย่าลืมจัดตำแหน่งให้สามารถมองเห็นสินค้าที่คุณกำลังตรวจจับได้
-
ทำตามขั้นตอนจาก บทเรียนที่ 2 ของโปรเจกต์การผลิต เพื่อจับภาพจากกล้อง
-
ทำตามขั้นตอนจาก บทเรียนที่ 2 ของโปรเจกต์การผลิต เพื่อเรียกใช้งานตัวจำแนกภาพ โค้ดส่วนใหญ่จะถูกนำมาใช้ซ้ำเพื่อการตรวจจับวัตถุ
เปลี่ยนโค้ดจากตัวจำแนกภาพเป็นตัวตรวจจับวัตถุ
โค้ดที่คุณใช้ในการจำแนกภาพมีความคล้ายคลึงกับโค้ดที่ใช้ในการตรวจจับวัตถุ ความแตกต่างหลักคือวิธีที่เรียกใช้งานบน Custom Vision SDK และผลลัพธ์ที่ได้จากการเรียกใช้งาน
งาน - เปลี่ยนโค้ดจากตัวจำแนกภาพเป็นตัวตรวจจับวัตถุ
-
ลบโค้ดสามบรรทัดที่ใช้ในการจำแนกภาพและประมวลผลการคาดการณ์:
results = predictor.classify_image(project_id, iteration_name, image) for prediction in results.predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
ลบสามบรรทัดนี้ออก
-
เพิ่มโค้ดต่อไปนี้เพื่อการตรวจจับวัตถุในภาพ:
results = predictor.detect_image(project_id, iteration_name, image) threshold = 0.3 predictions = list(prediction for prediction in results.predictions if prediction.probability > threshold) for prediction in predictions: print(f'{prediction.tag_name}:\t{prediction.probability * 100:.2f}%')
โค้ดนี้เรียกใช้งานเมธอด
detect_image
บน predictor เพื่อรันตัวตรวจจับวัตถุ จากนั้นรวบรวมการคาดการณ์ทั้งหมดที่มีความน่าจะเป็นสูงกว่าค่าที่กำหนด และพิมพ์ผลลัพธ์ลงในคอนโซลแตกต่างจากตัวจำแนกภาพที่คืนผลลัพธ์เพียงหนึ่งรายการต่อแท็ก ตัวตรวจจับวัตถุจะคืนผลลัพธ์หลายรายการ ดังนั้นรายการที่มีความน่าจะเป็นต่ำจะต้องถูกกรองออก
-
รันโค้ดนี้ และมันจะจับภาพ ส่งไปยังตัวตรวจจับวัตถุ และพิมพ์วัตถุที่ตรวจจับได้ออกมา หากคุณใช้อุปกรณ์ IoT เสมือน อย่าลืมตั้งค่าภาพที่เหมาะสมใน CounterFit หรือเลือกเว็บแคมของคุณ หากคุณใช้ Raspberry Pi อย่าลืมจัดตำแหน่งกล้องให้ชี้ไปยังวัตถุบนชั้นวาง
pi@raspberrypi:~/stock-counter $ python3 app.py tomato paste: 34.13% tomato paste: 33.95% tomato paste: 35.05% tomato paste: 32.80%
💁 คุณอาจต้องปรับค่า
threshold
ให้เหมาะสมกับภาพของคุณคุณจะสามารถเห็นภาพที่ถูกจับ และค่าต่าง ๆ เหล่านี้ในแท็บ Predictions ใน Custom Vision
💁 คุณสามารถค้นหาโค้ดนี้ได้ในโฟลเดอร์ code-detect/pi หรือ code-detect/virtual-iot-device
😀 โปรแกรมนับสินค้าของคุณประสบความสำเร็จ!
ข้อจำกัดความรับผิดชอบ:
เอกสารนี้ได้รับการแปลโดยใช้บริการแปลภาษา AI Co-op Translator แม้ว่าเราจะพยายามให้การแปลมีความถูกต้อง แต่โปรดทราบว่าการแปลอัตโนมัติอาจมีข้อผิดพลาดหรือความไม่ถูกต้อง เอกสารต้นฉบับในภาษาดั้งเดิมควรถือเป็นแหล่งข้อมูลที่เชื่อถือได้ สำหรับข้อมูลที่สำคัญ ขอแนะนำให้ใช้บริการแปลภาษามืออาชีพ เราไม่รับผิดชอบต่อความเข้าใจผิดหรือการตีความผิดที่เกิดจากการใช้การแปลนี้