استخدم YOLO v5+DeepSORT لإنشاء نموذج تتبع متعدد الأهداف في الوقت الفعلي

يعد تتبع الكائنات موضوعًا مهمًا في مجال الرؤية الآلية.يمكن تقسيمها إلى تتبع كائن واحد (تتبع كائن واحد، يشار إليه باسم SOT) وتتبع كائنات متعددة (تتبع كائنات متعددة، يشار إليه باسم MOT).
غالبًا ما يكون التتبع متعدد الأهداف عرضة لفقدان الهدف بسبب العدد الكبير من معرفات التتبع والانسدادات المتكررة. بمساعدة جهاز التتبع DeepSORT وجهاز الكشف YOLO v5، من الممكن إنشاء نموذج تتبع متعدد الأهداف في الوقت الفعلي وعالي الأداء.
ستقدم هذه المقالة تعريفًا لتتبع الهدف الفردي وتتبع الأهداف المتعددة على التوالي. في نهاية المقال، سيتم شرح عملية التنفيذ والكود المحدد لـ YOLO v5+DeepSORT بالتفصيل.
شرح مفصل لتتبع الهدف الفردي
تعريف
يعني تتبع الهدف الفردي (SOT) تحديد الهدف في الإطار الأول من الفيديو، وتحديد موقع الهدف في الإطارات اللاحقة استنادًا إلى معلومات السياق، وإنشاء نموذج تتبع للتنبؤ بحالة حركة الهدف.
سيناريو التطبيق
يتم استخدام SOT على نطاق واسع في مراقبة الفيديو الذكية والقيادة الذاتية والملاحة الروبوتية والتفاعل بين الإنسان والحاسوب وغيرها من المجالات.

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

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

أظهرت التجارب أن الشبكة العميقة الملتفة بالكامل تستخدم البيانات الموجودة بكفاءة أكبر أثناء اختبار النموذج وتدريبه.
كانت شركة SiamFC رائدة في تطبيق هياكل الشبكات التوأمية في مجال تتبع الأهداف.تم تحسين سرعة التتبع لمتتبع طريقة التعلم العميق بشكل كبير، مع بنية بسيطة وأداء ممتاز.
خوارزميات المشتقات ذات الصلة
1. ستركت سيام
تم اقتراح طريقة تعلم البنية المحلية، والتي تأخذ في الاعتبار كل من النمط المحلي والعلاقة البنيوية للهدف.ولتحقيق هذه الغاية، صمم المؤلفون وحدة اكتشاف الأنماط المحلية لتحديد المناطق المميزة للكائن المستهدف تلقائيًا.
يمكن تدريب النموذج بطريقة متكاملة.
2. سيام إف سي-تري
اقترح المؤلف خسارة ثلاثية جديدة.يتم استخدامه لاستخراج ميزات عميقة معبرة للأشياء المتعقبة. بدون زيادة المدخلات، يمكن لهذه الطريقة الاستفادة من المزيد من العناصر للتدريب وتحقيق ميزات أكثر قوة من خلال الجمع بين العينات الأصلية.
3. دي سيام
واقترح المؤلفون شبكة توأم ديناميكية،من خلال نموذج التعلم السريع للنقل، يمكن تعلم تغييرات مظهر الهدف وقمع الخلفية للإطارات السابقة بشكل فعال عبر الإنترنت. وفي الوقت نفسه، اقترح المؤلفون أيضًا دمج العناصر متعددة الطبقات، باستخدام ميزات عميقة متعددة الطبقات لدمج مخرجات الشبكة بشكل تكيفي.
يسمح DSiam باستخدام أي ميزات عامة ممكنة أو ميزات مدربة بشكل خاص، مثل SiamFC وVGG، ويمكن دمج شبكة التوأم الديناميكية وتدريبها مباشرة على تسلسلات فيديو مُسمّاة، مما يجعل الاستفادة الكاملة من المعلومات المكانية الزمنية الغنية للأشياء المتحركة.
شرح مفصل لتتبع الأهداف المتعددة
تعريف
يشير تتبع الكائنات المتعددة (MOT) إلى تعيين معرف لكل كائن في كل إطار من الفيديو ورسم مسار سلوك كل معرف.

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

بفضل بساطة طريقة التتبع، يمكن لجهاز التتبع التحديث بمعدل 260 هرتز، وهو أسرع بـ 20 مرة من أجهزة التتبع الأكثر تقدمًا في ذلك الوقت.
2. ديب سورت
DeepSORT هو إصدار مطور من SORT، والذي يدمج معلومات المظهر لتحسين أداء SORT.يتيح لنا هذا تتبع الهدف بشكل طبيعي حتى عند مواجهة فترات طويلة من الانسداد، ويقلل بشكل فعال عدد انتقالات الهوية.

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

تم تقليل التكلفة الحسابية لكلا المكونين بشكل كبير مقارنة بأنظمة MOT السابقة، مما يوفر أساسًا نظيفًا وسريعًا للعمل اللاحق على تصميم خوارزمية MOT في الوقت الفعلي.
هذا هو أول نظام اختبار MOT في الوقت الفعلي تقريبًا في الصناعة.إنه يعمل بشكل أسرع، ولديه دقة أعلى، ورمزه مفتوح المصدر، مما يجعله جديرًا بالرجوع إليه.
تتبع الكائنات المتعددة باستخدام YOLOv5 وDeepSORT
هذا البرنامج التعليمي موجود في OpenBayes.com يجري. OpenBayes عبارة عن منصة سحابية للحوسبة للتعلم الآلي جاهزة للاستخدام وتوفر أطر عمل رئيسية مثل PyTorch و TensorFlow، بالإضافة إلى أنواع مختلفة من حلول الحوسبة مثل vGPU و T4 و V100. نموذج التسعير مرن وبسيط، ويتم احتساب الرسوم بناءً على وقت الاستخدام.
يستخدم هذا البرنامج التعليمي vGPU لتشغيله في بيئة PyTorch 1.8.1.
الوصول إلى البرنامج التعليمي الكامل

يتكون هذا المشروع من جزأين. أولاً، يتم استخدام كاشف YOLO v5 لاكتشاف سلسلة من الكائنات؛ ثم يتم استخدام DeepSORT للتتبع.
الخطوة الأولى هي إعداد بيئة الكود
%cd Yolov5_DeepSort_Pytorch
%pip install -qr requirements.txt # 安装依赖
import torch
from IPython.display import Image, clear_output # 显示结果
clear_output()
print(f"Setup complete. Using torch {torch.__version__} ({torch.cuda.get_device_properties(0).name if torch.cuda.is_available() else 'CPU'})")
الخطوة 2: معالجة الفيديو الذي سيتم اختباره مسبقًا
!y | ffmpeg -ss 00:00:00 -i test.avi -t 00:00:03 -c copy out.avi -y
الخطوة 3: التفكير النموذجي
!python track.py --yolo_weights /openbayes/input/input1/crowdhuman_yolov5m.pt --source out.avi --save-vid
الخطوة 4: تحويل التنسيق
!ffmpeg -i /openbayes/home/Yolov5_DeepSort_Pytorch/inference/output/out.avi output.mp4 -y
الخطوة 5: عرض النتائج
from IPython.display import HTML
from base64 import b64encode
mp4 = open('output.mp4','rb').read()
data_url = "data:video/mp4;base64," + b64encode(mp4).decode()
HTML("""
<video controls>
<source src="%s" type="video/mp4">
</video>
""" % data_url)

الوصول إلى دفتر الملاحظات الكامل
حول OpenBayes
أوبن بايز وهي مؤسسة رائدة في مجال أبحاث الذكاء الآلي في الصين.يوفر عددًا من الخدمات الأساسية المتعلقة بتطوير الذكاء الاصطناعي، بما في ذلك حاويات قوة الحوسبة، والنمذجة التلقائية، والتعديل التلقائي للمعلمات.
وفي الوقت نفسه، أطلقت OpenBayes أيضًا العديد من الموارد العامة السائدة مثل مجموعات البيانات والبرامج التعليمية والنماذج.لتمكين المطورين من التعلم بسرعة وإنشاء نماذج التعلم الآلي المثالية.
قم بزيارة الآن openbayes.com وتسجيل
استمتع الآن
600 دقيقة/أسبوع من vGPU
و300 دقيقة أسبوعيًا من وقت الحوسبة المجاني لوحدة المعالجة المركزية
يمكنك أيضًا إدخال مقطع فيديو والحصول على نتائج الكشف والتتبع المقابلة.