قادة الفكر

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

mm
أضف Unite.AI إلى مصادرك المفضلة على Google

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

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

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

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

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

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

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

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

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

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

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

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

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

ما هي هندسة الأنابيب؟

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

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

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

شرح فك التشفير والتشفير

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

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

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

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

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

نماذج كشف الكائنات (SSDs أو RetinaFace) هي خيار شائع لتحديد الوجه. تعمل هذه الحلول على تحديد موقع الوجه البشري في الإطار. ووفقًا لخبرتنا، نحن نميل إلى تفضيل نماذج تتبع الوجه Caffe ونموذج كشف الكائنات TensorFlow لأنها قدمت أفضل النتائج. بالإضافة إلى ذلك، كلاهما متاح باستخدام مكتبة دعم دعم دعم.

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

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

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

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

إليك ملخصًا سريعًا لما تحتاج إلى فعله:

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

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

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