Ultralytics YOLO27:

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

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

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



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. وتعلّم تتبع إجراءات اللياقة البدنية المتنوعة وتحليلها في الوقت الفعلي.

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

الوسيطةالنوعالافتراضيالوصف
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عتبة الزاوية لوضعية "up".
kptslist[int]'[6, 8, 10]'قائمة بثلاثة مؤشرات للنقاط الرئيسية المستخدمة لمراقبة التمارين. وتتوافق هذه النقاط الرئيسية مع مفاصل أو أجزاء الجسم، مثل الكتفين والمرفقين والمعصمين، لتمارين مثل تمارين الضغط والعقلة والقرفصاء وتمارين عضلات البطن.
down_angleint90عتبة الزاوية لوضعية "down".
blur_ratiofloat0.5يضبط النسبة المئوية لشدة التمويه، مع قيم ضمن النطاق 0.1 - 1.0.
crop_dirstr'cropped-detections'اسم الدليل لتخزين الاكتشافات المقتطعة.
recordsint5إجمالي عدد الاكتشافات اللازم لتشغيل إرسال بريد إلكتروني باستخدام نظام الإنذار الأمني.
vision_pointtuple[int, int](20, 20)النقطة التي سيتتبع عندها نظام الرؤية الكائنات ويرسم المسارات باستخدام حل VisionEye.
sourcestrNoneمسار مصدر الإدخال (فيديو وRTSP وغير ذلك). لا يمكن استخدامه إلا مع واجهة سطر أوامر الحلول (CLI).
figsizetuple[float, float](12.8, 7.2)حجم الشكل لمخططات التحليلات مثل الخرائط الحرارية أو الرسوم البيانية.
fpsfloat30.0عدد الإطارات في الثانية المستخدم لحسابات السرعة.
max_histint5الحد الأقصى للنقاط التاريخية التي ينبغي تتبعها لكل كائن لحسابات السرعة والاتجاه.
meter_per_pixelfloat0.05عامل القياس المستخدم لتحويل مسافة البكسل إلى وحدات العالم الحقيقي.
max_speedint120الحد الأقصى للسرعة في التراكبات المرئية (المستخدم في التنبيهات).
datastr'images'مسار دليل الصور المستخدم للبحث عن التشابه.
imgszint640حجم صورة الإدخال لاستدلال النموذج.
وسائط التتبع

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

الوسيطةالنوعالافتراضيالوصف
trackerstr'botsort.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/غير محدد (FP32) لنموذجي PyTorch وTorchScript؛ بينما تحسب التنسيقات الأخرى بالدقة التي تحددها ملفاتها ومحيط تشغيلها. يحل محل علامة 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,  # 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_imnp.ndarrayصورة تحتوي على تراكبات مرئية مثل الأعداد أو تأثيرات التمويه أو التحسينات الخاصة بالحل.
in_countintإجمالي عدد الكائنات المكتشفة التي دخلت المنطقة المحددة في دفق الفيديو.
out_countintإجمالي عدد الكائنات المكتشفة التي خرجت من المنطقة المحددة في دفق الفيديو.
classwise_countDict[str, int]قاموس يسجل أعداد الكائنات الداخلة والخارجة لكل فئة لأغراض التحليلات المتقدمة.
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[str, float]قاموس للسرعات المحسوبة للكائنات حسب المسار، وهو مفيد لتحليل السرعة.
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 لإجراء تحليل شامل للبيانات وتصويرها.

التعليقات