İçeriğe geç

Ultralytics YOLO26 kullanarak TrackZone

Colab'de TrackZone'u Açın

TrackZone nedir?

TrackZone, çerçevenin tamamı yerine belirlenmiş alanlardaki nesneleri izleme konusunda uzmanlaşmıştır. Ultralytics YOLO26 üzerine inşa edilen bu sistem, video ve canlı kamera akışları için nesne detect etme ve track etmeyi özellikle bölgeler içinde entegre eder. YOLO26'nın gelişmiş algoritmaları ve derin öğrenme teknolojileri, kalabalık izleme ve gözetim gibi uygulamalarda hassas ve verimli nesne track etme sunarak, gerçek zamanlı kullanım durumları için mükemmel bir seçim olmasını sağlar.



İzle: Ultralytics YOLO26 Kullanarak Bölgede Nesneleri Nasıl Track Ederiz | TrackZone 🚀

Bölgelerde Nesne Takibinin Avantajları (TrackZone)

  • Hedefli Analiz: Belirli bölgelerdeki nesneleri izlemek, daha odaklı içgörülere olanak tanır ve giriş noktaları veya kısıtlı bölgeler gibi ilgi alanlarının hassas bir şekilde izlenmesini ve analiz edilmesini sağlar.
  • Geliştirilmiş Verimlilik: İzleme kapsamını tanımlı bölgelerle daraltarak, TrackZone hesaplama yükünü azaltır, daha hızlı işlem ve optimum performans sağlar.
  • Gelişmiş Güvenlik: Bölgesel izleme, kritik alanları izleyerek gözetimi iyileştirir ve olağandışı etkinliklerin veya güvenlik ihlallerinin erken tespitine 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ımTaşıma
Ultralytics YOLO26 Kullanarak Tarlada Bitki Track EtmeUltralytics YOLO26 Kullanarak Yolda Araç Track Etme
Ultralytics YOLO26 Kullanarak Tarlada Bitki Track EtmeUltralytics YOLO26 Kullanarak Yolda Araç Track Etme

Ultralytics YOLO kullanarak 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 şuna dayanır: region çerçevenin hangi bölümünün izleneceğini bilmek için liste. İlgilendiğiniz fiziksel bölgeye (kapılar, geçitler, vb.) uyacak şekilde çokgeni tanımlayın ve show=True overlay'in video akışıyla hizalandığını doğrulayabilmeniz için yapılandırılırken etkinleştirildi.

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="yolo26n.pt",  # use any model that Ultralytics supports, e.g., 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 şunları içeren bir tablo: TrackZone argümanlar:

ArgümanTürVarsayılanAçıklama
modelstrNoneBir Ultralytics YOLO model dosyasının yolu.
regionlist'[(20, 400), (1260, 400)]'Sayma bölgesini tanımlayan nokta listesi.

TrackZone çözümü şunlar için destek içerir: track parametreler:

ArgümanTürVarsayılanAçıklama
trackerstr'botsort.yaml'Kullanılacak izleme algoritmasını belirtir, örneğin: bytetrack.yaml veya botsort.yaml.
conffloat0.1Algılamalar için güven eşiğini ayarlar; daha düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri 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İzleme sonuçlarının görüntülenmesini kontrol eder ve izlenen nesnelerin görsel bir çıktısını sağlar.
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 mevcuttur:

ArgümanTürVarsayılanAçıklama
showboolFalseEğer True, ek 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. 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.
show_confboolTrueEtiketin yanında her algılama için güvenilirlik puanını görüntüler. Modelin her algılama için kesinliği hakkında fikir verir.
show_labelsboolTrueGörsel çıktıdaki her algılama için etiketleri görüntüler. Algılanan 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 track ederim?

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

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

TrackZone'u Python'da Ultralytics YOLO26 ile nasıl kullanabilirim?

Sadece birkaç satır kodla, belirli bölgelerde nesne takibini ayarlayabilir, 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="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. İzlemek istediğiniz alanlar üzerinde hassas kontrol sağlayarak, bölgeleri doğrudan bir Python betiği aracılığıyla tanımlayabilir ve ayarlayabilirsiniz.

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


📅 1 yıl önce oluşturuldu ✏️ 2 gün önce güncellendi
RizwanMunawarglenn-jocherpderrenger

Yorumlar