Ultralytics YOLO27:
Get Started

Ultralytics YOLO26 ile Nesne İzleme Isı Haritaları#

Open Heatmaps In Colab

Ultralytics YOLO26 içindeki Isı Haritası çözümü, nesneleri video kareleri boyunca izler ve biriken hareket yoğunluklarını her karenin üzerine işler; böylece yoğun alanlar sıcak renklerle parlarken sakin alanlar soğuk renklerde kalır. YOLO26 nesne izleme üzerine kurulu olan çözüm, tek bir Python çağrısıyla veya CLI komutuyla herhangi bir videoyu trafik akışını, kalabalık hareketlerini ve bekleme bölgelerini ortaya çıkaran mekânsal bir etkinlik haritasına dönüştürür.



İzle: Ultralytics YOLO26 ile Isı Haritaları Nasıl Oluşturulur | Nesne Etkinliğini Görselleştir | Perakendede VisionAI 🚀

Video Analitiğinde Isı Haritaları Neden Kullanılır?#

  • Etkinlik örüntülerini bir bakışta gör: İzlenen nesnelerin zaman geçirdiği her yerde yoğunluk birikir; böylece yoğun trafik şeritleri, popüler raflar veya kalabalık darboğazları kareleri tek tek incelemene gerek kalmadan öne çıkar.
  • İzleme yerleşik olarak gelir: Çözüm, YOLO26 tespit ve izleme işlemlerini kendi içinde yürütür; bu nedenle ayrıca bir izleme iş akışı kurman gerekmez.
  • Tek geçişte sayım: Isı haritası oluşturulurken bir bölgeye giren ve bölgeden çıkan nesneleri saymak için bir region ilet; böylece tek çalıştırmada iki analitik görevi birleştir.

Gerçek Dünya Uygulamaları#

UlaşımPerakende
Araç trafiği yoğunluğunu gösteren Ultralytics YOLO ısı haritası katmanıPerakende müşterilerinin hareketlerini gösteren Ultralytics YOLO ısı haritası katmanı
Ultralytics YOLO Ulaşım Isı HaritasıUltralytics YOLO Perakende Isı Haritası

Ultralytics YOLO ile Isı Haritaları Oluşturma#

Isı Haritası çözümünü CLI veya Python aracılığıyla bir video kaynağında çalıştır. Python örneği, işlenmiş kareleri bir çıktı video dosyasına yazar:

Ultralytics YOLO ile 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() Bağımsız Değişkenleri#

Aşağıda Heatmap bağımsız değişkenlerini içeren bir tablo bulabilirsin:

Bağımsız değişkenTürVarsayılanAçıklama
modelstrNoneUltralytics YOLO model dosyasının yolu.
colormapintcv2.COLORMAP_DEEPGREENIsı haritasında kullanılacak renk haritası.
show_inboolTrueVideo akışında giriş sayılarının görüntülenip görüntülenmeyeceğini denetleyen bayrak.
show_outboolTrueVideo akışında çıkış sayılarının görüntülenip görüntülenmeyeceğini denetleyen bayrak.
regionlist veya dictNoneİlgi bölgesini tanımlayan noktalar; (x, y) demetlerinin listesi veya birden fazla bölge için bölge adlarını nokta listelerine eşleyen bir sözlük (yalnızca RegionCounter). None olduğunda, bölge gerektiren çözümler önceden tanımlanmış varsayılan bölgeye döner.
line_widthint2Çözümün çizdiği kutular, anahtar noktalar ve sayılar için çizgi kalınlığı.
verboseboolTrueÇözümün her kare için girdi şekli, sınıf sayıları ve işleme hızına ilişkin günlüğünü etkinleştirir. İzleme çağrısının kendisi her zaman sessizdir.

Heatmap çözümünde farklı track bağımsız değişkenlerini de kullanabilirsin.

Bağımsız değişkenTürVarsayı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.25Algılamalar için güven eşiğini belirler; düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri de içerebilir.
ioufloat0.7Çakışan algılamaları filtrelemek için Kesişim-Birleşim Oranı (IoU) eşiğini belirler.
classeslistNoneSonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
devicestrNoneÇıkarım için kullanılacak cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya başka hesaplama cihazları arasında seçim yapmasına olanak tanır.
imgszint or tuple640Hedef çıkarım görüntü boyutu: kare görüntüler için bir tam sayı veya bir (height, width) çifti. Boyutlar model adım değerine göre ayarlanır.
max_detint300Yoğun sahnelerde bir çözümün işleyeceği nesne sayısını sınırlamak için izleme öncesinde kare başına tutulan en yüksek algılama sayısı.
quantizeint or strNoneÇıkarım hassasiyeti: PyTorch ve TorchScript modellerinde 16 (FP16) veya 32/ayarlanmamış (FP32); diğer biçimlerde hesaplama, yapıtın ve çalışma zamanının seçtiği hassasiyetle yapılır. Kullanımdan kaldırılan half bayrağının yerine geçer.

Ayrıca desteklenen görselleştirme bağımsız değişkenleri aşağıda listelenmiştir:

Bağımsız değişkenTürVarsayılanAçıklama
showboolFalseTrue ise açıklama eklenmiş görüntüleri veya videoları bir pencerede gösterir. Geliştirme veya test sırasında anında görsel geri bildirim almak için kullanışlıdır.
show_confboolTrueHer algılamanın güven puanını etiketinin yanında gösterir. Modelin her algılamaya ne kadar güvendiğini görmeni sağlar.
show_labelsboolTrueGörsel çıktıda her algılama için etiketleri gösterir. 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. cv2 modülündeki sabiti, örneğin colormap=cv2.COLORMAP_INFERNO değerini ilet:

Renk Haritası AdıAçıklama
cv2.COLORMAP_AUTUMNSonbahar renk haritası
cv2.COLORMAP_BONEKemik renk haritası
cv2.COLORMAP_JETJet renk haritası
cv2.COLORMAP_WINTERWinter renk haritası
cv2.COLORMAP_RAINBOWRainbow renk haritası
cv2.COLORMAP_OCEANOcean renk haritası
cv2.COLORMAP_SUMMERSummer renk haritası
cv2.COLORMAP_SPRINGSpring renk haritası
cv2.COLORMAP_COOLCool renk haritası
cv2.COLORMAP_HSVTon, Doygunluk, Değer (HSV) renk haritası
cv2.COLORMAP_PINKPink renk haritası
cv2.COLORMAP_HOTHot renk haritası
cv2.COLORMAP_PARULAParula renk haritası
cv2.COLORMAP_MAGMAMagma renk haritası
cv2.COLORMAP_INFERNOInferno renk haritası
cv2.COLORMAP_PLASMAPlasma renk haritası
cv2.COLORMAP_VIRIDISViridis renk haritası
cv2.COLORMAP_CIVIDISCividis renk haritası
cv2.COLORMAP_TWILIGHTTwilight renk haritası
cv2.COLORMAP_TWILIGHT_SHIFTEDKaydırılmış Twilight renk haritası
cv2.COLORMAP_TURBOTurbo renk haritası
cv2.COLORMAP_DEEPGREENDeep 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:

  1. YOLO26 tracking, karedeki her nesneyi algılar ve izler
  2. İzlenen her nesne için, nesnenin sınırlayıcı kutusunun merkezindeki dairesel bir bölgede ısı haritası yoğunluğu artar

Her karede bir kez, birikmiş yoğunluk katmanı normalleştirilir, seçilen renk haritasıyla renklendirilir ve orijinal kareyle harmanlanır. Kaplama, en az bir nesne izlendikten sonra görünür; o zamana kadar kareler ısı haritası kaplaması olmadan gösterilir.

Sonuç, zaman içinde oluşan dinamik bir görselleştirmedir; video verilerindeki trafik düzenlerini, 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 izleme sonuçlarını sezgisel bir etkinlik kaplamasına dönüştürür. Daha fazlasını yapmak için çözümü nesne sayımı ile birleştir, diğer Ultralytics Solutions çözümlerini keşfet veya temelindeki tracking mode hakkında bilgi edin.

Sık Sorulan Sorular#

  • Ultralytics YOLO26, video karelerindeki nesneleri izleyip izlenen her nesnenin konumunda bir yoğunluk değeri biriktirerek, ardından sonucu renklendirip orijinal kareyle harmanlayarak ısı haritaları oluşturur. Nesnelerin sıkça göründüğü veya uzun süre kaldığı bölgelerde yoğunluk artar ve bu bölgeler daha sıcak renklerle gösterilir. Yapılandırma seçenekleri için Heatmap() Arguments bölümüne bak.

  • Ana örnekte gösterildiği gibi, OpenCV'nin cv2.VideoWriter işlevini kullan ve işlenen her kare için results.plot_im yaz. plot_im özniteliği, ısı haritası kaplaması zaten uygulanmış kareyi içerir.

  • Evet. Çizgi, dikdörtgen veya çokgen noktalarıyla region bağımsız değişkenini Heatmap() çözümüne ilet; ısı haritası oluşturulurken çözüm 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ımları içerir. Bölge yapılandırma ayrıntıları için nesne sayımı kılavuzuna bak.

  • Tutmak istediğin sınıfların indekslerini içeren classes bağımsız değişkenini Heatmap() çözümüne ilet. Örneğin, classes=[0, 2] ısı haritasını yalnızca insanlardan ve arabalardan oluşturur (COCO sınıf indeksleri 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, izleme, yoğunluk biriktirme ve kaplama oluşturma işlemlerini tek bir çağrıda bir araya getirir; 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ı izleme ile özelleştirilebilir renk haritalarını kullanıma hazır sunar. Temel model hakkında ayrıntılı bilgi için YOLO26 model sayfasına bak.

Yorumlar