Ultralytics YOLO26 ile TrackZone

Open TrackZone In Colab

TrackZone nedir?

TrackZone, tüm kare yerine bir karenin belirlenmiş alanları içindeki nesneleri izleme konusunda uzmanlaşmıştır. Ultralytics YOLO26 üzerine inşa edilmiştir ve videolar ile canlı kamera beslemeleri için nesne algılama ve izleme işlevlerini özellikle bölgeler içinde entegre eder. YOLO26'nın gelişmiş algoritmaları ve derin öğrenme teknolojileri, onu gerçek zamanlı kullanım durumları için mükemmel bir seçim haline getirerek kalabalık izleme ve gözetim gibi uygulamalarda hassas ve verimli nesne takibi sunar.



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

Bölgelerde Nesne Takibinin (TrackZone) Avantajları

  • Hedefli Analiz: Nesneleri belirli bölgeler içinde takip etmek, daha odaklı içgörüler sağlar ve 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.
  • Geliştirilmiş Verimlilik: Takip kapsamını tanımlanmış bölgelerle daraltarak, TrackZone hesaplama yükünü azaltır ve daha hızlı işlem ile optimum performans sağlar.
  • Artırılmış Güvenlik: Bölgesel takip, kritik alanları izleyerek gözetimi iyileştirir ve olağandışı faaliyetlerin 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 uyarlanabilir hale getirerek sorunsuz entegrasyon ve ölçeklenebilirlik sağlar.

Gerç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. Çokgeni ilgilendiğiniz fiziksel bölgeyle (kapılar, girişler vb.) eşleşecek şekilde tanımla ve yapılandırma sırasında katmanın video beslemesiyle hizalandığını doğrulayabilmek için show=True ayarını etkin tut.

TrackZone Argümanları

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

ArgümanTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasına giden yol.
regionlist'[(20, 400), (1260, 400)]'Sayım bölgesini tanımlayan noktalar listesi.

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

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.

Ayrıca, aşağıdaki görselleştirme seçenekleri mevcuttur:

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 video karesinin belirli bir alanında veya bölgesinde nesneleri nasıl takip ederim?

Bir video karesinin tanımlanmış bir alanında veya bölgesinde nesneleri takip etmek, Ultralytics YOLO26 ile çok kolaydır. Takibi 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 takip gerektiren herhangi bir senaryo için idealdir.

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

Python'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))

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

# Video writer
video_writer = cv2.VideoWriter("object_counting_output.avi", cv2.VideoWriter_fourcc(*"mp4v"), fps, (w, h))

# Init trackzone (object tracking in zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo26n.pt",
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or video processing has been successfully completed.")
        break
    results = trackzone(im0)
    video_writer.write(results.plot_im)

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

Ultralytics 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
)

Yorumlar