حلول Ultralytics: تسخير YOLO26 لحل مشكلات العالم الحقيقي#
تقدم حلول Ultralytics تطبيقات متطورة لنماذج YOLO، وتوفر حلولًا عملية لمهام مثل عدّ الكائنات والتمويه وأنظمة الأمان، ما يعزز الكفاءة والدقة في قطاعات متنوعة. اكتشف إمكانات YOLO26 في التطبيقات العملية المؤثرة.

شاهد: كيفية تشغيل حلول Ultralytics من سطر الأوامر (CLI) | Ultralytics YOLO26 🚀
الحلول#
إليك قائمة مختارة من حلول Ultralytics التي يمكن استخدامها لإنشاء مشاريع رائعة في الرؤية الحاسوبية.
- التحليلات: أجرِ تحليلًا شاملًا للبيانات لاكتشاف الأنماط واتخاذ قرارات مستنيرة، مع الاستفادة من YOLO26 في التحليلات الوصفية والتنبؤية والتوجيهية.
- حساب المسافة: احسب المسافات بين الكائنات باستخدام مراكز الصناديق المحيطة في YOLO26، وهو أمر أساسي للتحليل المكاني.
- الخرائط الحرارية: استخدم الخرائط الحرارية للكشف عن البيانات لعرض شدة البيانات عبر مصفوفة، وتوفير رؤى واضحة في مهام الرؤية الحاسوبية.
- تجزئة المثيلات مع تتبع الكائنات: نفّذ تجزئة المثيلات وتتبع الكائنات باستخدام YOLO26 لتحقيق حدود دقيقة للكائنات ومراقبتها باستمرار.
- الاستدلال المباشر باستخدام Streamlit: استفد من إمكانات YOLO26 لإجراء كشف الكائنات في الوقت الفعلي مباشرةً عبر متصفح الويب، باستخدام واجهة Streamlit سهلة الاستخدام.
- تمويه الكائنات: طبّق تمويه الكائنات باستخدام YOLO26 لحماية الخصوصية عند معالجة الصور ومقاطع الفيديو.
- عدّ الكائنات: تعلّم إجراء عدّ الكائنات في الوقت الفعلي باستخدام YOLO26. اكتسب الخبرة اللازمة لعدّ الكائنات بدقة في تدفقات الفيديو المباشرة.
- عدّ الكائنات ضمن مناطق: عدّ الكائنات في مناطق محددة باستخدام YOLO26 لتحقيق كشف دقيق في نطاقات متنوعة.
- اقتصاص الكائنات: أتقن اقتصاص الكائنات باستخدام YOLO26 لاستخراجها بدقة من الصور ومقاطع الفيديو.
- إدارة مواقف السيارات: نظّم حركة المركبات ووجّهها في مناطق مواقف السيارات باستخدام YOLO26، مع تحسين استغلال المساحة وتجربة المستخدم.
- إدارة الطوابير: نفّذ أنظمة فعالة لإدارة الطوابير لتقليل أوقات الانتظار وتحسين الإنتاجية باستخدام YOLO26.
- نظام إنذار أمني: أنشئ نظام إنذار أمني باستخدام YOLO26 يطلق التنبيهات عند اكتشاف كائنات جديدة. خصّص النظام ليلائم احتياجاتك المحددة.
- البحث عن التشابه: أتِح استرجاع الصور الذكي بدمج تضمينات OpenAI CLIP مع البحث باستخدام التشابه جيبي التمام، بما يسمح باستعلامات باللغة الطبيعية مثل «شخص يحمل حقيبة» أو «مركبات متحركة».
- تقدير السرعة: قدّر سرعة الكائنات باستخدام YOLO26 وتقنيات تتبع الكائنات، وهو أمر بالغ الأهمية لتطبيقات مثل المركبات ذاتية القيادة ومراقبة حركة المرور.
- تتبع الكائنات في منطقة: تعلّم تتبع الكائنات ضمن مناطق محددة من إطارات الفيديو باستخدام YOLO26 لتحقيق مراقبة دقيقة وفعالة.
- رؤية العين وتعيين الكائنات: طوّر أنظمة تحاكي تركيز العين البشرية على كائنات محددة، ما يعزز قدرة الحاسوب على تمييز التفاصيل وترتيب أولوياتها.
- مراقبة التمارين: اكتشف كيفية مراقبة التمارين باستخدام YOLO26. تعلّم تتبع مختلف برامج اللياقة البدنية وتحليلها في الوقت الفعلي.
وسائط الحلول#
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
model | str | None | مسار ملف نموذج Ultralytics YOLO. |
region | list أو dict | None | النقاط التي تحدد منطقة الاهتمام، سواء أكانت قائمة من الصفوف (x, y) أم قاموسًا يربط أسماء المناطق بقوائم النقاط لمناطق متعددة (في RegionCounter فقط). عندما يكون None، تستخدم الحلول التي تتطلب منطقة إعدادًا افتراضيًا محددًا مسبقًا. |
show_in | bool | True | علم للتحكم في عرض أعداد الدخول على بث الفيديو. |
show_out | bool | True | علم للتحكم في عرض أعداد الخروج على بث الفيديو. |
analytics_type | str | 'line' | نوع المخطط، مثل line أو bar أو area أو pie. |
colormap | int | cv2.COLORMAP_DEEPGREEN | خريطة الألوان المستخدمة للخريطة الحرارية. |
line_width | int | 2 | سماكة الخط للصناديق والنقاط المفتاحية والعدادات التي يرسمها الحل. |
verbose | bool | True | يفعّل سجل الحل لكل إطار، ويشمل شكل المدخل وعدد الفئات وسرعة المعالجة. يظل استدعاء التتبع نفسه صامتًا دائمًا. |
json_file | str | None | مسار ملف JSON الذي يحتوي على جميع بيانات إحداثيات مواقف السيارات. |
up_angle | float | 145.0 | عتبة زاوية وضعية «الأعلى». |
kpts | list[int] | [6, 8, 10] | قائمة بثلاثة فهارس للنقاط المفتاحية تُستخدم لمراقبة التمارين. وتتوافق هذه النقاط المفتاحية مع مفاصل الجسم أو أجزائه، مثل الكتفين والمرفقين والمعصمين، في تمارين مثل الضغط والعقلة والقرفصاء وتمارين البطن. |
down_angle | float | 90.0 | عتبة زاوية وضعية «الأسفل». |
blur_ratio | float | 0.5 | يضبط نسبة شدة التمويه، ضمن النطاق 0.1 - 1.0. |
crop_dir | str | 'cropped-detections' | اسم الدليل الذي تُحفظ فيه الاكتشافات المقصوصة. |
records | int | 5 | إجمالي عدد الاكتشافات اللازم لإطلاق رسالة بريد إلكتروني مع نظام إنذار أمني. |
vision_point | tuple[int, int] | (20, 20) | النقطة التي ستتتبع منها الرؤية الأجسام وترسم المسارات باستخدام حل VisionEye. |
source | str | None | مسار مصدر الإدخال (فيديو، RTSP، وما إلى ذلك). لا يمكن استخدامه إلا مع واجهة سطر الأوامر (CLI) الخاصة بـ Solutions. |
figsize | tuple[float, float] | (12.8, 7.2) | حجم الشكل بالبوصة لمخططات Analytics؛ يعرض (12.8, 7.2) إطارًا بدقة 1280×720. |
fps | float | 30.0 | عدد الإطارات في الثانية المستخدم لحساب السرعة. |
max_hist | int | 5 | الحد الأقصى لعدد النقاط التاريخية التي تُتتبع لكل جسم لحساب السرعة والاتجاه. |
meter_per_pixel | float | 0.05 | عامل القياس المستخدم لتحويل المسافة بالبكسل إلى وحدات العالم الحقيقي. |
max_speed | int | 120 | السرعة القصوى بالكيلومتر في الساعة؛ تُحدّ السرعات المقدّرة الأعلى بهذه القيمة. |
data | str | 'images' | مسار دليل الصور المستخدم للبحث عن الصور المتشابهة. |
imgsz | int | 640 | حجم صورة الإدخال لاستدلال النموذج. |
تمرر الحلول وسائط الاستدلال والتتبع التالية إلى model.track().
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | يحدد خوارزمية التتبع المطلوب استخدامها. الخيارات المضمنة: botsort.yaml، bytetrack.yaml، ocsort.yaml، deepocsort.yaml، fasttrack.yaml، tracktrack.yaml. |
conf | float | 0.25 | يضبط عتبة الثقة للكشوفات؛ إذ تسمح القيم الأقل بتتبع مزيد من الكائنات، لكنها قد تتضمن إيجابيات كاذبة. |
iou | float | 0.7 | يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الكشوفات المتداخلة. |
classes | list | None | يصفّي النتائج حسب فهرس الفئة. على سبيل المثال، لا يتتبع classes=[0, 2, 3] إلا الفئات المحددة. |
device | str | None | يحدد الجهاز المستخدم للاستدلال (مثل cpu أو cuda:0 أو 0). ويتيح للمستخدمين الاختيار بين CPU أو GPU محددة أو أجهزة حوسبة أخرى لتنفيذ النموذج. |
imgsz | int or tuple | 640 | حجم صورة الاستدلال المستهدف: عدد صحيح لصورة مربعة، أو زوج (height, width). تُعدّل الأبعاد وفقًا لخطوة النموذج. |
max_det | int | 300 | الحد الأقصى لعدد الكشوفات التي يُحتفظ بها لكل إطار قبل التتبع، ما يحد من عدد الكائنات التي يعالجها الحل في المشاهد الكثيفة. |
quantize | int or str | None | دقة الاستدلال: 16 (FP16) أو 32/unset (FP32) لنماذج PyTorch وTorchScript خارج CPU؛ أما التنسيقات الأخرى فتستخدم الدقة التي يحددها الملف الاصطناعي وبيئة التشغيل. يحل هذا الوسيط محل الوسيطة half المهملة. |
يمكنك استخدام show_conf وshow_labels وغيرها من الوسائط المذكورة لتخصيص التصور.
| المعامل | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كان True، يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. يفيد ذلك في الحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار. |
show_conf | bool | True | يعرض درجة الثقة لكل اكتشاف بجوار التسمية، ما يوضح مدى يقين النموذج بشأن كل اكتشاف. |
show_labels | bool | True | يعرض تسميات كل اكتشاف في المخرجات المرئية، ما يتيح فهم الكائنات المكتشفة فورًا. |
استخدام SolutionAnnotator#
تستخدم جميع حلول Ultralytics الفئة المنفصلة SolutionAnnotator، التي توسّع الفئة الرئيسية Annotator، وتوفر الطرق التالية:
| الطريقة | نوع القيمة المُعادة | الوصف |
|---|---|---|
draw_region() | None | يرسم منطقة باستخدام النقاط والألوان والسُمك المحددة. |
queue_counts_display() | None | يعرض أعداد الطوابير في المنطقة المحددة. |
display_analytics() | None | يعرض الإحصاءات الإجمالية لإدارة مواقف السيارات. |
estimate_pose_angle() | float | يحسب الزاوية بين ثلاث نقاط في وضعية كائن. |
draw_specific_kpts() | np.ndarray | يرسم نقاطًا مفتاحية محددة على الصورة. |
plot_workout_information() | int | يرسم مربع نص ذي تسمية على الصورة. |
plot_angle_and_count_and_stage() | None | يعرض الزاوية وعدد الخطوات والمرحلة لمراقبة التمارين. |
plot_distance_and_line() | None | يعرض المسافة بين المراكز ويربط بينها بخط. |
display_objects_labels() | None | يضيف تسميات فئات الكائنات إلى الصناديق المحيطة. |
sweep_annotator() | None | يعرض خط مسح عموديًا، مع تسمية اختيارية. |
visioneye() | None | يرسم خريطة لمراكز الكائنات ويربطها بنقطة «عين» مرئية. |
adaptive_label() | None | يرسم تسمية بخلفية دائرية أو مستطيلة في مركز صندوق محيط. |
العمل مع SolutionResults#
باستثناء Similarity Search، يعيد كل استدعاء لحل كائن SolutionResults.
- في عدّ الكائنات، تتضمن النتائج
in_countوout_countوclasswise_count.
import cv2
from ultralytics import solutions
im0 = cv2.imread("path/to/img")
region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
counter = solutions.ObjectCounter(
show=True, # # اعرض الناتج
region=region_points, # # مرر نقاط المنطقة
model="yolo26n.pt", # # model="yolo26n-obb.pt" لعدّ الكائنات باستخدام نموذج OBB.
# # classes=[0, 2], # عدّ فئات محددة، مثل person وcar باستخدام نموذج COCO مدرّب مسبقًا.
# # tracker="botsort.yaml" # اختر أدوات التتبع، مثل "bytetrack.yaml"
)
results = counter(im0)
print(results.in_count) # display in_counts
print(results.out_count) # display out_counts
print(results.classwise_count) # display classwise_countتتضمن كائنات SolutionResults السمات التالية:
| السمة | النوع | الوصف |
|---|---|---|
plot_im | np.ndarray | صورة تتضمن تراكبات مرئية، مثل الأعداد أو تأثيرات التمويه أو التحسينات الخاصة بالحل. |
in_count | int | إجمالي عدد الكائنات التي اكتُشفت أثناء دخولها المنطقة المحددة في تدفق الفيديو. |
out_count | int | إجمالي عدد الكائنات التي اكتُشفت أثناء خروجها من المنطقة المحددة في تدفق الفيديو. |
classwise_count | dict[str, dict[str, int] | int] | الأعداد حسب الفئة: {"IN": int, "OUT": int} في ObjectCounter وHeatmap، أو int في Analytics. |
queue_count | int | عدد الكائنات الموجودة حاليًا ضمن طابور أو منطقة انتظار محددة مسبقًا (مناسب لإدارة الطوابير). |
workout_count | list[int] | عدد تكرارات التمرين لكل مسار في AI Gym (عنصر واحد لكل فرد يجري تتبعه حاليًا). |
workout_angle | list[float] | زوايا التمرين لكل مسار في AI Gym (عنصر واحد لكل فرد يجري تتبعه حاليًا). |
workout_stage | list[str] | مرحلة التمرين الحالية لكل مسار في AI Gym (عنصر واحد لكل فرد يجري تتبعه حاليًا). |
pixels_distance | float | المسافة بالبكسل بين كائنين أو نقطتين، مثل الصناديق المحيطة. (مناسبة لحساب المسافة). |
available_slots | int | عدد الأماكن الشاغرة في منطقة خاضعة للمراقبة (مناسب لإدارة مواقف السيارات). |
filled_slots | int | عدد الأماكن المشغولة في منطقة خاضعة للمراقبة. (مناسب لإدارة مواقف السيارات) |
email_sent | bool | يشير إلى ما إذا كان قد أُرسل بريد إلكتروني للإشعار أو التنبيه بنجاح (مناسب لنظام الإنذار الأمني). |
total_tracks | int | إجمالي عدد مسارات الكائنات الفريدة التي رُصدت أثناء تحليل الفيديو. |
region_counts | Dict[str, int] | أعداد الكائنات داخل المناطق أو النطاقات التي يحددها المستخدم. |
speed_dict | Dict[int, int] | قاموس بسرعات الكائنات المقدّرة لكل مسار، بوحدة كم/ساعة، من SpeedEstimator، وهو مفيد لتحليل السرعة. |
total_crop_objects | int | إجمالي عدد صور الكائنات المقصوصة التي أنشأها حل ObjectCropper. |
speed | Dict[str, float] | قاموس يحتوي على مقاييس الأداء الخاصة بالتتبع ومعالجة الحلول. |
لمزيد من التفاصيل، راجع وثائق الفئة SolutionResults.
استخدام الحلول عبر CLI#
يمكن استخدام معظم الحلول مباشرةً من خلال واجهة سطر الأوامر.
الصياغة
yolo SOLUTIONS SOLUTION_NAME ARGS
- SOLUTIONS كلمة أساسية مطلوبة.
- SOLUTION_NAME هو أحد الخيارات التالية:
['count', 'crop', 'blur', 'workout', 'heatmap', 'isegment', 'queue', 'speed', 'analytics', 'trackzone', 'inference', 'visioneye', 'region', 'security', 'parking']. - ARGS (اختيارية) هي أزواج مخصّصة من
arg=value، مثلshow_in=True، لتجاوز الإعدادات الافتراضية.
yolo solutions count show=True # for object counting
yolo solutions count source="path/to/video.mp4" # specify video file pathساهم في حلولنا#
نرحب بمساهمات المجتمع! إذا كنت متمرسًا في جانب معين من Ultralytics YOLO لم تغطّه حلولنا بعد، فنشجعك على مشاركة خبرتك. تُعد كتابة دليل طريقة رائعة لرد الجميل للمجتمع ومساعدتنا على جعل وثائقنا أشمل وأسهل استخدامًا.
للبدء، يُرجى قراءة دليل المساهمة للاطلاع على إرشادات إنشاء طلب سحب (PR) 🛠️. نتطلع إلى مساهماتكم!
لنعمل معًا على جعل منظومة Ultralytics YOLO أكثر متانة وتنوعًا 🙏!
الأسئلة الشائعة#
يمكن استخدام Ultralytics YOLO26 لعدّ الكائنات في الوقت الفعلي بالاستفادة من قدراته المتقدمة في اكتشاف الكائنات. يمكنك اتباع دليلنا المفصّل حول عدّ الكائنات لإعداد YOLO26 لتحليل بث الفيديو المباشر. ما عليك سوى تثبيت YOLO26 وتحميل النموذج ومعالجة إطارات الفيديو لعدّ الكائنات ديناميكيًا.
يعزز Ultralytics YOLO26 أنظمة الأمان من خلال توفير اكتشاف الكائنات وآليات التنبيه في الوقت الفعلي. وباستخدام YOLO26، يمكنك إنشاء نظام إنذار أمني يطلق التنبيهات عند اكتشاف كائنات جديدة في منطقة المراقبة. تعرّف على كيفية إعداد نظام إنذار أمني باستخدام YOLO26 لمراقبة أمنية فعالة.
يمكن لـ Ultralytics YOLO26 تحسين أنظمة إدارة الطوابير بدرجة كبيرة من خلال عدّ الأشخاص في الطوابير وتتبعهم بدقة، ما يساعد على تقليل أوقات الانتظار وتحسين كفاءة الخدمة. اتبع دليلنا المفصّل حول إدارة الطوابير لمعرفة كيفية تطبيق YOLO26 لمراقبة الطوابير وتحليلها بفاعلية.
نعم، يمكن استخدام Ultralytics YOLO26 بفاعلية لمراقبة التمارين من خلال تتبع برامج اللياقة البدنية وتحليلها في الوقت الفعلي. وهذا يتيح تقييمًا دقيقًا لوضعية التمرين والأداء. استكشف دليلنا حول مراقبة التمارين لمعرفة كيفية إعداد نظام لمراقبة التمارين مدعوم بالذكاء الاصطناعي باستخدام YOLO26.
يمكن لـ Ultralytics YOLO26 إنشاء خرائط حرارية لتصوير كثافة البيانات عبر منطقة محددة، مع إبراز المناطق ذات النشاط أو الاهتمام المرتفع. وتفيد هذه الميزة خصوصًا في فهم الأنماط والاتجاهات في مختلف مهام الرؤية الحاسوبية. تعرّف على المزيد حول إنشاء الخرائط الحرارية واستخدامها مع YOLO26 لإجراء تحليل شامل للبيانات وتصويرها.