حساب المسافة باستخدام 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.