التصور المتقدم للبيانات: خرائط حرارية باستخدام 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, 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()
اسم | نوع | افتراضي | وصف |
---|---|---|---|
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 الفريدة، يرجى زيارة مقدمة 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.