Extended Kalman Filter (EKF)
استكشف مرشح كالمان الممتد (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()}")








