YOLO Vision 2026:

Ultralytics YOLO26 ile Nesne Takibi Isı Haritaları#

Open Heatmaps In Colab

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 region aktar.

Gerçek Dünya Uygulamaları#

UlaşımPerakende
Araç trafiği yoğunluğunu gösteren Ultralytics YOLO ısı haritası katmanıPerakende müşteri hareketini gösteren Ultralytics YOLO ısı haritası katmanı
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:

Ultralytics YOLO kullanarak Isı Haritaları
# 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ümanTipVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasına giden yol.
colormapintcv2.COLORMAP_DEEPGREENIsı haritası için kullanılacak renk haritası.
show_inboolTrueVideo akışında giriş sayılarını gösterip göstermemeyi kontrol eden bayrak.
show_outboolTrueVideo akışında çıkış sayılarını gösterip göstermemeyi kontrol eden bayrak.
regionlist veya dictNoneİ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.

Ayrıca Heatmap çözümünde farklı track argümanları uygulayabilirsin.

ArgümanTipVarsayılanAçıklama
trackerstr'tracktrack.yaml'Kullanılacak izleme algoritmasını belirtir. Yerleşik seçenekler: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml.
conffloat0.1Algı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.
ioufloat0.7Örtüşen tespitleri filtrelemek için Intersection over Union (IoU) eşiğini ayarlar.
classeslistNoneSonuçları sınıf indeksine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
verboseboolTrueİzlenen nesnelerin görsel bir çıktısını sağlayarak izleme sonuçlarının görüntülenmesini kontrol eder.
devicestrNoneÇı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ümanTipVarsayılanAçıklama
showboolFalseEğ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.
line_widthint or NoneNoneSınırlayıcı kutuların çizgi genişliğini belirtir. Eğer None ise, çizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.
show_confboolTrueHer 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_labelsboolTrueGö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_AUTUMNSonbahar renk haritası
cv2.COLORMAP_BONEKemik renk haritası
cv2.COLORMAP_JETJet renk haritası
cv2.COLORMAP_WINTERKış renk haritası
cv2.COLORMAP_RAINBOWGökkuşağı renk haritası
cv2.COLORMAP_OCEANOkyanus renk haritası
cv2.COLORMAP_SUMMERYaz renk haritası
cv2.COLORMAP_SPRINGİlkbahar renk haritası
cv2.COLORMAP_COOLSoğuk renk haritası
cv2.COLORMAP_HSVHSV (Ton, Doygunluk, Değer) renk haritası
cv2.COLORMAP_PINKPembe renk haritası
cv2.COLORMAP_HOTSıcak renk haritası
cv2.COLORMAP_PARULAParula renk haritası
cv2.COLORMAP_MAGMAMagma renk haritası
cv2.COLORMAP_INFERNOInferno renk haritası
cv2.COLORMAP_PLASMAPlazma renk haritası
cv2.COLORMAP_VIRIDISViridis renk haritası
cv2.COLORMAP_CIVIDISCividis renk haritası
cv2.COLORMAP_TWILIGHTAlacakaranlık renk haritası
cv2.COLORMAP_TWILIGHT_SHIFTEDKaydırılmış Alacakaranlık renk haritası
cv2.COLORMAP_TURBOTurbo renk haritası
cv2.COLORMAP_DEEPGREENKoyu 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:

  1. YOLO26 takibi, karedeki her nesneyi tespit eder ve izler
  2. 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 bir videodan nasıl ısı haritaları oluşturur?#

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.

Isı haritası çıktısını bir video dosyasına nasıl kaydederim?#

main example bölümünde gösterildiği gibi, OpenCV'nin cv2.VideoWriter fonksiyonunu kullan ve işlenen her kare için results.plot_im yaz. plot_im özniteliği, ısı haritası katmanı önceden uygulanmış olan kareyi barındırır.

Isı haritalarını nesne sayma ile birleştirebilir miyim?#

Evet. Heatmap() fonksiyonuna çizgi, dikdörtgen veya çokgen noktaları içeren bir region argümanı aktar; çözüm, ısı haritası oluşurken bu bölgeye giren ve çıkan nesneleri sayar. Döndürülen sonuçlar in_count, out_count ve 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.

Ultralytics YOLO26 kullanarak ısı haritalarında yalnızca belirli nesne sınıflarını nasıl görselleştirebilirim?#

Tutmak istediğin sınıf indeksleriyle birlikte classes argü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ını OpenCV veya Matplotlib gibi diğer veri görselleştirme araçlarından farklı kılan nedir?#

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.

Yorumlar