التدفق البصري (Optical Flow)
اكتشف قوة التدفق البصري في الرؤية الحاسوبية. تعرف على كيفية تقدير الحركة، وتحسين تحليل الفيديو، ودفع الابتكارات في الذكاء الاصطناعي.
التدفق البصري هو مفهوم أساسي في رؤية الحاسوب (CV) يتضمن تقدير حركة الكائنات والأسطح والحواف في مشهد مرئي ناتج عن الحركة النسبية بين المراقب (مثل الكاميرا) والمشهد. يحسب مجالًا من المتجهات التي تصف اتجاه وسرعة حركة وحدات البكسل أو الميزات بين إطاري فيديو متتاليين. يوفر هذا فهمًا تفصيليًا ومنخفض المستوى لـ "كيف" تتحرك الأشياء، وهو أمر أساسي للعديد من مهام تحليل المشهد الديناميكي.
كيف يعمل التدفق البصري (Optical Flow)
الافتراض المركزي الكامن وراء معظم خوارزميات التدفق البصري هو "ثبات السطوع"، والذي يفترض أن كثافة البكسل المقابل لنقطة معينة على كائن ما تظل ثابتة على مدى فترات زمنية قصيرة. من خلال إيجاد الإزاحة التي تحافظ على هذا السطوع، يمكن للخوارزميات تقدير الحركة. هناك طريقتان رئيسيتان لحساب التدفق البصري:
- التدفق البصري الكثيف: تحسب هذه الطريقة متجه حركة لكل بكسل واحد في الصورة. يوفر مجال حركة عالي التفاصيل، وهو مفيد لمهام مثل تجزئة الصور وفهم ديناميكيات المشهد المعقدة. طريقة Horn-Schunck هي مثال كلاسيكي، في حين أن نماذج التعلم العميق الحديثة مثل RAFT تقدم أداءً حديثًا.
- التدفق البصري المتفرق (Sparse Optical Flow): بدلاً من تحليل كل بكسل، تتعقب هذه الطريقة مجموعة متفرقة من الميزات "المثيرة للاهتمام" (مثل الزوايا أو النقاط الرئيسية) عبر الإطارات. طريقة Lucas-Kanade هي خوارزمية متفرقة معروفة. هذا النهج أكثر كفاءة من الناحية الحسابية ومناسب تمامًا للتطبيقات التي تحتاج فقط إلى حركة نقاط معينة، كما هو الحال في تتبع الكائنات.
التدفق البصري مقابل تتبع الكائنات
في حين أنها ذات صلة، إلا أن التدفق البصري وتتبع الكائنات يحلان مشاكل مختلفة.
- التدفق البصري يصف الحركة منخفضة المستوى للبكسل. الإخراج الخاص به عبارة عن مجموعة من المتجهات التي تمثل الحركة بين إطارين. إنه لا يفهم بطبيعته مفهوم "كائن" أو يحافظ على هويته بمرور الوقت.
- تتبع الكائنات هي مهمة ذات مستوى أعلى تركز على تحديد موقع كائن معين وتتبع مساره عبر إطارات متعددة، وتعيين معرف ثابت له. غالبًا ما تستخدم خوارزميات التتبع تقنيات مثل التدفق البصري كمدخل للتنبؤ بموقع الكائن في الإطار التالي بعد أن يتم تحديده بواسطة نموذج اكتشاف الكائنات، مثل نموذج Ultralytics YOLO. يمكنك رؤية ذلك عمليًا في وضع تتبع الكائنات في Ultralytics.
باختصار، يجيب التدفق البصري على السؤال "كيف تتحرك وحدات البكسل؟"، بينما يجيب تتبع الكائن على السؤال "أين ذهبت تلك السيارة؟".
تطبيقات واقعية
التدفق البصري ضروري للعديد من التطبيقات التي تتطلب فهم الحركة من الفيديو:
- الأنظمة الذاتية: تستخدم المركبات ذاتية القيادة و الروبوتات التدفق البصري لقياس المسافة البصرية (تقدير الحركة الذاتية)، واكتشاف العوائق، وفهم الحركة النسبية للأجسام في بيئتها. على سبيل المثال، يساعد سيارة ذاتية القيادة على تقدير سرعتها بالنسبة إلى الطريق أو تتبع المركبات القريبة. تعتمد شركات مثل Waymo اعتمادًا كبيرًا على إدراك الحركة. استكشف الذكاء الاصطناعي في السيارات ذاتية القيادة لمزيد من السياق.
- ضغط الفيديو: تستخدم معايير مثل MPEG تقنيات تقدير الحركة المشابهة للتدفق البصري للتنبؤ بالإطارات اللاحقة بناءً على الإطارات السابقة. من خلال ترميز متجهات الحركة وأخطاء التنبؤ (البقايا) فقط، يتم تحقيق ضغط كبير للبيانات.
- التعرف على الإجراءات: فهم الإجراءات البشرية في مقاطع الفيديو، وهو جزء أساسي من تقدير الوضعية، غالبًا ما يتضمن تحليل أنماط الحركة المشتقة من التدفق البصري. هذا أمر بالغ الأهمية للتطبيقات في تحليلات الرياضة و تكنولوجيا اللياقة البدنية الذكية.
- تثبيت الفيديو: يمكن لتقنيات تثبيت الصور الرقمية استخدام التدفق البصري لتقدير اهتزاز الكاميرا والتعويض عنه، مما ينتج مقاطع فيديو أكثر سلاسة. هذه التقنية شائعة في الهواتف الذكية والكاميرات الحديثة.
- تحليل الصور الطبية: يُستخدم لتتبع حركة الأنسجة، مثل حركة عضلة القلب في مخططات صدى القلب أو تشوه الأعضاء أثناء العمليات. راجع مصادر مثل مجلة Radiology: Artificial Intelligence للاطلاع على التطورات ذات الصلة.
- الروبوتات: تمكن الروبوتات من التنقل والتفاعل مع الأشياء وأداء المهام بناءً على التغذية الراجعة المرئية حول الحركة في محيطها. غالبًا ما يتضمن التكامل مع أنظمة مثل ROS تحليل الحركة.
الأدوات والتنفيذ
توفر مكتبات مثل OpenCV تطبيقات لخوارزميات التدفق البصري الكلاسيكية، وتتضمن وثائقها برامج تعليمية مفصلة حول التدفق البصري في OpenCV. بالنسبة إلى مناهج التعلم العميق، تُستخدم أطر عمل مثل PyTorch (تفضل بزيارة موقع PyTorch الرسمي) و TensorFlow (تفضل بزيارة موقع TensorFlow الرسمي) بشكل شائع، وغالبًا ما تستفيد من النماذج المدربة مسبقًا المتوفرة من خلال منصات مثل Hugging Face. يتطلب تدريب هذه النماذج مقاطع فيديو واسعة النطاق مجموعات البيانات مع معلومات التدفق الأرضي الواقعي، مثل مجموعات بيانات FlyingThings3D أو Sintel. يمكن أن تساعد منصات مثل Ultralytics HUB في إدارة مجموعات البيانات و تدريب النماذج لمهام رؤية الكمبيوتر ذات الصلة.