Kalman Filter (KF)
استكشف كيف يقدّر مرشح كالمان حالات النظام في ظل عدم اليقين. تعلّم استخدامه لتتبّع الأجسام مع Ultralytics YOLO26 لتحسين دقة الذكاء الاصطناعي.
مرشح كالمان (KF) هو خوارزمية رياضية تكرارية تُستخدم لتقدير حالة نظام ديناميكي بمرور الوقت. طوّر رودولف إ. كالمان هذه التقنية في الأصل، وهي ضرورية لمعالجة البيانات غير اليقينية أو غير الدقيقة أو التي تحتوي على تغيّرات عشوائية، والتي يُشار إليها غالبًا باسم «الضوضاء». ومن خلال دمج سلسلة من القياسات المرصودة بمرور الوقت، والتي تتضمن أوجه عدم دقة إحصائية، ينتج مرشح كالمان تقديرات للمتغيرات المجهولة تكون أكثر دقة من تلك المستندة إلى قياس واحد فقط. وفي مجالي تعلّم الآلة (ML) والذكاء الاصطناعي (AI)، يُعد أداة أساسية لـالنمذجة التنبؤية، إذ يخفف تذبذب نقاط البيانات للكشف عن الاتجاه الحقيقي الكامن.
آلية عمل مرشح كالمان#
تعمل الخوارزمية وفق دورة من خطوتين: التنبؤ والتحديث (المعروف أيضًا باسم التصحيح). وتفترض أن النظام الأساسي خطي وأن الضوضاء تتبع توزيعًا غاوسيًا (منحنى جرسيًا).
-
التنبؤ: يستخدم المرشح نموذجًا فيزيائيًا لإسقاط الحالة الحالية إلى الأمام عبر الزمن. فعلى سبيل المثال، إذا كان جسم ما يتحرك بسرعة ثابتة، يتنبأ المرشح بموضعه التالي استنادًا إلى المعادلات الحركية القياسية. وتقدّر هذه الخطوة أيضًا حالة عدم اليقين المرتبطة بذلك التنبؤ.
-
التحديث: عند وصول قياس جديد من مستشعر، يقارن المرشح الحالة المتنبأ بها بالبيانات المرصودة. ويحسب متوسطًا مرجحًا—يحدده كسب كالمان—ليمنح ثقة أكبر للقيمة (التنبؤ أو القياس) ذات عدم اليقين الأقل. والنتيجة هي تقدير مُحسّن للحالة يُستخدم أساسًا للدورة التالية.
التطبيقات في الرؤية الحاسوبية والذكاء الاصطناعي#
على الرغم من أن مرشح كالمان نشأ في الأصل ضمن نظرية التحكم والملاحة الجوية، فإنه أصبح الآن شائعًا على نطاق واسع في خطوط أنابيب الرؤية الحاسوبية (CV) الحديثة.
- تتبّع الأجسام: هذه هي حالة الاستخدام الأكثر شيوعًا. عندما يحدد نموذج كشف مثل YOLO26 جسمًا في إطار فيديو، فإنه يوفّر لقطة ثابتة. ولفهم الحركة، تستخدم أدوات التتبّع مثل BoT-SORT مرشحات كالمان لربط الاكتشافات عبر الإطارات. وإذا حُجب جسم مؤقتًا (أي مُنع من الظهور)، يستخدم المرشح سرعة الجسم السابقة للتنبؤ بموقعه، مما يمنع النظام من فقدان «المسار» أو تبديل المعرّفات.
- دمج المستشعرات في الروبوتات: في الروبوتات، يجب على الآلات التنقل باستخدام مستشعرات متعددة مليئة بالضوضاء. فقد يستخدم روبوت توصيل نظام GPS (الذي قد ينحرف)، ومشفّرات عجلات (التي قد تنزلق)، ووحدات قياس القصور الذاتي (IMUs) (التي تكون مليئة بالضوضاء). يدمج مرشح كالمان هذه المدخلات المختلفة لتوفير إحداثي واحد موثوق للملاحة، وهو أمر أساسي لتشغيل المركبات ذاتية القيادة بأمان.
التمييز بين المفاهيم ذات الصلة#
من المفيد التمييز بين مرشح كالمان القياسي وتنوعاته وبدائله الموجودة في الذكاء الاصطناعي الإحصائي:
- مرشح كالمان مقابل مرشح كالمان الممتد (EKF): يفترض مرشح كالمان القياسي أن النظام يتبع معادلات خطية (خطوطًا مستقيمة). غير أن الحركة في العالم الحقيقي—مثل ميل طائرة مسيّرة عند الانعطاف—غالبًا ما تكون غير خطية. ويعالج مرشح كالمان الممتد ذلك من خلال جعل ديناميكيات النظام خطية عند كل خطوة باستخدام المشتقات، مما يجعله مناسبًا للمسارات المعقدة.
- مرشح كالمان مقابل مرشح الجسيمات: بينما تعتمد مرشحات كالمان على افتراضات غاوسية، تستخدم مرشحات الجسيمات مجموعة من العينات العشوائية (الجسيمات) لتمثيل توزيعات الاحتمالات. وتتميز مرشحات الجسيمات بمرونة أكبر مع الضوضاء غير الغاوسية، لكنها تتطلب قدرة حسابية أكبر بكثير، مما قد يؤثر في سرعات الاستدلال في الوقت الفعلي.
مثال على التنفيذ#
في منظومة Ultralytics، تُدمج مرشحات كالمان مباشرةً في خوارزميات التتبّع. ولا تحتاج إلى كتابة المعادلات يدويًا؛ إذ يمكنك الاستفادة منها من خلال تفعيل أوضاع التتبّع. وتتيح لك منصة Ultralytics إدارة مجموعات البيانات وتدريب نماذج يمكن نشرها بسهولة مع إمكانات التتبّع هذه.
فيما يلي مثال موجز باستخدام Python لتنفيذ التتبّع باستخدام Ultralytics YOLO26، حيث يطبّق أداة التتبّع الأساسية تلقائيًا ترشيح كالمان لتنعيم حركات المربع المحيط:
from ultralytics import YOLO
# Load the latest YOLO26 model
model = YOLO("yolo26n.pt")
# Run tracking on a video source
# The 'botsort' tracker uses Kalman Filters internally for state estimation
results = model.track(source="traffic_video.mp4", tracker="botsort.yaml")
# Process results
for result in results:
# Access the tracked IDs (assigned and maintained via KF logic)
if result.boxes.id is not None:
print(f"Tracked IDs in frame: {result.boxes.id.cpu().numpy()}")الأهمية لجودة البيانات#
في عمليات النشر الواقعية، نادرًا ما تكون البيانات مثالية. إذ تعاني الكاميرات من ضبابية الحركة، وتتعرض المستشعرات لضوضاء الإشارة. ويعمل مرشح كالمان كآلية متقدمة لـتنظيف البيانات ضمن حلقة اتخاذ القرار. ومن خلال التحسين المستمر للتقديرات، يضمن أن تعمل وكلاء الذكاء الاصطناعي استنادًا إلى الواقع الأكثر احتمالًا، بدلًا من التفاعل مع كل خلل عابر في تدفق الإدخال. وتُعد هذه الموثوقية بالغة الأهمية للتطبيقات الحساسة للسلامة، بدءًا من مراقبة عمليات المطارات ووصولًا إلى الأتمتة الصناعية الدقيقة.









