Connect with us

تطبيق الذكاء الاصطناعي في معالجة الفيديو في الوقت الفعلي: الأساسيات والمزيد

قادة الفكر

تطبيق الذكاء الاصطناعي في معالجة الفيديو في الوقت الفعلي: الأساسيات والمزيد

mm

بواسطة Maksym Tatariants، مهندس علوم البيانات في MobiDev.

ليس هناك شيء جديد في استخدام الذكاء الاصطناعي (AI) في معالجة الفيديو. إذا نظرت إلى ما وراء معالجة الصور – فهي واحدة من أكثر الحالات الشائعة لاستخدام الذكاء الاصطناعي. ومثل معالجة الصور، تستخدم معالجة الفيديو تقنيات متقدمة مثل رؤية الكمبيوتر، وتعرف على الكائنات، والتعلم الآلي، والتعلم العميق لتحسين هذه العملية.

سواء كنت تستخدم رؤية الكمبيوتر و NLP في تحرير الفيديو وتوليد الفيديو، أو تعرف على الكائنات في مهام تعرف على محتوى الفيديو تلقائيًا، أو التعلم الآلي لتحسين تحليل الفيديو بالذكاء الاصطناعي، أو التعلم العميق لتسريع إزالة الخلفية في الوقت الفعلي، فإن الحالات الاستخدامية تزداد يومًا بعد يوم.

استمر في القراءة لتعرف ما النوع من النهج الذي يمكنك اتباعه عند استخدام الذكاء الاصطناعي في معالجة الفيديو.

أساسيات معالجة الفيديو في الوقت الفعلي

دعنا نبدأ من الأساس. معالجة الفيديو في الوقت الفعلي هي تقنية أساسية في أنظمة المراقبة التي تستخدم التعرف على الكائنات والوجوه. كما أنها عملية التمكين لبرمجيات التفتيش البصري بالذكاء الاصطناعي في القطاع الصناعي.

لذلك، كيف تعمل معالجة الفيديو؟ تتضمن معالجة الفيديو سلسلة من الخطوات، والتي تشمل فك التشفير، والحوسبة، والتشفير. إليك ما تحتاج إلى معرفته:

  • فك التشفير: عملية فك التشفير المطلوبة لتحويل الفيديو من ملف مضغوط إلى صيغته الأصلية.
  • الحوسبة: عملية محددة يتم تنفيذها على إطار فيديو خام.
  • التشفير: عملية إعادة تحويل الإطار المعالج إلى حالته المضغوطة الأصلية.

الآن، هدف أي مهمة معالجة فيديو هو إكمال هذه الخطوات بأسرع ما يمكن وبدقة. أسهل الطرق لتحقيق ذلك تشمل: العمل بالتوازي وتنظيم الخوارزمية لزيادة السرعة. وبمعنى بسيط؟ عليك الاستفادة من تقسيم الملفات وعمارة الأنابيب.

ما هو تقسيم ملف الفيديو؟

يسمح تقسيم ملف الفيديو للخوارزميات بالعمل في نفس الوقت، مما يسمح لها باستخدام نماذج أبطأ وأكثر دقة. يتم تحقيق ذلك من خلال تقسيم الفيديوهات إلى أجزاء منفصلة يتم معالجتها في نفس الوقت.

يمكنك النظر إلى تقسيم ملف الفيديو على أنه شكل من أشكال توليد الملفات الافتراضية بدلاً من توليد الملفات الفرعية.

على الرغم من ذلك، لا يعتبر تقسيم ملف الفيديو خيارًا جيدًا لمعالجة الفيديو في الوقت الفعلي. لماذا بالضبط؟ يصعب هذا الإجراء عليك في إيقاف تشغيل الملف، واستئنافه، و إعادة تشغيله أثناء معالجته.

ما هي عمارة الأنابيب؟

الخيار الآخر هو عمارة الأنابيب. تعمل هذه العملية على تقسيم المهام وتوازيها أثناء المعالجة، بدلاً من تقسيم الفيديو نفسه.

هنا مثال سريع على ما تبدو عليه عمارة الأنابيب في الممارسة العملية، وكيف يمكن استخدامها في نظام مراقبة الفيديو لتحديد وتعتيم الوجوه في الوقت الفعلي.

في هذا المثال، قامت الأنابيب بتقسيم المهام إلى فك التشفير، وتحديد الوجه، وتعتيم الوجه، والتشفير. وإذا كنت ترغب في تحسين سرعة الأنابيب، يمكنك استخدام تقنيات التعلم العميق.

فك التشفير والتشفير موضحان

ماذا عن فك التشفير والتشفير؟ هناك طريقتان لcompletion هذه العمليات: البرمجيات والأجهزة.

قد تكون على دراية بالفعل بمفهوم التعجيل بالعتاد. يتم تسهيل هذه العملية بفضل فكاك وترميزات مثبتة في بطاقات الرسومات NVIDIA الأحدث، بالإضافة إلى نواة CUDA.

لذلك، ما هي الخيارات المتاحة لك عند التعجيل بالعتاد لعملية التشفير وفك التشفير؟ إليك بعض الخيارات الشائعة:

  • ترجمة OpenCV مع دعم CUDA: ترجمة OpenCV مع دعم CUDA يُحسن من فك التشفير وأي حسابات أنابيب تستخدم OpenCV. تذكر أنك ستحتاج إلى كتابة ذلك بلغة C++ لأن الغلاف البرمجي Python لا يدعم ذلك. لكن في الحالات التي تتطلب فك التشفير وحسابات رقمية باستخدام معالج الرسومات دون نسخ من الذاكرة الرئيسية، لا يزال أحد الخيارات الأفضل المتاحة.
  • ترجمة FFmpeg أو GStreamer مع دعم ترميزات NVDEC/NVENC: خيار آخر هو استخدام فك التشفير المدمج وترميز NVIDIA الموجود في تثبيتات مخصصة من FFmpeg وGstreamer. 然而، ننصح باستخدام FFmpeg إذا كان ذلك ممكنًا لأنها تتطلب أقل صيانة. بالإضافة إلى ذلك، يتم تشغيل معظم المكتبات بواسطة FFmpeg، مما يعني أنك ستحسن أداء المكتبة تلقائيًا عن طريق استبدالها.
  • استخدام إطار معالجة الفيديو من NVIDIA: الخيار النهائي هو استخدام غلاف برمجي Python لفك تشفير الإطار مباشرة إلى موتر PyTorch على معالج الرسومات. يزيل هذا الخيار النسخ الإضافي من الذاكرة الرئيسية إلى معالج الرسومات.

كشف الوجه وتعتيمه

نماذج كشف الكائنات (SSDs أو RetinaFace) هي خيار شائع لcompletion كشف الوجه.

بعد ذلك، سيُظهر النظام القائم على Python وOpenCV مستطيلات حدودية وكفاءة الكشف. وأخيرًا، يتم تطبيق خوارزمية تعتيم على المناطق المقطوعة.

كيف يمكنك بناء برنامج معالجة فيديو حية مدعومة بالذكاء الاصطناعي؟

لا يوجد سر في أن معالجة الفيديو، والترميزات التي تدعمها، والأجهزة والبرمجيات المطلوبة هي تقنيات معقدة.

مع ذلك، لا يعني ذلك أنك لا تستطيع استخدام هذه الأدوات لإنشاء برنامج معالجة فيديو حية خاص بك.

إليك نظرة عامة سريعة على ما تحتاج إلى القيام به:

  1. ابدأ bằng تعديل الشبكة العصبية المُدربة مسبقًا لcompletion المهام المطلوبة.
  2. أعد تكوين بنية السحابة الخاصة بك لمعالجة الفيديو وتوسيع نطاقها حسب الحاجة.
  3. ابنِ طبقة برمجية لتكثيف العملية وتكامل حالات استخدام محددة مثل التطبيقات المحمولة واللوحات الإدارية أو الويب.

يمكن أن يستغرق تطوير نموذج أولي لمعالجة فيديو مماثلة ما يصل إلى أربعة أشهر باستخدام شبكة عصبية مدربة مسبقًا وطبقات تطبيق بسيطة. ومع ذلك، يعتمد نطاق وجدول المشروع على تفاصيل كل مشروع. في معظم الحالات، من المنطقي البدء بتطوير概念 إثبات لاستكشاف تفاصيل المشروع وإيجاد تدفق مثالي.

Maksym يتطلع إلى الحصول على رؤى جديدة وخبرات في علوم البيانات والتعلم الآلي. وهو مهتم بشكل خاص بالتقنيات القائمة على التعلم العميق وتطبيقاتها على الحالات التجارية.