filmora-go-square
Filmora For Mobile

تطبيق تحرير فيديو سهل الاستخدام

appstore
قم بالتحميل من APP STORE
احصل عليه من Google Play

Wondershare Filmora

أفضل محرر فيديو للمبدعين

  • مع ميزات احترافية مثل الشاشة الخضراء ومنحدر السرعة والرسوم المتحركة للإطار الرئيسي.
  • تقدم وسائط خالية من حقوق الملكية وتأثيرات مذهلة على غرار هوليوود.
  • قم بالتحرير تلقائيًا باستخدام تقنية AI لتوفير وقتك.

OpenCV Object Tracking: الدليل الكامل

Ahmed Absal
أحمد أبسل نشرت في 2024-05-08, محدث 2024-06-20

يعد تتبع OpenCV طريقة شائعة تستخدم لتتبع الكائنات في مقطع فيديو في الوقت الفعلي. OpenCV هي مكتبة قوية تستخدم لمعالجة الصور وتطبيقات رؤية الكمبيوتر.

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

في هذا الدليل الشامل، سنستكشف تتبع OpenCV وأدوات التتبع المعدة مسبقًا. سوف نستخدم مكتبة OpenCV وPython لتنفيذ تطبيق تتبع الكائنات هذا.

في هذه المقالة
    1. SOT & MOT
    2. الفرق بين التتبع والكشف
    1. تتبع الصور
    2. تتبع الفيديو
  1. ما هي صعوبات تتبع الكائنات
    1. مراحل عملية تتبع الكائنات
    2. طرق تتبع الكائنات
    1. ما هو OpenCV
    2. الخوارزميات المبنية مسبقًا التي يقدمها OpenCV لتتبع الكائنات
    3. التنفيذ في بايثون وOpenCV

الجزء 1: ما هو تتبع الكائنات؟

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

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

نظرًا لمدى تعقيدها، تعتبر عملية تتبع الكائنات من أصعب المهام في رؤية الكمبيوتر. على الرغم من أنه تحدي، فإنه ليس من المستحيل تحقيقه.

وهناك مستويان لتتبع الكائنات يجب عليك التعرف عليهما:

1. SOT & MOT

  1. تتبع كائن واحد (SOT): SOT عبارة عن خوارزمية تتبع تقوم بإنشاء نماذج مظهر متقدمة و/أو نماذج حركة لإدارة المشكلات الصعبة مثل التدوير خارج المستوى، أو اختلافات الإضاءة، أو تغييرات الحجم.
  2. تتبع الكائنات المتعددة (MOT): يتتبع MOT كل جزء من الفيديو ويهتم بشكل أساسي بالمهام المتوسطة المستوى ويعمل كأساس للمهام عالية المستوى.

للحصول على فهم أعمق لمستوي تتبع الكائنات، يرجى قراءة مقالتنا حول: الدليل الكامل لتتبع الكائنات المتعددة. (同期交付,可以插这个文章主题的内链)

2. الفرق بين التتبع والكشف

بعد معرفة ما هو تتبع الكائنات، هناك مفهوم آخر يجب أن تكون على دراية به أيضًا - اكتشاف الكائنات.

يعد تتبع الكائنات واكتشاف الكائنات طريقتين مهمتين في رؤية الكمبيوتر. يقوم تتبع الكائنات بتتبع موضع كائن معين في الصورة في الوقت الفعلي، بينما يقوم اكتشاف الكائنات بتحديد الكائنات في الصورة أو الفيديو وتحديد موقعها. هذا هو الفرق.

الجزء 2. أنواع تتبع الكائنات

تتبع الصور

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

يمكن استخدام تتبع الصور في العديد من تطبيقات الواقع المعزز (AR)، مثل ألعاب الواقع المعزز والتسوق والملاحة. علاوة على ذلك، يمكنك أيضًا استخدامه للأغراض التعليمية، مثل تدريس علم التشريح أو تقديم تعليمات لمهمة صعبة.

تتبع الصور في الواقع المعزز

تتبع الفيديو

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

الجزء 3: ما هي صعوبات تتبع الكائنات؟

كما ذكر أعلاه، فإن استخدام تتبع الكائنات متعدد الاستخدامات. ومع ذلك، هناك بعض التحديات المرتبطة بتتبع الكائنات، مثل:

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

الانسداد: هذه ظاهرة يتأثر فيها الكائن الذي يتم تعقبه بالخلفية أو المقدمة. يؤدي هذا إلى ارتباك خوارزمية التتبع بسبب اقتراب العديد من الكائنات من بعضها البعض، وبالتالي فقدان تتبع الكائن.

مسألة الانسداد هي تتبع الكائن

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

سرعة التدريب والتتبع: إذا كان الجسم يتحرك بسرعة كبيرة أو كان صغيرًا جدًا، فقد يكون من الصعب تتبعه. ولذلك، يجب تصميم وحدة التتبع لتتبع الكائنات وتحديدها وتوطينها في غضون ثوانٍ.

الجزء 4: مراحل عملية تتبع الكائنات

بعد التعريف بتتبع الكائنات من الناحية الفنية، دعونا نتعرف على آلية عملها من ناحيتين: فترات عملية العمل وطريقة تتبعها.

1. مراحل عملية تتبع الكائن

فيما يلي مراحل عملية تتبع الكائنات:

تهيئة الهدف

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

نمذجة المظهر

تعتبر نمذجة المظهر مهمة لفهم كيف سيبدو الكائن في ظل ظروف مختلفة. إذا تغير مظهر الكائن الذي يتم تعقبه بسبب اختلاف الإضاءة أو الزاوية أو السرعة، فقد تفقد خوارزمية التتبع معلوماتها والكائن نفسه. لذلك، يجب إجراؤها للسماح للخوارزمية باكتشاف التغييرات والتشويه.

مرحلة نمذجة المظهر في تتبع الكائنات

تقدير الحركة

يستلزم تقدير الحركة قدرة النموذج على توقع موضع الجسم المستقبلي بدقة.

تحديد موقع الهدف

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

2. طرق تتبع الكائنات

فيما يلي بعض طرق تتبع الكائنات:

تتبع الكائنات المستندة إلى OpenCV

تُستخدم طريقة OpenCV Object Tracking على نطاق واسع لأنها توفر العديد من الوظائف المضمنة المصممة خصيصًا لهذا الغرض، مثل GOTURN وMIL وMediandFlow وCSRT. يعتمد نوع المتعقب الذي تحدده على تصميم التطبيق المحدد الخاص بك. كل جهاز تعقب له إيجابياته وسلبياته، لذلك لا يوجد نوع واحد من أجهزة التتبع مثالي لجميع التطبيقات.

MDNet

متتبع الشبكة العصبية التلافيفية متعدد المجالات هو متتبع بصري تلافيفي قائم على العصب وقد فاز بتحدي VOT2015. علاوة على ذلك، فهو يتكون من طبقات وفروع وطبقات مشتركة متعددة خاصة بالمجال.

إن جهاز تعقب MDNetT عبارة عن شبكة عصبية عميقة تم تدريبها على العديد من مجموعات بيانات تتبع الكائنات. تم تصميم جهاز التعقب للعمل في مجالات متعددة، بما في ذلك الفيديو والنص والصور.

DeepSort

يمكن لخوارزمية DeepSort تتبع الكائنات في الوقت الفعلي وتستخدم YOLO v3 لحساب المربعات المحيطة بالكائنات في الإطار.

يستخدم DeepSort مرشح Kalman من خوارزمية التتبع البسيطة عبر الإنترنت وفي الوقت الفعلي ونموذج التعريف ReID لربط المربعات المحيطة ومسارات الكائنات.

ROLO

ROLO هي طريقة جديدة لتتبع الكائنات تستخدم الشبكات العصبية المتكررة (RNNs) لتعلم التمثيلات المكانية والزمانية الخاصة بالكائن. تعمل هذه الطريقة مع YOLO، وخوارزمية الكشف عن الكائنات، وLTSM لتحديد مسار الكائن.

الجزء 5: النسخة الاحتياطية القوية: OpenCV

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

1. ما هو OpenCV؟

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

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

2. الخوارزميات المعدة مسبقًا التي يقدمها OpenCV لتتبع الكائنات

هناك 8 خوارزميات معدة مسبقًا يقدمها OpenCV لتتبع الكائنات. كل منهم لديه فريدة من نوعها وهنا سوف نقدم إيجابيات وسلبيات من أجل فهم أفضل لك.

Tracker العيوب العيوب
BOOSTING Tracker
  • تتبع الأشياء بدقة.
  • بطيء نسبيًا
  • غير قادر على التوقف عند فقدان كائن.
MIL Tracker
  • مقاومة قوية للضوضاء.
  • يعطي نتائج دقيقة.
  • سرعة منخفضة.
  • غير قادر على إيقاف التتبع بمجرد فقدان الكائن.
KCF Tracker
  • سرعة ودقة عالية.
  • يتوقف عن التتبع عند فقدان الكائن.
  • عدم القدرة على متابعة تتبع الأشياء بمجرد فقدانها.
TLD Tracker
  • مقاومة التداخل وقياس الكائنات.
  • غير مستقر في الكشف عن الكائنات وتتبعها.
  • يفقد الكائن باستمرار.
متتبع التدفق المتوسط
  • دقة وسرعة عالية.
  • الدقة في تحديد خسارة الشيء.
  • يفقد الجسم بسرعة بسبب السرعة العالية.
GOTURN Tracker
  • يظهر مقاومة للعوائق والضوضاء.
  • إذا كانت سرعة جسم ما عالية فإنه ينتقل إلى جسم آخر.
MOSSE Tracker
  • القدرة على متابعة التتبع بعد فقدان الكائن.
  • السرعه العاليه.
  • يفقد الكائن بسهولة إذا كان بسرعة عالية جدًا.
CSRT Tracker
  • مقاومة جيدة للتداخل.
  • دقة عالية.
  • سرعة منخفضة.
  • غير مستقر عند فقدان شيء ما.

3. التنفيذ في بايثون وOpenCV

الآن، بعد الشرح النظري لـ OpenCV وOpenCV Tracking، دعنا نتعلم Object Tracking OpenCV Python مع البرمجة وتعليماتنا البسيطة خطوة بخطوة:

تثبيت التبعيات

قم بتثبيت تطبيق pycharm على جهاز الكمبيوتر الخاص بك، ثم قم بتشغيله. أنشئ مشروعًا جديدًا وانتقل إلى Terminal. قم بتثبيت حزمة opencv-contrib-python عن طريق لصق الأمر التالي في الترمنال.

قم بإعداد أجهزة التتبع

الآن، قم بإنشاء Jupyter-notebook وقم بإعداد أدوات التتبع باستخدام هذا الرمز:

قم بإعداد أدوات التتبع في opencv لتنفيذ تتبع الكائنات

المهام:

  • نسخة cv2. يُرجع رقم إصدار مكتبة OpenCV.
  • احفظ اسم المتتبعين الثمانية.
  • تحقق من القائمة الخاصة بالإصدار الذي تعمل عليه وقم بإنشاء كائن تعقب بناءً على الرقم.

التقاط إدخال الفيديو

لالتقاط إدخال الفيديو، اكتب الأسطر التالية من التعليمات البرمجية:

قم بالتقاط إدخال الفيديو في opencv لتنفيذ تتبع الكائنات

المهام:

  • استخدم فئة VideoCapture لالتقاط مقطع فيديو عبر كاميرا الويب أو الحصول على مقطع محفوظ من جهاز الكمبيوتر الخاص بك.
  • في VideoCapture - السطر 2، حدد المسار إلى الفيديو الخاص بك.
  • علق على السطر الثاني لاستخدام كاميرا الويب للتتبع وقم بإلغاء التعليق على السطر الثالث.

إنشاء المربع المحيط وتهيئة جهاز التعقب

حدد مربعًا محيطًا عشوائيًا أوليًا أو حدد اختيارات الكائن الذي تريد تتبعه باستخدام الكود التالي:

أنشئ المربع المحيط وابدأ المتعقب في opencv لتنفيذ تتبع الكائنات

ابدأ تشغيل جهاز التعقب وتحقق من الإخراج

وأخيرًا، اكتب سطور التعليمات البرمجية أدناه لبدء عملية التتبع:

ابدأ تشغيل المتعقب وتحقق من الإخراج في opencv لتنفيذ تتبع الكائنات

مهام

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

فيديو – تتبع الكائنات باستخدام Opencv وPython

خاتمة

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

نأمل أن تجد هذا الدليل مفيدًا، ويمكنك الآن تتبع الكائنات في الوقت الفعلي دون أي مشاكل.

تحميل مجاني
تحميل مجاني

أحمد أبسل

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

filmora logo filmora logo
  • ㆍطبعة محدودة.😆
  • ㆍسهل الاستخدام.😘
  • ㆍتأثيرات وفيرة.😍
أمن مضمون