Ultralytics YOLO26 ile TrackZone#
TrackZone Nedir?#
TrackZone, nesneleri tüm kare yerine karenin belirlenmiş alanlarında izleme konusunda uzmanlaşmıştır. Ultralytics YOLO26 temel alınarak geliştirilen çözüm, video ve canlı kamera akışlarında özellikle bölgelerde nesne algılama ve takibi bir araya getirir. YOLO26'nın gelişmiş algoritmaları ve derin öğrenme teknolojileri, kalabalık izleme ve gözetim gibi uygulamalarda hassas ve verimli nesne takibi sunarak çözümü gerçek zamanlı kullanım senaryoları için ideal hâle getirir.
İzle: Ultralytics YOLO26 ile Bir Bölgedeki Nesneler Nasıl İzlenir | TrackZone 🚀
Bölgelerde Nesne Takibinin Avantajları (TrackZone)#
- Hedef Odaklı Analiz: Nesneleri belirli bölgelerde takip etmek, daha odaklı içgörüler elde etmeyi sağlar ve giriş noktaları veya kısıtlı bölgeler gibi ilgi alanlarının hassas biçimde izlenmesine ve analiz edilmesine olanak tanır.
- Sonraki Aşamalardaki İş Yükünün Azalması: TrackZone, bölgenin dışındaki nesneleri yok sayarak ilgisiz algılamaları eler; böylece üzerine kurduğun mantıkta sayılacak, kaydedilecek veya uyarı oluşturulacak daha az nesne olur. Algılama, bölgenin dar bir kırpımı yerine tam boyutlu maskelenmiş bir kare üzerinde çalışmaya devam eder; bu nedenle avantaj, model çıkarımının hızlanmasından çok daha temiz ve odaklı bir çıktıdır.
- Gelişmiş Güvenlik: Bölgesel takip, kritik alanları izleyerek gözetimi iyileştirir ve olağan dışı etkinliklerin veya güvenlik ihlallerinin erken tespitine yardımcı olur.
- Ölçeklenebilir Çözümler: Belirli bölgelere odaklanabilme özelliği, TrackZone'u perakende alanlarından endüstriyel ortamlara kadar çeşitli senaryolara uyarlanabilir hâle getirir ve sorunsuz entegrasyon ile ölçeklenebilirlik sağlar.
Gerçek Dünya Uygulamaları#
| Tarım | Ulaşım |
|---|---|
![]() | ![]() |
| Ultralytics YOLO26 ile Tarladaki Bitkilerin Takibi | Ultralytics YOLO26 ile Yoldaki Araçların Takibi |
# 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 bölümünü izleyeceğini belirlemek için region listesine dayanır. Çokgeni ilgilendiğin fiziksel bölgeye (kapılar, geçitler vb.) uyacak şekilde tanımla ve yer paylaşımının video akışıyla hizalandığını doğrulamak için yapılandırma sırasında show=True seçeneğini etkin tut.
regioniçindeki her girdi, video karesindeki bir(x, y)piksel koordinatıdır. İzlemek istediğin alanın çevresini oluşturacak şekilde noktaları birleştirme sırasına göre listele.- Koordinatlar kare çözünürlüğüne bağlıdır; bu nedenle 1280×720 akış için belirlenen bir bölge, 640×480 akışla hizalanmaz. Yer paylaşımının akışınla eşleştiğini doğrulamak için yapılandırma sırasında
show=Trueseçeneğini etkin tut. TrackZone, noktaları dışbükey zarflarına indirger; bu nedenle içbükey bir şekil, tüm noktalarını içeren en küçük dışbükey çokgene basitleştirilir. Dışbükey olmayan şekiller veya birbirinden ayrı birkaç alan için bunun yerine RegionCounter çözümünü kullan.regionhiç belirtilmezse varsayılan[(75, 75), (565, 75), (565, 285), (75, 285)]bölgesi kullanılır.
TrackZone Bağımsız Değişkenleri#
Aşağıda TrackZone bağımsız değişkenlerini içeren bir tablo bulabilirsin:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
model | str | None | Ultralytics YOLO model dosyasının yolu. |
region | list veya dict | None | İlgi bölgesini tanımlayan noktalar; (x, y) demetlerinin listesi veya birden fazla bölge için bölge adlarını nokta listelerine eşleyen bir sözlük (yalnızca RegionCounter). None olduğunda, bölge gerektiren çözümler önceden tanımlanmış varsayılan bölgeye döner. |
line_width | int | 2 | Çözümün çizdiği kutular, anahtar noktalar ve sayılar için çizgi kalınlığı. |
verbose | bool | True | Çözümün her kare için girdi şekli, sınıf sayıları ve işleme hızına ilişkin günlüğünü etkinleştirir. İzleme çağrısının kendisi her zaman sessizdir. |
TrackZone çözümü, track parametrelerini destekler:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
tracker | str | 'tracktrack.yaml' | Kullanılacak izleme algoritmasını belirtir. Yerleşik seçenekler: botsort.yaml, bytetrack.yaml, ocsort.yaml, deepocsort.yaml, fasttrack.yaml, tracktrack.yaml. |
conf | float | 0.25 | Algılamalar için güven eşiğini belirler; düşük değerler daha fazla nesnenin izlenmesine olanak tanır ancak yanlış pozitifleri de içerebilir. |
iou | float | 0.7 | Çakışan algılamaları filtrelemek için Kesişim-Birleşim Oranı (IoU) eşiğini belirler. |
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. |
device | str | None | Çıkarım için kullanılacak cihazı belirtir (ör. cpu, cuda:0 veya 0). Kullanıcıların model yürütme için CPU, belirli bir GPU veya başka hesaplama cihazları arasında seçim yapmasına olanak tanır. |
imgsz | int or tuple | 640 | Hedef çıkarım görüntü boyutu: kare görüntüler için bir tam sayı veya bir (height, width) çifti. Boyutlar model adım değerine göre ayarlanır. |
max_det | int | 300 | Yoğun sahnelerde bir çözümün işleyeceği nesne sayısını sınırlamak için izleme öncesinde kare başına tutulan en yüksek algılama sayısı. |
quantize | int or str | None | Çıkarım hassasiyeti: PyTorch ve TorchScript modellerinde 16 (FP16) veya 32/ayarlanmamış (FP32); diğer biçimlerde hesaplama, yapıtın ve çalışma zamanının seçtiği hassasiyetle yapılır. Kullanımdan kaldırılan half bayrağının yerine geçer. |
Ayrıca aşağıdaki görselleştirme seçenekleri kullanılabilir:
| Bağımsız değişken | Tür | Varsayılan | Açıklama |
|---|---|---|---|
show | bool | False | True ise açıklama eklenmiş görüntüleri veya videoları bir pencerede gösterir. Geliştirme veya test sırasında anında görsel geri bildirim almak için kullanışlıdır. |
show_conf | bool | True | Her algılamanın güven puanını etiketinin yanında gösterir. Modelin her algılamaya ne kadar güvendiğini görmeni sağlar. |
show_labels | bool | True | Görsel çıktıda her algılama için etiketleri gösterir. Algılanan nesnelerin hemen anlaşılmasını sağlar. |
Bölgenin İçindeki Nesneleri Sayma#
İzleyiciye yapılan her çağrı, SolutionResults nesnesi döndürür; bu nesnenin total_tracks özniteliği, o anda bölge içinde takip edilen nesnelerin sayısını tutar. Canlı doluluğu izlemek için bu değeri her karede oku; örneğin bir giriş noktasının veya kısıtlı alanın ne kadar yoğun olduğunu kaydet:
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()Sık Sorulan Sorular#
Ultralytics YOLO26 ile bir video karesinin tanımlı bir alanındaki veya bölgesindeki nesneleri takip etmek oldukça 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ğlar; bu da onu gözetim, kalabalık yönetimi veya bölgesel takip gerektiren diğer senaryolar için ideal hâle getirir.
yolo solutions trackzone source="path/to/video.mp4" show=TrueYalnızca birkaç satır kodla 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()Ultralytics TrackZone ile video işleme için bölge noktalarını yapılandırmak kolaydır ve özelleştirilebilir. İzlemek istediğin alanlar üzerinde hassas kontrol sahibi olmak için bölgeleri doğrudan bir Python betiğiyle tanımlayıp ayarlayabilirsin.
from ultralytics import solutions # Bölge noktalarını tanımla region_points = [(150, 150), (1130, 150), (1130, 570), (150, 570)] # trackzone'u başlat trackzone = solutions.TrackZone( show=True, # çıktıyı görüntüle region=region_points, # bölge noktalarını ilet )TrackZonenoktaları dışbükey zarflarına indirger; bu nedenle içbükey bir dış hat, tüm noktalarını içeren en küçük dışbükey çokgene basitleştirilir.Her üç çözüm de bölgelerle çalışır, ancak farklı sorulara yanıt verir:
Çözüm Şu amaçla kullan Tipik çıktı TrackZone Tek bir dışbükey bölgedeki nesneleri takip etmek ve canlı doluluğu izlemek Takip edilen kimlikler ve bölgeye ait total_tracksObjectCounter Bir çizgiyi geçen veya bir bölgeye girip çıkan nesneleri saymak Kümülatif giriş ve çıkış sayıları RegionCounter Bir veya daha fazla keyfî (dışbükey olmayanlar dâhil) bölgedeki nesneleri saymak Bölge başına nesne sayıları Bir alanda kesintisiz takip istiyorsan TrackZone'u; birden fazla bölgeye veya dışbükey olmayan bir şekle ihtiyacın varsa RegionCounter çözümünü seç.

