Referans için ultralytics/trackers/bot_sort.py
Not
Bu dosya https://github.com/ultralytics/ultralytics/blob/main/ ultralytics/trackers/bot_sort .py adresinde mevcuttur. Bir sorun tespit ederseniz lütfen bir Çekme İsteği 🛠️ ile katkıda bulunarak düzeltilmesine yardımcı olun. Teşekkürler 🙏!
ultralytics.trackers.bot_sort.BOTrack
Üsler: STrack
YOLOv8 için STrack sınıfının nesne izleme özellikleri ekleyen genişletilmiş bir sürümü.
Nitelikler:
İsim | Tip | Açıklama |
---|---|---|
shared_kalman |
KalmanFilterXYWH
|
BOTrack'in tüm örnekleri için paylaşılan bir Kalman filtresi. |
smooth_feat |
ndarray
|
Düzleştirilmiş özellik vektörü. |
curr_feat |
ndarray
|
Geçerli özellik vektörü. |
features |
deque
|
Tarafından tanımlanan maksimum uzunluğa sahip özellik vektörlerini depolamak için bir deque |
alpha |
float
|
Özelliklerin üstel hareketli ortalaması için yumuşatma faktörü. |
mean |
ndarray
|
Kalman filtresinin ortalama durumu. |
covariance |
ndarray
|
Kalman filtresinin kovaryans matrisi. |
Yöntemler:
İsim | Açıklama |
---|---|
update_features |
Özellikler vektörünü güncelleyin ve üstel hareketli ortalama kullanarak düzeltin. |
predict |
Kalman filtresi kullanarak ortalama ve kovaryansı tahmin eder. |
re_activate |
Güncellenmiş özellikler ve isteğe bağlı olarak yeni kimlik ile bir parçayı yeniden etkinleştirir. |
update |
YOLOv8 örneğini yeni parça ve çerçeve kimliği ile güncelleyin. |
tlwh |
Geçerli konumu tlwh biçiminde alan özellik |
multi_predict |
Paylaşılan Kalman filtresini kullanarak çoklu nesne izlerinin ortalamasını ve kovaryansını tahmin eder. |
convert_coords |
tlwh sınırlayıcı kutu koordinatlarını xywh formatına dönüştürür. |
tlwh_to_xywh |
Sınırlayıcı kutuyu xywh biçimine dönüştürme |
Kullanım
bo_track = BOTrack(tlwh, score, cls, feat) bo_track.predict() bo_track.update(new_track, frame_id)
Kaynak kodu ultralytics/trackers/bot_sort.py
14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 |
|
tlwh
property
Geçerli konumu sınırlayıcı kutu biçiminde alır (top left x, top left y, width, height)
.
__init__(tlwh, score, cls, feat=None, feat_history=50)
YOLOv8 nesnesini özellik geçmişi, alfa ve mevcut özellikler gibi zamansal parametrelerle başlatın.
Kaynak kodu ultralytics/trackers/bot_sort.py
convert_coords(tlwh)
Üst-Sol-Genişlik-Yükseklik sınırlayıcı kutu koordinatlarını X-Y-Genişlik-Yükseklik biçimine dönüştürür.
multi_predict(stracks)
staticmethod
Paylaşılan Kalman filtresini kullanarak çoklu nesne izlerinin ortalamasını ve kovaryansını tahmin eder.
Kaynak kodu ultralytics/trackers/bot_sort.py
predict()
Kalman filtresi kullanarak ortalama ve kovaryansı tahmin eder.
Kaynak kodu ultralytics/trackers/bot_sort.py
re_activate(new_track, frame_id, new_id=False)
Bir parçayı güncellenmiş özelliklerle yeniden etkinleştirir ve isteğe bağlı olarak yeni bir kimlik atar.
Kaynak kodu ultralytics/trackers/bot_sort.py
tlwh_to_xywh(tlwh)
staticmethod
Sınırlayıcı kutuyu biçime dönüştürme (center x, center y, width, height)
.
update(new_track, frame_id)
YOLOv8 örneğini yeni parça ve çerçeve kimliği ile güncelleyin.
update_features(feat)
Özellikler vektörünü güncelleyin ve üstel hareketli ortalama kullanarak düzeltin.
Kaynak kodu ultralytics/trackers/bot_sort.py
ultralytics.trackers.bot_sort.BOTSORT
Üsler: BYTETracker
ReID ve GMC algoritması ile nesne izleme için tasarlanmış YOLOv8 için BYTETracker sınıfının genişletilmiş bir sürümü.
Nitelikler:
İsim | Tip | Açıklama |
---|---|---|
proximity_thresh |
float
|
İzler ve tespitler arasındaki uzamsal yakınlık (IoU) için eşik. |
appearance_thresh |
float
|
İzler ve tespitler arasındaki görünüm benzerliği (ReID katıştırmaları) için eşik. |
encoder |
object
|
ReID katıştırmalarını işlemek için nesne, ReID etkinleştirilmemişse Yok olarak ayarlanır. |
gmc |
GMC
|
Veri ilişkilendirmesi için GMC algoritmasının bir örneği. |
args |
object
|
İzleme parametreleri içeren ayrıştırılmış komut satırı argümanları. |
Yöntemler:
İsim | Açıklama |
---|---|
get_kalmanfilter |
Nesne izleme için bir KalmanFilterXYWH örneği döndürür. |
init_track |
İzi tespitler, puanlar ve sınıflarla başlatın. |
get_dists |
IoU ve (isteğe bağlı olarak) ReID kullanarak izler ve tespitler arasındaki mesafeleri alın. |
multi_predict |
YOLOv8 modeli ile birden fazla nesneyi tahmin edin ve izleyin. |
Kullanım
bot_sort = BOTSORT(args, frame_rate) bot_sort.init_track(dets, scores, cls, img) bot_sort.multi_predict(tracks)
Not
Sınıf, YOLOv8 nesne algılama modeliyle çalışmak üzere tasarlanmıştır ve yalnızca args aracılığıyla etkinleştirilirse ReID'yi destekler.
Kaynak kodu ultralytics/trackers/bot_sort.py
125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 |
|
__init__(args, frame_rate=30)
YOLOv8 nesnesini ReID modülü ve GMC algoritması ile başlatın.
Kaynak kodu ultralytics/trackers/bot_sort.py
get_dists(tracks, detections)
IoU ve (isteğe bağlı olarak) ReID katıştırmalarını kullanarak izler ve algılamalar arasındaki mesafeleri alın.
Kaynak kodu ultralytics/trackers/bot_sort.py
get_kalmanfilter()
init_track(dets, scores, cls, img=None)
İzi tespitler, puanlar ve sınıflarla başlatın.
Kaynak kodu ultralytics/trackers/bot_sort.py
multi_predict(tracks)
Oluşturuldu 2023-11-12, Güncellendi 2024-05-08
Yazarlar: Burhan-Q (1), glenn-jocher (3), Laughing-q (1)