تخطي إلى المحتوى

تصور البيانات المتقدم: الخرائط الحرارية باستخدام Ultralytics YOLO26 🚀

مقدمة إلى الخرائط الحرارية (Heatmaps)

افتح الخرائط الحرارية في Colab

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



شاهد: الخرائط الحرارية باستخدام Ultralytics YOLO26

لماذا نختار الخرائط الحرارية لتحليل البيانات؟

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

تطبيقات العالم الحقيقي

المواصلاتالبيع بالتجزئة
خريطة حرارية للنقل من Ultralytics YOLO26خريطة حرارية للبيع بالتجزئة من Ultralytics YOLO26
خريطة حرارية للنقل من Ultralytics YOLO26خريطة حرارية للبيع بالتجزئة من Ultralytics YOLO26

خرائط التمثيل اللوني باستخدام 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)]"
import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

# Video writer
w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# For object counting with heatmap, you can pass region points.
# region_points = [(20, 400), (1080, 400)]                                      # line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]              # rectangle region
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360), (20, 400)]   # polygon points

# Initialize heatmap object
heatmap = solutions.Heatmap(
    show=True,  # display the output
    model="yolo26n.pt",  # path to the YOLO26 model file
    colormap=cv2.COLORMAP_PARULA,  # colormap of heatmap
    # region=region_points,  # object counting with heatmaps, you can pass region_points
    # classes=[0, 2],  # generate heatmap for specific classes, e.g., person and car.
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()

    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = heatmap(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the processed frame.

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

Heatmap() الوسائط

إليك جدول مع Heatmap arguments:

الوسيطةالنوعافتراضيالوصف
modelstrNoneمسار إلى ملف نموذج Ultralytics YOLO.
colormapintcv2.COLORMAP_JETمخطط الألوان المراد استخدامه للخريطة الحرارية.
show_inboolTrueFlag للتحكم فيما إذا كان سيتم عرض عدد الأسماك الداخلة في بث الفيديو.
show_outboolTrueFlag للتحكم فيما إذا كان سيتم عرض عدد الأسماك الخارجة في بث الفيديو.
regionlist'[(20, 400), (1260, 400)]'قائمة النقاط التي تحدد منطقة العد.

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

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

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

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

خرائط التمثيل اللوني الحراري

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

تُستخدم خرائط الألوان هذه بشكل شائع لتصور البيانات بتمثيلات لونية مختلفة.

كيف تعمل الخرائط الحرارية في Ultralytics YOLO26

يُوسّع حل الخرائط الحرارية في Ultralytics YOLO26 فئة ObjectCounter لتوليد وتصور أنماط الحركة في تدفقات الفيديو. عند التهيئة، يُنشئ الحل طبقة خريطة حرارية فارغة يتم تحديثها مع تحرك الكائنات عبر الإطار.

لكل كائن يتم اكتشافه، الحل هو:

  1. تتبع الكائن عبر الإطارات باستخدام إمكانيات track الخاصة بـ YOLO26
  2. يقوم بتحديث كثافة الخريطة الحرارية في موقع الكائن
  3. يطبق مخطط ألوان محدد لتصور قيم الشدة
  4. تراكب الخريطة الحرارية الملونة على الإطار الأصلي

والنتيجة هي تصور ديناميكي يتراكم بمرور الوقت، ويكشف عن أنماط حركة المرور أو تحركات الحشود أو السلوكيات المكانية الأخرى في بيانات الفيديو الخاصة بك.

الأسئلة الشائعة

كيف تُنشئ Ultralytics YOLO26 الخرائط الحرارية وما هي فوائدها؟

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

هل يمكنني استخدام Ultralytics YOLO26 لإجراء track الكائنات وتوليد خريطة حرارية في وقت واحد؟

نعم، تدعم Ultralytics YOLO26 تتبع الكائنات وتوليد الخرائط الحرارية بشكل متزامن. يمكن تحقيق ذلك من خلال Heatmap الحل المدمج مع نماذج تتبع الكائنات. للقيام بذلك، تحتاج إلى تهيئة كائن الخريطة الحرارية واستخدام إمكانيات تتبع YOLO26. إليك مثال بسيط:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo26n.pt")

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

لمزيد من الإرشادات، تحقق من صفحة وضع التتبع.

ما الذي يميز الخرائط الحرارية لـ Ultralytics YOLO26 عن أدوات تصور البيانات الأخرى مثل تلك من OpenCV أو Matplotlib؟

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

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

يمكنك تصور فئات كائنات معينة عن طريق تحديد الفئات المطلوبة في track() طريقة لنموذج YOLO. على سبيل المثال، إذا كنت تريد فقط تصور السيارات والأشخاص (بافتراض أن مؤشرات فئتهم هي 0 و 2)، فيمكنك تعيين classes المعلمة وفقًا لذلك.

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()

لماذا يجب على الشركات اختيار Ultralytics YOLO26 لتوليد الخرائط الحرارية في تحليل البيانات؟

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



📅 تم الإنشاء قبل 2 أعوام ✏️ تم التحديث قبل 2 أيام
glenn-jocherRizwanMunawarRizwanMunawarMatthewNoycepderrengerUltralyticsAssistantIvorZhu331AyushExelYOLOv5-Magic

تعليقات