การเลือกบอร์ด Computer Vision ในปี 2565
การเลือกแพลตฟอร์มเพื่อทำงานร่วมกับ Computer Vision on the Edge นั้นเป็นเรื่องยาก มีบอร์ดมากมายในตลาด หากคุณอ่านเกี่ยวกับหนึ่งในนั้น คุณต้องการใช้มัน แต่เมื่อคุณลอง - มันไม่ดีนัก
ฉันพยายาม เปรียบเทียบบอร์ดราคาถูกจำนวน มากในตลาด และไม่ใช่แค่ในเรื่องของความเร็วเท่านั้น ฉันพยายามเปรียบเทียบแพลตฟอร์มตาม "การใช้งาน" การส่งออกเครือข่ายจะง่ายเพียงใด การสนับสนุนดีเพียงใด และการทำงานนั้นง่ายเพียงใด
บทความนี้เป็นผลจากการเปรียบเทียบ แต่ถ้าคุณต้องการดูเพิ่มเติมเกี่ยวกับบอร์ด มีวิดีโออื่นที่ฉันทำเกี่ยวกับแต่ละบอร์ด (พร้อมการเปรียบเทียบทั้งหมด):
- กูเกิลคอรัล
- คาดาส วิม3
- ESP32 — (วิดีโอนี้ถ่ายไว้ก่อนที่ฉันจะจัดทำคู่มือนี้ แต่มันใกล้จะถึงแล้ว ดังนั้นฉันจะแปะไว้ที่นี่ และอีกอันหนึ่ง —https://youtu.be/ms6uoZr-4dc)
- ราสเบอร์รี่ Pi
- มากมาย X (NCS 2, ความลึก Ai (OAK,OAK-1,OAK-D,ฯลฯ))
- Rock Pi 3A (RK3568 ฯลฯ)(และอีกอันหนึ่ง —https://youtu.be/NHVPxPlY2lIเกี่ยวกับการพัฒนา)
- เจ็ตสัน นาโน
- ไฮโล-8
- บอร์ด K210 ( ประมาณ )
- บอร์ด MAXX-II ( ประมาณ )
และตอนนี้ฉันสั่งm5stack (พร้อมโปรเซสเซอร์ Sigmstar SSD202D) เพื่อทดสอบ (ทดสอบแล้ว วิดีโอจะเผยแพร่เร็ว ๆ นี้)
นอกจากนี้ ฉันมีรายการที่ฉันวางแผนจะสั่งซื้อและทดสอบไม่ช้าก็เร็ว และเพิ่มในบทความนี้หรือบทความถัดไป:
- DEBIX Model A — มันควรจะคล้ายกับ Vim3 มาก แต่ใช้ระบบที่แตกต่างกัน
- K510 Dual RSIC-V64 — k210 เวอร์ชันใหม่มีความเร็วเพิ่มขึ้นอย่างมากจากแพลตฟอร์มเก่า ระบบที่สะดวกยิ่งขึ้น
- บอร์ด Horizon X3 Pi AI — บอร์ดที่มีชุมชนขนาดใหญ่ซึ่งมุ่งเป้าไปที่ ROS มากกว่า แต่มีคู่ NPU บางตัวบนกระดาน ซึ่งทำให้แพลตฟอร์มน่าสนใจในการทดสอบ
- VisionFive RISC-V — บอร์ดที่มีโมดูลการเร่งความเร็วสองโมดูล (NVDLA Engine และ NPU) ตอนที่ฉันคิดจะสั่งซื้อมันเมื่อสามเดือนก่อน ฉันก็ต้องหยุดเพราะกระทู้ไม่กี่อันในฟอรัมอย่างเป็นทางการได้บอกชัดเจนว่ายังรันไม่ได้ ( NNE ไม่ทำงาน , NVDLA ไม่ทำงาน ) ฉันไม่คิดว่ามีอะไรเปลี่ยนแปลง
- Orange Pi 5 — นี่คือ Rockchip RK3588S แต่ Orange Pi มีโครงสร้างพื้นฐานที่ค่อนข้างก้าวหน้า มันน่าสนใจที่จะเปรียบเทียบกับ Rock Pi แต่ส่วนใหญ่จะคล้ายกัน นอกจากนี้ยังน่าสนใจที่จะทดสอบ Orange 4B ซึ่งคล้ายกัน
- เกี่ยวกับ RockChip เป็นเรื่องที่น่าสนใจที่จะทดสอบบางสิ่งที่ใช้RK1808 มีบอร์ดราคาถูกมากมาย (แบบนี้ ) และยังมีบางรุ่นที่มีกล้อง
- KNEO STEM — โมดูล NPU ที่ไม่มีบทวิจารณ์
- Sophon BM1880 — เช่นกัน บอร์ดที่น่าตื่นเต้นโดยไม่ต้องรีวิวมากมาย
- Xilinx Kria — เป็นบอร์ด FPGA ฉันอยากจะแสดงร่วมกันและลองดู ครั้งสุดท้ายที่ฉันพยายามพอร์ตคณิตศาสตร์ไปยัง FPGA
ไปกันเถอะ!
นี่คือตารางสุดท้ายพร้อมกระดานทั้งหมด:
https://docs.google.com/spreadsheets/d/1BMj8WImysOSuiT-6O3g15gqHnYF-pUGUhi8VmhhAat4/edit?usp=sharing
แต่ขออธิบายเกณฑ์ทั้งหมดก่อน
วิธีการทำงานง่าย
แฟลชง่ายแค่ไหน? ใช้เวลาครึ่งวันในการแฟลช Jetson TK1 สำหรับ RPi — ครึ่งชั่วโมง เฟิร์มแวร์คือจุดที่การสื่อสารของคุณกับบอร์ดเริ่มต้นขึ้นหลังจากการแกะกล่อง
ง่ายต่อการทำงานด้วย เมื่อฉันทำงานกับ DaVinci การแก้ไขจุดบกพร่องใช้เวลานาน วันนี้กระบวนการทั้งหมดมักจะง่ายมาก มาพูดเกี่ยวกับพวกเขากันเถอะ
ลินุกซ์ธรรมดา . ฉันชอบเวลาที่คุณสามารถทำงานกับอูบุนตูทั่วไปได้ และมันทำให้ฉันเศร้าเมื่อไม่มี Linux ทั่วไปบนบอร์ด ลองตรวจสอบสิ่งนี้
การสนับสนุนชุมชน ชุมชนขนาดใหญ่ — ปัญหามีน้อยและมีวิธีแก้ไขมากมาย มาตรวจสอบกัน
ในความคิดของฉัน บอร์ดที่ดีที่สุดคือ RPi และ NCS แต่ไม่ใช่บอร์ด Computer Vision อย่างสมบูรณ์ Coral และ Jetsons นั้นดี แต่ยังไม่ยอดเยี่ยม
รองรับโมเดล
โดยปกติแล้ว NPU นั้นไม่เป็นมิตรกับผู้ใช้มากนักในแง่ของการแปลงโมเดล มาพูดถึงโมเดลกัน
สวนสัตว์จำลองอย่างเป็นทางการ รองรับรุ่นใดบ้าง
สวนสัตว์จำลองอย่างไม่เป็นทางการ . ชุมชนให้อะไรกับบอร์ดนี้?
การแปลงโมเดลแบบสุ่มนั้นง่ายแค่ไหน? เหตุใดฉันจึงต้องใช้สองคะแนนแรกหากฉันส่งออกอะไรได้!
ง่ายต่อการแก้ปัญหาด้วยการแปลง หากการส่งออกไม่เป็นไปตามแผน
อย่างที่คุณเห็น มีสามกระดานที่ดี และหนึ่งเกือบดี
ความพร้อมในการผลิต / ความพร้อมของโครงงานงานอดิเรก / การสร้างบอร์ด
ข้อมูลเพิ่มเติมบางอย่างจะช่วยให้คุณตัดสินใจได้ว่าคุณควรเลือกบอร์ดนี้หรือไม่
ความเร็วของโปรเซสเซอร์ ? ระบบการมองเห็นของคอมพิวเตอร์จำนวนมากต้องการโปรเซสเซอร์ที่ดี มาตรวจสอบกัน เพื่อทดสอบ ฉันจะใช้เครื่องมือ stress-ng (Sudo apt-get install stress-ng) บน Linux PC เพื่อทำการเปรียบเทียบ
ชิ้นส่วนเครื่องจักรกลการก่อสร้าง ความคงตัวของอุณหภูมิ
ง่ายต่อการซื้อ ฉันควรกดปุ่ม “ติดต่อเพื่อสอบถามราคา” หรือไม่… หรือรอคิวนานหลายเดือน?
พินสำหรับการเชื่อมต่อภายนอก ฉันจะสามารถจัดการกับความเป็นจริงได้หรือไม่?
อย่างที่คุณเห็น บอร์ดทั้งหมดเกือบจะเหมือนกัน ยกเว้นบอร์ดที่ไม่มี Linux
ทดสอบความเร็ว
เป็นการยากที่จะทำความเข้าใจอย่างซับซ้อนเกี่ยวกับ "ความเร็วของบอร์ด" 2-3 คะแนนในการเปรียบเทียบประสิทธิภาพ เป็นการดีกว่าที่จะดูส่วน "การทดสอบความเร็ว" ของวิดีโอและตรวจสอบข้อมูลที่นี่ บอร์ดที่แตกต่างกันมีกรอบการอนุมานที่แตกต่างกัน พารามิเตอร์ที่แตกต่างกัน และการวัดปริมาณที่แตกต่างกัน
ฉันใช้ขนาดแบทช์ =1 ทุกที่ และนี่ไม่ใช่กลยุทธ์ที่ดีที่สุด ตัวอย่างเช่นสำหรับ Jetson จะช่วยเพิ่มประสิทธิภาพ
แต่ในความคิดของฉัน การทดสอบเหล่านี้สามารถตอบคำถามสองสามข้อได้:
- บอร์ดสำหรับโครงข่ายประสาทเทียมขนาดเล็กเร็วแค่ไหน?
- บอร์ดสำหรับเครือข่ายประสาทขนาดใหญ่เร็วแค่ไหน?
- กรอบงานที่เหมาะสมที่สุดในการรันโครงข่ายประสาทเทียมคืออะไร?
ราคา
สำหรับโครงการขนาดใหญ่ ราคาเป็นสิ่งสำคัญ แต่คุณแทบจะไม่สามารถประเมินค่าใช้จ่ายที่แท้จริงได้ ตัวอย่างเช่น:
- ราคาของ Jetson อยู่ที่ประมาณ 99 เหรียญ แต่ด้วยปัญหาการขาดแคลนชิปในปัจจุบัน คุณแทบจะไม่สามารถซื้อได้ด้วยเงิน 250 เหรียญ
- บอร์ดขนาดใหญ่ที่ฝากขายมีราคาน้อยกว่าบอร์ดขนาดเล็ก
- คุณสามารถสร้างต้นแบบบอร์ดของคุณสำหรับชิปบางตัวได้ ซึ่งจะมีค่าใช้จ่ายน้อยกว่า
- อุปกรณ์ต่อพ่วงเพิ่มเติมจะเพิ่มค่าใช้จ่าย และจะแตกต่างกันไปตามบอร์ดต่างๆ
การใช้พลังงาน
นอกจากนี้ฉันพยายามวัดการใช้พลังงาน
หมายเหตุสำคัญบางประการ:
- ฉันไม่สามารถวัดการใช้พลังงานสำหรับทุกบอร์ดที่ต้องการได้ (บางบอร์ดฉันให้เพื่อน บางบอร์ดไม่มี USB เป็นต้น)
- ฉันพยายามวัดเพียงสองโหมด: "ไม่ได้ใช้งาน" และ "กำลังรัน NN" แต่: บางบอร์ดมีกล้องในตัว, บางบอร์ดใช้ wifi, บางบอร์ดมีอุปกรณ์ต่อพ่วงเพิ่มเติม ฯลฯ ฉันไม่ได้เชื่อมต่อส่วนเพิ่มเติมใด ๆ แต่
- มันคือการใช้พลังงานที่ "แย่" ฉันไม่ได้พยายามวัดการบริโภคสูงสุด
สรุป
ดังนั้น. ฉันหวังว่าสิ่งนี้จะช่วยคุณในการเลือกบอร์ดของคุณ แต่เป็นบทความที่ค่อนข้างเล็ก และขอแนะนำอีกสองสามข้อ
- บทความที่ดีเกี่ยวกับ NPU และ TPU คืออะไร ความแตกต่างอย่างไร และวิธีเพิ่มประสิทธิภาพทางคณิตศาสตร์:https://blog.inten.to/hardware-for-deep-learning-part-4-asic-96a542fe6a81
- บทความดีๆ เกี่ยวกับการเปรียบเทียบแพลตฟอร์ม มีบางแพลตฟอร์มที่ฉันยังไม่ได้ตรวจสอบ + ตัวอย่างสำหรับเครือข่ายที่ฉันไม่มี —https://qengineering.eu/deep-learning-with-raspberry-pi-and-alternatives.html
- ไม่ใช่การเปรียบเทียบโดยละเอียด แต่มีบางแพลตฟอร์มที่น่าตื่นเต้นที่ฉันยังไม่ได้ตรวจสอบ —https://jfrog.com/connect/post/comparison-of-the-top-5-single-board-computers/
- บทความที่ยอดเยี่ยมและมีรายละเอียด แต่มีกระดานไม่มาก —https://arxiv.org/pdf/2108.09457.pdf
- การทดสอบประสิทธิภาพ ncnn สำหรับบอร์ดจำนวนมาก —https://github.com/nihui/ncnn-small-board