13.6. Edge Impulse¶
Edge Impulse คือแพลตฟอร์มครบวงจรสำหรับสร้างโมเดลการเรียนรู้ของเครื่องที่ทำงานบนไมโครคอนโทรลเลอร์ ได้แก่ เก็บและป้ายกำกับข้อมูล ออกแบบและฝึกโมเดลในเบราว์เซอร์ และปรับแต่งให้พอดีกับอุปกรณ์ที่มีขนาดเป็นกิโลไบต์ โดยสามารถนำไปใช้งานกับ OpenMV ได้โดยตรง เพียงไม่กี่คลิกก็เปลี่ยนโมเดลที่ฝึกแล้วให้เป็นไฟล์พร้อมรันบนกล้อง เอกสาร documentation ของ Edge Impulse อธิบายแต่ละขั้นตอนอย่างละเอียด
13.6.1. การนำเข้าข้อมูล¶
โมเดลทำงานได้ดีที่สุดกับภาพประเภทเดียวกับที่ใช้ฝึก ดังนั้นควรเก็บชุดข้อมูลด้วยกล้องที่จะรันโมเดลนั้น ตัวแก้ไขชุดข้อมูล ของ IDE ถูกออกแบบมาเพื่องานนี้โดยเฉพาะ ได้แก่ สร้างโฟลเดอร์คลาส ถ่ายภาพที่มีป้ายกำกับจากบัฟเฟอร์เฟรมสด และอัปโหลดชุดข้อมูลตรงเข้าโปรเจกต์ Edge Impulse จากเมนู Export (เข้าสู่ระบบด้วยบัญชีของคุณก่อน) จากนั้นเป็นต้นไปคุณจะทำงานใน Edge Impulse Studio
See also
คู่มือการตั้งค่า OpenMV Cam ของ Edge Impulse เอง OpenMV Cam setup guide สำหรับการติดตั้งเครื่องมือและเชื่อมต่อกล้อง
13.6.2. การฝึกโมเดล¶
การฝึกจะเกิดขึ้นทั้งหมดในเบราว์เซอร์ ได้แก่ ออกแบบ impulse (บล็อกอินพุต การประมวลผล และการเรียนรู้) ฝึก และตรวจสอบความแม่นยำบนข้อมูลทดสอบที่แยกไว้
โมเดลสองประเภทเหมาะกับกล้อง ตัวจำแนกภาพให้รายการคะแนนคลาสซึ่งคุณอ่านได้โดยตรงจากเอาต์พุตของโมเดล ไม่จำเป็นต้องมีตัวประมวลผลหลัง FOMO ซึ่งเป็นตัวตรวจจับวัตถุที่รวดเร็วออกแบบมาสำหรับไมโครคอนโทรลเลอร์ ต้องมีขั้นตอนการถอดรหัสหนึ่งขั้นตอน และกล้องมาพร้อมตัวประมวลผลหลังสำหรับมัน (ml.postprocessing.edgeimpulse) ดังนั้นโมเดลเหล่านั้นก็ทำงานได้โดยไม่ต้องเขียนโค้ดเพิ่มเติม
13.6.3. การนำไปใช้งานบนกล้อง¶
เมื่อการฝึกเสร็จสิ้น ให้เปิดหน้า Deployment ของโปรเจกต์ เลือกเป้าหมาย OpenMV Library และคลิก Build การดาวน์โหลดคือไฟล์ zip ที่บรรจุโมเดลที่ฝึกแล้ว (trained.tflite) ป้ายกำกับ (labels.txt) และสคริปต์ตัวอย่าง โมเดลถูกควอนไทซ์แบบจำนวนเต็ม Edge Impulse อธิบายเรื่องนี้และทางเลือก custom-firmware ในคู่มือ run on OpenMV guide
เพิ่มไฟล์ .tflite ลงในกล้องด้วย ตัวแก้ไข ROMFS ของ IDE ซึ่งจะแปลงไฟล์สำหรับ NPU ของบอร์ดเมื่อมี และโหลดในสคริปต์ด้วย ml.Model โมเดลยังทำงานจากแฟลชไดรฟ์ของกล้องได้เช่นกัน โดยคัดลอกไฟล์และชี้ ml.Model ไปที่พาธ แต่ ROMFS เป็นที่จัดเก็บที่ดีกว่า เนื่องจากโมเดลที่นั่นจะรันตรงจากแฟลชโดยไม่ต้องคัดลอกไปยัง RAM
See also
บทที่ การเรียนรู้ของเครื่อง สำหรับการรันโมเดลด้วยโมดูล ml ได้แก่ การโหลด ไปป์ไลน์การอนุมาน และการถอดรหัสเอาต์พุต