Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO26 ile Bölgelerde Nesne Sayma#

The RegionCounter solution in Ultralytics YOLO26 tracks objects across video frames and, on every frame, counts the objects whose bounding-box center falls inside each region you define. Each region is drawn on the frame with its own live count, so you can monitor several zones, such as store aisles, road lanes, or production areas, with a single Python call or CLI command.



Watch: Object Counting in Different Regions using Ultralytics YOLO | Ultralytics Solutions

Link to this sectionNeden Bölge Sayımı Kullanmalısın?#

  • Tek geçişte birden fazla bölge: İsimlendirilmiş çokgenlerden oluşan bir sözlük (dictionary) gönderdiğinde her bölge kare üzerinde bağımsız bir sayıma sahip olur; böylece tek bir video akışı ile ilgilendiğin tüm alanları kapsayabilirsin.
  • Dahili izleme: Bu çözüm, YOLO26 algılamasını ve nesne izlemeyi dahili olarak çalıştırır, bu nedenle kurman gereken ayrı bir izleme hattı yoktur.
  • Programatik olarak okunabilir sayımlar: İşlenen her kare, kontrol panelleri, uyarılar veya günlük kaydı için hazır olan bölge sayımlarını içeren bir sözlük ile birlikte bir sonuç nesnesi döndürür.

Link to this sectionGerçek Dünya Uygulamaları#

PerakendePazar Sokakları
Ultralytics YOLO, perakende mağazasındaki çizili çokgen bölgeler içindeki insanları sayıyorUltralytics YOLO bölge sayımları kalabalık bir pazar sokağı üzerinde gösteriliyor
Ultralytics YOLO ile Bölgelerde İnsan SaymaUltralytics YOLO ile Bölgelerde Kalabalık Sayma

Link to this sectionUltralytics YOLO ile Bölgelerdeki Nesneler Nasıl Sayılır?#

RegionCounter çözümünü CLI veya Python kullanarak bir video kaynağı üzerinde çalıştır. Bir bölge, bir nokta listesi (tek bir alan) veya bölge isimlerini nokta listeleriyle eşleyen bir sözlük olabilir. Aşağıdaki Python örneği, iki isimlendirilmiş bölgedeki nesneleri sayar ve işlenen kareleri bir çıktı video dosyasına yazar:

Ultralytics YOLO kullanarak bölge sayımı
# Run a region counting example
yolo solutions region show=True

# Pass a source video
yolo solutions region source="path/to/video.mp4"

# Pass a custom region
yolo solutions region region="[(20, 400), (1080, 400), (1080, 360), (20, 360)]"

Link to this sectionRegionCounter() Argümanları#

İşte RegionCounter argümanlarını içeren bir tablo:

ArgümanTipVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasına giden yol.
regionlist veya dictNoneİlgi alanını tanımlayan noktalar; ya (x, y) demetlerinden oluşan bir liste ya da birden fazla bölge için bölge adlarını nokta listeleriyle eşleyen bir sözlüktür (sadece RegionCounter için). None olduğunda, bir bölge gerektiren çözümler önceden tanımlanmış bir varsayılana geri döner.

RegionCounter çözümü, nesne izleme parametrelerinin kullanımına olanak tanır:

ArgümanTipVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak takip 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Çakışan algılamaları 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 (örn. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer işlem cihazları arasında seçim yapmasına olanak tanır.

Ayrıca, aşağıdaki görselleştirme ayarları desteklenmektedir:

ArgümanTipVarsayılanAçıklama
showboolFalseTrue ise, 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 için kullanışlıdır.
line_widthint or NoneNoneSınırlayıcı kutuların çizgi genişliğini belirtir. 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.

Link to this sectionBölge Sayımı Nasıl Çalışır?#

RegionCounter çözümü, gönderdiğin her bölgeyi, bölge başına en az üç nokta içeren bir çokgene dönüştürür. Düz bir nokta listesi Region#01 adında tek bir bölge haline gelirken, bir sözlük kendi bölge isimlerini korumanı sağlar; her bölge, Ultralytics paletinden kendi rengiyle çizilir. Her kare daha sonra üç adımda işlenir:

  1. YOLO26 takibi, karedeki her nesneyi tespit eder ve izler
  2. İzlenen her nesne için çözüm, sınırlayıcı kutu merkezini hesaplar ve hangi bölge çokgenlerinin onu içerdiğini kontrol eder
  3. Her bölgenin sayımı kendi merkezinde çizilir ve sayımlar bir sonraki kareden önce sıfırlanır

Sayımlar her karede yeniden başladığı için, bir bölgede gösterilen sayı, o anki doluluk oranını temsil eder; yani kümülatif bir toplam değil, o anda içinde kaç nesne olduğunu gösterir. Bir sınırı kümülatif olarak geçen nesneleri saymak için ObjectCounter çözümünü kullanmalısın.

Her çağrı ayrıca, plot_im niteliği ek açıklamalı kareyi tutan ve region_counts sözlüğü bölge isimlerini sayımlarıyla eşleyen bir sonuç nesnesi döndürür, böylece bu sayıları kendi uygulama mantığında kullanabilirsin.

Link to this sectionSonuç#

Ultralytics YOLO26 RegionCounter çözümü, birkaç satır kodla ihtiyaç duyduğun kadar isimlendirilmiş alandaki canlı nesne sayılarını izler. Daha fazlasını yapmak için nesne sayma ile sınır geçişlerini sayabilir, TrackZone ile tek bir alan içindeki nesneleri takip edebilir veya diğer Ultralytics Çözümlerini keşfedebilirsin.

Link to this sectionSSS#

Link to this sectionUltralytics YOLO26'da bölgelerde nesne sayma nasıl çalışır?#

Ultralytics YOLO26, karedeki her nesneyi izleyerek ve sınırlayıcı kutu merkezinin kullanıcı tanımlı her çokgenin içinde olup olmadığını test ederek bölgelerdeki nesneleri sayar. Bir bölgede gösterilen sayı, o kare için mevcut doluluktur, kümülatif bir toplam değildir. Yapılandırma seçenekleri RegionCounter() Argümanları bölümünde listelenmiştir.

Link to this sectionBirden fazla bölgedeki nesneleri aynı anda nasıl sayabilirim?#

region argümanını, ana örnekte olduğu gibi, bölge isimlerini nokta listeleriyle eşleyen bir sözlük olarak gönder:

from ultralytics import solutions

region_points = {
    "region-01": [(50, 50), (250, 50), (250, 250), (50, 250)],
    "region-02": [(640, 640), (780, 640), (780, 720), (640, 720)],
}
regioncounter = solutions.RegionCounter(region=region_points, model="yolo26n.pt", show=True)

İsimlendirilmiş her alan, bağımsız bir sayımla kendi renginde çizilir.

Link to this sectionBölge sayımlarını programatik olarak nasıl alabilirim?#

The object returned by each regioncounter(im0) call carries a region_counts dictionary that maps region names to their counts, alongside plot_im (the annotated frame) and total_tracks (the number of tracked objects). Print the results object to inspect all available fields.

Link to this sectionBir bölgede sadece belirli nesne sınıflarını sayabilir miyim?#

Evet. Tutulacak sınıf indekslerini classes argümanı ile gönder; örneğin, COCO ön eğitimli bir modelle sadece insanları saymak için classes=[0] kullanabilirsin. İzleme ile ilgili argümanların tam listesi RegionCounter() Argümanları bölümündedir.

Link to this sectionRegionCounter ve ObjectCounter arasındaki fark nedir?#

RegionCounter, mevcut karede her çokgen bölgenin içinde kaç nesne olduğunu gösterirken, ObjectCounter nesneleri bir çizgi veya bölge sınırını geçerken kümülatif olarak sayar, giriş ve çıkış toplamlarını izler. Bir veya daha fazla bölgenin canlı doluluğu için RegionCounter kullan, giriş ve çıkış sayımı için ise ObjectCounter tercih et; çizgi şeklindeki bölgeler sadece ObjectCounter tarafından desteklenir.

Yorumlar