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

Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀
الحلول#
إليك قائمتنا المنسقة لحلول Ultralytics التي يمكن استخدامها لإنشاء مشاريع رائعة في مجال computer vision.
- Analytics: قم بإجراء تحليل شامل للبيانات لاكتشاف الأنماط واتخاذ قرارات مستنيرة، مستفيداً من YOLO26 في التحليلات الوصفية والتنبؤية والتوجيهية.
- Distance Calculation: احسب المسافات بين الكائنات باستخدام مراكز bounding box في YOLO26، وهو أمر ضروري للتحليل المكاني.
- Heatmaps: استخدم خرائط الحرارة الخاصة بالكشف لتصور كثافة البيانات عبر مصفوفة، مما يوفر رؤى واضحة في مهام الرؤية الحاسوبية.
- Instance Segmentation with Object Tracking: نفذ instance segmentation وتتبع الكائنات باستخدام YOLO26 لتحقيق حدود دقيقة للكائنات ومراقبة مستمرة.
- Live Inference with Streamlit: استغل قوة YOLO26 لـ object detection في الوقت الفعلي مباشرة عبر متصفح الويب الخاص بك باستخدام واجهة Streamlit سهلة الاستخدام.
- Object Blurring: قم بتطبيق طمس الكائنات باستخدام YOLO26 لحماية الخصوصية في معالجة الصور والفيديوهات.
- Object Counting: تعلم كيفية إجراء عد الكائنات في الوقت الفعلي باستخدام YOLO26. اكتسب الخبرة لعد الكائنات بدقة في تدفقات الفيديو المباشرة.
- Object Counting in Regions: عد الكائنات في مناطق محددة باستخدام YOLO26 للكشف بدقة في مختلف المساحات.
- Object Cropping: أتقن اقتصاص الكائنات باستخدام YOLO26 للاستخراج الدقيق للكائنات من الصور والفيديوهات.
- Parking Management: نظم ووّجه تدفق المركبات في مواقف السيارات باستخدام YOLO26، مما يحسن استغلال المساحة وتجربة المستخدم.
- Queue Management: نفذ أنظمة إدارة طوابير فعالة تقليل أوقات الانتظار وتحسين الإنتاجية باستخدام YOLO26.
- Security Alarm System: أنشئ نظام إنذار أمني باستخدام YOLO26 يطلق تنبيهات عند اكتشاف كائنات جديدة. قم بتخصيص النظام ليناسب احتياجاتك الخاصة.
- Similarity Search: مكن استرجاع الصور الذكي عبر دمج تضمينات OpenAI CLIP مع بحث التشابه الجيبي، مما يسمح باستعلامات باللغة الطبيعية مثل "شخص يحمل حقيبة" أو "مركبات قيد الحركة".
- Speed Estimation: قم بتقدير سرعة الكائنات باستخدام YOLO26 وتقنيات تتبع الكائنات، وهو أمر بالغ الأهمية لتطبيقات مثل المركبات ذاتية القيادة ومراقبة المرور.
- Track Objects in Zone: تعلم كيفية تتبع الكائنات داخل مناطق محددة من إطارات الفيديو باستخدام YOLO26 لمراقبة دقيقة وفعالة.
- VisionEye View Objects Mapping: طور أنظمة تحاكي تركيز العين البشرية على كائنات محددة، مما يعزز قدرة الكمبيوتر على تمييز وتحديد أولويات التفاصيل.
- Workouts Monitoring: اكتشف كيفية مراقبة التمارين الرياضية باستخدام 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 | int | 90 | عتبة الزاوية لوضعية 'للأسفل'. |
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) للحلول. |
figsize | tuple[float, float] | (12.8, 7.2) | حجم الشكل لرسوم التحليلات البيانية مثل الخرائط الحرارية أو الرسوم البيانية. |
fps | float | 30.0 | عدد الإطارات في الثانية المستخدم لحسابات السرعة. |
max_hist | int | 5 | أقصى عدد من النقاط التاريخية لتتبع كل كائن لحسابات السرعة/الاتجاه. |
meter_per_pixel | float | 0.05 | عامل القياس المستخدم لتحويل المسافة بالبكسل إلى وحدات واقعية. |
max_speed | int | 120 | حد السرعة الأقصى في التراكبات المرئية (يستخدم في التنبيهات). |
data | str | 'images' | المسار إلى دليل الصور المستخدم للبحث عن التشابه. |
imgsz | int | 640 | حجم صورة الإدخال لاستدلال النموذج. |
تمرر الحلول بعض وسائطها إلى track، وتحديداً tracker وconf وiou وclasses وdevice.
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
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_conf وshow_labels والوسائط الأخرى المذكورة لتخصيص التصور.
| الوسيط | النوع | الافتراضي | الوصف |
|---|---|---|---|
show | bool | False | إذا كان True، يعرض الصور أو الفيديوهات المشروحة في نافذة. مفيد للحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار. |
show_conf | bool | True | يعرض درجة الثقة لكل اكتشاف بجانب التصنيف. يوفر رؤية حول مدى يقين النموذج في كل اكتشاف. |
show_labels | bool | True | يعرض تصنيفات كل اكتشاف في المخرجات المرئية. يوفر فهماً فورياً للكائنات المكتشفة. |
استخدام SolutionAnnotator#
تستخدم جميع حلول Ultralytics الفئة المنفصلة SolutionAnnotator، والتي تمتد من الفئة الرئيسية Annotator، وتتضمن الطرق التالية:
| الطريقة (Method) | نوع الإرجاع | الوصف |
|---|---|---|
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 | يرسم تسمية خلفية دائرية أو مستطيلة في مركز صندوق الإحاطة (bounding box). |
العمل باستخدام 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, # display the output
region=region_points, # pass region points
model="yolo26n.pt", # model="yolo26n-obb.pt" for object counting with OBB model.
# classes=[0, 2], # count specific classes i.e. person and car with COCO pretrained model.
# tracker="botsort.yaml" # Choose trackers i.e "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 على السمات التالية:
| السمة (Attribute) | النوع | الوصف |
|---|---|---|
plot_im | np.ndarray | صورة مع تراكبات مرئية مثل التعدادات، تأثيرات التمويه، أو تحسينات خاصة بالحل. |
in_count | int | إجمالي عدد الكائنات المكتشفة التي تدخل المنطقة المحددة في بث الفيديو. |
out_count | int | إجمالي عدد الكائنات المكتشفة التي تغادر المنطقة المحددة في بث الفيديو. |
classwise_count | Dict[str, int] | قاموس يسجل أعداد الكائنات الداخلة/الخارجة حسب الفئة للتحليلات المتقدمة. |
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[str, float] | قاموس خاص بالمسارات لسرعات الكائنات المحسوبة، مفيد لتحليل السرعة. |
total_crop_objects | int | إجمالي عدد صور الكائنات المقصوصة التي تم إنشاؤها بواسطة حل ObjectCropper. |
speed | Dict[str, float] | قاموس يحتوي على مقاييس الأداء للتتبع ومعالجة الحل. |
لمزيد من التفاصيل، راجع توثيق الفئة SolutionResults.
استخدام الحلول عبر CLI#
يمكن استخدام معظم الحلول مباشرة عبر واجهة سطر الأوامر، بما في ذلك:
Count، Crop، Blur، Workout، Heatmap، Isegment، Visioneye، Speed، Queue، Analytics، Inference، Trackzone
الصيغة
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 لعد الكائنات في الوقت الفعلي من خلال الاستفادة من قدراته المتقدمة في اكتشاف الكائنات. يمكنك اتباع دليلنا المفصل حول Object Counting لإعداد YOLO26 لتحليل تدفق الفيديو المباشر. ما عليك سوى تثبيت YOLO26، وتحميل نموذجك، ومعالجة إطارات الفيديو لعد الكائنات ديناميكياً.
يعمل Ultralytics YOLO26 على تحسين أنظمة الأمان من خلال توفير اكتشاف الكائنات في الوقت الفعلي وآليات التنبيه. باستخدام YOLO26، يمكنك إنشاء نظام إنذار أمني يطلق تنبيهات عند اكتشاف كائنات جديدة في منطقة المراقبة. تعرف على كيفية إعداد Security Alarm System باستخدام YOLO26 لمراقبة أمنية قوية.
يمكن لـ Ultralytics YOLO26 تحسين أنظمة إدارة الطوابير بشكل كبير من خلال عد وتتبع الأفراد في الطوابير بدقة، مما يساعد على تقليل أوقات الانتظار وتحسين كفاءة الخدمة. اتبع دليلنا المفصل حول Queue Management لتتعلم كيفية تنفيذ YOLO26 لمراقبة وتحليل فعالين للطوابير.
نعم، يمكن استخدام Ultralytics YOLO26 بفعالية لمراقبة التمارين الرياضية عن طريق تتبع وتحليل روتينات اللياقة البدنية في الوقت الفعلي. يتيح ذلك تقييمًا دقيقًا لشكل التمرين والأداء. استكشف دليلنا حول Workouts Monitoring لتتعلم كيفية إعداد نظام مراقبة تمارين مدعوم بالذكاء الاصطناعي باستخدام YOLO26.
يمكن لـ Ultralytics YOLO26 توليد خرائط حرارية لتصوير كثافة البيانات عبر منطقة معينة، وتسليط الضوء على مناطق النشاط العالي أو الاهتمام. هذه الميزة مفيدة بشكل خاص في فهم الأنماط والاتجاهات في مختلف مهام الرؤية الحاسوبية. اعلم المزيد حول إنشاء واستخدام Heatmaps مع YOLO26 لتحليل وتصور البيانات الشامل.