Referentie voor ultralytics/trackers/bot_sort.py
Opmerking
Dit bestand is beschikbaar op https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/trackers/bot_sort .py. Als je een probleem ziet, help het dan oplossen door een Pull Request 🛠️ bij te dragen. Bedankt 🙏!
ultralytics.trackers.bot_sort.BOTrack
Basis: STrack
Een uitgebreide versie van de STrack klasse voor YOLOv8, die functies voor het volgen van objecten toevoegt.
Kenmerken:
Naam | Type | Beschrijving |
---|---|---|
shared_kalman |
KalmanFilterXYWH
|
Een gedeeld Kalman filter voor alle instanties van BOTrack. |
smooth_feat |
ndarray
|
Afgevlakte kenmerkvector. |
curr_feat |
ndarray
|
Huidige kenmerkvector. |
features |
deque
|
Een deque voor het opslaan van kenmerkvectoren met een maximale lengte gedefinieerd door |
alpha |
float
|
Afvlakfactor voor het exponentieel voortschrijdend gemiddelde van kenmerken. |
mean |
ndarray
|
De gemiddelde toestand van het Kalman filter. |
covariance |
ndarray
|
De covariantiematrix van het Kalman filter. |
Methoden:
Naam | Beschrijving |
---|---|
update_features |
Kenmerkenvector bijwerken en afvlakken met exponentieel voortschrijdend gemiddelde. |
predict |
Voorspelt het gemiddelde en de covariantie met behulp van het Kalman filter. |
re_activate |
Reactiveert een track met bijgewerkte functies en optioneel een nieuwe ID. |
update |
Werk de instantie YOLOv8 bij met de nieuwe track en frame-ID. |
tlwh |
Eigenschap die de huidige positie in tlwh formaat krijgt |
multi_predict |
Voorspelt het gemiddelde en de covariantie van meerdere objectsporen met behulp van een gedeeld Kalman-filter. |
convert_coords |
Converteert tlwh bounding box coördinaten naar xywh formaat. |
tlwh_to_xywh |
bounding box omzetten naar xywh formaat |
Gebruik
bo_track = BOTrack(tlwh, score, cls, prestatie) bo_track.predict() bo_track.update(new_track, frame_id)
Broncode in 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
Verkrijg de huidige positie in bounding box formaat (top left x, top left y, width, height)
.
__init__(tlwh, score, cls, feat=None, feat_history=50)
Initialiseer YOLOv8 object met temporele parameters, zoals kenmerkgeschiedenis, alfa en huidige kenmerken.
Broncode in ultralytics/trackers/bot_sort.py
convert_coords(tlwh)
Converteert Boven-Links-Breedte-Hoogte begrenzende box coördinaten naar X-Y-Breedte-Hoogte formaat.
multi_predict(stracks)
staticmethod
Voorspelt het gemiddelde en de covariantie van meerdere objectsporen met behulp van een gedeeld Kalman-filter.
Broncode in ultralytics/trackers/bot_sort.py
predict()
Voorspelt het gemiddelde en de covariantie met behulp van het Kalman filter.
Broncode in ultralytics/trackers/bot_sort.py
re_activate(new_track, frame_id, new_id=False)
Reactiveert een track met bijgewerkte functies en kent optioneel een nieuwe ID toe.
Broncode in ultralytics/trackers/bot_sort.py
tlwh_to_xywh(tlwh)
staticmethod
bounding box omzetten naar formaat (center x, center y, width, height)
.
update(new_track, frame_id)
Werk de instantie YOLOv8 bij met de nieuwe track en frame-ID.
update_features(feat)
Kenmerkenvector bijwerken en afvlakken met exponentieel voortschrijdend gemiddelde.
Broncode in ultralytics/trackers/bot_sort.py
ultralytics.trackers.bot_sort.BOTSORT
Basis: BYTETracker
Een uitgebreide versie van de BYTETracker klasse voor YOLOv8, ontworpen voor het volgen van objecten met ReID en GMC algoritme.
Kenmerken:
Naam | Type | Beschrijving |
---|---|---|
proximity_thresh |
float
|
Drempel voor ruimtelijke nabijheid (IoU) tussen sporen en detecties. |
appearance_thresh |
float
|
Drempel voor uiterlijkovereenkomst (ReID inbeddingen) tussen sporen en detecties. |
encoder |
object
|
Object om ReID-inbeddingen af te handelen, ingesteld op Geen als ReID niet is ingeschakeld. |
gmc |
GMC
|
Een instantie van het GMC-algoritme voor gegevensassociatie. |
args |
object
|
Geparsed commandoregelargumenten die trackingparameters bevatten. |
Methoden:
Naam | Beschrijving |
---|---|
get_kalmanfilter |
Geeft een instantie van KalmanFilterXYWH terug voor het volgen van objecten. |
init_track |
Initialiseer spoor met detecties, scores en klassen. |
get_dists |
Verkrijg afstanden tussen sporen en detecties met behulp van IoU en (optioneel) ReID. |
multi_predict |
Voorspel en volg meerdere objecten met YOLOv8 model. |
Gebruik
bot_sort = BOTSORT(argumenten, frame_rate) bot_sort.init_track(dets, scores, cls, img) bot_sort.multi_predict(tracks)
Opmerking
De klasse is ontworpen om te werken met het YOLOv8 objectdetectiemodel en ondersteunt ReID alleen als dit is ingeschakeld via args.
Broncode in 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)
Initialiseer YOLOv8 object met ReID-module en GMC-algoritme.
Broncode in ultralytics/trackers/bot_sort.py
get_dists(tracks, detections)
Verkrijg afstanden tussen sporen en detecties met behulp van IoU en (optioneel) ReID inbeddingen.
Broncode in ultralytics/trackers/bot_sort.py
get_kalmanfilter()
init_track(dets, scores, cls, img=None)
Initialiseer spoor met detecties, scores en klassen.