التكوين: الكشف عن الحركة
حول
كشف الحركة في Agent DVR يلعب دورًا حاسمًا في تشغيل التنبيهات وتسهيل معالجة الذكاء الاصطناعي. يمكنك تكوين Agent DVR للتسجيل عند كشف الحركة أو عند تنشيط تنبيه. لضبط هذه الخيارات، انتقل إلى قائمة التسجيل وراجع إعداد الوضع. بالإضافة إلى ذلك، يمكن استخدام كشف الحركة لتنشيط مختلف الإجراءات.
من المهم أن نلاحظ أن كشف الحركة قد يؤدي أحيانًا إلى تنبيهات كاذبة بسبب عدم قدرته على التمييز بين حركة الكائن الفعلي والعوامل البيئية مثل الرياح أو المطر أو التغيرات في السطوع. لتقليل مثل هذه التنبيهات الكاذبة، يمكنك تعزيز دقة كشف الحركة عن طريق دمج Agent DVR مع CodeProject.AI لتصفية التنبيهات بشكل أكثر تطورًا.
إعداد الكشف عن الحركة
تحكم منطقة كاشف الحركة في Agent DVR متاح عن طريق تحرير الكاميرا واختيار Detector من القائمة العلوية اليمنى. لإعداد كاشف، تبدأ بتحديد المناطق للمراقبة. يدعم Agent DVR حتى 9 مناطق، يُمثل كل منها بلون مختلف، يمكن اختيارها عبر القائمة المنسدلة Zone. لإنشاء منطقة، انقر على أداة القلم وقم برسمها فوق معاينة الفيديو. استخدم زر الماوس الأيسر أو اللمس للرسم، وعلى سطح المكتب، زر الماوس الأيمن للمسح. تعديل أداة القلم يعدل حجم قلم الرسم، بينما تزيل أداة الممحاة المناطق المرسومة. يمكن استخدام أداة الإعادة لملء المنطقة بأكملها بالمنطقة المحددة. بعد ذلك، يراقب Agent DVR هذه المناطق الملونة للحركة.
- Enabled: قم بتبديل استخدام الكاشف.
- Detector: اختر نوع كاشف الحركة وقم بتكوينه باستخدام الزر . يتم شرح كاشفات الحركة المختلفة في الأقسام الخاصة بها.
- Color: قم بضبط لون تراكب اكتشاف الحركة (غير قابل للتطبيق على جميع كاشفات الحركة).
- Timeout: قم بتعيين المدة (بالثواني، بين 1 و 60، الافتراضي هو 3) التي تبقى فيها الكاميرا في حالة حركة بعد اكتشاف توقف الحركة. يساعد هذا في تقليل الأحداث المتكررة بسرعة.
استخدام المناطق
المناطق ضرورية لمعرف الذكاء الاصطناعي (الوجه/ تعرف لوحة السيارة/ التعرف على الكائن) ومعرفات تتبع الكائنات (مثل خط الانطلاق، السرعة، تتبع الكائن). يمكنك تحديد المناطق التي ستؤدي إلى تنبيه في تكوين المعرف، أو تحديد الإجراءات للتنبيهات في مناطق محددة.
يقوم المعرف البسيط بتنشيط تنبيه إذا تم اكتشاف حركة كافية عبر جميع المناطق.
بعض أنواع المعرف لا تستخدم إعدادات المنطقة، مثل MQTT، ONVIF، أو تنشيط الحركة عبر استدعاءات واجهة برمجة التطبيقات (API).
استخدام مناطق الحركة
تعتبر مناطق الحركة مجموعات قابلة للتكوين من المناطق التي يمكنك تسميتها وحفظها للاستخدام المستقبلي. لحفظ تكوين منطقة الحركة الحالي كمنطقة جديدة، انقر فوق أيقونة التحرير بجوار المنطقة. تتيح لك هذه الأدوات إمكانية إضافة وتحرير وحذف المناطق.
لتطبيق منطقة حركة عند نقل كاميرا PTZ الخاصة بك إلى موضع محدد مسبقًا (باستخدام واجهة المستخدم Agent DVR):
- أنشئ واحفظ تكوينًا جديدًا لمنطقة الحركة بتسمية محددة، مثل "موقف السيارات".
- أضف إجراء جديد:
إذا: "تم تطبيق الإعداد المسبق لـ PTZ"
حدد أمر الإعداد المسبق لـ PTZ (على سبيل المثال، "انتقل إلى الإعداد المسبق 1"). ملاحظة: يجب أن تدعم الكاميرا الخاصة بك الإعدادات المسبقة لـ PTZ لكي يعمل هذا.
انقر لإضافة مهمة:
المهمة: "تعيين منطقة اكتشاف الحركة"
حدد منطقتك الجديدة ("موقف السيارات").
انقر موافق مرتين. الآن، كلما حددت الإعداد المسبق، أو إذا قام Agent DVR بتعيين الإعداد المسبق من خلال الجدولة أو حدث آخر، سيتم تطبيق هذه المنطقة تلقائيًا.
يمكنك أيضًا تعديل منطقة كاشف الحركة باستخدام الجدول الزمني. تتيح هذه الميزة تكوينات مناطق حركة مختلفة اعتمادًا على وقت اليوم، أو الأسبوع، أو التواريخ المحددة.
مُحَقِق بَسِيط
بسيط
يركز كاشف الحركة البسيط على تحديد أي نوع من الحركة داخل حقل رؤية الكاميرا. إنه الخيار الأكثر كفاءة من حيث استخدام وحدة المعالجة المركزية بين الكاشفات، يأتي في المرتبة الثانية بعد كاشف ONVIF. يتم تحديد الحركات المكتشفة باللون الأحمر، مما يتيح لك التمييز بسهولة عن مصدر الحركة في المشهد.
- متقدم: للحصول على إعدادات وخيارات إضافية، راجع القسم المتقدم أدناه.
- الحساسية: قم بضبط مستوى الحركة المطلوب لتشغيل الكشف. يمكن تحسين الكشف عن طريق تعيين قيم الحد الأدنى والحد الأقصى — على سبيل المثال، يمكن أن تساعد قيمة الحد الأقصى 80 في تجاهل التغييرات الكبيرة في السطوع. تمثل الأرقام تحت المنزلق نسبة البيكسلات المتغيرة.
- الربح: قم بتطبيق مضاعف على البيكسلات المتغيرة لزيادة أو تقليل حساسية كشف الحركة.
مكتشف أجسام HAAR
تستخدم هذه الطريقة ملفات تعرف باسم تتابعات HAAR للتعرف على الكائنات في تغذية الفيديو. ومع ذلك، قد تحقق نتائج أفضل باستخدام جهاز كشف الكائنات البسيط بالاشتراك مع إعداد خادم الذكاء الاصطناعي.
- حجم الإطار: حدد حجم الإطار للمعالجة. الإطارات الأصغر تقلل استخدام وحدة المعالجة المركزية ولكن قد تكون أقل دقة.
- فترة الكشف: حدد تردد معالجة الإطار، بالمللي ثانية. على سبيل المثال، 200 يعادل 5 مرات في الثانية، و1000 يعادل مرة واحدة في الثانية.
- حدود العرض وحدود الارتفاع: حدد نطاق حجم الكائنات التي يجب على Agent DVR اكتشافها، معبرة عن نسبة من عرض الإطار أو ارتفاعه. سيؤدي ضبط هذه المنزلقات إلى عرض تراكب على الفيديو، مشيرًا إلى نطاق حجم الكائنات المستهدفة.
- استخدام وحدة المعالجة الرسومية (GPU): خيار لاستخدام وحدة المعالجة الرسومية للمعالجة، متاح فقط إذا كانت وحدة المعالجة الرسومية الخاصة بك تدعم Cuda وتم تثبيت التعريفات اللازمة.
- ملف: اختر ملف تتابع HAAR لتكوين جهاز كشف الكائنات. تم توفير ملفات افتراضية لاكتشاف الوجوه ووجوه القطط.
- شرط التنبيه وعدد التنبيه: قم بتكوين Agent DVR لإنشاء تنبيهات استنادًا إلى كشف الكائنات اعتمادًا على عدد الكائنات المكتشفة. على سبيل المثال، لتشغيل تنبيه عند التعرف على وجه، ضبط الشرط على "أكثر من" وعدد التنبيه على 0.
- مناطق التنبيه (الإصدار 4.4.8.0+): حدد مناطق الحركة التي يجب تضمينها في منطقة المراقبة.
- فحص الزوايا: لمزيد من التفاصيل، انظر فحص الزوايا.
فحص الزوايا
يستخدم Agent DVR طريقة معقدة لتحديد ما إذا كان يجب أن تؤدي الكائنات المكتشفة إلى تنبيهات أو إجراءات استنادًا إلى تكوين المنطقة الخاصة بك. يقوم بذلك عن طريق التحقق من نقطة الوسط للكائن المكتشف و، اختياريًا، شبكة تمتد إلى زوايا صندوق الحدود للكائن. يمكنك ضبط هذه الميزة عن طريق تعيين نسبة تمثل المسافة من نقطة الوسط إلى زاوية صندوق الحدود لفحوصات المنطقة. بشكل أساسي، يعني ضبط القيمة على 0 أنه يتم التحقق فقط من نقطة الوسط، والقيمة 100 تتحقق من جميع الزوايا، والقيمة 50 تتحقق من النقاط الوسطى بين الوسط وكل زاوية للمستطيل الحدودي. إذا كنت تتلقى إخطارات حدث متعددة حيث لا يبدو أن الكائن داخل المنطقة المخصصة، فإن ضبط التحقق من الزوايا على 0 قد يكون مفيدًا.
MQTT
لديك القدرة على ببدأ كشف الحركة من خادم MQTT الخاص بك. أولاً، تأكد من أنك قمت بإعداد MQTT بشكل صحيح. ثم، لتشغيل كشف الكائن، مرر ببساطة الأمر المشار إليه في شاشة تكوين المكتشف إلى القناة SERVER/commands حيث SERVER هو اسم الخادم الخاص بك (المعروض في قائمة الخادم التي يمكنك تحريرها في الإعدادات). تتيح هذه التكامل إمكانية نظام كشف حركة أكثر مرونة واستجابة، مستفيدة من قدرات خادم MQTT الخاص بك.
ONVIF
العديد من الأجهزة المتوافقة مع ONVIF مزودة بقدرات الكشف عن الحركة الخاصة بها. عندما تختار هذا الوضع وتقوم بربطه بكاميرا قادرة على ONVIF (باستخدام نوع الاتصال ONVIF في Agent)، سيعتمد Agent DVR على الجهاز نفسه لتوفير أحداث الكشف عن الحركة وتشغيل الإجراءات استنادًا إلى تلك الأحداث. إذا واجهت أي مشاكل مع هذه الوظيفة، من النصح بالتحقق من السجلات (التي يمكن الوصول إليها على /logs.html على الخادم المحلي) حيث من الممكن أن تكون الكاميرا الخاصة بك لا تدعم كشف ONVIF. لمزيد من المعلومات حول تكوين هذه الإعدادات، يرجى الرجوع إلى إعدادات الخادم ONVIF.
مُكتَشِف الشَّخصية
تعتمد هذه الطريقة على خوارزمية متخصصة مصممة خصيصًا لاكتشاف المشاة. ومع ذلك، قد تجد أن استخدام كاشف الكائنات البسيط ودمج الذكاء الاصطناعي لتصفية التنبيهات يوفر نتائج أفضل.
- استخدام وحدة معالجة الرسومات (GPU): قرر ما إذا كنت ستستخدم وحدة معالجة الرسومات للمعالجة، متاحة فقط إذا كانت وحدة معالجة الرسومات الخاصة بك تدعم Cuda وتم تثبيت التعريفات اللازمة.
- حجم الإطار: حدد حجم الإطار للمعالجة. لاحظ أن الإطارات الأصغر تستهلك أقل من وحدة المعالجة المركزية ولكن قد تعطي نتائج أقل دقة.
- فترة الكشف: قم بتعيين تردد معالجة الإطار، بالميلي ثانية. على سبيل المثال، 200 يعادل 5 مرات في الثانية، بينما 1000 يعادل مرة واحدة في الثانية.
- شرط التنبيه وعدد التنبيه: قم بتكوين المعايير لتوليد التنبيهات استنادًا إلى عدد الكائنات المكتشفة. على سبيل المثال، لتشغيل تنبيه عند التعرف على وجه، ضع الشرط على "أكثر من" وأدخل 0 في حقل عدد التنبيه.
- مناطق التنبيه (v4.4.8.0+): اختر المناطق الحركية المحددة التي يجب مراقبتها ضمن منطقة الكشف.
- فحص الزوايا: للمزيد من الإعدادات التفصيلية، راجع فحص الزوايا.
ريولينك
بعض كاميرات Reolink تقدم نقطة نهاية API يمكن لـ Agent DVR أن يقوم بالاستطلاع عليها لاستقبال حالات تنبيه الحركة أو الذكاء الاصطناعي. إذا كانت كاميرتك تدعم هذه الميزة، يمكنك استخدام هذا الكاشف. للتحقق مما إذا كانت كاميرتك تحتوي على هذه القدرة، جرب الوصول إلى الرابط: `http://[IP ADDRESS]/api.cgi?cmd=GetMdState&channel=0&rs=Get&user=[USERNAME]&password=[PASSWORD]` (استبدل `[IP ADDRESS]`, `[USERNAME]`, و `[PASSWORD]` بعنوان IP لكاميرتك وبيانات تسجيل الدخول الخاصة بك، على التوالي). ستعيد الاتصال الناجح نصًا بتنسيق JSON بدلاً من صفحة خطأ.
- الفاصل الزمني: حدد التردد الذي يقوم Agent DVR بالاستطلاع على كاميرتك للتنبيهات أو بيانات الحركة.
- الوضع: اختر بين 'الحركة' و 'الذكاء الاصطناعي'. كلا الوضعين يُشغلان أحداث كاشف الحركة في Agent DVR، والتي يمكن استخدامها للتسجيل (قم بتعيين وضع التسجيل إلى الكشف). الخيار 'الذكاء الاصطناعي' يُشغل كاشف الحركة إذا كانت الكاميرا تحدد فئات كائنات محددة (مثل dog_cat، face، people، vehicle).
يمكنك تكوين إجراءات لأداء المهام عندما يتم اكتشاف الكائنات الموسومة بأنها dog_cat، face، people، أو vehicle، ابتداءً من الإصدار 4.6.6.0.
ملاحظة: لتمكين ميزة الذكاء الاصطناعي، قد تحتاج إلى تنشيط التتبع في واجهة الويب للكاميرا وتعيين معلمات الحجم الأدنى والأقصى للكائن. بعد ذلك، سيقوم Agent DVR بوسم تسجيلاتك بالكائنات المحددة من قبل Reolink.
كشف السرعة
تستخدم هذه الطريقة معلومات الحالة التي تقدمها لتتبع الأجسام المتحركة، وتقدير سرعتها، وتوليد تنبيهات إذا كانت الأجسام تتحرك بسرعة كبيرة أو ببطء شديد.
- متقدم: للحصول على إعدادات مفصلة أكثر، راجع القسم المتقدم أدناه.
- حدود العرض وحدود الارتفاع: حدد نطاق الحجم لاكتشاف الكائن في الحالة، مع القيم المعبر عنها كنسبة من عرض الحالة أو ارتفاعها. سيؤدي ضبط هذه المنزلقات إلى عرض تراكب على الفيديو، يشير إلى نطاق الحجم المستهدف للأجسام.
- السفر الأدنى: قم بتعيين المسافة الدنيا التي يجب أن يتحرك فيها الكائن ليعتبر في حالة حركة، بناءً على نسبة من عرض الحالة.
- الزمن الأدنى: حدد مدة الوقت التي يجب أن يكون فيها الكائن في حالة حركة ليتم تتبعها، بوحدات الثواني العشرية (على سبيل المثال، 1 = 0.1 ثانية، 10 = 1 ثانية).
- قياس السرعة: حدد وحدة قياس السرعة المفضلة للتراكب.
- حدود السرعة: حدد الحدود السفلى والعلوية لاكتشاف السرعة. ستؤدي الحركات خارج هذا النطاق إلى تنشيط أحداث اكتشاف الحركة.
- المسافة الأفقية والعمودية: أدخل المسافة الإجمالية عبر الحالة بالأمتار. يستخدم Agent DVR هذا القياس لحساب سرعة الأجسام المتحركة.
- مناطق التنبيه (v4.4.8.0+): اختر أي مناطق الحركة تُضمن في منطقة المراقبة.
- فحص الزوايا: للحصول على إعدادات إضافية، انظر فحص الزوايا.
تتبع الكائنات
يتعرف هذا الكاشف على الكائنات المتحركة ويتتبعها، مشغلًا أحداث الكشف عن الحركة بناءً على مدى وجودها في المشهد والمسافة التي تقطعها.
- متقدم: لمزيد من الإعدادات والخيارات التفصيلية، راجع القسم المتقدم أدناه.
- حدود العرض وحدود الارتفاع: حدد نطاق الحجم لكشف الكائنات، مع القيم المعطاة كنسبة من عرض المشهد أو ارتفاعه. سيقوم تعديل هذه المنزلقات بتراكب تمثيل بصري لنطاق حجم الكائن المستهدف على الفيديو.
- السفر الأدنى: حدد المسافة الدنيا التي يجب أن يتحركها الكائن ليتم التعرف عليه ككائن متحرك، نسبيًا إلى عرض المشهد.
- الزمن الأدنى: حدد المدة الزمنية الدنيا التي يجب أن يكون فيها الكائن في حالة حركة ليتم النظر في تتبعها، بوحدات الثواني العشرية (على سبيل المثال، 1 = 0.1 ثانية، 10 = 1 ثانية).
- إجمالي العرض: أضف عدادًا إلى تغذية الفيديو الحية لتتبع الكائنات المتحركة.
- خريطة الحرارة: قم بتصور أنماط الحركة عبر الزمن من خلال إضافة خطوط إلى الكائنات المتتبعة.
- مناطق التنبيه (v4.4.8.0+): اختر أي مناطق حركة يجب تضمينها في منطقة المراقبة.
- فحص الزوايا: لمزيد من المعلومات، انظر فحص الزوايا.
أثناء مراقبة وتتبع Agent DVR للحركة في المشهد، يعرض مستطيلات ملونة حول الكائنات المكتشفة. تحمل الألوان المعاني التالية:
- أبيض: كائن تم اكتشافه للتو ويخضع للنظر.
- أصفر: كائن تم اكتشافه لعدة إطارات.
- برتقالي: كائن تحرك لمدة على الأقل كما هو محدد في إعدادات التتبع.
- أحمر: كائن توافق على جميع متطلبات التتبع لتشغيل حدث الكشف عن الحركة.
أسلاك الرحلة
يتعرف هذا الكاشف على الأجسام المتحركة ويتتبعها، مشغلًا أحداث كشف الحركة عند عبورها لخطوط الرحل المحددة مسبقًا في المشهد. لإضافة خطوط الرحل، ما عليك سوى النقر والسحب على الفيديو الحي. يمكنك إنشاء عدة خطوط رحل حسب الحاجة. لإزالة خط رحل، انقر واسحب أحد نقاطه خارج المشهد.
- متقدم: للمزيد من الإعدادات والخيارات التفصيلية، راجع الالقسم المتقدم أدناه.
- حدود العرض وحدود الارتفاع: قم بتعيين نطاق حجم الأجسام المراد اكتشافها، بقيم تُعبر عن نسبة من عرض المشهد أو ارتفاعه. سيقوم تعديل هذه المنزلقات بتراكب تمثيل بصري لنطاق حجم الهدف على الفيديو.
- السفر الأدنى: حدد المسافة الدنيا التي يجب أن تتحرك فيها الجسم ليتم التعرف عليه كجسم متحرك، نسبيًا إلى عرض المشهد.
- الزمن الأدنى: حدد المدة الزمنية الدنيا التي يجب أن يكون فيها الجسم في حركة ليتم تتبعها، بوحدات الثواني العشرية (على سبيل المثال، 1 = 0.1 ثانية، 10 = ثانية واحدة).
- تكرار المشغل: قم بتمكين هذا للسماح لجسم بتشغيل نفس خط الرحل مرارًا وتكرارًا. بشكل افتراضي، يمكن لجسم تشغيل خط رحل مرة واحدة فقط.
- العدد: عرض عدد مرات عبور الأجسام لخط الرحل، جنبًا إلى جنب مع اتجاه العبور. تشمل الخيارات عد اليسار، اليمين، كلاهما، أو مجموع العبورات.
- التنبيه: قم بتكوين النظام لإنشاء تنبيه إذا تم عبور خط الرحل في اتجاه محدد أو أي اتجاه.
- مناطق التنبيه (v4.4.8.0+): اختر أي مناطق الحركة تُضمن في منطقة المراقبة.
- فحص الزوايا: لمزيد من المعلومات، انظر فحص الزوايا.
عبر واجهة برمجة التطبيقات
لبدء كشف الحركة لكاميرا باستخدام استدعاء API، يجب عليك تحديد نوع الكائن (ot) ومعرف الكائن (oid). على سبيل المثال، لكاميرا (ot=2) بمعرف 1 (oid=1 — يتم عرض هذا المعرف في أعلى عنصر التحكم عند تحرير جهاز)، يجب تنظيم استدعاء API على النحو التالي:http://localhost:8090/command/detect?ot=2&oid=1
الإعدادات المتقدمة
الإعدادات الافتراضية لمكتشفات الحركة عادة ما تكون مناسبة لمعظم الحالات، ولكن يمكنك ضبطها بشكل دقيق لتعزيز الأداء إذا لزم الأمر.
- المحلل: المحلل المتاح حاليًا هو محلل CNT لطرح الخلفية، المعروف بدقته العالية واستخدام وحدة المعالجة المركزية المنخفض.
- حجم الإطار: حدد حجم الإطار للمعالجة. الإطارات الأصغر تقلل من استخدام وحدة المعالجة المركزية ولكن قد تقلل من الدقة.
- المتتبع: اختر متتبع OpenCV لتتبع الكائنات. الخيارات تشمل:
- موس: يوفر هذا المتتبع أدنى استخدام لوحدة المعالجة المركزية ولكنه الأقل دقة (الافتراضي).
- KCF: أكثر دقة من Mosse، ولكن تستهلك قليلاً من وحدة المعالجة المركزية.
- CSRT: الخيار الأكثر دقة، ولكنه يستخدم أيضًا أكثر وحدة المعالجة المركزية. مثالي لحالات التتبع الصعبة.
- الحد الأقصى للكائنات: قم بتحديد حد لعدد الكائنات التي يمكن تتبعها بشكل متزامن. كلما زاد عدد الكائنات زاد استخدام وحدة المعالجة المركزية.
- فاصل الكشف: حدد تردد معالجة الإطار لاكتشاف الحركة، بالميللي ثانية (على سبيل المثال، 200 لـ 5 مرات في الثانية، 1000 لمرة واحدة في الثانية).
- فاصل التتبع: قم بتحديد تردد معالج التتبع. يمكن أن يؤدي فاصل أعلى إلى فقدان الكائنات السريعة الحركة (على سبيل المثال، 200 لـ 5 مرات في الثانية، 1000 لمرة واحدة في الثانية).
- ثبات البكسل: حدد عدد العينات التي يجب أن يعتبر فيها البكسل مستقرًا والحد الأقصى لـ "الائتمان" الذي يمكن للبكسل كسبه لبقائه بنفس اللون. هذه الإعدادات أساسية لعملية طرح الخلفية بفعالية وكشف الحركة. مزيد من المعلومات
- استخدام التاريخ: قم بتمكين هذا الخيار لمعرفة المزيد عن الكائنات المتحركة بشكل مستمر في المشهد. عادة ما يُوصى بإبقاء هذا الخيار معطل ما لم يكن ذلك ضروريًا.
- معالجة موازية: قم بتنشيط المعالجة الموازية في خوارزمية كشف الحركة. من المستحسن الاحتفاظ بهذا مفعّلًا.
- مهلة التتبع: حدد الوقت الذي يجب الانتظار (بالثواني) لكي يعود الكائن للظهور مرة أخرى قبل التوقف عن تتبعه.
- مهلة الحركة: قم بتحديد المدة (بالثواني) التي يجب الانتظار فيها حتى يبدأ كائن ثابت بالحركة مرة أخرى قبل توقف تتبعه.