Meet YOLO26: next-gen vision AI.

Link to this sectionخرائط التمثيل الحراري لتتبع الكائنات باستخدام Ultralytics YOLO26#

Open Heatmaps In Colab

يعمل حل الخرائط الحرارية في Ultralytics YOLO26 على تتبع الكائنات عبر إطارات الفيديو وتراكب كثافة حركتها المتراكمة على كل إطار، بحيث تتوهج المناطق المزدحمة بألوان دافئة بينما تظل المناطق الهادئة باردة. وبفضل بنائه على تتبع الكائنات في YOLO26، فإنه يحول أي فيديو إلى خريطة نشاط مكانية تكشف تدفق حركة المرور، وحركة الحشود، ومناطق التوقف بمجرد استدعاء Python واحد أو أمر CLI.



Watch: Heatmaps using Ultralytics YOLO26

Link to this sectionلماذا نستخدم الخرائط الحرارية لتحليلات الفيديو؟#

  • رصد أنماط النشاط في لمحة سريعة: تتراكم الكثافة حيثما يقضي الكائنات المتعقبة وقتها، لذا تبرز مسارات المرور المزدحمة، أو الأرفف الشائعة، أو اختناقات الحشود دون الحاجة إلى مراجعة يدوية لكل إطار على حدة.
  • التتبع مدمج: يقوم الحل بتشغيل الكشف والتتبع في YOLO26 داخليًا، لذا لا يوجد خط تتبع منفصل يجب إعداده.
  • العد في نفس العملية: مرر region لعد الكائنات التي تدخل وتخرج من منطقة ما أثناء بناء الخريطة الحرارية، مما يجمع بين مهمتي تحليلات في تشغيل واحد.

Link to this sectionتطبيقات العالم الحقيقي#

النقلالتجزئة
تراكب خريطة حرارية من Ultralytics YOLO يوضح كثافة حركة مرور المركباتتراكب خريطة حرارية من Ultralytics YOLO يوضح حركة عملاء التجزئة
خريطة Ultralytics YOLO الحرارية للنقلخريطة Ultralytics YOLO الحرارية للبيع بالتجزئة

Link to this sectionكيفية إنشاء خرائط حرارية باستخدام Ultralytics YOLO#

قم بتشغيل حل الخريطة الحرارية على مصدر فيديو من CLI أو Python. يكتب مثال Python الإطارات المعالجة في ملف فيديو مخرج:

خرائط الحرارة باستخدام Ultralytics YOLO
# Run a heatmap example
yolo solutions heatmap show=True

# Pass a source video
yolo solutions heatmap source="path/to/video.mp4"

# Pass a custom colormap
yolo solutions heatmap colormap=cv2.COLORMAP_INFERNO

# Heatmaps + object counting
yolo solutions heatmap region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"

Link to this sectionوسائط Heatmap()#

إليك جدول يحتوي على وسائط Heatmap:

الوسيطالنوعالافتراضيالوصف
modelstrNoneالمسار إلى ملف نموذج Ultralytics YOLO.
colormapintcv2.COLORMAP_DEEPGREENخريطة الألوان لاستخدامها في الخريطة الحرارية.
show_inboolTrueعلامة للتحكم في عرض عدد الكائنات الداخلة في بث الفيديو.
show_outboolTrueعلامة للتحكم في عرض عدد الكائنات الخارجة في بث الفيديو.
regionlist أو dictNoneالنقاط التي تحدد منطقة الاهتمام، سواء كانت قائمة من أزواج (x, y) أو قاموس يربط أسماء المناطق بقوائم النقاط لمناطق متعددة (لـ RegionCounter فقط). عند ضبطها على None، تعود الحلول التي تتطلب منطقة إلى القيمة الافتراضية المحددة مسبقاً.

يمكنك أيضاً تطبيق وسائط track مختلفة في حل Heatmap.

الوسيطالنوعالافتراضيالوصف
trackerstr'botsort.yaml'يحدد خوارزمية التتبع المطلوب استخدامها. الخيارات المدمجة هي: botsort.yaml و bytetrack.yaml و ocsort.yaml و deepocsort.yaml و fasttrack.yaml و tracktrack.yaml.
conffloat0.1يضبط عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن إيجابيات كاذبة.
ioufloat0.7يضبط عتبة تقاطع الاتحاد (IoU) لتصفية الاكتشافات المتداخلة.
classeslistNoneيصفي النتائج حسب فهرس الفئة. على سبيل المثال، classes=[0, 2, 3] يتتبع الفئات المحددة فقط.
verboseboolTrueيتحكم في عرض نتائج التتبع، مما يوفر مخرجاً مرئياً للكائنات المتعقبة.
devicestrNoneيحدد الجهاز للاستدلال (على سبيل المثال، cpu أو cuda:0 أو 0). يسمح للمستخدمين بالاختيار بين وحدة المعالجة المركزية، أو وحدة معالجة رسومات محددة، أو أجهزة حوسبة أخرى لتنفيذ النموذج.

بالإضافة إلى ذلك، تم سرد وسائط التصور المدعومة أدناه:

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

Link to this sectionخرائط ألوان الخرائط الحرارية#

تقبل وسيطة colormap أي خريطة ألوان OpenCV. مرر الثابت من وحدة cv2، على سبيل المثال colormap=cv2.COLORMAP_INFERNO:

اسم خريطة الألوانالوصف
cv2.COLORMAP_AUTUMNخريطة ألوان الخريف
cv2.COLORMAP_BONEخريطة ألوان العظام
cv2.COLORMAP_JETخريطة ألوان Jet
cv2.COLORMAP_WINTERخريطة ألوان الشتاء
cv2.COLORMAP_RAINBOWخريطة ألوان قوس قزح
cv2.COLORMAP_OCEANخريطة ألوان المحيط
cv2.COLORMAP_SUMMERخريطة ألوان الصيف
cv2.COLORMAP_SPRINGخريطة ألوان الربيع
cv2.COLORMAP_COOLخريطة ألوان باردة
cv2.COLORMAP_HSVخريطة ألوان HSV (تدرج، تشبع، قيمة)
cv2.COLORMAP_PINKخريطة ألوان وردية
cv2.COLORMAP_HOTخريطة ألوان ساخنة
cv2.COLORMAP_PARULAخريطة ألوان Parula
cv2.COLORMAP_MAGMAخريطة ألوان Magma
cv2.COLORMAP_INFERNOخريطة ألوان Inferno
cv2.COLORMAP_PLASMAخريطة ألوان Plasma
cv2.COLORMAP_VIRIDISخريطة ألوان Viridis
cv2.COLORMAP_CIVIDISخريطة ألوان Cividis
cv2.COLORMAP_TWILIGHTخريطة ألوان الشفق
cv2.COLORMAP_TWILIGHT_SHIFTEDخريطة ألوان الشفق المزيح
cv2.COLORMAP_TURBOخريطة ألوان Turbo
cv2.COLORMAP_DEEPGREENخريطة ألوان أخضر داكن

Link to this sectionكيف تعمل الخرائط الحرارية#

يعمل حل الخريطة الحرارية على توسيع فئة ObjectCounter. في أول إطار معالج، يتم إنشاء طبقة كثافة فارغة تطابق حجم الإطار. ثم يتم معالجة كل إطار في خطوتين:

  1. يكتشف تتبع YOLO26 كل كائن في الإطار ويتابعه
  2. لكل كائن يتم تتبعه، تزداد كثافة الخريطة الحرارية داخل منطقة دائرية تتمحور حول مربع الإحاطة الخاص به

مرة واحدة في كل إطار، يتم تسوية طبقة الكثافة المتراكمة وتلوينها بخريطة الألوان المحددة ودمجها مع الإطار الأصلي. يظهر التراكب بمجرد تتبع كائن واحد على الأقل؛ وتُعرض الإطارات التي لا تحتوي على كائنات متتبعة بدون تراكب الخريطة الحرارية.

والنتيجة هي تصور ديناميكي يتراكم بمرور الوقت، ويكشف عن أنماط حركة المرور، أو حركات الحشود، أو غيرها من السلوكيات المكانية في بيانات الفيديو الخاصة بك. عند ضبط region، يقوم الحل أيضًا بعد الكائنات التي تدخل وتخرج من تلك المنطقة أثناء بناء الخريطة الحرارية.

Link to this sectionالخلاصة#

يحول حل الخريطة الحرارية Ultralytics YOLO26 نتائج تتبع الكائنات إلى تراكب نشاط بديهي ببضعة أسطر من التعليمات البرمجية. وللمضي قدمًا، ادمجه مع عد الكائنات، أو استكشف حلول Ultralytics الأخرى، أو اقرأ عن وضع التتبع الأساسي.

Link to this sectionالأسئلة الشائعة#

Link to this sectionكيف يقوم Ultralytics YOLO26 بإنشاء خرائط حرارية من فيديو؟#

ينشئ Ultralytics YOLO26 خرائط حرارية من خلال تتبع الكائنات عبر إطارات الفيديو وتراكم قيمة كثافة في موقع كل كائن متتبع، ثم تلوين النتيجة ودمجها مع الإطار الأصلي. المناطق التي تظهر فيها الكائنات بشكل متكرر أو تتباطأ فيها تتراكم فيها كثافة أعلى وتظهر بألوان أكثر دفئًا. للحصول على خيارات التكوين، ارجع إلى قسم وسائط Heatmap().

Link to this sectionكيف أحفظ مخرجات الخريطة الحرارية في ملف فيديو؟#

استخدم cv2.VideoWriter الخاص بـ OpenCV واكتب results.plot_im لكل إطار معالج، كما هو موضح في المثال الرئيسي. تحتوي السمة plot_im على الإطار مع تطبيق تراكب الخريطة الحرارية بالفعل.

Link to this sectionهل يمكنني دمج الخرائط الحرارية مع عد الكائنات؟#

نعم. مرر وسيطة region إلى Heatmap() مع نقاط خط أو مستطيل أو مضلع، وسيقوم الحل بعد الكائنات التي تدخل وتخرج من تلك المنطقة أثناء بناء الخريطة الحرارية. تتضمن النتائج المعادة in_count و out_count وعدد الكائنات لكل فئة. راجع دليل عد الكائنات للحصول على تفاصيل تكوين المنطقة.

Link to this sectionكيف يمكنني تصور فئات كائنات محددة فقط في خرائط الحرارة باستخدام Ultralytics YOLO26؟#

مرر وسيطة classes إلى Heatmap() مع فهارس الفئات التي تريد الاحتفاظ بها. على سبيل المثال، classes=[0, 2] يبني الخريطة الحرارية فقط من الأشخاص والسيارات (فهارس فئة COCO 0 و 2):

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo26n.pt", classes=[0, 2])

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()

Link to this sectionما الذي يجعل خرائط حرارة Ultralytics YOLO26 مختلفة عن أدوات تصور البيانات الأخرى مثل تلك الموجودة في OpenCV أو Matplotlib؟#

تدمج خرائط Ultralytics YOLO26 الحرارية اكتشاف الكائنات، والتتبع، وتراكم الكثافة، وعرض التراكب في استدعاء واحد، بينما تتطلب الأدوات العامة مثل OpenCV أو Matplotlib بناء ذلك الخط بنفسك. يعالج الحل تدفقات الفيديو في الوقت الفعلي ويدعم التتبع المستمر وخرائط الألوان القابلة للتخصيص بشكل جاهز. للحصول على تفاصيل حول النموذج الأساسي، راجع صفحة نموذج YOLO26.

التعليقات