VisionEye تعيين الكائنات باستخدام Ultralytics YOLO26 🚀#
ما هو تعيين الكائنات باستخدام VisionEye؟#
يقدم Ultralytics YOLO26 VisionEye إمكانية للكمبيوتر لتحديد وتحديد مواقع الكائنات بدقة، محاكياً دقة الملاحظة للعين البشرية. تمكن هذه الوظيفة أجهزة الكمبيوتر من تمييز والتركيز على كائنات محددة، تماماً مثل الطريقة التي تلاحظ بها العين البشرية التفاصيل من منظور معين.
تعيين الكائنات باستخدام YOLO26#
يثبت VisionEye نقطة مراقبة واحدة في الإطار ويرسم شعاعاً منها إلى كل كقطعة تعقب، بحيث يمكنك تصور شكل المشهد من منظور واحد. قم بتعيين vision_point إلى إحداثيات البكسل للمراقب، ثم قم بتشغيل الحل على مقطع الفيديو الخاص بك باستخدام Python API أو CLI.
# Monitor objects position with visioneye
yolo solutions visioneye show=True
# Pass a source video
yolo solutions visioneye source="path/to/video.mp4"
# Monitor the specific classes
yolo solutions visioneye classes="[0, 5]"وسائط VisionEye#
إليك جدول يحتوي على وسائط VisionEye:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | المسار إلى ملف نموذج Ultralytics YOLO. |
vision_point | tuple[int, int] | (20, 20) | النقطة التي ستتتبع فيها الرؤية الكائنات وترسم المسارات باستخدام حل VisionEye. |
line_width | int | 2 | سمك الخط للمربعات والنقاط الرئيسية والعدادات التي ترسمها الحلول. |
verbose | bool | True | يمكّن سجل الحلول لكل إطار لشكل الإدخال، وعدد الفئات، وسرعة المعالجة. استدعاء التتبع بحد ذاته صامت دائماً. |
يمكنك أيضاً استخدام وسائط track المختلفة داخل الحل VisionEye:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'botsort.yaml' | يحدد خوارزمية التتبع المراد استخدامها. الخيارات المضمنة: botsort.yaml، وbytetrack.yaml، وocsort.yaml، وdeepocsort.yaml، وfasttrack.yaml، وtracktrack.yaml. |
conf | float | 0.25 | يضبط عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن إيجابيات كاذبة. |
iou | float | 0.7 | يحدد عتبة Intersection over Union (IoU) لتصفية عمليات الكشف المتداخلة. |
classes | list | None | يقوم بتصفية النتائج حسب الفهرس الفئة. على سبيل المثال، يقوم classes=[0, 2, 3] بتتبع الفئات المحددة فقط. |
device | str | None | يحدد الجهاز للاستدلال (مثل cpu أو cuda:0 أو 0). يسمح للمستخدمين بالاختيار بين وحدة المعالجة المركزية (CPU)، أو وحدة معالجة رسومية (GPU) محددة، أو أجهزة الحوسبة الأخرى لتنفيذ النموذج. |
علاوة على ذلك، يتم دعم بعض وسائط التصور كما هو موضح أدناه:
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كان True، يعرض الصور أو الفيديوهات المشروحة في نافذة. مفيد للحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار. |
show_conf | bool | True | يعرض درجة الثقة لكل اكتشاف بجانب التصنيف. يوفر رؤية حول مدى يقين النموذج في كل اكتشاف. |
show_labels | bool | True | يعرض تصنيفات كل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة. |
كيف يعمل VisionEye#
يعمل VisionEye عن طريق إنشاء نقطة رؤية ثابتة في الإطار ورسم خطوط من هذه النقطة إلى الكائنات المكتشفة. يحاكي هذا كيف تركز الرؤية البشرية على عدة كائنات من منظور واحد. يستخدم الحل تتبع الكائنات للحفاظ على تحديد متسق للكائنات عبر الإطارات، مما ينشئ تمثيلاً مرئياً للعلاقة المكانية بين المراقب (نقطة الرؤية) والكائنات في المشهد.
تقوم طريقة process في فئة VisionEye بعدة عمليات رئيسية:
- استخراج المسارات (صناديق التحديد، والفئات، والأقنعة) من الصورة المدخلة
- إنشاء أداة تعليق توضيحي لرسم صناديق التحديد والتسميات
- لكل كائن مكتشف، يتم رسم تسمية صندوق وإنشاء خط رؤية من نقطة الرؤية
- إرجاع الصورة المعلقة مع إحصائيات التتبع
هذا النهج مفيد بشكل خاص للتطبيقات التي تتطلب الوعي المكاني وتصور علاقات الكائنات، مثل أنظمة المراقبة، والملاحة الذاتية، والتركيبات التفاعلية.
تطبيقات VisionEye#
يحتوي تعيين الكائنات باستخدام VisionEye على العديد من التطبيقات العملية عبر مختلف الصناعات:
- الأمن والمراقبة: مراقبة كائنات متعددة ذات أهمية من موضع كاميرا ثابت
- تحليلات البيع بالتجزئة: تتبع أنماط حركة العملاء فيما يتعلق بعروض المتجر
- تحليل الرياضة: تحليل تموضع اللاعبين وحركتهم من منظور المدرب
- المركبات ذاتية القيادة: تصور كيف "ترى" المركبة الكائنات وتعطي الأولوية لها في بيئتها
- التفاعل بين الإنسان والكمبيوتر: إنشاء واجهات أكثر بديهية تستجيب للعلاقات المكانية
من خلال الجمع بين VisionEye وحلول Ultralytics الأخرى مثل حساب المسافة أو تقدير السرعة، يمكنك بناء أنظمة شاملة لا تتتبع الكائنات فحسب، بل تفهم أيضاً علاقاتها المكانية وسلوكياتها.
الأسئلة الشائعة#
لبدء استخدام VisionEye Object Mapping مع Ultralytics YOLO26، س تحتاج أولاً إلى تثبيت حزمة Ultralytics YOLO عبر pip. بعد ذلك، يمكنك استخدام نموذج الكود المقدم في الوثائق لإعداد اكتشاف الكائنات باستخدام VisionEye. إليك مثال بسيط للبدء:
import cv2 from ultralytics import solutions cap = cv2.VideoCapture("path/to/video.mp4") assert cap.isOpened(), "Error reading video file" # Video writer 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 = cv2.VideoWriter("vision-eye-mapping.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h)) # Init vision eye object visioneye = solutions.VisionEye( show=True, # display the output model="yolo26n.pt", # use any model that Ultralytics supports, e.g., YOLOv10 classes=[0, 2], # generate visioneye view for specific classes ) # 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 results = visioneye(im0) print(results) # access the output video_writer.write(results.plot_im) # write the video file cap.release() video_writer.release() cv2.destroyAllWindows() # destroy all opened windowsيُعرف Ultralytics YOLO26 بسرعته، وداقته، وسهولة تكامله، مما يجعله الخيار الأفضل لرسم خرائط الكائنات وتتبعها. تشمل المزايا الرئيسية ما يلي:
- أداء متطور: يوفر دقة عالية في اكتشاف الكائنات في الوقت الفعلي.
- مرونة: يدعم الاكتشاف، والتتبع، وقياس المسافة في مسار عمل واحد.
- المجتمع والدعم: وثائق شاملة ومجتمع GitHub نشط لاستكشاف الأخطاء وإصلاحها والتحسينات.
- سهولة الاستخدام: واجهة API بديهية تبسط المهام المعقدة، مما يسمح بالنشر والتكرار السريع.
لمزيد من المعلومات حول التطبيقات والفوائد، راجع توثيق Ultralytics YOLO26.
يمكن أن يتكامل Ultralytics YOLO26 بسلاسة مع أدوات التعلم الآلي المختلفة مثل Comet و ClearML، مما يعزز تتبع التجارب، والتعاون، وقابلية إعادة الإنتاج. اتبع الأدلة المفصلة حول كيفية استخدام YOLOv5 مع Comet ودمج YOLO26 مع ClearML للبدء.
لمزيد من الاستكشاف وأمثلة التكامل، راجع دليل تكاملات Ultralytics.