تُحدَّث يومياً

مصدرُك العربي
لمستقبل الذكاء الاصطناعي

أخبار، تقارير، أدوات وتحليلات يومية — كل ما تحتاجه لمتابعة ثورة الذكاء الاصطناعي باللغة العربية

✅ تم الاشتراك!
اختيار المحررينتعلم و استخدام الذكاء الاصطناعي

OpenCV 5 يدمج النماذج اللغوية الكبيرة في مكتبة الرؤية الحاسوبية

🎧 استمع للملخص

بقلم: يوسف | محرر أدوات الذكاء الاصطناعي · صوت تحريري بإشراف بشري

بعد عقدين من الهيمنة على عالم الرؤية الحاسوبية، تطلق OpenCV الإصدار الخامس الذي يعيد تعريف حدود المكتبة التي تحظى بـ 86 ألف نجمة على GitHub ومليون تثبيت يومي (وفقاً لـ OpenCV.org). التطوير الأبرز ليس مجرد تحسينات إضافية، بل إعادة بناء كاملة لمحرك الشبكات العصبية العميقة DNN مع قدرة غير مسبوقة على تشغيل النماذج اللغوية الكبيرة والمحولات مباشرة داخل المكتبة.

الرقم الذي يلخص هذا التطور: قفزة دعم عمليات ONNX من 22% في الإصدارات السابقة إلى أكثر من 80% في OpenCV 5 (وفقاً لـ OpenCV.org). هذا يعني أن النماذج التي كانت ترفضها المكتبة سابقاً – من المحولات إلى نماذج الانتشار – تعمل الآن بسلاسة. المحرك الجديد يفهم النماذج كرسوم بيانية متصلة بدلاً من قوائم خطية، مما يمكنه من تطبيق تحسينات مثل operator fusion و FlashAttention تلقائياً.

شعار وواجهة OpenCV 5
OpenCV 5 يمثل أهم قفزة تقنية في تاريخ المكتبة منذ إطلاقها

المفاجأة الحقيقية تكمن في قدرة OpenCV 5 على تشغيل النماذج اللغوية الكبيرة مثل Qwen 2.5 و Gemma 3 و PaliGemma مباشرة عبر نفس واجهة Net API المألوفة. المكتبة تشحن الآن مع tokenizer مدمج و KV-cache للتوليد التلقائي، مما يجعل المحادثات مع النماذج اللغوية بنفس بساطة تشغيل نموذج YOLO. في اختبارات الفريق، إجابة Qwen 2.5 على سؤال “ما هو OpenCV؟” عبر محرك OpenCV أنتجت نتائج مطابقة تماماً لـ ONNX Runtime، token بـ token.

  1. ثلاثة محركات DNN في واحد: ENGINE_AUTO يختار تلقائياً بين المحرك الجديد والكلاسيكي، ENGINE_NEW يفرض المحرك الحديث، ENGINE_CLASSIC يستخدم الإصدار السابق للتوافق مع CUDA/OpenVINO، و ENGINE_ORT يدمج ONNX Runtime عند التوفر.
  2. تحسينات أداء قابلة للقياس: XFeat يعمل بسرعة 31.25% أسرع (6.56 مقابل 8.61 ميلي ثانية)، YOLOv8n أسرع بـ 11.5% (10.9 مقابل 12.15 ميلي ثانية)، و OWLv2 يحقق تسارعاً 36.6% (1,090 مقابل 1,489 ميلي ثانية) مقارنة بـ ONNX Runtime (وفقاً لـ OpenCV.org).
  3. دعم شامل للنماذج الحديثة: يشغل YOLO v8-v11، RT-DETR، DINOv2، SAM، CLIP، BiRefNet، ونماذج الانتشار LaMa للـ inpainting، إضافة إلى نماذج Vision-Language مثل PaliGemma التي تحول الصور إلى نصوص وصفية.
  4. بنية أساسية محدثة: دعم أصلي لـ FP16/BF16، معاملات مُسماة في Python بدلاً من تخمين الترتيب، نظام logging حقيقي، ودعم للـ tensors أحادية وصفرية الأبعاد، مع تنظيف شامل للـ APIs القديمة.
  5. قدرات 3D Vision موسعة: معايرة ChArUco المحسنة، دعم الكاميرات المتعددة، وأدوات visualization جديدة لتطبيقات الواقع المعزز والروبوتات.
  6. تطوير مستقبلي واضح: دعم GPU للمحرك الجديد قادم في تحديثات لاحقة، مع Hardware Abstraction Layer جديدة تسمح للبائعين بدمج kernel optimizations بسهولة أكبر.
مقارنة تطور دعم عمليات ONNX
القفزة النوعية في دعم عمليات ONNX تفتح الباب أمام النماذج الحديثة

الاستخدام العملي يبقى مألوفاً لكل من جرب OpenCV من قبل. في Python، نفس `cv.dnn.readNetFromONNX(“model.onnx”)` يستفيد تلقائياً من المحرك الجديد عبر ENGINE_AUTO، أو يمكن تحديد المحرك صراحة. الكود الموجود يعمل بدون تعديل، والتبديل بين المحركات يحدث في سطر واحد. في C++، نفس `dnn::readNetFromONNX()` مع إمكانية إضافة معامل المحرك عند الحاجة.

التحدي الوحيد حالياً أن المحرك الجديد مقصور على المعالجات CPU، بينما المحرك الكلاسيكي يبقى الخيار الوحيد لمن يحتاج تسريع GPU عبر CUDA أو OpenVINO. لكن للمطورين الذين يبنون تطبيقات تعمل على الخوادم أو الأجهزة المدمجة، OpenCV 5 يوفر حلاً شاملاً بـ dependency واحدة بدلاً من إدارة مجموعة معقدة من المكتبات المنفصلة. النسخة عبر pip تصل في 8 يونيو، والتوثيق الجديد يعد بتجربة أقل إحباطاً من الإصدارات السابقة.

OpenCV.org

مقالات ذات صلة

زر الذهاب إلى الأعلى