Ultralytics YOLO27:

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ı#

PerakendePazar Caddeleri
Ultralytics YOLO'nun bir perakende mağazasında çizilmiş çokgen bölgelerin içindeki kişileri saymasıKalabalık bir pazar caddesi üzerine bindirilmiş Ultralytics YOLO bölge sayımları
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:

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)]"

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şkenTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasının yolu.
regionlist veya dictNoneİ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_widthint2Çözümün çizdiği kutular, kilit noktaları ve sayılar için çizgi kalınlığı.
verboseboolTrueÇö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şkenTürVarsayı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.25Algı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.
ioufloat0.7Örtüşen algılamaları filtrelemek için Birleşim Üzerindeki Kesişim (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ı takip eder.
devicestrNoneÇı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.
imgszint or tuple640Hedef çı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_detint300İ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.
quantizeint or strNoneÇı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şkenTürVarsayılanAçıklama
showboolFalseTrue 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_confboolTrueHer 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_labelsboolTrueGö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:

  1. YOLO26, karedeki her nesneyi algılar ve takip eder
  2. Çö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
  3. 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.

  • region bağı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 bir region_counts sözlüğünü, plot_im (açıklamalı kare) ve total_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 classes bağımsız değişkenini ilet; örneğin COCO ile önceden eğitilmiş bir modelle yalnızca kişileri saymak için classes=[0] kullanabilirsin. Takiple ilgili bağımsız değişkenlerin tam listesi RegionCounter() 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çin RegionCounter, giriş ve çıkış sayımı için ObjectCounter kullan; çizgi şeklindeki bölgeler yalnızca ObjectCounter tarafından desteklenir.

Yorumlar