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

Watch: How to Run Ultralytics Solutions from the Command Line (CLI) | Ultralytics YOLO26 🚀
الحلول#
إليك قائمتنا المنتقاة من حلول Ultralytics التي يمكن استخدامها لإنشاء مشاريع رائعة في الرؤية الحاسوبية.
- التحليلات: أجرِ تحليلًا شاملًا للبيانات لاكتشاف الأنماط واتخاذ قرارات مستنيرة، مع الاستفادة من YOLO26 في التحليلات الوصفية والتنبؤية والتوجيهية.
- حساب المسافة: احسب المسافات بين الكائنات باستخدام مراكز الصناديق المحيطة في YOLO26، وهو أمر أساسي للتحليل المكاني.
- الخرائط الحرارية: استخدم خرائط الكشف الحرارية لتصوير كثافة البيانات عبر مصفوفة، وتوفير رؤى واضحة في مهام الرؤية الحاسوبية.
- تقسيم المثيلات مع تتبع الكائنات: نفّذ تقسيم المثيلات وتتبع الكائنات باستخدام YOLO26 لتحقيق حدود دقيقة للكائنات ومراقبة مستمرة.
- الاستدلال المباشر باستخدام Streamlit: استفد من قوة YOLO26 لإجراء كشف الكائنات في الوقت الفعلي مباشرةً عبر متصفح الويب باستخدام واجهة Streamlit سهلة الاستخدام.
- تمويه الكائنات: طبّق تمويه الكائنات باستخدام YOLO26 لحماية الخصوصية أثناء معالجة الصور ومقاطع الفيديو.
- عدّ الكائنات: تعلّم إجراء عدّ الكائنات في الوقت الفعلي باستخدام YOLO26. واكتسب الخبرة اللازمة لعدّ الكائنات بدقة في تدفقات الفيديو المباشرة.
- عدّ الكائنات في المناطق: عُدّ الكائنات في مناطق محددة باستخدام YOLO26 لتحقيق كشف دقيق في مناطق متنوعة.
- اقتطاع الكائنات: أتقن اقتطاع الكائنات باستخدام YOLO26 لاستخراج الكائنات بدقة من الصور ومقاطع الفيديو.
- إدارة مواقف السيارات: نظّم حركة المركبات ووجّهها في مناطق مواقف السيارات باستخدام YOLO26، مع تحسين الاستفادة من المساحة وتجربة المستخدم.
- إدارة قوائم الانتظار: نفّذ أنظمة فعالة لإدارة قوائم الانتظار لتقليل أوقات الانتظار وتحسين الإنتاجية باستخدام YOLO26.
- نظام إنذار أمني: أنشئ نظام إنذار أمني باستخدام YOLO26 يطلق تنبيهات عند اكتشاف كائنات جديدة. خصّص النظام ليلائم احتياجاتك المحددة.
- البحث عن التشابه: فعّل استرجاع الصور الذكي من خلال دمج تضمينات OpenAI CLIP مع البحث بالتشابه الجيبي، مما يتيح استعلامات باللغة الطبيعية مثل "شخص يحمل حقيبة" أو "مركبات تتحرك".
- تقدير السرعة: قدّر سرعة الكائنات باستخدام YOLO26 وتقنيات تتبع الكائنات، وهو أمر بالغ الأهمية لتطبيقات مثل المركبات ذاتية القيادة ومراقبة حركة المرور.
- تتبع الكائنات في منطقة: تعلّم كيفية تتبع الكائنات داخل مناطق محددة من إطارات الفيديو باستخدام YOLO26 لتحقيق مراقبة دقيقة وفعالة.
- تعيين الكائنات من منظور VisionEye: طوّر أنظمة تحاكي تركيز العين البشرية على كائنات محددة، مما يعزز قدرة الحاسوب على تمييز التفاصيل وترتيب أولوياتها.
- مراقبة التمارين: اكتشف كيفية مراقبة التمارين باستخدام 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 | عتبة الزاوية لوضعية "up". |
kpts | list[int] | '[6, 8, 10]' | قائمة بثلاثة مؤشرات للنقاط الرئيسية المستخدمة لمراقبة التمارين. وتتوافق هذه النقاط الرئيسية مع مفاصل أو أجزاء الجسم، مثل الكتفين والمرفقين والمعصمين، لتمارين مثل تمارين الضغط والعقلة والقرفصاء وتمارين عضلات البطن. |
down_angle | int | 90 | عتبة الزاوية لوضعية "down". |
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 | حجم صورة الإدخال لاستدلال النموذج. |
تمرر الحلول وسائط الاستدلال والتتبع أدناه إلى model.track().
| الوسيطة | النوع | الافتراضي | الوصف |
|---|---|---|---|
tracker | str | 'botsort.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/غير محدد (FP32) لنموذجي PyTorch وTorchScript؛ بينما تحسب التنسيقات الأخرى بالدقة التي تحددها ملفاتها ومحيط تشغيلها. يحل محل علامة 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, # 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 على السمات التالية:
| السمة | النوع | الوصف |
|---|---|---|
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#
يمكن استخدام معظم الحلول مباشرة من خلال واجهة سطر الأوامر.
البنية
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 لإجراء تحليل شامل للبيانات وتصويرها.