تصور البيانات المتقدم: الخرائط الحرارية باستخدام Ultralytics YOLO26 🚀
مقدمة إلى الخرائط الحرارية (Heatmaps)
تقوم الخريطة الحرارية التي تم إنشاؤها باستخدام Ultralytics YOLO26 بتحويل البيانات المعقدة إلى مصفوفة نابضة بالحياة ومُرمزة بالألوان. تستخدم هذه الأداة المرئية طيفًا من الألوان لتمثيل قيم البيانات المتغيرة، حيث تشير الألوان الأكثر دفئًا إلى شدة أعلى بينما تدل الألوان الأكثر برودة على قيم أقل. تتفوق الخرائط الحرارية في تصور أنماط البيانات المعقدة والارتباطات والشذوذات، مما يوفر نهجًا سهل الوصول وجذابًا لتفسير البيانات عبر مجالات متنوعة.
شاهد: الخرائط الحرارية باستخدام Ultralytics YOLO26
لماذا نختار الخرائط الحرارية لتحليل البيانات؟
- تصور توزيع البيانات البديهي: تعمل الخرائط الحرارية على تبسيط فهم تركيز البيانات وتوزيعها، وتحويل مجموعات البيانات المعقدة إلى تنسيقات مرئية سهلة الفهم.
- اكتشاف الأنماط بكفاءة: من خلال تصور البيانات بتنسيق خريطة الحرارة، يصبح من الأسهل اكتشاف الاتجاهات والمجموعات والقيم المتطرفة، مما يسهل التحليل والرؤى بشكل أسرع.
- تحسين التحليل المكاني واتخاذ القرارات: تعتبر الخرائط الحرارية مفيدة في توضيح العلاقات المكانية، مما يساعد في عمليات صنع القرار في قطاعات مثل ذكاء الأعمال والدراسات البيئية والتخطيط الحضري.
تطبيقات العالم الحقيقي
| المواصلات | البيع بالتجزئة |
|---|---|
![]() | ![]() |
| خريطة حرارية للنقل من Ultralytics YOLO26 | خريطة حرارية للبيع بالتجزئة من Ultralytics YOLO26 |
خرائط التمثيل اللوني باستخدام 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="yolo26n.pt", # path to the YOLO26 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, e.g., 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 arguments:
| الوسيطة | النوع | افتراضي | الوصف |
|---|---|---|---|
model | str | None | مسار إلى ملف نموذج Ultralytics YOLO. |
colormap | int | cv2.COLORMAP_JET | مخطط الألوان المراد استخدامه للخريطة الحرارية. |
show_in | bool | True | Flag للتحكم فيما إذا كان سيتم عرض عدد الأسماك الداخلة في بث الفيديو. |
show_out | bool | True | Flag للتحكم فيما إذا كان سيتم عرض عدد الأسماك الخارجة في بث الفيديو. |
region | list | '[(20, 400), (1260, 400)]' | قائمة النقاط التي تحدد منطقة العد. |
يمكنك أيضًا تطبيق مختلف track الوسائط في Heatmap الحل.
| الوسيطة | النوع | افتراضي | الوصف |
|---|---|---|---|
tracker | str | 'botsort.yaml' | يحدد خوارزمية التتبع المراد استخدامها، على سبيل المثال، bytetrack.yaml أو botsort.yaml. |
conf | float | 0.1 | يحدد عتبة الثقة للكشف؛ القيم الأقل تسمح بتتبع المزيد من الكائنات ولكن قد تتضمن نتائج إيجابية كاذبة. |
iou | float | 0.7 | يحدد عتبة التقاطع على الاتحاد (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 | int or None | None | يحدد عرض خطوط مربعات الإحاطة. إذا None، يتم تعديل عرض الخط تلقائيًا بناءً على حجم الصورة. يوفر تخصيصًا مرئيًا للوضوح. |
show_conf | bool | True | يعرض قيمة الثقة لكل كائن يتم الكشف عنه بجانب التسمية. يعطي نظرة ثاقبة حول يقين النموذج لكل كائن تم الكشف عنه. |
show_labels | bool | True | يعرض تسميات لكل كائن يتم الكشف عنه في الناتج المرئي. يوفر فهمًا فوريًا للكائنات التي تم الكشف عنها. |
خرائط التمثيل اللوني الحراري
| اسم مخطط الألوان | الوصف |
|---|---|
cv::COLORMAP_AUTUMN | خريطة ألوان الخريف |
cv::COLORMAP_BONE | خريطة ألوان العظام |
cv::COLORMAP_JET | خريطة ألوان 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 | خريطة ألوان Parula |
cv::COLORMAP_MAGMA | خريطة ألوان Magma |
cv::COLORMAP_INFERNO | خريطة ألوان Inferno |
cv::COLORMAP_PLASMA | خريطة ألوان البلازما |
cv::COLORMAP_VIRIDIS | خريطة ألوان Viridis |
cv::COLORMAP_CIVIDIS | خريطة ألوان Cividis |
cv::COLORMAP_TWILIGHT | خريطة ألوان Twilight |
cv::COLORMAP_TWILIGHT_SHIFTED | خريطة ألوان الشفق المتحولة |
cv::COLORMAP_TURBO | خريطة ألوان Turbo |
cv::COLORMAP_DEEPGREEN | خريطة ألوان أخضر داكن |
تُستخدم خرائط الألوان هذه بشكل شائع لتصور البيانات بتمثيلات لونية مختلفة.
كيف تعمل الخرائط الحرارية في Ultralytics YOLO26
يُوسّع حل الخرائط الحرارية في Ultralytics YOLO26 فئة ObjectCounter لتوليد وتصور أنماط الحركة في تدفقات الفيديو. عند التهيئة، يُنشئ الحل طبقة خريطة حرارية فارغة يتم تحديثها مع تحرك الكائنات عبر الإطار.
لكل كائن يتم اكتشافه، الحل هو:
- تتبع الكائن عبر الإطارات باستخدام إمكانيات track الخاصة بـ YOLO26
- يقوم بتحديث كثافة الخريطة الحرارية في موقع الكائن
- يطبق مخطط ألوان محدد لتصور قيم الشدة
- تراكب الخريطة الحرارية الملونة على الإطار الأصلي
والنتيجة هي تصور ديناميكي يتراكم بمرور الوقت، ويكشف عن أنماط حركة المرور أو تحركات الحشود أو السلوكيات المكانية الأخرى في بيانات الفيديو الخاصة بك.
الأسئلة الشائعة
كيف تُنشئ Ultralytics YOLO26 الخرائط الحرارية وما هي فوائدها؟
تُنشئ Ultralytics YOLO26 خرائط حرارية عن طريق تحويل البيانات المعقدة إلى مصفوفة مرمزة بالألوان حيث تمثل الألوان المختلفة شدة البيانات. تُسهل الخرائط الحرارية تصور الأنماط والارتباطات والشذوذات في البيانات. تشير الألوان الأكثر دفئًا إلى قيم أعلى، بينما تمثل الألوان الأكثر برودة قيمًا أقل. تشمل الفوائد الأساسية التصور البديهي لتوزيع البيانات، والكشف الفعال عن الأنماط، والتحليل المكاني المعزز لاتخاذ القرار. لمزيد من التفاصيل وخيارات التكوين، ارجع إلى قسم تكوين الخرائط الحرارية.
هل يمكنني استخدام Ultralytics YOLO26 لإجراء track الكائنات وتوليد خريطة حرارية في وقت واحد؟
نعم، تدعم Ultralytics YOLO26 تتبع الكائنات وتوليد الخرائط الحرارية بشكل متزامن. يمكن تحقيق ذلك من خلال Heatmap الحل المدمج مع نماذج تتبع الكائنات. للقيام بذلك، تحتاج إلى تهيئة كائن الخريطة الحرارية واستخدام إمكانيات تتبع YOLO26. إليك مثال بسيط:
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(colormap=cv2.COLORMAP_PARULA, show=True, model="yolo26n.pt")
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
لمزيد من الإرشادات، تحقق من صفحة وضع التتبع.
ما الذي يميز الخرائط الحرارية لـ Ultralytics YOLO26 عن أدوات تصور البيانات الأخرى مثل تلك من OpenCV أو Matplotlib؟
تم تصميم الخرائط الحرارية لـ Ultralytics YOLO26 خصيصًا للتكامل مع نماذج detect الكائنات و trackها، مما يوفر حلاً شاملاً لتحليل البيانات في الوقت الفعلي. على عكس أدوات التصور العامة مثل OpenCV أو Matplotlib، تم تحسين خرائط YOLO26 الحرارية للأداء والمعالجة الآلية، وتدعم ميزات مثل التتبع المستمر، وتعديل عامل التضاؤل، وتراكب الفيديو في الوقت الفعلي. لمزيد من المعلومات حول الميزات الفريدة لـ YOLO26، قم بزيارة مقدمة Ultralytics YOLO26.
كيف يمكنني تصور فئات كائنات محددة فقط في الخرائط الحرارية باستخدام Ultralytics YOLO26؟
يمكنك تصور فئات كائنات معينة عن طريق تحديد الفئات المطلوبة في track() طريقة لنموذج YOLO. على سبيل المثال، إذا كنت تريد فقط تصور السيارات والأشخاص (بافتراض أن مؤشرات فئتهم هي 0 و 2)، فيمكنك تعيين classes المعلمة وفقًا لذلك.
import cv2
from ultralytics import solutions
cap = cv2.VideoCapture("path/to/video.mp4")
heatmap = solutions.Heatmap(show=True, model="yolo26n.pt", classes=[0, 2])
while cap.isOpened():
success, im0 = cap.read()
if not success:
break
results = heatmap(im0)
cap.release()
cv2.destroyAllWindows()
لماذا يجب على الشركات اختيار Ultralytics YOLO26 لتوليد الخرائط الحرارية في تحليل البيانات؟
تقدم Ultralytics YOLO26 تكاملاً سلساً لكشف الكائنات المتقدم وتوليد الخرائط الحرارية في الوقت الفعلي، مما يجعله خياراً مثالياً للشركات التي تسعى لتصور البيانات بشكل أكثر فعالية. تشمل المزايا الرئيسية التصور البديهي لتوزيع البيانات، واكتشاف الأنماط بكفاءة، والتحليل المكاني المحسن لاتخاذ قرارات أفضل. بالإضافة إلى ذلك، فإن ميزات YOLO26 المتطورة مثل التتبع المستمر، وخرائط الألوان القابلة للتخصيص، ودعم تنسيقات التصدير المتنوعة تجعله متفوقاً على أدوات أخرى مثل TensorFlow وOpenCV لتحليل البيانات الشامل. تعرف على المزيد حول تطبيقات الأعمال في خطط Ultralytics.

