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