Ultralytics YOLO26 ile Nesne Takibi Isı Haritaları#
Ultralytics YOLO26 içindeki Isı haritası çözümü, video kareleri boyunca nesneleri takip eder ve biriken hareket yoğunluklarını her karenin üzerine bindirir; böylece yoğun alanlar sıcak renklerle parlar, sakin alanlar ise soğuk kalır. YOLO26 nesne takibi üzerine kurulu olan bu çözüm, tek bir Python çağrısı veya CLI komutuyla her videoyu trafik akışını, kalabalık hareketlerini ve bekleme bölgelerini ortaya çıkaran bir mekânsal etkinlik haritasına dönüştürür.
Watch: How to Create Heatmaps with Ultralytics YOLO26 | Visualize Object Activity | VisionAI in Retail 🚀
Video Analitiğinde Isı Haritaları Neden Kullanılır?#
- Etkinlik örüntülerini bir bakışta fark et: Yoğunluk, takip edilen nesnelerin zaman geçirdiği her yerde birikir; böylece yoğun trafik şeritleri, popüler raflar veya kalabalık darboğazları kare kare manuel inceleme yapmadan öne çıkar.
- Takip yerleşik olarak gelir: Çözüm, YOLO26 algılama ve takibini dahili olarak çalıştırır; bu nedenle ayrıca bağlaman gereken bir takip işlem hattı yoktur.
- Aynı geçişte sayım: Isı haritası oluşturulurken bir bölgeye giren ve çıkan nesneleri saymak için bir
regionilet; böylece iki analitik görevi tek çalıştırmada birleştir.
Gerçek Dünya Uygulamaları#
| Ulaşım | Perakende |
|---|---|
![]() | ![]() |
| Ultralytics YOLO Ulaşım Isı Haritası | Ultralytics YOLO Perakende Isı Haritası |
Ultralytics YOLO ile Isı Haritaları Nasıl Oluşturulur?#
Isı haritası çözümünü CLI veya Python üzerinden bir video kaynağında çalıştır. Python örneği, işlenen kareleri bir çıktı video dosyasına yazar:
# 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)]"Heatmap() Bağımsız Değişkenleri#
Heatmap bağımsız değişkenlerini içeren tablo aşağıda verilmiştir:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasının yolu. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Isı haritası için kullanılacak renk haritası. |
show_in | bool | True | Video akışında giriş sayılarının gösterilip gösterilmeyeceğini denetleyen bayrak. |
show_out | bool | True | Video akışında çıkış sayılarının gösterilip gösterilmeyeceğini denetleyen bayrak. |
region | list veya dict | None | İlgi bölgesini tanımlayan noktalar: (x, y) demetlerinden oluşan bir liste veya birden fazla bölge için bölge adlarını nokta listelerine eşleyen bir sözlük (RegionCounter yalnızca). None olduğunda bölge gerektiren çözümler önceden tanımlanmış varsayılan değere geri döner. |
line_width | int | 2 | Çözümün çizdiği kutular, kilit noktaları ve sayılar için çizgi kalınlığı. |
verbose | bool | True | Çözümün kare başına giriş şeklini, sınıf sayılarını ve işlem hızını kaydetmesini etkinleştirir. Takip çağrısı her zaman sessizdir. |
Heatmap çözümünde farklı track bağımsız değişkenleri de uygulayabilirsin.
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Kullanılacak takip algoritmasını belirtir. Yerleşik seçenekler: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Algılamalar için güven eşiğini belirler; daha düşük değerler daha fazla nesnenin takip edilmesine olanak tanır ancak yanlış pozitifler içerebilir. |
iou | float | 0.7 | Örtüşen algılamaları filtrelemek için Birleşim Üzerindeki Kesişim (IoU) eşiğini belirler. |
classes | list | None | Sonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları takip eder. |
device | str | None | Çıkarım için cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model çalıştırma işlemi için CPU, belirli bir GPU veya diğer hesaplama cihazları arasında seçim yapmasına olanak tanır. |
imgsz | int or tuple | 640 | Hedef çıkarım görüntü boyutu: kare için bir tamsayı veya bir (height, width) çifti. Şekiller model adımına göre ayarlanır. |
max_det | int | 300 | Takipten önce kare başına tutulan maksimum algılama sayısı, yoğun sahnelerde bir çözümün işlediği nesneleri sınırlar. |
quantize | int or str | None | Çıkarım hassasiyeti: PyTorch ve TorchScript modelleri için 16 (FP16) veya 32/belirtilmemiş (FP32); diğer formatlar, yapıtlarının ve çalışma zamanlarının seçtiği hassasiyette hesaplama yapar. Kullanımdan kaldırılan half bayrağının yerini alır. |
Ayrıca desteklenen görselleştirme bağımsız değişkenleri aşağıda listelenmiştir:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | True olduğunda açıklamalı görüntüleri veya videoları bir pencerede görüntüler. Geliştirme veya test sırasında anında görsel geri bildirim almak için kullanışlıdır. |
show_conf | bool | True | Her algılamanın güven skorunu etiketin yanında görüntüler. Modelin her algılamaya ilişkin kesinliği hakkında fikir verir. |
show_labels | bool | True | Görsel çıktıda her algılama için etiketleri görüntüler. Algılanan nesnelerin hemen anlaşılmasını sağlar. |
Isı Haritası Renk Haritaları#
colormap bağımsız değişkeni, herhangi bir OpenCV renk haritasını kabul eder. Sabiti cv2 modülünden ilet; örneğin colormap=cv2.COLORMAP_INFERNO:
| Renk Haritası Adı | Açıklama |
|---|---|
cv2.COLORMAP_AUTUMN | Autumn renk haritası |
cv2.COLORMAP_BONE | Bone renk haritası |
cv2.COLORMAP_JET | Jet renk haritası |
cv2.COLORMAP_WINTER | Winter renk haritası |
cv2.COLORMAP_RAINBOW | Rainbow renk haritası |
cv2.COLORMAP_OCEAN | Ocean renk haritası |
cv2.COLORMAP_SUMMER | Summer renk haritası |
cv2.COLORMAP_SPRING | Spring renk haritası |
cv2.COLORMAP_COOL | Cool renk haritası |
cv2.COLORMAP_HSV | HSV (Ton, Doygunluk, Değer) renk haritası |
cv2.COLORMAP_PINK | Pink renk haritası |
cv2.COLORMAP_HOT | Hot renk haritası |
cv2.COLORMAP_PARULA | Parula renk haritası |
cv2.COLORMAP_MAGMA | Magma renk haritası |
cv2.COLORMAP_INFERNO | Inferno renk haritası |
cv2.COLORMAP_PLASMA | Plasma renk haritası |
cv2.COLORMAP_VIRIDIS | Viridis renk haritası |
cv2.COLORMAP_CIVIDIS | Cividis renk haritası |
cv2.COLORMAP_TWILIGHT | Twilight renk haritası |
cv2.COLORMAP_TWILIGHT_SHIFTED | Shifted Twilight renk haritası |
cv2.COLORMAP_TURBO | Turbo renk haritası |
cv2.COLORMAP_DEEPGREEN | Deep Green renk haritası |
Isı Haritaları Nasıl Çalışır?#
Isı haritası çözümü, ObjectCounter sınıfını genişletir. İşlenen ilk karede, kare boyutlarıyla eşleşen boş bir yoğunluk katmanı oluşturur. Ardından her kare iki adımda işlenir:
- YOLO26, karedeki her nesneyi algılar ve takip eder
- Takip edilen her nesne için, sınırlayıcı kutusunun merkezindeki dairesel bir bölge içindeki ısı haritası yoğunluğu artırılır
Kare başına bir kez, biriken yoğunluk katmanı normalleştirilir, seçilen renk haritasıyla renklendirilir ve özgün kareyle harmanlanır. Bindirme, en az bir nesne takip edilir edilmez görünür; takip edilen nesne bulunmayan kareler ısı haritası bindirmesi olmadan gösterilir.
Sonuç, zaman içinde oluşan dinamik bir görselleştirmedir ve video verilerindeki trafik örüntülerini, kalabalık hareketlerini veya diğer mekânsal davranışları ortaya çıkarır. Bir region ayarlandığında çözüm, ısı haritası oluşturulurken bu bölgeye giren ve çıkan nesneleri de sayar.
Sonuç#
Ultralytics YOLO26 Isı Haritası çözümü, birkaç satır kodla nesne takibi sonuçlarını sezgisel bir etkinlik bindirmesine dönüştürür. Daha ileri gitmek için bunu nesne sayımı ile birleştirebilir, diğer Ultralytics Çözümlerini inceleyebilir veya temelindeki takip modu hakkında bilgi edinebilirsin.
SSS#
Ultralytics YOLO26, video kareleri boyunca nesneleri takip eder ve her takip edilen nesnenin konumunda bir yoğunluk değeri biriktirir; ardından sonucu renklendirip özgün kareyle harmanlayarak ısı haritaları oluşturur. Nesnelerin sık göründüğü veya uzun süre kaldığı alanlarda yoğunluk artar ve bu alanlar daha sıcak renklerle gösterilir. Yapılandırma seçenekleri için
Heatmap()Bağımsız Değişkenleri bölümüne bak.Ana örnekte gösterildiği gibi, OpenCV'nin
cv2.VideoWriteraracını kullan ve işlenen her kare içinresults.plot_imyaz.plot_imözniteliği, ısı haritası bindirmesi zaten uygulanmış kareyi içerir.Evet. Çizgi, dikdörtgen veya çokgen noktaları içeren bir
regionbağımsız değişkeniniHeatmap()öğesine ilet; çözüm, ısı haritası oluşturulurken bu bölgeye giren ve çıkan nesneleri sayar. Döndürülen sonuçlarin_count,out_countve sınıf başına sayımları içerir. Bölge yapılandırması ayrıntıları için nesne sayımı kılavuzuna bak.Korumak istediğin sınıf dizinleriyle birlikte
classesbağımsız değişkeniniHeatmap()öğesine ilet. Örneğinclasses=[0, 2], ısı haritasını yalnızca insanlar ve arabalardan oluşturur (COCO sınıf dizinleri 0 ve 2):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 ısı haritaları nesne algılama, takip, yoğunluk biriktirme ve bindirme oluşturm entrelerini tek bir çağrıda birleştirir; OpenCV veya Matplotlib gibi genel amaçlı araçlarda ise bu işlem hattını kendin oluşturman gerekir. Çözüm, video akışlarını gerçek zamanlı işler ve kalıcı takip ile özelleştirilebilir renk haritalarını kullanıma hazır olarak destekler. Temel model hakkında ayrıntılar için YOLO26 model sayfasına bak.

