مقایسه کامپیوتر کوچک با بزرگ برای پردازش تصویر یعنی سنجش اینکه یک Single Board Computer (به اختصار SBC) مانند Orange Pi یا Odroid چند فریم در ثانیه (FPS) از یک مدل تشخیص اشیا خروجی میگیرد و این عدد چقدر با یک PC معمولی فاصله دارد. ما سه مدل سبک YOLOv3-tiny، YOLOv4-tiny و YOLOv7-tiny را روی چند SBC و یک PC اجرا کردیم.
این گزارش برای کسانی نوشته شده که میخواهند برای پروژهی بینایی ماشین یا یادگیری عمیق بین یک برد کوچک و یک کامپیوتر معمولی انتخاب کنند.
روش انجام بنچمارک پردازش تصویر روی SBC
برای محک، یک قطعه کد پایتون نوشتیم و سه مدل از پیش آموزشدیدهی YOLOv3-tiny، YOLOv4-tiny و YOLOv7-tiny را با هم مقایسه کردیم.
- سیستمعامل: هر جا امکان داشت از سیستمعامل ۶۴ بیتی استفاده کردیم. روی Orange Pi PC Plus و Odroid XU4 به دلیل نبود پشتیبانی، آزمون روی سیستمعامل ۳۲ بیتی انجام شد.
- اجرای v3 و v4: با کتابخانهی OpenCV که مدلهای آموزشدیده در فریمورک Darknet را پشتیبانی میکند.
- اجرای v7: با کتابخانه و مدل آموزشدیده در PyTorch.
- سایز ورودی: برای هر سه مدل ۴۱۶×۴۱۶.
- روش اندازهگیری: خواندن تصویر از کارت حافظه زمانبر است و نتیجه را خراب میکند. بنابراین یک تصویر را یک بار Load کردیم، ۵۱ بار به مدل دادیم و میانگین زمان اجرا را معیار قرار دادیم.
چرا برخی بردها در بنچمارک v7 نیستند؟ سیستمعاملهای ۳۲ بیتی با پایتون ۳.۱۰ هنوز پشتیبانی کامل از PyTorch ندارند. راهاندازی آن [مثلاً: بیش از X ساعت / با خطای Y] طول کشید و به همین دلیل این محک را روی [نام بردها] انجام ندادیم.
مشخصات بردهای مقایسهشده
مشخصات همهی بردهایی که در این بنچمارک بررسی شدهاند، در جدول زیر آمده است:
| برد | پردازنده | رم | سیستم عامل | پایتون |
|---|---|---|---|---|
| Orange Pi 4 LTS 4GB | Rockchip RK3399 4 Cores ARM 53 - 1.4 GHz 2 Cores ARM 72 - 1.8 GHz | 4GB | 64bit - Armbian 22.04 Jammy | 3.10 |
| Orange Pi 4 LTS 3GB | Rockchip RK3399-T 4 Cores ARM 53 - 1.4 GHz 2 Cores ARM 72 - 1.6 GHz | 3GB | 64bit - Armbian 22.04 Jammy | 3.10 |
| Raspberry Pi 400 | 4 Cores ARM 72 - 1.8 GHz | 4GB | 64bit - Rasbian 2021-05 release | 3.7 |
| Odroid XU4 | 4 Cores ARM 7 - 1.5 GHz 4 Cores ARM 15 - 2.0 GHz | 2GB | 32 biT - Ubuntu Mate 22.04 Jammy | 3.10 |
| Raspberry pi 3B | 4 Cores ARM 53 - 1.2 GHz | 1GB | 64bit - Rasbian 2021-05 release | 3.7 |
| Orange pi pc plus | 4 Cores ARM A7 - 1.6 GHz | 1GB | 32bit - Armbian 22.04 Jammy | 3.10 |
| Orange pi 3 LTS | 4 Cores ARM 53 - 1.8 GHz | 2GB | 64bit - Armbian 22.04 Jammy | 3.10 |
| Jetson nano 2GB | 4 Cores ARM 57 - 1.43 GHz 128 Cuda Cores | 2GB | 64 bit - Ubuntu 18.04 Jetpack 4.5.1 | 3.6 |
| PC | 6 Cores x86 - AMD 6350 FX - 3.9 GHz | 24GB | 64 bit - Ubuntu 20.04 Focal | 3.6 |
نتایج FPS: مقایسه سرعت SBC با PC
میانگین تعداد فریم پردازششده در ثانیه (FPS) برای هر مدل در جدول زیر گزارش شده است:
| بردها | yolov7-tiny | yolov4-tiny | yolov3-tiny |
|---|---|---|---|
| Orange Pi 4 LTS 4GB | 1.73 | 0.81 | 1.00 |
| Orange Pi 4 LTS 3GB | 1.70 | 0.79 | 0.96 |
| Raspberry Pi 400 | 2.44 | 0.89 | 1.07 |
| Raspberry Pi 400 | * | 0.65 | 0.79 |
| Raspbery pi 3B | 0.80 | 0.27 | 0.32 |
| Orange pi pc plus | * | 0.26 | 0.33 |
| Orange pi 3 LTS | 1.60 | 0.40 | 0.48 |
| Jetson nano 2GB-CPU | 3.45 | 0.64 | 0.81 |
| Jetson nano 2GB-GPU | 8.33 | 1.87 | 1.94 |
| PC | 5.94 | 2.03 | 2.6 |
در نمودار زیر مقایسه سرعت اجرای مدل های تشخیص اشیا روی بردهای کوچک را مشاهده می نمایید.

چرا OpenCV فقط یک هسته را استفاده کرد و PyTorch همهی هستهها را؟
هنگام اجرای محکها دیدیم که دو محک v3 و v4، به دلیل استفاده از OpenCV، عملاً فقط از یک هستهی پردازنده استفاده میکردند. محک v7 با PyTorch توانست ۱۰۰٪ پردازنده و تمام هستهها را درگیر کند.
این یعنی عدد FPS مدلهای v3 و v4 روی SBCهای چندهستهای، سقف واقعی سختافزار نیست. برای نتیجهی بهتر میتوان:
- OpenCV را با پشتیبانی چندنخی (مثلاً TBB یا OpenMP) کامپایل کرد
- از موتورهای سبکتری مانند NCNN یا ONNX Runtime استفاده کرد
- مدل را کوانتیزه (INT8) کرد
- از NPU یا GPU برد استفاده کرد، اگر برد دارد
جمعبندی
اگر فقط چند FPS کافی است (شمارش، تشخیص ساده، دوربین ثابت)
اگر چند دوربین یا FPS بالا لازم دارید: PC با FPS برابر [عدد]، فاصلهی چشمگیری با SBCها دارد.
اگر مصرف برق، اندازه و هزینه مهم است: SBC برنده است، به شرط اینکه مدل سبک و ورودی کوچک باشد.
مدل v7 با PyTorch از همهی هستهها استفاده میکند، اما روی بردهای ضعیفتر سنگینتر است.
وضعیت سال ۲۰۲۶: چه چیزهایی از زمان این آزمون تغییر کرده؟
این آزمون با مدلهای YOLOv3 تا v7 انجام شده است. از آن زمان مدلهای جدیدتری مانند YOLOv8 و YOLO11 منتشر شدهاند و بردهای دارای NPU، مثل بردهای مبتنی بر Rockchip RK3588 و سری Jetson، فاصلهی SBC با PC را برای استنتاج کم کردهاند.
سوالات متداول
پردازندهی SBCها ضعیفتر است، GPU قدرتمند ندارند و در OpenCV (بدون تنظیم خاص) عملاً فقط یک هسته استفاده میشود.
اگر کممصرف و کوچک بودن مهم است SBC، و اگر سرعت و انعطاف مهم است PC.
از نظر سرعت در آزمون : نمیتوان فقط با FPS دربارهی دقت قضاوت کرد، چون دقت (mAP) را در این آزمون نسنجیدیم.

