Yolo فيجن شنتشن
شنتشن
انضم الآن
مسرد المصطلحات

مرشح كالمان (KF)

اكتشف كيف يقدر مرشح كالمان حالات النظام في ظل عدم اليقين. تعلم كيفية استخدامه لتتبع الأجسام باستخدام Ultralytics لتحسين دقة الذكاء الاصطناعي.

مرشح كالمان (KF) هو خوارزمية رياضية تكرارية تستخدم لتقدير حالة نظام ديناميكي بمرور الوقت. قدم هذه التقنية لأول مرة رودولف إي. كالمان، وهي ضرورية لمعالجة البيانات غير المؤكدة أو غير الدقيقة أو التي تحتوي على تباينات عشوائية، والتي يشار إليها غالبًا باسم "الضوضاء". من خلال الجمع بين سلسلة من القياسات التي تمت ملاحظتها بمرور الوقت والتي تحتوي على أخطاء إحصائية، ينتج مرشح كالمان تقديرات للمتغيرات المجهولة التي تكون أكثر دقة من تلك التي تستند إلى قياس واحد فقط. في مجالات التعلم الآلي (ML) والذكاء الاصطناعي (AI)، يعمل كأداة أساسية للنمذجة التنبؤية، حيث يعمل على تنعيم نقاط البيانات المتقطعة للكشف عن الاتجاه الأساسي الحقيقي.

كيف يعمل مرشح كالمان

تعمل الخوارزمية على دورة من خطوتين: التنبؤ والتحديث (المعروف أيضًا باسم التصحيح). وهي تفترض أن النظام الأساسي خطي وأن الضوضاء تتبع توزيع غاوسي (منحنى جرس).

  1. التنبؤ: يستخدم المرشح نموذجًا فيزيائيًا لتوقع الحالة الحالية في المستقبل. على سبيل المثال، إذا كان جسم ما يتحرك بسرعة ثابتة، يتنبأ المرشح بموقعه التالي بناءً على المعادلات الحركية القياسية. تقدر هذه الخطوة أيضًا عدم اليقين المرتبط بهذا التنبؤ.
  2. تحديث: عندما يصل قياس جديد من جهاز استشعار، يقارن المرشح الحالة المتوقعة مع البيانات الملاحظة. ويحسب متوسطًا مرجحًا — يحدده كسب كالمان— والذي يضع ثقة أكبر في القيمة (التنبؤ أو القياس) التي تحتوي على قدر أقل من عدم اليقين. والنتيجة هي تقدير محسّن للحالة يعمل كأساس للدورة التالية .

التطبيقات في مجال الرؤية الحاسوبية والذكاء الاصطناعي

على الرغم من أن مرشح كالمان كان في الأصل متجذراً في نظرية التحكم والملاحة الفضائية، إلا أنه أصبح الآن منتشراً في خطوط إنتاج الرؤية الحاسوبية الحديثة .

  • تتبع الكائنات: هذا هو الاستخدام الأكثر شيوعًا. عندما يحدد نموذج الكشف مثل YOLO26 كائنًا في إطار فيديو، فإنه يوفر لقطة ثابتة. لفهم الحركة، تستخدم أجهزة التتبع مثل BoT-SORT مرشحات كالمان لربط عمليات الكشف عبر الإطارات. إذا تم حجب كائن مؤقتًا (حجب عن الرؤية)، يستخدم المرشح السرعة السابقة للكائن للتنبؤ بموقعه، مما يمنع النظام من فقدان "track" أو تبديل المعرفات.
  • دمج المستشعرات في الروبوتات: في مجال الروبوتات، يجب أن تتنقل الآلات باستخدام مستشعرات متعددة صاخبة. قد يستخدم روبوت التوصيل نظام تحديد المواقع العالمي (GPS) (الذي يمكن أن ينحرف)، ومشفرات العجلات (التي يمكن أن تنزلق)، ووحدات قياس التسارع (IMU) (التي تكون صاخبة). يقوم مرشح كالمان بدمج هذه المدخلات المتباينة لتوفير إحداثيات واحدة موثوقة للتنقل، وهو أمر ضروري لتشغيل المركبات الذاتية القيادة بأمان.

التمييز بين المفاهيم ذات الصلة

من المفيد التمييز بين مرشح كالمان القياسي وتغيراته وبدائله الموجودة في الذكاء الاصطناعي الإحصائي:

  • مرشح كالمان مقابل مرشح كالمان الموسع (EKF): يفترض مرشح كالمان القياسي أن النظام يتبع معادلات خطية (خطوط مستقيمة). ومع ذلك، فإن الحركة في العالم الحقيقي — مثل طائرة بدون طيار تقوم بالانعطاف — غالبًا ما تكون غير خطية. يحل مرشح كالمان الموسع هذه المشكلة عن طريق تحويل ديناميكيات النظام إلى خطية في كل خطوة باستخدام المشتقات، مما يجعله مناسبًا للمسارات المعقدة.
  • مرشح كالمان مقابل مرشح الجسيمات: بينما يعتمد مرشح كالمان على افتراضات غاوسية، يستخدم مرشح الجسيمات مجموعة من العينات العشوائية (الجسيمات) لتمثيل توزيعات الاحتمالات. مرشح الجسيمات أكثر مرونة بالنسبة للضوضاء غير الغاوسية ولكنه يتطلب قدرة حسابية أكبر بكثير، مما قد يؤثر على سرعات الاستدلال في الوقت الحقيقي.

مثال على التنفيذ

في Ultralytics يتم دمج مرشحات كالمان مباشرة في خوارزميات التتبع. لا تحتاج إلى كتابة المعادلات يدويًا؛ يمكنك الاستفادة منها عن طريق تمكين أوضاع التتبع. تتيح لك Ultralytics إدارة مجموعات البيانات وتدريب النماذج التي يمكن نشرها بسهولة باستخدام قدرات التتبع هذه.

فيما يلي مثال موجز لاستخدام Python التتبع باستخدام 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()}")

أهمية جودة البيانات

في الاستخدامات الواقعية، نادراً ما تكون البيانات مثالية. تعاني الكاميرات من ضبابية الحركة، وتتعرض المستشعرات لضوضاء الإشارة . يعمل مرشح كالمان كآلية متطورة لتنظيف البيانات داخل حلقة القرار. من خلال التحسين المستمر للتقديرات، يضمن أن تعمل عوامل الذكاء الاصطناعي على أساس الواقع الأكثر احتمالاً بدلاً من الاستجابة لكل خلل لحظي في تدفق المدخلات. هذه الموثوقية أمر بالغ الأهمية للتطبيقات الحساسة من حيث السلامة ، من مراقبة عمليات المطارات إلى الأتمتة الصناعية الدقيقة.

انضم إلى مجتمع Ultralytics

انضم إلى مستقبل الذكاء الاصطناعي. تواصل وتعاون وانمو مع المبتكرين العالميين

انضم الآن