يعتمد المشروع على اكتشاف الأشخاص وتتبعهم وأنا أركز بشكل أساسي على تتبع الأشخاص. كما هو موضح في ملف GIF الناتج في ملف README.md أو ملفput.mp4، سيتم تزويد كل شخص id
بمجرد دخوله إلى الإطار ويتم الحفاظ على id
بغض النظر عن حدوث الاكتشاف في الإطارات المتزامنة. تقوم الخوارزمية باكتشاف الشخص وتتبعه طالما بقي في الإطار.
يقوم Person_det_track.py باكتشاف وتتبع الشخص باستخدام SSD وKalman Filter
يرجى محاولة الالتزام بالإصدار المقدم قدر الإمكان، وإلا فسوف تواجه مشكلات في التوافق. لقد استخدمت أفضل مجموعة ممكنة خلال وقت البرمجة.
اوبن سي في [v3.1]
تنسورفلو [v1.5.0]
تنقسم الطريقة المقترحة هنا إلى قسمين رئيسيين
اكتشاف الشخص - يتم اكتشاف الشخص في الوقت الفعلي بمساعدة Single Shot MultiBox Detector. يحقق SSD 75.1% من mAP، متفوقًا على نموذج مماثل من طراز Faster R-CNN. ونموذج SSD متاح في حديقة حيوانات الكشف Tensorflow. يساعد التكامل السلس لـ SSD مع Tensorflow في تحسين الخوارزمية وتنفيذها بشكل أكبر. يتكون اكتشاف كائن SSD من جزأين:
تتبع الشخص - يمكن تحقيق المربع المحيط حول الكائن/الشخص عن طريق تشغيل نموذج اكتشاف الكائنات في كل إطار، ولكن هذا مكلف من الناحية الحسابية. خوارزمية التتبع المستخدمة هنا هي تصفية كالمان. يعتبر مرشح كالمان منذ فترة طويلة الحل الأمثل للعديد من مهام التتبع والتنبؤ بالبيانات. استخدامه في تحليل الحركة البصرية. الغرض من التصفية هو استخراج المعلومات المطلوبة من الإشارة، وتجاهل كل شيء آخر. في هذا المشروع يتم تغذية مرشح كالمان بسرعة الشخص وموقعه واتجاهه مما يساعده على التنبؤ بالموقع المستقبلي للشخص بناء على بياناته السابقة.
لا يزال جزء التتبع يواجه بعض المشاكل في وقت الانسداد. (العمل عليه)
ويتكون النظام من جزأين أولا، الكشف البشري، وثانيا التتبع. كانت الأبحاث المبكرة متحيزة نحو التعرف البشري بدلاً من التتبع. إن رصد تحركات الإنسان يثير الحاجة إلى التتبع. مراقبة الحركات لها أهمية كبيرة في تحديد أنشطة الشخص وانتباه الشخص.
تقليل متطلبات طاقة الحساب - تكتشف خوارزمية الكشف عن الاعتراضات العادية الكائن ولكنها لا تتعقب (تعيين معرف) كائنًا عبر الإطارات؛ وبالتالي يجب تشغيله في كل إطار للحصول على المربع المحيط. سيساعد التتبع على تقليل عدد المرات التي يجب فيها تشغيل خوارزمية الكشف، على سبيل المثال، بدلاً من تشغيل خوارزمية الكشف في كل إطار، يقوم هذا التنفيذ بتشغيل الكشف كل 5 إطارات.
تعويض فشل نموذج اكتشاف الكائنات - قد تكون هناك بعض الأوضاع التي قد لا يتمكن فيها SSD من اكتشاف الشخص. وحتى الانسداد يمكن أن يؤثر على الكاشف بشكل كبير؛ هذا هو المكان الذي يمكن أن تساعدنا فيه خوارزمية التتبع بشكل كبير.
استرجاع الهوية - يمكن استخدام تتبع الإنسان كخطوة مسبقة في التعرف على الوجه البيومترية. إن التتبع المستمر للشخص سيسمح بتحديد هوية الشخص في أي وقت. حتى لو لم يكن التعرف على الوجه ممكنًا في مجموعة معينة من الإطارات، فيمكن العثور على هويته من خلال التتبع. بقلم نيراج مينون