Extended Kalman Filter (EKF)
استكشف مرشح كالمان الموسع (Extended Kalman Filter (EKF)) لتقدير الحالة غير الخطية. تعرف على كيفية تعزيز تتبع الأجسام في Ultralytics YOLO26 والأنظمة المستقلة.
يعد فلتر كالمان الممتد (EKF) خوارزمية رياضية قوية مصممة لتقدير حالة نظام ديناميكي يسلك سلوكاً غير خطي. في حين أن فلتر كالمان القياسي (KF) يوفر حلاً مثالياً للأنظمة المتحركة في خطوط مستقيم أو التي تتبع معادلات خطية بسيطة، فإن الفيزياء في العالم الحقيقي نادراً ما تكون بهذه التنبؤية. معظم الأشياء المادية، مثل طائرة بدون طيار تقاوم مقاومة الرياح أو ذراع روبوتية تدور على محاور متعددة، تتبع مسارات منحنية أو معقدة. يتعامل EKF مع هذا التعقيد من خلال إنشاء تقريب خطي للنظام عند نقطة زمنية محددة، مما يسمح للمهندسين وعلماء البيانات بتطبيق تقنيات تصفية فعالة على مهام النمذجة التنبؤية حتى عندما تكون الآليات الأساسية معقدة.
الآلية والخطية#
للتعامل مع الديناميكيات المعقدة، يستخدم EKF عملية رياضية تسمى التخطيط الخطي، والتي تقدر أساساً ميل الدالة عند نقطة التشغيل الحالية. غالباً ما يتضمن ذلك حساب مصفوفة جاكوبيان لتقريب كيف يتغير النظام على فترات قصيرة. تعمل الخوارزمية في حلقة متكررة تتكون من مرحلتين رئيسيتين: التنبؤ والتحديث. في مرحلة التنبؤ، يقوم الفلتر بإسقاط الحالة الحالية للأمام باستخدام نموذج حركي للفيزياء. وفي مرحلة التحديث، يصحح هذا الإسقاط باستخدام بيانات جديدة وغالباً ما تكون مشوشة من مستشعرات مثل الجيروسكوبات أو مقاييس التسارع. تساعد هذه الدورة المستمرة من التنبؤ والتصحيح في تقليل ضوضاء البيانات وتوفير تقدير أكثر سلاسة ودقة للحالة الحقيقية مقارنة بما يمكن أن يقدمه أي مستشعر بمفرده.
الأهمية في الرؤية الحاسوبية#
في مجال رؤية الكمبيوتر (CV)، يلعب فلتر كالمان الممتد دوراً حاسماً في الحفاظ على هوية العناصر المتحركة. النماذج المتقدمة مثل YOLO26 استثنائية في اكتشاف الأشياء في الإطارات الفردية، لكنها لا تفهم بطبيعتها استمرارية الحركة بمرور الوقت. من خلال دمج EKF أو منطق مشابه، يمكن لنظام تتبع الكائنات التنبؤ بالمكان الذي يجب أن يظهر فيه مربع الإحاطة في إطار الفيديو التالي بناءً على سرعته ومساره السابقين. هذا مفيد بشكل خاص للتعامل مع الإقفال، حيث يتم حجب الكائن مؤقتاً عن الرؤية؛ يحافظ الفلتر على "التتبع" نشطاً من خلال تقدير موضع الكائن حتى يصبح مرئياً مرة أخرى، وهي تقنية أساسية لـ تتبع الكائنات المتعددة (MOT) القوي.
تطبيقات العالم الحقيقي#
تجعل مرونة EKF منه تقنية أساسية في مختلف الصناعات عالية التقنية حيث يتقاطع التعلم الآلي (ML) مع الأجهزة الفيزيائية:
- المركبات ذاتية القيادة: تعتمد السيارات ذاتية القيادة على دمج المستشعرات للتنقل بأمان. يدمج EKF تدفقات البيانات المميزة من أنظمة تحديد الموقع العالمي (GPS)، وLiDAR، والرادار لحساب الموضع الدقيق للمركبة واتجاهها على الطريق، مع التعويض عن انقطاع الإشارات أو الضوضاء البيئية.
- الروبوتات: تستخدم الروبوتات التي تعمل في بيئات غير منظمة خوارزميات التوطين ورسم الخائط المتزامن (SLAM). يساعد EKF الروبوت في بناء خريطة لغرفة بينما يحدد في نفس الوقت موقعه الخاص داخل تلك الخريطة، مع تصحيح انزلاق العجلات أو انحراف المستشعرات لضمان حركة دقيقة.
- تقدير الوضع: في تطبيقات مثل الواقع الافتراضي أو تحليلات الرياضة، يتطلب تتبع المفاصل البشرية تنعيم نقاط المفاتيح المتقطعة. تعمل خوارزميات EKF على تنقيح مخرجات نماذج التعلم العميق لإنشاء رسوم متحركة حركية سلسة وطبيعية لأنظمة التعرف على الأنشطة.
مقارنة بالمفاهيم ذات الصلة#
من المفيد التمييز بين مرشح كالمان الموسع وطرق الترشيح ذات الصلة لفهم فائدته المحددة:
- EKF مقابل فلتر كالمان (KF): فلتر KF القياسي مثالي رياضياً وأرخص من الناحية الحسابية ولكنه يفشل عندما تكون الأنظمة غير خطية بشكل كبير. يوسع EKF نظام KF للعمل مع الأنظمة غير الخطية عبر التقريب.
- EKF مقابل فلتر الجسيمات: يتعامل فلتر الجسيمات مع اللاخطرية والضوضاء غير الغاوسية بشكل جيد للغاية باستخدام العديد من العينات العشوائية (الجسيمات) لتمثيل الاحتمالية. ومع ذلك، فإنه يتطلب قوة حسابية أكبر بكثير، مما يجعل EKF الخيار المفضل للأنظمة المدمجة المحدودة الموارد.
- EKF مقابل فلتر كالمان عديم الرائحة (UKF): يوفر فلتر كالمان عديم الرائحة أرضية وسطى، حيث يستخدم نقاط أخذ عينات حتمية للتعامل مع اللاخطرية دون التفاضل المعقد المطلوب بواسطة EKF، على الرغم من أن EKF يظل معيار الصناعة للعديد من أنظمة التحكم.
مثال على التنفيذ#
في حزمة ultralytics، تستخدم خوارزميات التتبع مفاهيم تصفية كالمان داخلياً لتنعيم المسارات وربط الاكتشافات عبر الإطارات. بينما لا تقوم برمجة رياضيات مصفوفة EKF يدوياً عند استخدام أدوات عالية المستوى، فإن فهم أنها تشغل المتتبع يساعد في تكوين المعلمات الخاصة بـ منصة Ultralytics.
إليك كيفية بدء متتبع باستخدام نموذج YOLO، والذي يستهلك تقنيات التصفية هذه لتقدير الحالة:
from ultralytics import YOLO
# Load the latest YOLO26 model (nano version for speed)
model = YOLO("yolo26n.pt")
# Track objects in a video source
# Trackers like BoT-SORT or ByteTrack use Kalman filtering logic internally
results = model.track(source="https://ultralytics.com/images/bus.jpg", tracker="botsort.yaml")
# Print the ID of the tracked objects
for r in results:
if r.boxes.id is not None:
print(f"Track IDs: {r.boxes.id.numpy()}")





