انتقل إلى المحتوى

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

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

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



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

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

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

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

النقلالتجزئه
Ultralytics الخريطة الحرارية لوسائل النقل YOLO11Ultralytics الخريطة الحرارية لتجارة التجزئة YOLO11
Ultralytics الخريطة الحرارية لوسائل النقل YOLO11Ultralytics الخريطة الحرارية لتجارة التجزئة YOLO11

خرائط حرارية باستخدام Ultralytics YOLO11 مثال على ذلك

# Run a heatmap example
yolo solutions heatmap show=True

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

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

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

from ultralytics import solutions

cap = cv2.VideoCapture("Path/to/video/file.mp4")
assert cap.isOpened(), "Error reading video file"
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
video_writer = cv2.VideoWriter("heatmap_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# In case you want to apply object counting + heatmaps, you can pass region points.
# region_points = [(20, 400), (1080, 404)]  # Define line points
# region_points = [(20, 400), (1080, 404), (1080, 360), (20, 360)]  # Define region points
# region_points = [(20, 400), (1080, 404), (1080, 360), (20, 360), (20, 400)]  # Define polygon points

# Init heatmap
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,  # If you want to do object counting with heatmaps, you can pass region_points
    # classes=[0, 2],  # If you want to generate heatmap for specific classes i.e person and car.
    # show_in=True,  # Display in counts
    # show_out=True,  # Display out counts
    # line_width=2,  # Adjust the line width for bounding boxes and text display
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    im0 = heatmap.generate_heatmap(im0)
    video_writer.write(im0)

cap.release()
video_writer.release()
cv2.destroyAllWindows()

الحجج Heatmap()

اسمنوعافتراضيوصف
modelstrNoneالمسار إلى Ultralytics YOLO ملف نموذج
colormapintcv2.COLORMAP_JETخريطة ملونة لاستخدامها في الخريطة الحرارية.
showboolFalseما إذا كان سيتم عرض الصورة مع تراكب خريطة الحرارة.
show_inboolTrueما إذا كان سيتم عرض عدد الكائنات التي تدخل المنطقة.
show_outboolTrueما إذا كان سيتم عرض عدد الكائنات الخارجة من المنطقة.
regionlistNoneالنقاط التي تحدد منطقة العد (إما خط أو مضلع).
line_widthint2سماكة الخطوط المستخدمة في الرسم.

الحجج model.track

جدالنوعافتراضيوصف
sourcestrNoneيحدد الدليل المصدر للصور أو مقاطع الفيديو. يدعم مسارات الملفات وعناوين URL.
persistboolFalseتمكين التتبع المستمر للكائنات بين الإطارات، والحفاظ على المعرفات عبر تسلسلات الفيديو.
trackerstrbotsort.yamlيحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال, bytetrack.yaml أو botsort.yaml.
conffloat0.3تعيين عتبة الثقة للاكتشافات؛ تسمح القيم المنخفضة بتتبع المزيد من الكائنات ولكنها قد تتضمن نتائج إيجابية كاذبة.
ioufloat0.5يضبط عتبة التقاطع على الاتحاد (IoU) لتصفية الاكتشافات المتداخلة.
classeslistNoneتصفية النتائج حسب فهرس الفئة. على سبيل المثال, classes=[0, 2, 3] يتتبع الفئات المحددة فقط.
verboseboolTrueيتحكم في عرض نتائج التتبع، مما يوفر إخراجًا مرئيًا للأجسام المتعقبة.

خريطة الحرارة 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_HSVHSV (هوى ، التشبع ، القيمة) خريطة الألوان
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 خرائط حرارية عن طريق تحويل البيانات المعقدة إلى مصفوفة مرمزة بالألوان حيث تمثل درجات الألوان المختلفة كثافة البيانات. تسهّل الخرائط الحرارية تصوّر الأنماط والارتباطات والحالات الشاذة في البيانات. تشير التدرجات اللونية الأكثر دفئًا إلى القيم الأعلى، بينما تمثل التدرجات اللونية الأكثر برودة القيم الأقل. تشمل المزايا الأساسية التصور البديهي لتوزيع البيانات، والكشف الفعال عن الأنماط، والتحليل المكاني المحسّن لاتخاذ القرارات. لمزيد من التفاصيل وخيارات التكوين، راجع قسم تكوين خريطة الحرارة.

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

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

import cv2

from ultralytics import solutions

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

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    im0 = heatmap.generate_heatmap(im0)
    cv2.imshow("Heatmap", im0)
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

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

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

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

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

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

import cv2

from ultralytics import solutions

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

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    im0 = heatmap.generate_heatmap(im0)
    cv2.imshow("Heatmap", im0)
    if cv2.waitKey(1) & 0xFF == ord("q"):
        break

cap.release()
cv2.destroyAllWindows()

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

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

📅 تم إنشاؤه منذ 11 شهرًا ✏️ تم التحديث منذ 7 أيام

التعليقات