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

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

مقدمة في الخرائط الحرارية

فتح الخرائط الحرارية في كولاب

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



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

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

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

التطبيقات الواقعية

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

الخرائط الحرارية باستخدام 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="yolo11n.pt",  # path to the YOLO11 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 i.e 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 الحجج

الجدال النوع افتراضي الوصف
model str None المسار إلى ملف نموذج Ultralytics YOLO Model File.
colormap int cv2.COLORMAP_JET خريطة ملونة لاستخدامها في الخريطة الحرارية.
show_in bool True علامة للتحكم في ما إذا كان سيتم عرض التعداد الداخلي على دفق الفيديو أم لا.
show_out bool True علامة للتحكم في ما إذا كان سيتم عرض الأعداد الخارجة على دفق الفيديو.
region list [(20, 400), (1260, 400)] قائمة النقاط التي تحدد منطقة العد.

يمكنك أيضًا تطبيق track الحجج في Heatmap الحل.

الجدال النوع افتراضي الوصف
tracker str 'botsort.yaml' يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال, bytetrack.yaml أو botsort.yaml.
conf float 0.3 تعيين عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة.
iou float 0.5 يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة.
classes list None تصفية النتائج حسب فهرس الفئة. على سبيل المثال, classes=[0, 2, 3] يتتبع الفئات المحددة فقط.
verbose bool True يتحكم في عرض نتائج التتبع، مما يوفر إخراجًا مرئيًا للأجسام المتعقبة.
device str None يحدد جهاز الاستدلال (على سبيل المثال, cpu, cuda:0 أو 0). يسمح للمستخدمين بالاختيار بين CPU ، أو جهاز GPU معين، أو أجهزة حوسبة أخرى لتنفيذ النموذج.

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

الجدال النوع افتراضي الوصف
show bool False إذا كان Trueيعرض الصور أو مقاطع الفيديو المشروحة في نافذة. مفيد للتعليقات المرئية الفورية أثناء التطوير أو الاختبار.
line_width None or int None يحدد عرض خط المربعات المحدودة. إذا كان None، يتم ضبط عرض الخط تلقائيًا بناءً على حجم الصورة. يوفر تخصيصاً مرئياً للوضوح.

الخريطة الحرارية COLORMAPs

اسم الخريطة الملونة الوصف
cv::COLORMAP_AUTUMN خريطة ألوان الخريف
cv::COLORMAP_BONE خريطة ألوان العظام
cv::COLORMAP_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 خريطة ألوان بارولا
cv::COLORMAP_MAGMA خريطة ألوان الصهارة
cv::COLORMAP_INFERNO خريطة ألوان إنفيرنو
cv::COLORMAP_PLASMA خريطة ألوان البلازما
cv::COLORMAP_VIRIDIS خريطة ألوان فيريديس
cv::COLORMAP_CIVIDIS خريطة ألوان سيفيديس
cv::COLORMAP_TWILIGHT خريطة ألوان الشفق
cv::COLORMAP_TWILIGHT_SHIFTED خريطة ألوان الشفق المتحول
cv::COLORMAP_TURBO خريطة الألوان التوربينية
cv::COLORMAP_DEEPGREEN خريطة باللون الأخضر الداكن

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

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

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

لكل جسم مكتشف، الحل

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

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

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

كيف يقوم الموقع الإلكتروني Ultralytics YOLO11 بتوليد الخرائط الحرارية وما هي فوائدها؟

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

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

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

import cv2

from ultralytics import solutions

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

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

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

ما الذي يجعل الخرائط الحرارية Ultralytics YOLO11 مختلفة عن غيرها من أدوات تصور البيانات الأخرى مثل تلك الموجودة في OpenCV أو Matplotlib؟

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

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

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

import cv2

from ultralytics import solutions

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

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

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

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

📅 تم إنشاؤها منذ 1 سنة مضت ✏️ تم التحديث منذ 5 أيام

التعليقات