Ultralytics YOLO11 kullanarak TrackZone
TrackZone nedir?
TrackZone, tüm çerçeve yerine bir çerçevenin belirlenmiş alanlarındaki nesneleri izlemeye odaklanır. Ultralytics YOLO11 üzerine inşa edilmiş olup, özellikle videolar ve canlı kamera yayınları için bölgeler içindeki nesne algılama ve izlemeyi entegre eder. YOLO11'in gelişmiş algoritmaları ve derin öğrenme teknolojileri, kalabalık izleme ve gözetim gibi uygulamalarda hassas ve verimli nesne izleme sunarak onu gerçek zamanlı kullanım durumları için mükemmel bir seçim haline getirir.
İzle: Ultralytics YOLO11 Kullanarak Bölgedeki Nesneler Nasıl İzlenir | 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ım | Taşıma |
---|---|
![]() |
![]() |
Ultralytics YOLO11 Kullanarak Sahada Bitki Takibi | Ultralytics YOLO11 Kullanarak Yolda Araç Takibi |
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 şunları içeren bir tablo: TrackZone
argümanlar:
Argüman | Tür | Varsayılan | Açıklama |
---|---|---|---|
model |
str |
None |
Ultralytics YOLO Model Dosyasına Giden Yol. |
region |
list |
'[(20, 400), (1260, 400)]' |
Sayma bölgesini tanımlayan nokta listesi. |
TrackZone çözümü şunlar için destek içerir: track
parametreler:
Argüman | Tür | Varsayılan | Açıklama |
---|---|---|---|
tracker |
str |
'botsort.yaml' |
Kullanılacak izleme algoritmasını belirtir, örneğin: bytetrack.yaml veya botsort.yaml . |
conf |
float |
0.3 |
Algı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. |
iou |
float |
0.5 |
Çakışan algılamaları 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. |
verbose |
bool |
True |
İzleme sonuçlarının görüntülenmesini kontrol eder ve 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 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üman | Tür | Varsayılan | Açıklama |
---|---|---|---|
show |
bool |
False |
Eğ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_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. |
show_conf |
bool |
True |
Etiketin 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_labels |
bool |
True |
Gö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 YOLO11 kullanarak bir video çerçevesinin belirli bir alanında veya bölgesinde nesneleri nasıl takip ederim?
Bir video karesinin tanımlı bir alanında veya bölgesinde nesneleri izlemek, Ultralytics YOLO11 ile basittir. İ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
Ultralytics YOLO11 ile TrackZone'u Python'da 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="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ı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
)