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

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

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

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



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

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

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

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

النقل والمواصلات البيع بالتجزئة
Ultralytics YOLO11 الخريطة الحرارية للنقل Ultralytics YOLO11 خريطة حرارة البيع بالتجزئة
Ultralytics YOLO11 الخريطة الحرارية للنقل Ultralytics 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, 400), (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, 400)]  # Define line points
# region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]  # Define region points
# region_points = [(20, 400), (1080, 400), (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()

الاسم النوع افتراضي الوصف
model str None المسار إلى Ultralytics YOLO ملف نموذج
colormap int cv2.COLORMAP_JET خريطة ملونة لاستخدامها في الخريطة الحرارية.
show bool False ما إذا كان سيتم عرض الصورة مع تراكب خريطة الحرارة.
show_in bool True ما إذا كان سيتم عرض عدد الكائنات التي تدخل المنطقة.
show_out bool True ما إذا كان سيتم عرض عدد الكائنات الخارجة من المنطقة.
region list None النقاط التي تحدد منطقة العد (إما خط أو مضلع).
line_width int 2 سماكة الخطوط المستخدمة في الرسم.

الحجج model.track

الجدال النوع افتراضي الوصف
source str None يحدد الدليل المصدر للصور أو مقاطع الفيديو. يدعم مسارات الملفات وعناوين URL.
persist bool False تمكين التتبع المستمر للكائنات بين الإطارات، والحفاظ على المعرفات عبر تسلسلات الفيديو.
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 يتحكم في عرض نتائج التتبع، مما يوفر إخراجًا مرئيًا للأجسام المتعقبة.

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

هل يمكنني استخدام 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 ، يرجى زيارة مقدمةUltralytics YOLO11 .

كيف يمكنني تصور فئات كائنات محددة فقط في الخرائط الحرارية باستخدام 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.

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

التعليقات