Ultralytics YOLO27:
Get Started

حلول Ultralytics: تسخير YOLO26 لحل مشكلات العالم الحقيقي#

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

صورة مصغرة لحلول Ultralytics



شاهد: كيفية تشغيل حلول Ultralytics من سطر الأوامر (CLI) | Ultralytics YOLO26 🚀

الحلول#

إليك قائمة مختارة من حلول Ultralytics التي يمكن استخدامها لإنشاء مشاريع رائعة في الرؤية الحاسوبية.

  • التحليلات: أجرِ تحليلًا شاملًا للبيانات لاكتشاف الأنماط واتخاذ قرارات مستنيرة، مع الاستفادة من YOLO26 في التحليلات الوصفية والتنبؤية والتوجيهية.
  • حساب المسافة: احسب المسافات بين الكائنات باستخدام مراكز الصناديق المحيطة في YOLO26، وهو أمر أساسي للتحليل المكاني.
  • الخرائط الحرارية: استخدم الخرائط الحرارية للكشف عن البيانات لعرض شدة البيانات عبر مصفوفة، وتوفير رؤى واضحة في مهام الرؤية الحاسوبية.
  • تجزئة المثيلات مع تتبع الكائنات: نفّذ تجزئة المثيلات وتتبع الكائنات باستخدام YOLO26 لتحقيق حدود دقيقة للكائنات ومراقبتها باستمرار.
  • الاستدلال المباشر باستخدام Streamlit: استفد من إمكانات YOLO26 لإجراء كشف الكائنات في الوقت الفعلي مباشرةً عبر متصفح الويب، باستخدام واجهة Streamlit سهلة الاستخدام.
  • تمويه الكائنات: طبّق تمويه الكائنات باستخدام YOLO26 لحماية الخصوصية عند معالجة الصور ومقاطع الفيديو.
  • عدّ الكائنات: تعلّم إجراء عدّ الكائنات في الوقت الفعلي باستخدام YOLO26. اكتسب الخبرة اللازمة لعدّ الكائنات بدقة في تدفقات الفيديو المباشرة.
  • عدّ الكائنات ضمن مناطق: عدّ الكائنات في مناطق محددة باستخدام YOLO26 لتحقيق كشف دقيق في نطاقات متنوعة.
  • اقتصاص الكائنات: أتقن اقتصاص الكائنات باستخدام YOLO26 لاستخراجها بدقة من الصور ومقاطع الفيديو.
  • إدارة مواقف السيارات: نظّم حركة المركبات ووجّهها في مناطق مواقف السيارات باستخدام YOLO26، مع تحسين استغلال المساحة وتجربة المستخدم.
  • إدارة الطوابير: نفّذ أنظمة فعالة لإدارة الطوابير لتقليل أوقات الانتظار وتحسين الإنتاجية باستخدام YOLO26.
  • نظام إنذار أمني: أنشئ نظام إنذار أمني باستخدام YOLO26 يطلق التنبيهات عند اكتشاف كائنات جديدة. خصّص النظام ليلائم احتياجاتك المحددة.
  • البحث عن التشابه: أتِح استرجاع الصور الذكي بدمج تضمينات OpenAI CLIP مع البحث باستخدام التشابه جيبي التمام، بما يسمح باستعلامات باللغة الطبيعية مثل «شخص يحمل حقيبة» أو «مركبات متحركة».
  • تقدير السرعة: قدّر سرعة الكائنات باستخدام YOLO26 وتقنيات تتبع الكائنات، وهو أمر بالغ الأهمية لتطبيقات مثل المركبات ذاتية القيادة ومراقبة حركة المرور.
  • تتبع الكائنات في منطقة: تعلّم تتبع الكائنات ضمن مناطق محددة من إطارات الفيديو باستخدام YOLO26 لتحقيق مراقبة دقيقة وفعالة.
  • رؤية العين وتعيين الكائنات: طوّر أنظمة تحاكي تركيز العين البشرية على كائنات محددة، ما يعزز قدرة الحاسوب على تمييز التفاصيل وترتيب أولوياتها.
  • مراقبة التمارين: اكتشف كيفية مراقبة التمارين باستخدام YOLO26. تعلّم تتبع مختلف برامج اللياقة البدنية وتحليلها في الوقت الفعلي.

وسائط الحلول#

المعاملالنوعالافتراضيالوصف
modelstrNoneمسار ملف نموذج Ultralytics YOLO.
regionlist أو dictNoneالنقاط التي تحدد منطقة الاهتمام، سواء أكانت قائمة من الصفوف (x, y) أم قاموسًا يربط أسماء المناطق بقوائم النقاط لمناطق متعددة (في RegionCounter فقط). عندما يكون None، تستخدم الحلول التي تتطلب منطقة إعدادًا افتراضيًا محددًا مسبقًا.
show_inboolTrueعلم للتحكم في عرض أعداد الدخول على بث الفيديو.
show_outboolTrueعلم للتحكم في عرض أعداد الخروج على بث الفيديو.
analytics_typestr'line'نوع المخطط، مثل line أو bar أو area أو pie.
colormapintcv2.COLORMAP_DEEPGREENخريطة الألوان المستخدمة للخريطة الحرارية.
line_widthint2سماكة الخط للصناديق والنقاط المفتاحية والعدادات التي يرسمها الحل.
verboseboolTrueيفعّل سجل الحل لكل إطار، ويشمل شكل المدخل وعدد الفئات وسرعة المعالجة. يظل استدعاء التتبع نفسه صامتًا دائمًا.
json_filestrNoneمسار ملف JSON الذي يحتوي على جميع بيانات إحداثيات مواقف السيارات.
up_anglefloat145.0عتبة زاوية وضعية «الأعلى».
kptslist[int][6, 8, 10]قائمة بثلاثة فهارس للنقاط المفتاحية تُستخدم لمراقبة التمارين. وتتوافق هذه النقاط المفتاحية مع مفاصل الجسم أو أجزائه، مثل الكتفين والمرفقين والمعصمين، في تمارين مثل الضغط والعقلة والقرفصاء وتمارين البطن.
down_anglefloat90.0عتبة زاوية وضعية «الأسفل».
blur_ratiofloat0.5يضبط نسبة شدة التمويه، ضمن النطاق 0.1 - 1.0.
crop_dirstr'cropped-detections'اسم الدليل الذي تُحفظ فيه الاكتشافات المقصوصة.
recordsint5إجمالي عدد الاكتشافات اللازم لإطلاق رسالة بريد إلكتروني مع نظام إنذار أمني.
vision_pointtuple[int, int](20, 20)النقطة التي ستتتبع منها الرؤية الأجسام وترسم المسارات باستخدام حل VisionEye.
sourcestrNoneمسار مصدر الإدخال (فيديو، RTSP، وما إلى ذلك). لا يمكن استخدامه إلا مع واجهة سطر الأوامر (CLI) الخاصة بـ Solutions.
figsizetuple[float, float](12.8, 7.2)حجم الشكل بالبوصة لمخططات Analytics؛ يعرض (12.8, 7.2) إطارًا بدقة 1280×720.
fpsfloat30.0عدد الإطارات في الثانية المستخدم لحساب السرعة.
max_histint5الحد الأقصى لعدد النقاط التاريخية التي تُتتبع لكل جسم لحساب السرعة والاتجاه.
meter_per_pixelfloat0.05عامل القياس المستخدم لتحويل المسافة بالبكسل إلى وحدات العالم الحقيقي.
max_speedint120السرعة القصوى بالكيلومتر في الساعة؛ تُحدّ السرعات المقدّرة الأعلى بهذه القيمة.
datastr'images'مسار دليل الصور المستخدم للبحث عن الصور المتشابهة.
imgszint640حجم صورة الإدخال لاستدلال النموذج.
وسائط التتبع

تمرر الحلول وسائط الاستدلال والتتبع التالية إلى model.track().

المعاملالنوعالافتراضيالوصف
trackerstr'tracktrack.yaml'يحدد خوارزمية التتبع المطلوب استخدامها. الخيارات المضمنة: botsort.yaml، bytetrack.yaml، ocsort.yaml، deepocsort.yaml، fasttrack.yaml، tracktrack.yaml.
conffloat0.25يضبط عتبة الثقة للكشوفات؛ إذ تسمح القيم الأقل بتتبع مزيد من الكائنات، لكنها قد تتضمن إيجابيات كاذبة.
ioufloat0.7يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الكشوفات المتداخلة.
classeslistNoneيصفّي النتائج حسب فهرس الفئة. على سبيل المثال، لا يتتبع classes=[0, 2, 3] إلا الفئات المحددة.
devicestrNoneيحدد الجهاز المستخدم للاستدلال (مثل cpu أو cuda:0 أو 0). ويتيح للمستخدمين الاختيار بين CPU أو GPU محددة أو أجهزة حوسبة أخرى لتنفيذ النموذج.
imgszint or tuple640حجم صورة الاستدلال المستهدف: عدد صحيح لصورة مربعة، أو زوج (height, width). تُعدّل الأبعاد وفقًا لخطوة النموذج.
max_detint300الحد الأقصى لعدد الكشوفات التي يُحتفظ بها لكل إطار قبل التتبع، ما يحد من عدد الكائنات التي يعالجها الحل في المشاهد الكثيفة.
quantizeint or strNoneدقة الاستدلال: 16 (FP16) أو 32/unset (FP32) لنماذج PyTorch وTorchScript خارج CPU؛ أما التنسيقات الأخرى فتستخدم الدقة التي يحددها الملف الاصطناعي وبيئة التشغيل. يحل هذا الوسيط محل الوسيطة half المهملة.
وسائط التصور

يمكنك استخدام show_conf وshow_labels وغيرها من الوسائط المذكورة لتخصيص التصور.

المعاملالنوعالافتراضيالوصف
showboolFalseإذا كان True، يعرض الصور أو مقاطع الفيديو المشروحة في نافذة. يفيد ذلك في الحصول على ملاحظات مرئية فورية أثناء التطوير أو الاختبار.
show_confboolTrueيعرض درجة الثقة لكل اكتشاف بجوار التسمية، ما يوضح مدى يقين النموذج بشأن كل اكتشاف.
show_labelsboolTrueيعرض تسميات كل اكتشاف في المخرجات المرئية، ما يتيح فهم الكائنات المكتشفة فورًا.

استخدام 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.
SolutionResults
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_imnp.ndarrayصورة تتضمن تراكبات مرئية، مثل الأعداد أو تأثيرات التمويه أو التحسينات الخاصة بالحل.
in_countintإجمالي عدد الكائنات التي اكتُشفت أثناء دخولها المنطقة المحددة في تدفق الفيديو.
out_countintإجمالي عدد الكائنات التي اكتُشفت أثناء خروجها من المنطقة المحددة في تدفق الفيديو.
classwise_countdict[str, dict[str, int] | int]الأعداد حسب الفئة: {"IN": int, "OUT": int} في ObjectCounter وHeatmap، أو int في Analytics.
queue_countintعدد الكائنات الموجودة حاليًا ضمن طابور أو منطقة انتظار محددة مسبقًا (مناسب لإدارة الطوابير).
workout_countlist[int]عدد تكرارات التمرين لكل مسار في AI Gym (عنصر واحد لكل فرد يجري تتبعه حاليًا).
workout_anglelist[float]زوايا التمرين لكل مسار في AI Gym (عنصر واحد لكل فرد يجري تتبعه حاليًا).
workout_stagelist[str]مرحلة التمرين الحالية لكل مسار في AI Gym (عنصر واحد لكل فرد يجري تتبعه حاليًا).
pixels_distancefloatالمسافة بالبكسل بين كائنين أو نقطتين، مثل الصناديق المحيطة. (مناسبة لحساب المسافة).
available_slotsintعدد الأماكن الشاغرة في منطقة خاضعة للمراقبة (مناسب لإدارة مواقف السيارات).
filled_slotsintعدد الأماكن المشغولة في منطقة خاضعة للمراقبة. (مناسب لإدارة مواقف السيارات)
email_sentboolيشير إلى ما إذا كان قد أُرسل بريد إلكتروني للإشعار أو التنبيه بنجاح (مناسب لنظام الإنذار الأمني).
total_tracksintإجمالي عدد مسارات الكائنات الفريدة التي رُصدت أثناء تحليل الفيديو.
region_countsDict[str, int]أعداد الكائنات داخل المناطق أو النطاقات التي يحددها المستخدم.
speed_dictDict[int, int]قاموس بسرعات الكائنات المقدّرة لكل مسار، بوحدة كم/ساعة، من SpeedEstimator، وهو مفيد لتحليل السرعة.
total_crop_objectsintإجمالي عدد صور الكائنات المقصوصة التي أنشأها حل ObjectCropper.
speedDict[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 لإجراء تحليل شامل للبيانات وتصويرها.

التعليقات