Ultralytics YOLO26 ile Bölgelerde Nesne Sayımı#
Ultralytics YOLO26 içindeki RegionCounter çözümü, nesneleri video kareleri boyunca takip eder ve her karede, sınırlayıcı kutusunun merkezi tanımladığın her bölgenin içinde kalan nesneleri sayar. Her bölge, kendi anlık sayımıyla birlikte kare üzerine çizilir; böylece tek bir Python çağrısı veya CLI komutuyla mağaza koridorları, yol şeritleri ya da üretim alanları gibi birden fazla bölgeyi izleyebilirsin.
Watch: Object Counting in Different Regions using Ultralytics YOLO | Ultralytics Solutions
Bölge Sayımı Neden Kullanılır?#
- Tek geçişte birden fazla bölge: Adlandırılmış çokgenlerden oluşan bir sözlük ilet; her bölge, kare üzerine çizilen bağımsız bir sayıma sahip olur ve böylece tek bir video akışı önem verdiğin tüm alanları kapsar.
- Takip yerleşik olarak gelir: Çözüm, YOLO26 algılamasını ve nesne takibini dahili olarak çalıştırır; bu nedenle ayrıca bağlanması gereken ayrı bir takip işlem hattı yoktur.
- Programatik olarak okuyabileceğin sayımlar: İşlenen her kare, panolar, uyarılar veya günlük kaydı için kullanıma hazır, bölge sayımlarını içeren bir sözlükle birlikte bir results nesnesi döndürür.
Gerçek Dünya Uygulamaları#
| Perakende | Pazar Caddeleri |
|---|---|
![]() | ![]() |
| Bölgelerde Ultralytics YOLO ile Kişi Sayımı | Bölgelerde Ultralytics YOLO ile Kalabalık Sayımı |
Ultralytics YOLO ile Bölgelerde Nesne Sayma#
RegionCounter çözümünü CLI veya Python üzerinden bir video kaynağında çalıştır. Bir bölge, noktalardan oluşan bir liste (tek bir alan) ya da bölge adlarını nokta listelerine eşleyen bir sözlük olabilir. Aşağıdaki Python örneği, adlandırılmış iki bölgede nesneleri sayar ve işlenen kareleri bir çıktı video dosyasına yazar:
# 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)]"RegionCounter() Bağımsız Değişkenleri#
RegionCounter bağımsız değişkenlerini içeren tablo aşağıda verilmiştir:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasının yolu. |
region | list veya dict | None | İlgi bölgesini tanımlayan noktalar: (x, y) demetlerinden oluşan bir liste veya birden fazla bölge için bölge adlarını nokta listelerine eşleyen bir sözlük (RegionCounter yalnızca). None olduğunda bölge gerektiren çözümler önceden tanımlanmış varsayılan değere geri döner. |
line_width | int | 2 | Çözümün çizdiği kutular, kilit noktaları ve sayılar için çizgi kalınlığı. |
verbose | bool | True | Çözümün kare başına giriş şeklini, sınıf sayılarını ve işlem hızını kaydetmesini etkinleştirir. Takip çağrısı her zaman sessizdir. |
RegionCounter çözümü, nesne takip parametrelerinin kullanılmasını sağlar:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'botsort.yaml' | Kullanılacak takip 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; daha düşük değerler daha fazla nesnenin takip edilmesine olanak tanır ancak yanlış pozitifler içerebilir. |
iou | float | 0.7 | Örtüşen algılamaları filtrelemek için Birleşim Üzerindeki Kesişim (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ı takip eder. |
device | str | None | Çıkarım için cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model çalıştırma işlemi için CPU, belirli bir GPU veya diğer hesaplama cihazları arasında seçim yapmasına olanak tanır. |
imgsz | int or tuple | 640 | Hedef çıkarım görüntü boyutu: kare için bir tamsayı veya bir (height, width) çifti. Şekiller model adımına göre ayarlanır. |
max_det | int | 300 | İzlemeden önce kare başına tutulan maksimum algılama sayısı; yoğun sahnelerde bir çözümün işlediği nesneleri sınırlar. |
quantize | int or str | None | Çıkarım hassasiyeti: PyTorch ve TorchScript modelleri için 16 (FP16) veya 32/ayarlanmamış (FP32); diğer formatlar, yapılarının ve çalışma zamanının seçtiği hassasiyette hesaplama yapar. Kullanımdan kaldırılan half bayrağının yerini alır. |
Ayrıca aşağıdaki görselleştirme ayarları da desteklenir:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | True olduğunda 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 almak için kullanışlıdır. |
show_conf | bool | True | Her algılamanın güven skorunu etiketin yanında görüntüler. Modelin her algılamaya ilişkin kesinliği hakkında fikir verir. |
show_labels | bool | True | Görsel çıktıda her algılama için etiketleri görüntüler. Algılanan nesnelerin hemen anlaşılmasını sağlar. |
Bölge Sayımı Nasıl Çalışır?#
RegionCounter çözümü, ilettiğ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 adlı tek bir bölgeye dönüşürken sözlük, kendi bölge adlarını korur; her bölge Ultralytics paletinden kendi rengiyle çizilir. Ardından her kare üç adımda işlenir:
- YOLO26, karedeki her nesneyi algılar ve takip eder
- Çözüm, takip edilen her nesne için sınırlayıcı kutusunun merkezini hesaplar ve bu merkezin hangi bölge çokgenlerinin içinde olduğunu kontrol eder
- Her bölgenin sayımı merkezine çizilir ve sonraki kareden önce sayımlar sıfırlanır
Sayımlar her karede yeniden başladığı için bir bölgede gösterilen sayı, geçerli doluluğu, yani o anda bölgenin içinde bulunan nesne sayısını ifade eder; toplam birikimli sayıyı ifade etmez. Bir sınırı kümülatif olarak geçen nesneleri saymak için bunun yerine ObjectCounter çözümünü kullan.
Her çağrı ayrıca plot_im özniteliği açıklamalı kareyi ve region_counts sözlüğü bölge adlarını sayımlarına eşleyen bir results nesnesi döndürür; böylece sayıları kendi uygulama mantığına aktarabilirsin.
Sonuç#
Ultralytics YOLO26 RegionCounter çözümü, birkaç satır kodla ihtiyacın olan sayıda adlandırılmış bölgede canlı nesne sayılarını izler. Daha ileri işlemler için nesne sayımı ile sınır geçişlerini sayabilir, TrackZone ile nesneleri tek bir bölgenin içinde takip edebilir veya diğer Ultralytics Solutions çözümlerini keşfedebilirsin.
SSS#
Ultralytics YOLO26, karedeki her nesneyi takip ederek ve nesnenin sınırlayıcı kutusunun merkezinin kullanıcı tarafından tanımlanan her çokgenin içinde olup olmadığını test ederek bölgelerdeki nesneleri sayar. Bir bölgede gösterilen sayı, o karedeki geçerli doluluğudur; kümülatif bir toplam değildir. Yapılandırma seçenekleri
RegionCounter()Arguments bölümünde listelenmiştir.regionbağımsız değişkenini, bölge adlarını nokta listelerine eşleyen bir sözlük olarak ilet; ana örnekte olduğu gibi: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)Her adlandırılmış bölge, bağımsız bir sayımla kendi renginde çizilir.
Her
regioncounter(im0)çağrısının döndürdüğü nesne, bölge adlarını sayımlarına eşleyen birregion_countssözlüğünü,plot_im(açıklamalı kare) vetotal_tracks(takip edilen nesne sayısı) ile birlikte taşır. Kullanılabilir tüm alanları incelemek için results nesnesini yazdır.Evet. Tutulacak sınıf indeksleriyle birlikte
classesbağımsız değişkenini ilet; örneğin COCO ile önceden eğitilmiş bir modelle yalnızca kişileri saymak içinclasses=[0]kullanabilirsin. Takiple ilgili bağımsız değişkenlerin tam listesiRegionCounter()Arguments bölümünde yer alır.RegionCounter, geçerli karede her çokgen bölgenin içinde kaç nesne olduğunu gösterirken ObjectCounter, nesneler bir çizgiyi veya bölge sınırını geçerken giriş ve çıkış toplamlarını takip ederek nesneleri kümülatif olarak sayar. Bir veya daha fazla bölgenin canlı doluluğu içinRegionCounter, giriş ve çıkış sayımı içinObjectCounterkullan; çizgi şeklindeki bölgeler yalnızcaObjectCountertarafından desteklenir.

