مقایسه ی سرعت کامپیوترهای کوچک در پردازش تصویر

مقایسه ی بردها

در این گزارش قصد داریم تعدادی از کامپیوترهای کوچک یا اصطلاحا Single Board Computer و یا به اختصار SBC را به منظور مقایسه توانایی آن ها در پردازش تصویر بررسی کنیم. قابل ذکر است که ، پردازش تصویر شاخه ای از هوش مصنوعی و یادگیری عمیق (Deep Learning) است. برای این منظور قطعه کدی در زبان پایتون توسعه دادیم و برای محک (Benchmark) مدل های از قبل آموزش دیده ی yolov3-tiny و yolov4-tiny و yolov7-tiny را با هم مقایسه کردیم. در جایی که امکانپذیر بود از سیستم عامل ۶۴ بیتی استفاده کردیم ولی در SBCهایی مانند Orange Pi PC Plus و Odroid XU4 به دلیل عدم پشتیبانی، آزمون ها، روی سیستم عامل ۳۲ بیتی انجام گرفت. برای اجرای مدل های v3 و v4 از کتابخانه opencv استفاده کردیم که از مدل های آموزش داده شده در فریم ورک darknet پشتیبانی می کند. برای اجرای v7 از کتابخانه و مدل آموزش دیده در torch استفاده کردیم. همچنین به علت اینکه سیستم عامل های ۳۲بیتی با نسخه پایتون ۳.۱۰ هنوز از کتابخانه torch به طور کامل پشتیبانی نمی کنند (به زمان زیادی جهت راه اندازی و اجرا نیاز بود)، این محک را در برخی از بردها انجام ندادیم. از آنجایی که خواندن تصاویر از روی کارت حافظه زمانبر بود لذا یک تصویر را ابتدا Load کردیم و پس از ۵۱ بار ارسال آن تصویر به مدل و دریافت خروجی از آن، میانگین زمان اجرا شده را به عنوان معیار قرار دادیم. سایز ورودی شبکه را برای هر سه مدل (۴۱۶*۴۱۶) قرار دادیم.

لازم به ذکر است که هنگام اجرای محک ها مشاهده شد که دو محک v3 و v4 به علت استفاده از کتابخانه opencv عملا از یکی از هسته های پردازنده استفاده می کردند ولی محک v7 با استفاده از pytorch توانست ۱۰۰٪ پردازنده و تمامی هسته ها را استفاده کند. شاید بتوان با بهینه سازی ها و استفاده از تمامی هسته ها نتیجه بهتری دریافت کرد. جهت مقایسه SBC ها با PC آزمایش را روی یک PC هم اجرا کردیم.

مشخصات تمام بردهایی که در این محک بررسی شده اند را در جدول زیر مشاهده می کنید:

بردپردازندهرمسیستم عاملپایتون
Orange Pi 4 LTS 4GBRockchip RK3399
۴ Cores ARM 53 - 1.4 GHz
۲ Cores ARM 72 - 1.8 GHz
۴GB۶۴bit - Armbian 22.04 Jammy۳.۱۰
Orange Pi 4 LTS 3GBRockchip RK3399-T
۴ Cores ARM 53 - 1.4 GHz
۲ Cores ARM 72 - 1.6 GHz
۳GB

۶۴bit - Armbian 22.04 Jammy

۳.۱۰
Raspberry Pi 400۴ Cores ARM 72 - 1.8 GHz۴GB۶۴bit - Rasbian 2021-05 release۳.۷
Odroid XU4۴ Cores ARM 7 - 1.5 GHz
۴ Cores ARM 15 - 2.0 GHz
۲GB۳۲ biT - Ubuntu Mate 22.04 Jammy
۳.۱۰
Raspberry pi 3B۴ Cores ARM 53 - 1.2 GHz۱GB۶۴bit - Rasbian 2021-05 release۳.۷
Orange pi pc plus۴ Cores ARM A7 - 1.6 GHz۱GB۳۲bit - Armbian 22.04 Jammy۳.۱۰
Orange pi 3 LTS۴ Cores ARM 53 - 1.8 GHz۲GB۶۴bit - Armbian 22.04 Jammy۳.۱۰

Jetson nano 2GB۴ Cores ARM 57 - 1.43 GHz
۱۲۸ Cuda Cores
۲GB۶۴ bit - Ubuntu 18.04 Jetpack 4.5.1۳.۶
PC۶ Cores x86 - AMD 6350 FX - 3.9 GHz
۲۴GB۶۴ bit - Ubuntu 20.04 Focal
۳.۶

با اینکه شرکت سازنده ادعا دارد که پردازنده Orange Pi 4 LTS 3GB فرکانس کمتری دارد ولی در عمل با استفاده از ابزار cpufreq-info تفاوتی در حداکثر فرکانس پردازنده مدل ۴ گیگ و ۳ گیگ مشاهده نشد.

تعداد میانگین فریم پردازش شده در یک ثانیه (FPS) برای مدل های مختلف در زیر گزارش شده است:

بردهاyolov7-tinyyolov4-tinyyolov3-tiny
Orange Pi 4 LTS 4GB۱.۷۳۰.۸۱۱.۰۰
Orange Pi 4 LTS 3GB۱.۷۰۰.۷۹۰.۹۶
Raspberry Pi 400۲.۴۴۰.۸۹۱.۰۷
Raspberry Pi 400*۰.۶۵۰.۷۹
Raspbery pi 3B۰.۸۰۰.۲۷۰.۳۲
Orange pi pc plus*۰.۲۶۰.۳۳
Orange pi 3 LTS۱.۶۰۰.۴۰۰.۴۸
Jetson nano 2GB-CPU۳.۴۵۰.۶۴۰.۸۱
Jetson nano 2GB-GPU۸.۳۳۱.۸۷۱.۹۴
PC۵.۹۴۲.۰۳۲.۶

در نمودار زیر مقایسه سرعت اجرای مدل های تشخیص اشیا روی بردهای کوچک را مشاهده می نمایید.
borad-chart

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *