Ultralytics YOLO26 kullanarak Nesne Sayma

Nesne Sayma nedir?

Open Object Counting In Colab

Ultralytics YOLO26 ile nesne sayma, videolardaki ve kamera akışlarındaki belirli nesnelerin doğru bir şekilde tanımlanmasını ve sayılmasını içerir. YOLO26, son teknoloji algoritmaları ve derin öğrenme yetenekleri sayesinde kalabalık analizi ve gözetim gibi çeşitli senaryolar için verimli ve hassas nesne sayımı sağlayarak gerçek zamanlı uygulamalarda üstünlük sağlar.



Watch: How to Perform Real-Time Object Counting with Ultralytics YOLO26 🚀

Nesne Saymanın Avantajları

  • Kaynak Optimizasyonu: Nesne sayma, doğru sayımlar sağlayarak verimli kaynak yönetimine olanak tanır ve envanter yönetimi gibi uygulamalarda kaynak tahsisini optimize eder.
  • Gelişmiş Güvenlik: Nesne sayma, varlıkları doğru bir şekilde izleyip sayarak güvenliği ve gözetimi artırır, böylece proaktif tehdit algılama süreçlerine yardımcı olur.
  • Bilgiye Dayalı Karar Verme: Nesne sayma, karar verme süreci için değerli içgörüler sunar ve perakende, trafik yönetimi ve diğer birçok alandaki süreçleri optimize eder.

Gerçek Dünya Uygulamaları

LojistikSu Ürünleri Yetiştiriciliği
Ultralytics YOLO26 Kullanarak Konveyör Bandı Paket SayımıUltralytics YOLO26 Kullanarak Denizde Balık Sayımı
Ultralytics YOLO26 Kullanarak Konveyör Bandı Paket SayımıUltralytics YOLO26 Kullanarak Denizde Balık Sayımı
Ultralytics YOLO kullanarak Nesne Sayma
# Run a counting example
yolo solutions count show=True

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

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

region argümanı iki nokta (bir çizgi için) veya üç ya da daha fazla noktadan oluşan bir poligon kabul eder. Koordinatları, sayacın giriş ve çıkışların tam olarak nerede gerçekleştiğini bilmesi için bağlanmaları gereken sırayla tanımla.

ObjectCounter Argümanları

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

ArgümanTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasına giden yol.
show_inboolTrueVideo akışında giriş sayılarını gösterip göstermemeyi kontrol eden bayrak.
show_outboolTrueVideo akışında çıkış sayılarını gösterip göstermemeyi kontrol eden bayrak.
regionlist'[(20, 400), (1260, 400)]'Sayım bölgesini tanımlayan noktalar listesi.

ObjectCounter çözümü birkaç track argümanının kullanımına izin verir:

ArgümanTürVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak takip algoritmasını belirtir, örneğin bytetrack.yaml veya botsort.yaml.
conffloat0.1Tespitler için güven eşiğini belirler; daha düşük değerler daha fazla nesnenin takip edilmesine izin verir ancak hatalı pozitifleri içerebilir.
ioufloat0.7Çakışan tespitleri filtrelemek için Birleşim Üzerinde Kesişim (IoU) eşiğini belirler.
classeslistNoneSonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] sadece belirtilen sınıfları takip eder.
verboseboolTrueTakip edilen nesnelerin görsel bir çıktısını sağlayarak takip sonuçlarının görüntülenmesini kontrol eder.
devicestrNoneÇıkarım için cihazı belirtir (örneğin cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya diğer bilgi işlem cihazları arasında seçim yapmasına olanak tanır.

Ek olarak, aşağıda listelenen görselleştirme argümanları da desteklenmektedir:

ArgümanTürVarsayılanAçıklama
showboolFalseEğer True 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 kalınlığını belirtir. None ise, çizgi kalınlığı otomatik olarak görüntü boyutuna göre ayarlanır. Netlik için görsel özelleştirme sağlar.
show_confboolTrueEtiketle birlikte her tespit için güven puanını görüntüler. Her bir tespit için modelin kesinliği hakkında fikir verir.
show_labelsboolTrueGörsel çıktıda her tespit için etiketleri görüntüler. Tespit edilen nesnelerin anında anlaşılmasını sağlar.

SSS

Ultralytics YOLO26 kullanarak bir videodaki nesneleri nasıl sayarım?

Ultralytics YOLO26 kullanarak bir videodaki nesneleri saymak için şu adımları izleyebilirsin:

  1. Gerekli kütüphaneleri (cv2, ultralytics) içe aktar.
  2. Sayım bölgesini (örneğin bir poligon, çizgi vb.) tanımla.
  3. Video yakalamayı ayarla ve nesne sayacını başlat.
  4. Nesneleri takip etmek ve tanımlanan bölge içindeki sayılarını almak için her bir kareyi işle.

İşte bir bölgede sayım yapmak için basit bir örnek:

import cv2

from ultralytics import solutions

def count_objects_in_region(video_path, output_video_path, model_path):
    """Count objects in a specific region within a video."""
    cap = cv2.VideoCapture(video_path)
    assert cap.isOpened(), "Error reading video file"
    w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
    video_writer = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

    region_points = [(20, 400), (1080, 400), (1080, 360), (20, 360)]
    counter = solutions.ObjectCounter(show=True, region=region_points, model=model_path)

    while cap.isOpened():
        success, im0 = cap.read()
        if not success:
            print("Video frame is empty or processing is complete.")
            break
        results = counter(im0)
        video_writer.write(results.plot_im)

    cap.release()
    video_writer.release()
    cv2.destroyAllWindows()

count_objects_in_region("path/to/video.mp4", "output_video.avi", "yolo26n.pt")

Daha gelişmiş konfigürasyonlar ve seçenekler için, birden fazla bölgedeki nesneleri aynı anda saymak üzere RegionCounter çözümüne göz at.

Nesne sayımı için Ultralytics YOLO26 kullanmanın avantajları nelerdir?

Nesne sayımı için Ultralytics YOLO26 kullanmanın çeşitli avantajları vardır:

  1. Kaynak Optimizasyonu: Doğru sayımlar sağlayarak verimli kaynak yönetimini kolaylaştırır ve envanter yönetimi gibi sektörlerde kaynak tahsisinin optimize edilmesine yardımcı olur.
  2. Gelişmiş Güvenlik: Varlıkları doğru bir şekilde izleyip sayarak güvenliği ve gözetimi artırır, proaktif tehdit algılama ve güvenlik sistemlerine destek olur.
  3. Bilgiye Dayalı Karar Verme: Karar verme süreçleri için değerli içgörüler sunar; perakende, trafik yönetimi ve daha fazlası gibi alanlardaki işlemleri optimize eder.
  4. Gerçek Zamanlı İşleme: YOLO26 mimarisi gerçek zamanlı çıkarıma olanak tanır, bu da onu canlı video akışları ve zaman açısından kritik uygulamalar için uygun hale getirir.

Uygulama örnekleri ve pratik kullanımlar için, belirli bölgelerdeki nesneleri takip etmeye yönelik TrackZone çözümünü keşfet.

Ultralytics YOLO26 kullanarak belirli nesne sınıflarını nasıl sayabilirim?

Ultralytics YOLO26 kullanarak belirli nesne sınıflarını saymak için, takip aşamasında ilgilendiğin sınıfları belirtmen gerekir. Aşağıda bir Python örneği yer almaktadır:

import cv2

from ultralytics import solutions

def count_specific_classes(video_path, output_video_path, model_path, classes_to_count):
    """Count specific classes of objects in a video."""
    cap = cv2.VideoCapture(video_path)
    assert cap.isOpened(), "Error reading video file"
    w, h, fps = (int(cap.get(x)) for x in (cv2.CAP_PROP_FRAME_WIDTH, cv2.CAP_PROP_FRAME_HEIGHT, cv2.CAP_PROP_FPS))
    video_writer = cv2.VideoWriter(output_video_path, cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

    line_points = [(20, 400), (1080, 400)]
    counter = solutions.ObjectCounter(show=True, region=line_points, model=model_path, classes=classes_to_count)

    while cap.isOpened():
        success, im0 = cap.read()
        if not success:
            print("Video frame is empty or processing is complete.")
            break
        results = counter(im0)
        video_writer.write(results.plot_im)

    cap.release()
    video_writer.release()
    cv2.destroyAllWindows()

count_specific_classes("path/to/video.mp4", "output_specific_classes.avi", "yolo26n.pt", [0, 2])

Bu örnekte, classes_to_count=[0, 2] ifadesi, 0 ve 2 sınıfındaki nesneleri (örneğin COCO veri setindeki kişi ve araba) sayacağı anlamına gelir. Sınıf indeksleri hakkında daha fazla bilgiyi COCO veri seti dokümantasyonunda bulabilirsin.

Gerçek zamanlı uygulamalar için neden diğer nesne algılama modelleri yerine YOLO26 kullanmalıyım?

Ultralytics YOLO26, Faster R-CNN, SSD ve önceki YOLO sürümleri gibi diğer nesne algılama modellerine göre çeşitli avantajlar sağlar:

  1. Hız ve Verimlilik: YOLO26, gözetim ve otonom sürüş gibi yüksek hızlı çıkarım gerektiren uygulamalar için ideal olan gerçek zamanlı işleme yetenekleri sunar.
  2. Doğruluk: Nesne algılama ve takip görevleri için en üst düzey doğruluk sağlayarak hatalı pozitif sayısını azaltır ve genel sistem güvenilirliğini artırır.
  3. Entegrasyon Kolaylığı: YOLO26, modern yapay zeka uygulamaları için kritik öneme sahip olan mobil ve uç cihazlar dahil olmak üzere çeşitli platformlar ve cihazlarla sorunsuz entegrasyon sunar.
  4. Esneklik: Belirli kullanım durumu gereksinimlerini karşılamak için yapılandırılabilir modellerle nesne algılama, segmentasyon ve takip gibi çeşitli görevleri destekler.

Özelliklerini ve performans karşılaştırmalarını daha derinlemesine incelemek için Ultralytics YOLO26 Dokümantasyonuna göz at.

YOLO26'yı kalabalık analizi ve trafik yönetimi gibi gelişmiş uygulamalar için kullanabilir miyim?

Evet, Ultralytics YOLO26, gerçek zamanlı algılama yetenekleri, ölçeklenebilirliği ve entegrasyon esnekliği sayesinde kalabalık analizi ve trafik yönetimi gibi gelişmiş uygulamalar için mükemmel bir şekilde uygundur. Gelişmiş özellikleri, dinamik ortamlarda yüksek doğrulukla nesne takibi, sayımı ve sınıflandırmasına olanak tanır. Örnek kullanım durumları şunlardır:

  • Kalabalık Analizi: Bölge tabanlı sayım ile güvenliği sağlayarak ve kalabalık akışını optimize ederek büyük toplantıları izle ve yönet.
  • Trafik Yönetimi: Hız tahmini yetenekleri ile araçları takip et ve say, trafik düzenlerini analiz et ve sıkışıklığı gerçek zamanlı olarak yönet.
  • Perakende Analitiği: Mağaza düzenlerini optimize etmek ve müşteri deneyimini iyileştirmek için müşteri hareket modellerini ve ürün etkileşimlerini analiz et.
  • Endüstriyel Otomasyon: Konveyör bantlarındaki ürünleri say ve kalite kontrolü ile verimlilik artışı için üretim hatlarını izle.

Daha özel uygulamalar için, gerçek dünya bilgisayarlı görü zorlukları için tasarlanmış kapsamlı araç seti olan Ultralytics Çözümlerini keşfet.

Yorumlar