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

التدفق البصري (Optical Flow)

اكتشف قوة التدفق البصري في الرؤية الحاسوبية. تعرف على كيفية تقدير الحركة، وتحسين تحليل الفيديو، ودفع الابتكارات في الذكاء الاصطناعي.

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

الآليات الأساسية للتدفق البصري

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

  • التدفق البصري الكثيف: تحسب هذه الطريقة متجه حركة لكل بكسل واحد في الصورة. توفّر خريطة حركة شاملة شاملة وعالية الدقة، وهو أمر ضروري للمهام الدقيقة مثل تجزئة الصور واستعادة واستعادة الفيديو. على الرغم من أن هذه الخرائط الحديثة كثيفة الحوسبة التعلم العميق الحديثة مثل RAFT (التحويلات الميدانية المتكررة لكل الأزواج) قد حققت أحدث أداء في التقدير الكثيف، متجاوزةً بذلك الأساليب الرياضية التقليدية.
  • التدفق البصري المتناثر: بدلاً من تحليل الصورة بأكملها، تقوم الطرق المتفرقة track مجموعة مختارة من السمات المميزة، مثل الزوايا أو أو الحواف، وغالبًا ما يتم تحديدها باستخدام استخراج السمات تقنيات استخراج السمات. تُعد الخوارزميات مثل طريقة لوكاس-كانادي من الخوارزميات الأساسية في هذه الفئة. لأنها تعالج عددًا أقل من البيانات أقل، فإن الأساليب المتفرقة ذات كفاءة عالية ومناسبة ل الاستدلال في الوقت الحقيقي في الوقت الحقيقي حيث تكون الأولوية للسرعة على الكثافة.

التدفق البصري مقابل تتبع الكائنات

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

في المقابل، يعد تتبع الكائنات مهمة عالية المستوى تحدد موقع كيانات معينة وتعين لها معرّفًا متسقًا عبر الإطارات. أنماط التتبع المتقدمة، مثل تلك المتوفرة في Ultralytics YOLO11عادةً ما تؤدي بالكشف عن الكائنات أولاً ثم استخدام إشارات الحركة لربط الاكتشافات. بينما قد يستخدم المتعقب التدفق البصري داخليًا للتنبؤ بالموقع, هدف المتعقب هو ثبات الهوية ("أين ذهبت السيارة رقم 4؟")، في حين أن هدف التدفق البصري هو الحركة ("ما مدى سرعة تحرك هذه البيكسلات إلى اليمين؟").

تطبيقات العالم الحقيقي في الذكاء الاصطناعي

التدفق البصري هو أداة متعددة الاستخدامات تُستخدم في مختلف الصناعات لحل المشاكل المعقدة المتعلقة بالحركة.

  • الأنظمة المستقلة والروبوتات: في مجال المركبات ذاتية القيادةيُستخدم التدفق البصري لقياس المسافات البصرية - تقدير حركة المركبة بالنسبة إلى العالم. يساعد في في اكتشاف العوائق المتحركة التي قد يفوتها الكشف الثابت، مما يساهم في ملاحة أكثر أماناً. وبالمثل، في الروبوتاتيستخدم الوكلاء التدفق للتعامل مع الأجسام والتنقل في البيئات الديناميكية باستخدام أطر عمل مثل ROS.
  • التعرّف على الحركة: يسمح تحليل الأنماط الزمنية للحركة لأنظمة الذكاء الاصطناعي بالتعرف على الأفعال البشرية المعقدة. على سبيل المثال، في تقنية اللياقة البدنية الذكيةيمكن أن يساعد التدفق البصري في تحسين تقدير الوضعية من خلال ضمان تتبع حركات الأطراف يتم تعقب حركات الأطراف بسلاسة بين الإطارات، وتحديد التمارين مثل القرفصاء أو أرجحة التنس.
  • تثبيت الفيديو وضغطه: تعتمد الإلكترونيات الاستهلاكية بشكل كبير على تقدير التدفق. يستخدم التثبيت الإلكتروني للصور (EIS) متجهات التدفق لتعويض اهتزاز الكاميرا. علاوة على ذلك، فإن معايير ضغط الفيديو مثل MPEG تستخدم تقدير الحركة لتقليل أحجام الملفات عن طريق ترميز الاختلافات (البقايا) بين الإطارات فقط بدلاً من ترميز الإطارات الكاملة نفسها.
  • التصوير الطبي: في تحليل الصور الطبية، يتم تطبيق التدفق البصري track تشوه الأنسجة، مثل نبض القلب في مخطط صدى القلب. وهذا يساعد الأطباء في تحديد وظيفة العضو واكتشاف التشوهات غير المرئية في الصور الثابتة.

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

يوضِّح مثال Python التالي كيفية حساب التدفق البصري الكثيف باستخدام OpenCV OpenCV. يستخدم هذا المثال خوارزمية فارنباك، وهي طريقة شائعة لتقدير التدفق الكثيف.

import cv2
import numpy as np

# Load two consecutive frames (ensure these files exist)
frame1 = cv2.imread("frame1.jpg")
frame2 = cv2.imread("frame2.jpg")

# Convert frames to grayscale
prvs = cv2.cvtColor(frame1, cv2.COLOR_BGR2GRAY)
next = cv2.cvtColor(frame2, cv2.COLOR_BGR2GRAY)

# Calculate dense optical flow using Farneback's algorithm
flow = cv2.calcOpticalFlowFarneback(prvs, next, None, 0.5, 3, 15, 3, 5, 1.2, 0)

# Compute magnitude and angle of 2D vectors
mag, ang = cv2.cartToPolar(flow[..., 0], flow[..., 1])

print(f"Flow shape: {flow.shape}")  # Output: (Height, Width, 2)
print(f"Max motion magnitude: {np.max(mag):.2f} pixels")

للمستخدمين الذين يتطلعون إلى دمج تحليل الحركة مع اكتشاف الأجسام, نماذج كشفUltralytics يمكن دمجها مع خوارزميات التدفق لإنشاء خطوط أنابيب تحليلات قوية. بينما يوفر التدفق البصري بيانات الحركة الأولية, نماذج ذات مستوى أعلى مثل YOLO11 توفر الفهم الدلالي المطلوب لتفسير تلك الحركة بفعالية. البحث والتطوير المستمر في نماذج مثل YOLO26 إلى زيادة توحيد الفهم المكاني والزماني والزمانية من أجل تحليل أسرع للفيديو من البداية إلى النهاية.

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

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

انضم الآن