รีวีวซิงเกิ้ลบอร์ด YY3568 ทดลองใช้งานบน Ubuntu และ RKNPU สำหรับงาน AI

บอร์ด YY3568 เป็นบอร์ดที่ใช้ชิปประมวลผล RK3568 จากบริษัท Rockchip โดยเป็นสถาปัตยกรรม ARM  Cortex-A55  64บิต จำนวน 4 คอร์ ที่มีสัญญาณนาฬิกาความเร็ว 2.0 GHz พร้อมด้วย NPU ประสิทธิภาพในการประมวลผลอยู่ที่ 1 TOPS  พร้อม GPU แบบดูอัลคอร์ Mali-G52 ที่มาพร้อมกับการเชื่อมต่อที่ค่อนข้างครอบคลุมกับความต้องการในการใช้งานทั่วไป
ซึ่งเราได้ทำ การรีวิวการใช้งานบน Android 11 ไปแล้ว ในวันนี้เราจะมารีวิวการใช้งานและการทดสอบประสิทธิภาพบน Linux กัน โดยทาง youyeetoo มีให้เลือก distro ทั้ง Debian และ Ubuntu ซึ่งในรีวิวนี้จะเป็นการรีวิวด้วย Ubuntu 20

การติดตั้ง Image Debian / Ubuntu

เราสามารถเลือก image ในการติดตั้งสำหรับ Debian และ Ubuntu ได้

youyeetoo YY3568 debian image

รูปแสดงรายการไฟล์ image สำหรับติดตั้งเลือกติดตั้ง OS Debian 10

youyeetoo YY3568 ubuntu image

รูปแสดงรายการไฟล์ image สำหรับติดตั้งเลือกติดตั้ง OS Ubuntu 20

โดยเราจะทำการเลือก image ที่ลงท้ายด้วย -edp เนื่องจากว่าจะใช้งานกับจอภาพ 11.6″ eDPของ youyeetoo ในการทดสอบ หลังจากนั้นก็ทำการเขียน image ไฟล์ลงไปยังบอร์ด ด้วยโปรแกรม RKDevTool เหมือนกับที่ทำการติดตั้ง Android ได้เลย รอไม่นานก็เขียนเสร็จเรียบร้อย

youyeetoo YY3568 flash image

รูปแสดงการติดตั้ง image ผ่านโปรแกรม RKDevTool

หลังจากติดตั้งเรียบร้อยแล้วเราก็ทำการกด reset เพื่อให้บอร์ดบูตเข้ากับ OS Ubuntu 20 ที่พึ่งติดตั้งลงไป จากนั้นเราก็มาทดสอบประสิทธิภาพของบอร์ดกันต่อไป

youyeetoo yy3568 first boot

รูปแสดงหน้า desktop หลังจากบูตเข้าใช้งาน

YY3568 specification

รูปแสดงคุณสมบัติของบอร์ด YY3568 จากโปรแกรม Phoronix TestSuite

การทดสอบประสิทธิภาพทั่วไป

การทดสอบประสิทธิภาพบน Ubuntu เราจะเริ่มจาก sbc-bench.sh จาก Github


ซึ่งถ้าหากสนใจสามารถดูผลการทดสอบแบบเต็มได้ที่ http://ix.io/4Ga2

จากนั้นก็ทำการทดสอบด้วย  Phoronic TestSuite  เพื่อทดสอบความเร็วอ่านเขียนของ Flash Memory กัน

ความเร็วในการอ่านไฟล์บน Flash memory : ไฟล์ขนาด  512MB ด้วย block size 1MB ทำความเร็วได้ที่ 1190.83 MB/วินาที ซึ่งดูสูงมากเดี๋ยวจะต้องทำการตรวจสอบอีกครั้งหนึ่ง

ความเร็วในการเขียนไฟล์ลง Flash memory : ไฟล์ขนาด  512MB ด้วย block size 1MB ทำได้ที่ 34.96 MB/วินาที


ซึ่งจากความเร็วในการอ่านที่ดูเร็วมากอาจเป็นไปได้ว่าเป็นการอ่านจาก cache เลยจะทำการทดลองอ่านค่าโดยระบุ parameter -I ด้วยเพื่อให้อ่านค่าจากไฟล์โดยตรง
ซึ่งจะได้ค่าความเร็วในการอ่านอยู่ที่ 113MB/วินาที การเขียนไฟล์อยู่ที่ 89MB/วินาที  ซึ่งตรงกับความเร็วอ่านเฉลี่ยของ  eMMC4.5 แต่การเขียนทำได้ไวมากขึ้นตรงกับความเร็วเฉลี่ยนของ eMMC5.0 ซึ่งถือว่าเมื่ออ่านเขียนตรงเลยทำความเร็วได้น่าประทับใจ


 

การทดสอบประสิทธิภาพของเครือข่าย

ในการทดสอบประสิทธิภาพของเครือข่ายเราจะทำการทดสอบทั้ง LAN และ Wi-Fi โดยการทดสอบด้วยโปรแกรม iperf3 และ Speed test บนเว็บ Ookla ในการทดสอบ

iperf3 บน ETH0

จากคุณสมบัติของบอร์ดที่แจ้งว่า ethernet port เป็น gigabit เมื่อเราทดสอบที่ port ETH0 ก็พบว่าความเร็วในการส่งข้อมูลทำได้ที่  0.94 Gbits ต่อวินาที ก็ถือว่าทำความเร็วได้ดีมาก เพราะตอนทดสอบได้การต่อระหว่างเครื่อง server และ client ของ iperf3 ผ่าน router ที่แถมมากับอินเตอร์เน็ตของAIS

iperf3  บน ETH1

ในการทดสอบบนพอร์ตที่เหลือคือ ETH1 ก็ได้ความเร็วที่เท่ากันเลย ซึ่งต้องชมว่าการที่มี ethernet ถึง 2  พอร์ตช่วยให้เราสามารถนำเอาบอร์ด YY3568 นี้มาใช้งานด้านเน็ตเวิร์คได้สะดวกมาก

iperf3  บน WLAN0

ในการทดสอบความเร็วของ Wi-Fi นั้น เราก็ทดสอบโดยใช้เน็ตเวิร์ค 5Ghz ของ AIS router ตัวเดิมซึ่งความเร็วในการรับส่งข้อมูลเฉลี่ยนอยู่ที่ 575 Mbits ก็ถือว่าเป็นไปตามมาตรฐาน AC600


จากนั้นเราก็ได้ทำการทดสอบความเร็วของอินเตอร์เน็ตผ่านทั้ง ethernet และ Wi-Fi ซึ่งจะเห็นความแตกต่างของความเร็วที่ชัดเจนตามรูป

Ethernet speed test Wi Fi Speed test
การทดสอบ Speed test บนเว็บ Ookla  ด้วย Ethernet การทดสอบ Speed test บนเว็บ Ookla ด้วย Wi-Fi

การทดสอบประสิทธิภาพของการใช้งาน 3D 

เราทำการทดสอบประสิทธิภาพของ GPU ด้วยการใช้ GLMark2 ในการทดสอบ  ซึงบน Mali-G52 สนับสนุนการทำงานบน OpenGL เป็นอย่างดีได้คะแนน glmark2 อยู่ที่  115 คะแนน

GPU Benchmark using GLMark2

รูปแสดงการทดสอบประสิทธิภาพของ GPU ด้วย glmark2

การทดสอบเล่นไฟล์วิดีโอ

จากนั้นเราก็ทดสอบเล่นไฟล์จาก youtube เพื่อทดสอบทั้งการเล่นไฟล์และทดสอบไดรเวอร์ของเสียงไปด้วยกัน ซึ่งบนบอร์ด  YY3568 นี้ข้อดีอีกอย่างคือรองรับการเล่นไฟล์เสียงไว้ดีมากมีทั้งช่อง 3.5mm และยังมีช่องต่อลำโพงขนาดเล็กได้ในตัวเลยมาพร้อมกับ power amp class D แบบโมโนให้เราสามารถเชื่อมต่อกับลำโพงได้ทันที การเล่นไฟล์เสียงและภาพทำได้ดี สามารถใช้งานด้าน   Digital signage ได้เลย ซึ่งเราสามารถทำ Digital signage ที่สามารถเลือก content  ให้เหมาะกับผู้ชทได้ง่าย ๆ เลยเพราะว่า YY3568 มาพร้อมกับ NPU ที่มีความสามารถถึง 0.8 TPOS ซึ่งใช้งานเป็นอย่างไรมาลองดูในหัวข้อถัดไปได้เลย

คลิปข้างบนแสดงการทดสอบการเล่นวิดีโอด้วย youtube บน chromium browser

การทดลองใช้งาน RKNPU2

RKNPU2 คือ แพล็ตฟอร์มสำหรับให้เราสามารถเข้าถึงและใช้งาน Rockchip NPU ได้ซึ่งการเริ่มต้นใช้งานจะมีสองส่วนคือ
1) การที่เราจะนำเอาโมเดลที่เทรนเองมาแปลงให้อยู่ในรูปแบบของ rknn model เราสามารถทำได้ผ่าน  https://github.com/rockchip-linux/rknn-toolkit2

RKNN-Toolkit2 is a SDK for users to perform model conversion, inference and performance

2) การใช้งานโมเดลที่แปลงแล้วนั้นเราจะใช้งานผ่าน https://github.com/rockchip-linux/rknpu2

RKNPU2 provides an advanced interface to access Rockchip NPU

 การติดตั้ง

สำหรับในรีวิวนี้จะพูดถึงการ deploy model ที่แปลงมาผ่าน rknn-toolkit2 มาแล้วเพื่อทดสอบประสิทธภาพการทำงานบนบอร์ด YY3568 เริ่มต้นจากการ git clone  https://github.com/rockchip-linux/rknpu2 ลงมายังบอร์ด YY3568 ของเรา จากนั้นเมื่อเข้ามาใน directory  rknpu2 จะพบกับตัวอย่างอยู่ภายใต้ examples

เราจะทดสอบจากโมเดล YOLO5 https://github.com/ultralytics/yolov5  ที่ถูก convert เป็น rknn model แล้วด้วย rknn-toolkit2 โดยในขั้นแรกก็จะต้องทำการ build ก่อนโดยเนื่องจาก RKNPU สนับสนุน CPU บน ROCKCHIP หลายรุ่นเราก็จะต้องเลือก build ให้ถูกต้องตรงกับบอร์ดของเรา


จากนั้นก็ทำการ build ได้เลย


เมื่อทำการ build  เสร็จเรียบร้อยแล้วเราก็จะได้ binary ไฟล์มาเพื่อทำการ run ทดสอบการทำงานได้เลย จากตัวอย่างนี้เราจะได้ไฟล์ชืื่อ rknn_yolov5_demo

 การทดลองใช้งาน

ในการทดสอบการทำงานเราจะเรียกใช้ไฟล์ rknn_yolov5_demo พร้อมระบุพารามิเตอร์สองค่าคือ โมเดลที่จะใช้ และรูปภาพที่เป็นอินพุต


เราจะได้รูปใหม่ชื่อ out.jpg ซึ่งจะมีการวาดกรอบพร้อมระบุ label ของสิ่งที่ตรวจพบในภาพ ซึ่งตรงนี้ถ้าดูจากชื่อโมเดลของเราจะพบว่าโมเดลที่เทรนมาใช้กับภาพขนาด 640×640 เท่านั้นซึ่งอย่าแปลกใจถ้าเราเอาภาพขนาดอื่นมาเป็นอินพุตแล้วจะตรวจสอบไม่พบวัตถุในภาพ จากนั้นเราก็จะทดลองกับอีกภาพว่าจะสามารถตรวจสอบวัตถุในภาพได้หรือไม่ โดยรูปที่เป็นอินพุตนี้ตั้งชื่อว่า man.jpg

RKNPU2 YOLOV5 testing on input resolution 640x640

รูป out.jpg ที่มีการวาดกรอบและระบุวัตถุที่ตรวจพบ


จะพบว่่าไฟล์ out.jpg ที่ได้มีการวาดกรอบลงบนภาพจากการตรวจจับเจอวัตถุถึง 25 รายการและใช้เวลาทั้งหมดไปเพียง 70 ms ซึ่งถ้าแปลงเป็น FPS จะอยู่ 14 เฟรมต่อวินาทีซึ่งถือว่าทำได้เร็วเลยกับอินพุดความละเอียด 640×640 ซึ่งถ้าใช้งานบน Raspberry Pi 4 YOLO5 จะได้ FPS ที่เพียง 4 เฟรมต่อวินาทีเท่านั้น

ลองทดสอบประสิทธิภาพด้วย RKNN Benchmark

จากนั้นเราจะมาลองทดสอบประสิทธิภาพของ NPU บน YY3568 ด้วยตัวอย่าง RKNN Benchmark  ที่อยู่ใน examples โดยระบุให้ทำการวนทดสอบ 10 ครั้งแล้วหาค่าเฉลี่ย



จากการทดสอบ benchmark จะพบว่าค่า  FPS เฉลี่ยจะอยู่ที่ 21.5 เฟรมต่อวินาที ซึ่งยิ่งให้ได้ผลลัพธ์ที่สูงขึ้นอีกแสดงให้เห็นถึงประสิทธิภาพของบอร์ด YY3568 ว่าเหมาะสมกับการนำมาใช้งาน AI ด้าน image processing ได้ดีเลย

 

การทดลองใช้งานกับกล้อง USB Webcam

ทดลองใช้งานจับภาพจากกล้อง USB Webcam เพื่อทดลองจับภาพมาใช้กับโปรแกรม example ของ RKNPU2 ด้วยการใช้


ซึ่งก็พบว่าสามารถบันทึกภาพจาก USB Webcam และส่งไปให้กับโปรแกรม rknn_yolov5_demo เพื่อวาดรูปกรอบลงไปซึ่งเราสามารถแก้ไขสีกรอบและข้อความ label เพื่อให้แสดงผลได้ชัดเจนขึ้นได้ที่ไฟล์ ~/rknpu2/examples/rknn_yolov5_demo/src/main.cc


capture from webcam and send to rknpu

การทดลองใช้งาน RKNPU ร่วมกับกล้อง USB Webcam

สรุปผลการทดสอบ

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

และด้านการใช้งานด้าน AI ก็ต้องบอกว่า Rockchip มีการพัฒนาอย่างต่อเนื่องดูได้จากวันที่อัพเดตบน GitHub  ซึ่งการใช้งานบนบอร์ดตระกูล RK อาจจะพบความยุ่งยากไปบ้างแต่เมื่อเทียบกับประสิทธิภาพที่ได้เทียบกับราคาแล้วก็เป็นทางเลือกที่น่าสนใจ

ขอขอบคุณบริษัท Youyeetoo มากที่ได้พัฒนาบอร์ดทางเลือกดี ๆ การเชื่อมต่อครบ ๆ และที่จะอดเอ่ยปากชมเชยไม่ได้เลยคือเอกสารดีมาก ๆ มาให้นักพัฒนาได้ทดลองใช้งานกัน และสำหรับคนที่สนใจบอร์ดเจ้าบอร์ดนี้ สามารถหารายละเอียดเพิ่มเติมได้ที่ wiki youyeetoo และหาซื้อได้จาก Aliexpress ราคาเริ่มต้นที่ 1,390฿Amazon, หรือ ร้านค้าของบริษัท

Subscribe
Notify of
guest
0 Comments
Inline Feedbacks
View all comments
โฆษณา