Meet YOLO26: next-gen vision AI.

Link to this sectionUltralytics YOLO26 ile TrackZone#

Link to this sectionTrackZone nedir?#

Open TrackZone In Colab

TrackZone, tüm kare yerine bir karenin belirlenmiş alanları içindeki nesneleri izleme konusunda uzmanlaşmıştır. Ultralytics YOLO26 üzerine inşa edilen bu çözüm, nesne algılama ve izleme işlemlerini özellikle videolar ve canlı kamera beslemeleri için bölgeler dahilinde entegre eder. YOLO26'nın gelişmiş algoritmaları ve derin öğrenme teknolojileri, kalabalık izleme ve gözetim gibi uygulamalarda kesin ve verimli nesne izleme sunarak gerçek zamanlı kullanım durumları için mükemmel bir tercih olmasını sağlar.



Watch: How to Track Objects in Region using Ultralytics YOLO26 | TrackZone 🚀

Link to this sectionBölgelerde Nesne Takibinin (TrackZone) Avantajları#

  • Hedefe Yönelik Analiz: Nesneleri belirli bölgeler içinde izlemek, daha odaklı içgörüler sağlar; bu da giriş noktaları veya kısıtlı bölgeler gibi ilgi alanlarının hassas bir şekilde izlenmesini ve analiz edilmesini mümkün kılar.
  • Azaltılmış Akış Aşağı İş Yükü: TrackZone, bölge dışındaki nesneleri görmezden gelerek alakasız algılamaları ortadan kaldırır, böylece üzerine inşa ettiğin mantıkta sayılacak, günlüğe kaydedilecek veya hakkında uyarı verilecek daha az nesne olur. Algılama işlemi, bölgenin dar bir kırpılmış hali yerine tam boyutlu maskelenmiş kare üzerinde çalıştığından, avantaj, daha hızlı model çıkarımı yerine daha temiz ve odaklanmış bir çıktıdır.
  • Gelişmiş Güvenlik: Bölgesel izleme, kritik alanları izleyerek güvenliği artırır ve olağandışı etkinliklerin veya güvenlik ihlallerinin erken tespitine yardımcı olur.
  • Ölçeklenebilir Çözümler: Belirli bölgelere odaklanabilme yeteneği, TrackZone'u perakende alanlarından endüstriyel ortamlara kadar çeşitli senaryolara uyumlu hale getirerek sorunsuz entegrasyon ve ölçeklenebilirlik sağlar.

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

TarımUlaşım
Ultralytics YOLO26 Kullanarak Tarlada Bitki TakibiUltralytics YOLO26 Kullanarak Yolda Araç Takibi
Ultralytics YOLO26 Kullanarak Tarlada Bitki TakibiUltralytics YOLO26 Kullanarak Yolda Araç Takibi
Ultralytics YOLO ile TrackZone
# Run a trackzone example
yolo solutions trackzone show=True

# Pass a source video
yolo solutions trackzone source="path/to/video.mp4" show=True

# Pass region coordinates
yolo solutions trackzone show=True region="[(150, 150), (1130, 150), (1130, 570), (150, 570)]"

TrackZone, karenin hangi kısmının izleneceğini bilmek için region listesine güvenir. İlgilendiğin fiziksel bölgeye (kapılar, geçitler vb.) uyacak şekilde çokgeni tanımla ve yapılandırma sırasında bindirmenin video beslemesiyle hizalandığını doğrulamak için show=True seçeneğini etkin tut.

İzleme bölgesini tanımlama
  • region içindeki her girdi, video karesindeki bir (x, y) piksel koordinatıdır. Noktaları, izlemek istediğin alanın çevresinde birbirine bağlanmaları gereken sırayla listele.
  • Koordinatlar kare çözünürlüğüne bağlıdır, bu nedenle 1280×720 bir besleme için boyutlandırılmış bir bölge, 640×480 bir besleme ile hizalanmaz. Yapılandırma sırasında show=True seçeneğini açık tut, böylece bindirmenin beslemenle eşleştiğini doğrulayabilirsin.
  • TrackZone, noktaları kendi dışbükey gövdesine indirger, bu nedenle içbükey bir şekil, tüm noktalarını içeren en küçük dışbükey çokgene basitleştirilir. İçbükey şekiller veya birkaç ayrı alan için bunun yerine RegionCounter çözümünü kullan.
  • region parametresini tamamen atlarsan, varsayılan olarak [(75, 75), (565, 75), (565, 285), (75, 285)] bölgesi kullanılır.

Link to this sectionTrackZone Argümanları#

İşte TrackZone 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.

TrackZone çözümü, track parametreleri için destek içerir:

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 seçenekleri de mevcuttur:

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 İçindeki Nesneleri Sayma#

Every call to the tracker returns a SolutionResults object whose total_tracks attribute holds the number of objects currently tracked inside the zone. Read it on each frame to monitor live occupancy, for example to log how busy an entry point or restricted area is:

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
assert cap.isOpened(), "Error reading video file"

region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]
trackzone = solutions.TrackZone(show=False, region=region_points, model="yolo26n.pt")

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = trackzone(im0)
    print(f"Objects currently in zone: {results.total_tracks}")  # live zone occupancy

cap.release()

Link to this sectionSSS#

Link to this sectionUltralytics YOLO26 kullanarak bir video karesinin belirli bir alanında veya bölgesinde nesneleri nasıl izlerim?#

Ultralytics YOLO26 ile bir video karesinin tanımlanmış bir alanında veya bölgesinde nesneleri izlemek oldukça kolaydır. İzlemeyi başlatmak için aşağıda verilen komutu kullanman yeterli. Bu yaklaşım, verimli analiz ve doğru sonuçlar sağlayarak gözetim, kalabalık yönetimi veya bölgesel izleme gerektiren herhangi bir senaryo için idealdir.

yolo solutions trackzone source="path/to/video.mp4" show=True

Link to this sectionPython'da Ultralytics YOLO26 ile TrackZone'u nasıl kullanabilirim?#

Sadece birkaç satır kod ile belirli bölgelerde nesne takibini ayarlayabilir ve projelerine kolayca entegre edebilirsin.

import cv2

from ultralytics import solutions

cap = cv2.VideoCapture("path/to/video.mp4")
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("trackzone_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

trackzone = solutions.TrackZone(
    show=True, region=[(150, 150), (1130, 150), (1130, 570), (150, 570)], model="yolo26n.pt"
)

while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        break
    results = trackzone(im0)
    video_writer.write(results.plot_im)

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

Link to this sectionUltralytics TrackZone kullanarak video işleme için bölge noktalarını nasıl yapılandırırım?#

Ultralytics TrackZone ile video işleme için bölge noktalarını yapılandırmak basit ve özelleştirilebilirdir. Bölgeleri doğrudan bir Python betiği aracılığıyla tanımlayabilir ve ayarlayabilirsin, bu da izlemek istediğin alanlar üzerinde hassas kontrol sağlar.

# Define region points
region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)]

# Initialize trackzone
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
)

TrackZone'un noktaları dışbükey gövdesine indirgediğini unutma, bu yüzden onları izlemek istediğin alanın çevresi boyunca sırayla listele.

Link to this sectionObjectCounter veya RegionCounter yerine ne zaman TrackZone kullanmalıyım?#

Her üç çözüm de bölgelerle çalışır, ancak farklı sorulara yanıt verirler:

ÇözümŞunun için kullanTipik çıktı
TrackZoneTek bir dışbükey bölge içindeki nesneleri izle ve canlı doluluğu takip etBölge için izlenen ID'ler ve total_tracks
ObjectCounterBir çizgiyi geçen veya bir bölgeye girip çıkan nesneleri sayKümülatif giriş ve çıkış sayıları
RegionCounterBir veya daha fazla rastgele (içbükey dahil) bölge içindeki nesneleri sayBölge bazlı nesne sayıları

Tek bir alan içinde sürekli izleme istediğinde TrackZone'u, birden fazla bölgeye veya içbükey bir şekle ihtiyaç duyduğunda ise RegionCounter çözümünü seç.

Yorumlar