Ultralytics YOLO26 ile Nesne Sayma#
Nesne Sayma Nedir?#
Ultralytics YOLO26 ile nesne sayımı, video ve kamera akışlarındaki belirli nesnelerin doğru bir şekilde tanımlanmasını ve sayılmasını içerir. En son teknoloji algoritmaları ve derin öğrenme yetenekleri sayesinde YOLO26; kalabalık analizi ve gözetim gibi çeşitli senaryolar için verimli ve hassas nesne sayımı sağlayarak gerçek zamanlı uygulamalarda öne çıkar.
Watch: How to Perform Real-Time Object Counting with Ultralytics YOLO26 🚀
Nesne Saymanın Avantajları#
- Kaynak Optimizasyonu: Nesne sayımı; doğru sayımlar sağlayarak verimli kaynak yönetimini kolaylaştırır ve envanter yönetimi gibi uygulamalarda kaynak tahsisini optimize eder.
- Gelişmiş Güvenlik: Nesne sayımı, varlıkları doğru bir şekilde takip edip sayarak güvenliği ve gözetimi artırır, proaktif tehdit tespiti çalışmalarına yardımcı olur.
- Bilinçli Karar Verme: Nesne sayımı, karar verme sürecine değerli içgörüler sunarak perakende, trafik yönetimi ve diğer çeşitli alanlardaki süreçleri optimize eder.
Gerçek Dünya Uygulamaları#
| Lojistik | Su Ürünleri Yetiştiriciliği |
|---|---|
![]() | ![]() |
| Ultralytics YOLO26 Kullanarak Konveyör Bant Paket Sayımı | Ultralytics YOLO26 Kullanarak Denizde Balık Sayımı |
YOLO26 ile Nesneleri Say#
Bir sayma region tanımla (çizgi için iki nokta veya çokgen için üç ya da daha fazla nokta) ve bunu ObjectCounter çözümüne ilet. Sayaç, izlenen her nesneyi kareler boyunca takip eder ve izlenen nesneler çizgiyi geçtiğinde ya da bölgeden geçiş yaptığında GİRİŞ/ÇIKIŞ sayılarını tutarak çıktı videosuna yazabileceğin açıklamalı bir kare döndürür.
# 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 noktayı (bir çizgi için) veya üç ya da daha fazla noktaya sahip bir çokgeni kabul eder. Giriş ve çıkışların tam olarak nerede gerçekleştiğini sayacın bilmesi için koordinatları bağlanmaları gereken sırayla tanımla.
ObjectCounter Argümanları#
İşte ObjectCounter argümanlarını içeren bir tablo:
| Argüman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Bir Ultralytics YOLO model dosyasına giden yol. |
show_in | bool | True | Video akışında giriş sayılarını gösterip göstermemeyi kontrol eden bayrak. |
show_out | bool | True | Video akışında çıkış sayılarını gösterip göstermemeyi kontrol eden bayrak. |
region | list veya dict | None | İlgi bölgesini tanımlayan noktalar; ya bir (x, y) demetleri listesi ya da birden fazla bölge için bölge adlarını nokta listeleriyle eşleyen bir sözlük (RegionCounter yalnızca). None olduğunda, bölge gerektiren çözümler önceden tanımlanmış bir varsayılana geri döner. |
line_width | int | 2 | Çözümün çizdiği kutular, anahtar noktalar ve sayımlar için çizgi kalınlığı. |
verbose | bool | True | Çözümün girdi şekli, sınıf sayıları ve işleme hızına yönelik kare başına günlüğünü etkinleştirir. Takip çağrısının kendisi her zaman sessizdir. |
ObjectCounter çözümü, birkaç track argümanının kullanılmasına izin verir:
| Argüman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'botsort.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 ayarlar; daha düşük değerler daha fazla nesnenin izlenmesine izin verir ancak hatalı pozitif sonuçlar içerebilir. |
iou | float | 0.7 | Örtüşen tespitleri filtrelemek için Intersection over Union (IoU) eşiğini ayarlar. |
classes | list | None | Sonuçları sınıf indeksine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler. |
device | str | None | Çıkarım için cihazı belirtir (ör. 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üman | Tip | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | Eğer True ise, açıklama eklenmiş 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. |
show_conf | bool | True | Her 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_labels | bool | True | Görsel çıktıda her bir tespit için etiketleri görüntüler. Tespit edilen nesnelerin anında anlaşılmasını sağlar. |
SSS#
Ultralytics YOLO26 ile bir videodaki nesneleri saymak için şu adımları takip edebilirsin:
- Gerekli kütüphaneleri içe aktar (
cv2,ultralytics). - Sayım bölgesini (örneğin bir çokgen, çizgi vb.) tanımla.
- Video yakalamayı ayarla ve nesne sayacı başlat.
- Nesneleri takip etmek ve tanımlanan bölge içinde saymak için her 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 amacıyla RegionCounter çözümüne göz at.
- Gerekli kütüphaneleri içe aktar (
Ultralytics YOLO26'yı nesne sayımı için kullanmak çeşitli avantajlar sunar:
- Kaynak Optimizasyonu: Doğru sayımlar sağlayarak verimli kaynak yönetimini kolaylaştırır ve envanter yönetimi gibi sektörlerde kaynak tahsisini optimize etmeye yardımcı olur.
- Gelişmiş Güvenlik: Varlıkları doğru bir şekilde takip edip sayarak güvenliği ve gözetimi artırır, proaktif tehdit tespiti ve güvenlik sistemlerine yardımcı olur.
- Bilgiye Dayalı Karar Verme: Perakende, trafik yönetimi ve daha fazlası gibi alanlardaki süreçleri optimize ederek karar verme süreci için değerli içgörüler sunar.
- Gerçek Zamanlı İşleme: YOLO26'nın mimarisi gerçek zamanlı çıkarıma olanak tanır ve bu da onu canlı video akışları ile zamana duyarlı uygulamalar için uygun hale getirir.
Uygulama örnekleri ve pratik kullanımlar için belirli bölgelerdeki nesneleri takip etmek üzere TrackZone çözümünü incele.
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 bulunmaktadı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],0ve2sınıflarındaki nesneleri saydığı anlamına gelir (ör. COCO veri kümesindeki kişi ve araba). Sınıf indeksleri hakkında daha fazla bilgiyi COCO veri kümesi belgelerinde bulabilirsin.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:
- Hız ve Verimlilik: YOLO26 gerçek zamanlı işleme yetenekleri sunar; bu da onu gözetim ve otonom sürüş gibi yüksek hızlı çıkarım gerektiren uygulamalar için ideal kılar.
- Accuracy: En son teknoloji tespit ve takip doğruluğu sağlayarak yanlış pozitifleri azaltır ve genel sistem güvenilirliğini artırır.
- Entegrasyon Kolaylığı: YOLO26; mobil ve uç cihazlar dahil olmak üzere çeşitli platformlar ve cihazlarla kesintisiz entegrasyon sunar; bu da modern yapay zeka uygulamaları için çok önemlidir.
- Flexibility: Belirli kullanım durumu gereksinimlerini karşılamak için üzerinde track mode bulunan ve yapılandırılabilir modellerle detection ve segmentation görevlerini destekler.
Özelliklerini ve performans karşılaştırmalarını daha derinlemesine incelemek için Ultralytics YOLO26 Belgelerine göz at.
Evet, Ultralytics YOLO26; gerçek zamanlı algılama yetenekleri, ölçeklenebilirliği ve entegrasyon esnekliği sayesinde kitle 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 alanları şunlardır:
- Kalabalık Analizi: Bölge tabanlı sayım ile büyük kalabalıkları izle ve yönet, güvenliği sağla ve kalabalık akışını optimize et.
- Trafik Yönetimi: Hız tahmini yetenekleriyle araçları takip et ve say, trafik düzenlerini analiz et ve tıkanı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 iyileştirmeleri için üretim hatlarını izle.
Daha özel uygulamalar için gerçek dünya bilgisayarlı görü zorlukları için tasarlanmış kapsamlı bir araç seti sunan Ultralytics Çözümlerini keşfet.

