Ultralytics YOLO26 ile Nesne İzleme Isı Haritaları#
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
regionilet; böylece tek çalıştırmada iki analitik görevi 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ı 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:
# 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şken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Ultralytics YOLO model dosyasının yolu. |
colormap | int | cv2.COLORMAP_DEEPGREEN | Isı haritasında kullanılacak renk haritası. |
show_in | bool | True | Video akışında giriş sayılarının görüntülenip görüntülenmeyeceğini denetleyen bayrak. |
show_out | bool | True | Video akışında çıkış sayılarının görüntülenip görüntülenmeyeceğini denetleyen bayrak. |
region | list veya dict | None | İ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_width | int | 2 | Çözümün çizdiği kutular, anahtar noktalar ve sayılar için çizgi kalınlığı. |
verbose | bool | True | Çö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şken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'tracktrack.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 belirler; düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri de içerebilir. |
iou | float | 0.7 | Çakışan algılamaları filtrelemek için Kesişim-Birleşim Oranı (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ı izler. |
device | str | None | Çı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. |
imgsz | int or tuple | 640 | Hedef çı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_det | int | 300 | Yoğ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ı. |
quantize | int or str | None | Çı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şken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | True 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_conf | bool | True | Her 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_labels | bool | True | Gö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_AUTUMN | Sonbahar renk haritası |
cv2.COLORMAP_BONE | Kemik 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 | Ton, Doygunluk, Değer (HSV) 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 | Kaydırılmış 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 tracking, karedeki her nesneyi algılar ve izler
- İ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.VideoWriterişlevini kullan ve işlenen her kare içinresults.plot_imyaz.plot_imözniteliği, ısı haritası kaplaması zaten uygulanmış kareyi içerir.Evet. Çizgi, dikdörtgen veya çokgen noktalarıyla
regionbağımsız değişkeniniHeatmap()çözümüne ilet; ısı haritası oluşturulurken çözüm 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ırma ayrıntıları için nesne sayımı kılavuzuna bak.Tutmak istediğin sınıfların indekslerini içeren
classesbağımsız değişkeniniHeatmap()çö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.

