به گفته CNX Software – Embedded Systems News
نسخه پنجم کتابخانه محبوب بینایی کامپیوتر، OpenCV 5، اخیراً با یک موتور DNN (شبکه عصبی عمیق) کاملاً جدید منتشر شده است که پوشش بسیار بهتری برای ONNX فراهم کرده و پشتیبانی از LLM/VLM را امکانپذیر میسازد.
این نسخه همچنین از شتابدهندههای سختافزاری Intel، ARM، Qualcomm و RISC-V پشتیبانی میکند و بهبودهای چشمگیری در بینایی سهبعدی (3D Vision) به همراه دارد. از دیگر ویژگیهای کلیدی این نسخه میتوان به انواع دادههای جدید، پشتیبانی واقعی از آرایههای N-بعدی و اسکالر، و ارتقای ملموس عملکرد اشاره کرد.
در حالی که نسخه OpenCV 4.x تنها حدود ۲۲ درصد از اپراتورهای ONNX را پشتیبانی میکرد، موتور DNN جدید در OpenCV 5 این میزان را به بیش از ۸۰ درصد رسانده است. این پیشرفت به آن معناست که مدلهایی با اشکال پویا (Dynamic Shapes) که پیشتر در OpenCV 4.x با خطا مواجه میشدند، اکنون به درستی پردازش میشوند. این موتور بر پایه یک گراف عملیاتی نوعدار (Typed Operation Graph) بازنویسی شده است که از قابلیتهایی نظیر استنتاج دقیق شکلها، Constant Folding و ادغام اپراتورها (Operator Fusion) بهره میبرد.

OpenCV 4.x vs OpenCV 5
جدول زیر تفاوتهای اصلی بین OpenCV 4.x و OpenCV 5 را نشان میدهد:
| ویژگی | موتور کلاسیک (4.x) | موتور جدید (5.x) |
|---|---|---|
| ساختار مدل | هر لایه بهصورت جداگانه تعریف و بهترتیب اجرا میشود | مدل بهشکل یک گراف ساختیافته نمایش داده میشود که موتور میتواند آن را تحلیل و بهینهسازی کند |
| ابعاد دادهها | فقط ابعاد ثابت پشتیبانی میشود | پشتیبانی از ابعاد پویا و نمادین |
| زیرگرافها | پشتیبانی نمیشود | پشتیبانی از ساختارهای شرطی (If) و حلقهها (Loop) |
| ادغام و بهینهسازی عملیات | محدود | پشتیبانی از ادغام انواع عملیات مانند QDQ، BatchNorm، Attention، MatMul، Softmax و موارد دیگر |
| مدیریت حافظه | حافظه بهصورت جداگانه برای هر لایه بازاستفاده میشود | استفاده از یک مخزن حافظه یکپارچه برای بازاستفاده حداکثری و کاهش مصرف حافظه |
اگرچه حروف CV در نام OpenCV مخفف Computer Vision (بینایی کامپیوتر) است، اما نسخه پنجم این کتابخانه قادر است مدلهای زبانی بزرگ (LLM) و مدلهای بینایی-زبانی (VLM) را نیز مستقیماً درون ماژول DNN اجرا کند. به لطف بهرهگیری از یک توکنایزر بومی و سیستم کش (KV-cache) برای رمزگشایی خودگردان (Autoregressive Decoding)، اجرای این مدلها دیگر نیازی به محیط اجرای (Runtime) مجزا ندارد. مدلهای مطرحی مانند Qwen 2.5 ،Gemma 3 ،PaliGemma و مدلهای خانواده GPT-2 / GPT-4، دقیقاً از طریق همان رابط برنامهنویسی شبکه (Net API) که برای مدلهای YOLO کاربرد دارد، اجرا میشوند.
در عمل، این یکپارچگی به این معناست که اکنون طیف گستردهای از مدلهای تشخیص، بخشبندی تصویر، پردازش بینایی-زبانی و هوش مصنوعی مولد در OpenCV 5 پشتیبانی میشوند.

مدل OpenCV 5 که توسط موتور جدید شبکههای عصبی عمیق (DNN) پشتیبانی میشود
عملکرد نیز نسبتاً خوب به نظر میرسد؛ همانطور که جدول زیر مقایسه موتور DNN در OpenCV 5 با ONNX runtime را روی سیستمی مجهز به پردازنده Intel Core i9-14900KS و سیستمعامل Ubuntu 24.04 LTS نشان میدهد.
| Model | OpenCV 5 DNN (ms) | ONNX Runtime (ms) | Difference |
|---|---|---|---|
| XFeat | 6.56 | 8.61 | 31.25% faster |
| YOLOv8n | 10.9 | 12.15 | 11.5% faster |
| YOLOX-S | 23.46 | 25.16 | 7.24% faster |
| DINOv2 small | 23.78 | 29.58 | 24.4% faster |
| RF-DETR | 102.01 | 106.49 | 4.4% faster |
| OWLv2 | 1,090 | 1,489 | 36.6% faster |
| BiRefNet | 7,178 | 9,503.14 | 32.4% faster |
میتوانید بنچمارکهای بیشتری را برای پلتفرمهای مختلف در ویکی گیتهاب مشاهده کنید.
علاوه بر تغییرات مربوط به یادگیری عمیق، هسته اصلی OpenCV نیز بهبودهای چشمگیری داشته است:
در زمینه پشتیبانی از زبانهای برنامهنویسی نیز اصلاحاتی صورت گرفته است:
نسخه OpenCV 5 از یک لایه شتابدهی سختافزاری (HAL) کاملاً بازطراحیشده بهره میبرد. این لایه بر پایه Universal Intrinsics 2.0 بنا شده که در واقع یک پایگاه کد برداری یکپارچه است و بهراحتی با دستورالعملهای SSE ،AVX2/512 ،NEON ،SVE ،RVV و موارد دیگر تطبیق پیدا میکند. این نسخه از شتابدهندههای زیر پشتیبانی میکند:
کد سطح بالا برای هر چهار پلتفرم کاملاً یکسان است و OpenCV بهطور خودکار، بهینهترین مسیر پردازشی را بر اساس سختافزار میزبان انتخاب میکند.
قابلیتهای بینایی سهبعدی در OpenCV 5 با افزودن امکان کالیبراسیون چنددوربینه، پردازش ورودی/خروجی ابر نقاط (Point Cloud) و مش (Mesh) و همچنین ادغام متراکم دادههای RGB-D ارتقا یافته است. این نسخه سه ماژول جدید را معرفی کرده است:
توسعهدهندگان ادعا میکنند که این تغییرات، یک ارتقای بسیار ارزشمند برای متخصصان حوزه ساختار-از-حرکت (Structure-from-Motion)، رباتیک یا هر نوع تکنیک بازسازی سهبعدی محسوب میشود.
سیسوگ با افتخار فضایی برای اشتراک گذاری دانش شماست. برای ما مقاله بنویسید.