تخطي إلى المحتوى

حساب المسافة باستخدام Ultralytics YOLO11

ما هو حساب المسافة؟

يُعرف قياس الفجوة بين جسمين بحساب المسافة بين جسمين ضمن مساحة محددة. في حالة Ultralytics YOLO11، يتم استخدام مركز المربع المحدود لحساب المسافة للمربعات المحدودة التي حددها المستخدم.



شاهد: حساب المسافة باستخدام Ultralytics YOLO11

المرئيات

حساب المسافة باستخدام Ultralytics YOLO11
Ultralytics YOLO11 حساب المسافة

مزايا حساب المسافة؟

  • دقة تحديد المواقع: يعزز دقة تحديد المواقع المكانية في مهام الرؤية الحاسوبية.
  • تقدير الحجم: يسمح بتقدير حجم الجسم لفهم سياقي أفضل.
حساب المسافة
  • انقر فوق أي مربعين محددين بالنقر بالماوس الأيسر لحساب المسافة

حساب المسافة باستخدام المثال YOLO11

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))

# Video writer
video_writer = cv2.VideoWriter("distance_calculation.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init distance-calculation obj
distance = solutions.DistanceCalculation(model="yolo11n.pt", show=True)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    im0 = distance.calculate(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()
ملاحظة
  • سيؤدي النقر بالزر الأيمن بالماوس إلى حذف جميع النقاط المرسومة
  • يمكن استخدام النقر بالماوس الأيسر للماوس لرسم النقاط
المسافة تقديرية
Distance will be an estimate and may not be fully accurate, as it is calculated using 2-dimensional data, which lacks information about the object's depth.

الحجج DistanceCalculation()

Name Type Default الوصف
model str None المسار إلى Ultralytics YOLO ملف نموذج
line_width int 2 سُمك الخط للمربعات المحدودة.
show bool False علامة للتحكم في عرض دفق الفيديو من عدمه.

الحجج model.track

الجدال النوع افتراضي الوصف
source str None يحدد الدليل المصدر للصور أو مقاطع الفيديو. يدعم مسارات الملفات وعناوين URL.
persist bool False تمكين التتبع المستمر للكائنات بين الإطارات، والحفاظ على المعرفات عبر تسلسلات الفيديو.
tracker str botsort.yaml يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال, bytetrack.yaml أو botsort.yaml.
conf float 0.3 تعيين عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة.
iou float 0.5 يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة.
classes list None تصفية النتائج حسب فهرس الفئة. على سبيل المثال, classes=[0, 2, 3] يتتبع الفئات المحددة فقط.
verbose bool True يتحكم في عرض نتائج التتبع، مما يوفر إخراجًا مرئيًا للأجسام المتعقبة.

الأسئلة الشائعة

كيف يمكنني حساب المسافات بين الأجسام باستخدام Ultralytics YOLO11 ؟

لحساب المسافات بين الأجسام باستخدام Ultralytics YOLO11فإنك تحتاج إلى تحديد مركزيات المربع المحدود للأجسام المكتشفة. تتضمن هذه العملية تهيئة DistanceCalculation فئة من Ultralytics' solutions واستخدام مخرجات تتبع النموذج لحساب المسافات. يمكنك الرجوع إلى التنفيذ في مثال لحساب المسافة.

ما هي مزايا استخدام حساب المسافة مع Ultralytics YOLO11 ؟

يوفر استخدام حساب المسافة مع Ultralytics YOLO11 العديد من المزايا:

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

هل يمكنني إجراء حساب المسافة في تدفقات الفيديو في الوقت الفعلي باستخدام Ultralytics YOLO11 ؟

نعم، يمكنك إجراء حساب المسافة في تدفقات الفيديو في الوقت الفعلي باستخدام Ultralytics YOLO11 . تتضمن العملية التقاط إطارات الفيديو باستخدام OpenCVالجري YOLO11 اكتشاف الأجسام، وباستخدام DistanceCalculation لحساب المسافات بين الأجسام في الإطارات المتتالية. للحصول على تطبيق مفصّل، راجع مثال على دفق الفيديو.

كيف يمكنني حذف النقاط المرسومة أثناء حساب المسافة باستخدام Ultralytics YOLO11 ؟

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

ما هي الوسيطات الرئيسية لتهيئة فئة DistanceCalculation في Ultralytics YOLO11 ؟

الوسيطات الرئيسية لتهيئة DistanceCalculation فئة في Ultralytics YOLO11 ما يلي:

  • model: مسار الملف النموذجي.
  • show: علامة للإشارة إلى ما إذا كان ينبغي عرض دفق الفيديو.
  • line_width: سمك المربع المحيط والخطوط المرسومة على الصورة.

للاطلاع على قائمة شاملة والقيم الافتراضية، راجع وسيطات DistanceCalculation.

📅 تم الإنشاء منذ 11 شهرًا ✏️ تم التحديث منذ 1 شهر

التعليقات