İçeriğe geç

TrackZone kullanarak Ultralytics YOLO11

Colab'da TrackZone'u Açın

TrackZone nedir?

TrackZone, bir çerçevenin tamamı yerine belirlenen alanlardaki nesneleri izleme konusunda uzmanlaşmıştır. Üzerine inşa edilmiştir Ultralytics YOLO11özellikle videolar ve canlı kamera akışları için bölgeler içinde nesne algılama ve izlemeyi entegre eder. YOLO11'nin 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.



İzle: Ultralytics YOLO11 | TrackZone kullanarak Bölgedeki Nesneler Nasıl İzlenir 🚀

Bölgelerde Nesne Takibinin Avantajları (TrackZone)

  • Hedefli Analiz: Belirli bölgelerdeki nesnelerin izlenmesi, giriş noktaları veya kısıtlı bölgeler gibi ilgi alanlarının hassas bir şekilde izlenmesini ve analiz edilmesini sağlayarak daha odaklı içgörülere olanak tanır.
  • Geliştirilmiş Verimlilik: TrackZone, izleme kapsamını tanımlı bölgelere daraltarak hesaplama yükünü azaltır, daha hızlı işlem ve optimum performans sağlar.
  • Geliştirilmiş Güvenlik: Bölgesel izleme, kritik alanları izleyerek gözetimi geliştirir, olağandışı faaliyetlerin veya güvenlik ihlallerinin erken tespit edilmesine yardımcı olur.
  • Ölçeklenebilir Çözümler: Belirli bölgelere odaklanma 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ım Ulaşım
Bitkilerin Sahada Takip Edilmesi Ultralytics YOLO11 Yolda Araç Takibi Ultralytics YOLO11
Bitkilerin Sahada Takip Edilmesi Ultralytics YOLO11 Yolda Araç Takibi Ultralytics YOLO11

Ultralytics YOLO kullanarak TrackZone

# Run a trackzone example
yolo solutions trackzone show=True

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

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

from ultralytics import solutions

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

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

# Video writer
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))

# Init trackzone (object tracking in zones, not complete frame)
trackzone = solutions.TrackZone(
    show=True,  # display the output
    region=region_points,  # pass region points
    model="yolo11n.pt",  # use any model that Ultralytics support, i.e. YOLOv9, YOLOv10
    # line_width=2,  # adjust the line width for bounding boxes and text display
)

# Process video
while cap.isOpened():
    success, im0 = cap.read()
    if not success:
        print("Video frame is empty or processing is complete.")
        break

    results = trackzone(im0)

    # print(results)  # access the output

    video_writer.write(results.plot_im)  # write the video file

cap.release()
video_writer.release()
cv2.destroyAllWindows()  # destroy all opened windows

TrackZone Argümanlar

İşte bir tablo TrackZone Argümanlar:

Tartışma Tip Varsayılan Açıklama
model str None Ultralytics YOLO Model Dosyasının Yolu.
region list [(20, 400), (1260, 400)] Sayım bölgesini tanımlayan noktaların listesi.

TrackZone çözümü aşağıdakiler için destek içerir track Parametreler:

Tartışma Tip Varsayılan Açıklama
tracker str 'botsort.yaml' Kullanılacak izleme algoritmasını belirtir, örn, bytetrack.yaml veya botsort.yaml.
conf float 0.3 Algılamalar için güven eşiğini ayarlar; düşük değerler daha fazla nesnenin izlenmesine izin verir ancak yanlış pozitifler içerebilir.
iou float 0.5 Çakışan algılamaları filtrelemek için Birlik üzerinde Kesişim (IoU) eşiğini ayarlar.
classes list None Sonuçları sınıf dizinine göre filtreler. Örneğin, classes=[0, 2, 3] yalnızca belirtilen sınıfları izler.
verbose bool True İzleme sonuçlarının görüntülenmesini kontrol ederek izlenen nesnelerin görsel bir çıktısını sağlar.
device str None Çıkarım için cihazı belirtir (örn, cpu, cuda:0 veya 0). Kullanıcıların CPU, belirli bir GPU veya model yürütme için diğer hesaplama cihazları arasında seçim yapmasına olanak tanır.

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

Tartışma Tip Varsayılan Açıklama
show bool False Eğer True, 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_width None or int None Sınırlayıcı kutuların çizgi genişliğini belirtir. Eğer Noneçizgi genişliği görüntü boyutuna göre otomatik olarak ayarlanır. Netlik için görsel özelleştirme sağlar.

SSS

Ultralytics YOLO11 adresini kullanarak bir video karesinin belirli bir alanındaki veya bölgesindeki nesneleri nasıl izleyebilirim?

Bir video karesinin tanımlanmış bir alanındaki veya bölgesindeki nesneleri izlemek Ultralytics YOLO11 ile kolaydır. İzlemeyi başlatmak için aşağıda verilen komutu kullanmanız yeterlidir. 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 gibi uygulamalar için idealdir.

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

TrackZone'u Python adresinde Ultralytics YOLO11 ile nasıl kullanabilirim?

Sadece birkaç satır kodla, belirli bölgelerde nesne takibini ayarlayabilir ve projelerinize entegre etmeyi kolaylaştırabilirsiniz.

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="yolo11n.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ırabilirim?

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 komut dosyası aracılığıyla tanımlayabilir ve ayarlayabilirsiniz, bu da izlemek istediğiniz 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
)
📅 3 ay önce oluşturuldu ✏️ 5 gün önce güncellendi

Yorumlar