Ultralytics YOLO26 ile Nesne Takibi Isı Haritaları#
Ultralytics YOLO26 içindeki Heatmap solution, video kareleri boyunca nesneleri izler ve biriken hareket yoğunluklarını her karenin üzerine bindirir; böylece yoğun bölgeler sıcak renklerle parlarken sakin bölgeler soğuk kalır. YOLO26 object tracking tabanlı bu çözüm, tek bir Python çağrısı veya CLI komutuyla herhangi bir videoyu trafik akışını, kalabalık hareketini ve kalış bölgelerini ortaya çıkaran mekansal bir aktivite haritasına dönüştürür.
Watch: Heatmaps using Ultralytics YOLO26
Video Analitiği için Neden Isı Haritaları Kullanmalısın?#
- Aktivite modellerini bir bakışta tespit et: Takip edilen nesnelerin zaman geçirdiği her yerde yoğunluk birikir, bu sayede manuel olarak kare kare inceleme yapmaya gerek kalmadan yoğun trafikli yollar, popüler raflar veya kalabalık tıkanıklıkları kolayca öne çıkar.
- Dahili takip: Çözüm, YOLO26 tespit ve takip işlemlerini dahili olarak çalıştırır, bu yüzden kurman gereken ayrı bir takip hattı yoktur.
- Aynı geçişte sayma: Isı haritası oluşurken bir bölgeye girip çıkan nesneleri saymak ve iki analitik görevini tek bir çalıştırmada birleştirmek için bir
regionaktar.
Gerçek Dünya Uygulamaları#
| Ulaşım | Perakende |
|---|---|
![]() | ![]() |
| Ultralytics YOLO Taşımacılık 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() Argümanları#
İşte Heatmap argümanlarını içeren bir tablo:
| Argüman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasına giden yol. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Isı haritası için kullanılacak renk haritası. |
show_in | bool | True | Video akışında giriş sayılarını gösterip göstermemeyi kontrol eden bayrak. |
show_out | bool | True | Video akışında çıkış sayılarını gösterip göstermemeyi kontrol eden bayrak. |
region | list veya dict | None | İlgi bölgesini tanımlayan noktalar; ya bir (x, y) demetleri listesi ya da birden fazla bölge için bölge adlarını nokta listeleriyle eşleyen bir sözlük (RegionCounter yalnızca). None olduğunda, bölge gerektiren çözümler önceden tanımlanmış bir varsayılana geri döner. |
line_width | int | 2 | Çözümün çizdiği kutular, anahtar noktalar ve sayımlar için çizgi kalınlığı. |
verbose | bool | True | Çözümün girdi şekli, sınıf sayıları ve işleme hızına yönelik kare başına günlüğünü etkinleştirir. Takip çağrısının kendisi her zaman sessizdir. |
Ayrıca Heatmap çözümünde farklı track argümanları uygulayabilirsin.
| Argüman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Kullanılacak izleme 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 ayarlar; daha düşük değerler daha fazla nesnenin izlenmesine izin verir ancak hatalı pozitif sonuçlar içerebilir. |
iou | float | 0.7 | Örtüşen tespitleri filtrelemek için Intersection over Union (IoU) eşiğini ayarlar. |
classes | list | None | Sonuçları sınıf indeksine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler. |
device | str | None | Çıkarım için cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer bilgi işlem cihazları arasında seçim yapmasına olanak tanır. |
Ek olarak, desteklenen görselleştirme argümanları aşağıda listelenmiştir:
| Argüman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | Eğer True ise, açıklama eklenmiş 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 için kullanışlıdır. |
show_conf | bool | True | Her tespit için güven skorunu etiketin yanında görüntüler. Her bir tespit için modelin kesinliği hakkında içgörü sağlar. |
show_labels | bool | True | Görsel çıktıda her bir tespit için etiketleri görüntüler. Tespit edilen nesnelerin anında anlaşılmasını sağlar. |
Isı Haritası Renk Haritaları#
colormap argümanı herhangi bir OpenCV renk haritasını kabul eder. cv2 modülünden sabiti aktar, örneğin colormap=cv2.COLORMAP_INFERNO:
| Renk Haritası Adı | Açıklama |
|---|---|
cv2.COLORMAP_AUTUMN | Sonbahar renk haritası |
cv2.COLORMAP_BONE | Kemik renk haritası |
cv2.COLORMAP_JET | Jet renk haritası |
cv2.COLORMAP_WINTER | Kış renk haritası |
cv2.COLORMAP_RAINBOW | Gökkuşağı renk haritası |
cv2.COLORMAP_OCEAN | Okyanus renk haritası |
cv2.COLORMAP_SUMMER | Yaz renk haritası |
cv2.COLORMAP_SPRING | İlkbahar renk haritası |
cv2.COLORMAP_COOL | Soğuk renk haritası |
cv2.COLORMAP_HSV | HSV (Ton, Doygunluk, Değer) renk haritası |
cv2.COLORMAP_PINK | Pembe renk haritası |
cv2.COLORMAP_HOT | Sıcak renk haritası |
cv2.COLORMAP_PARULA | Parula renk haritası |
cv2.COLORMAP_MAGMA | Magma renk haritası |
cv2.COLORMAP_INFERNO | Inferno renk haritası |
cv2.COLORMAP_PLASMA | Plazma renk haritası |
cv2.COLORMAP_VIRIDIS | Viridis renk haritası |
cv2.COLORMAP_CIVIDIS | Cividis renk haritası |
cv2.COLORMAP_TWILIGHT | Alacakaranlık renk haritası |
cv2.COLORMAP_TWILIGHT_SHIFTED | Kaydırılmış Alacakaranlık renk haritası |
cv2.COLORMAP_TURBO | Turbo renk haritası |
cv2.COLORMAP_DEEPGREEN | Koyu Yeşil renk haritası |
Isı Haritaları Nasıl Çalışır#
Heatmap çözümü, ObjectCounter sınıfını genişletir. İşlenen ilk karede, kare boyutuna uyan boş bir yoğunluk katmanı oluşturur. Her kare daha sonra iki adımda işlenir:
- YOLO26 takibi, karedeki her nesneyi tespit eder ve izler
- Takip edilen her nesne için, ısı haritası yoğunluğu, sınırlayıcı kutusunun merkezindeki dairesel bir bölge içinde artar
Kare başına bir kez, birikmiş yoğunluk katmanı normalleştirilir, seçilen renk haritasıyla renklendirilir ve orijinal kare ile birleştirilir. Kaplama, en az bir nesne takip edildiği anda görünür; takip edilen nesnenin olmadığı kareler ısı haritası kaplaması olmadan gösterilir.
Sonuç, zamanla oluşan ve videonuzdaki trafik kalıplarını, kalabalık hareketlerini veya diğer mekansal davranışları ortaya çıkaran dinamik bir görselleştirmedir. Bir region ayarlandığında çözüm, ısı haritası oluşurken bu bölgeye girip çıkan nesneleri de sayar.
Sonuç#
Ultralytics YOLO26 Heatmap çözümü, nesne izleme sonuçlarını birkaç satır kodla sezgisel bir etkinlik katmanına dönüştürür. Daha da ileri gitmek için bunu nesne sayımı ile birleştir, diğer Ultralytics Çözümlerini keşfet veya alttaki izleme modu hakkında bilgi oku.
SSS#
Ultralytics YOLO26, video kareleri boyunca nesneleri izleyerek ve her izlenen nesnenin konumunda bir yoğunluk değeri biriktirerek, ardından sonucu renklendirerek ve orijinal kareyle harmanlayarak ısı haritaları oluşturur. Nesnelerin sık göründüğü veya kaldığı alanlar daha yüksek yoğunluk oluşturur ve daha sıcak renklerde işlenir. Yapılandırma seçenekleri için
Heatmap()Argümanları bölümüne göz at.main example bölümünde gösterildiği gibi, OpenCV'nin
cv2.VideoWriterfonksiyonunu kullan ve işlenen her kare içinresults.plot_imyaz.plot_imözniteliği, ısı haritası katmanı önceden uygulanmış olan kareyi barındırır.Evet.
Heatmap()fonksiyonuna çizgi, dikdörtgen veya çokgen noktaları içeren birregionargümanı aktar; çözüm, ısı haritası oluşurken bu bölgeye giren ve çıkan nesneleri sayar. Döndürülen sonuçlarin_count,out_countve sınıf başına sayıları içerir. Bölge yapılandırma detayları için object counting guide sayfasına göz at.Tutmak istediğin sınıf indeksleriyle birlikte
classesargümanınıHeatmap()fonksiyonuna aktar. Örneğin,classes=[0, 2]ısı haritasını yalnızca kişilerden ve arabalardan (COCO sınıf indeksleri 0 ve 2) oluşturur: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, izleme, yoğunluk biriktirme ve katman oluşturma işlemlerini tek bir çağrıda birleştirirken OpenCV veya Matplotlib gibi genel araçlar bu boru hattını kendin kurmanı gerektirir. Çözüm, video akışlarını gerçek zamanlı olarak işler ve kutudan çıktığı gibi kalıcı izleme ve özelleştirilebilir renk haritalarını destekler. Temel model hakkındaki ayrıntılar için YOLO26 model sayfasına bak.

