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