Référence pour ultralytics/trackers/bot_sort.py
Note
Ce fichier est disponible à l'adresse https://github.com/ultralytics/ ultralytics/blob/main/ ultralytics/trackers/bot_sort .py. Si tu repères un problème, aide à le corriger en contribuant à une Pull Request 🛠️. Merci 🙏 !
ultralytics.trackers.bot_sort.BOTrack
Bases : STrack
Une version Ă©tendue de la classe STrack pour YOLOv8, qui ajoute des fonctions de suivi d'objets.
Attributs :
Nom | Type | Description |
---|---|---|
shared_kalman |
KalmanFilterXYWH
|
Un filtre de Kalman partagé pour toutes les instances de BOTrack. |
smooth_feat |
ndarray
|
Vecteur de caractéristiques lissé. |
curr_feat |
ndarray
|
Vecteur de caractéristiques actuel. |
features |
deque
|
Un deque pour stocker les vecteurs de caractéristiques dont la longueur maximale est définie par |
alpha |
float
|
Facteur de lissage pour la moyenne mobile exponentielle des caractéristiques. |
mean |
ndarray
|
L'Ă©tat moyen du filtre de Kalman. |
covariance |
ndarray
|
La matrice de covariance du filtre de Kalman. |
MĂ©thodes :
Nom | Description |
---|---|
update_features |
Mets à jour le vecteur de caractéristiques et lisse-le à l'aide de la moyenne mobile exponentielle. |
predict |
Prévoit la moyenne et la covariance à l'aide du filtre de Kalman. |
re_activate |
Réactive une piste avec des caractéristiques mises à jour et éventuellement un nouvel identifiant. |
update |
Met Ă jour l'instance YOLOv8 avec la nouvelle piste et l'ID de la trame. |
tlwh |
Propriété qui permet d'obtenir la position actuelle au format tlwh. |
multi_predict |
Prévoit la moyenne et la covariance de plusieurs pistes d'objets à l'aide d'un filtre de Kalman partagé. |
convert_coords |
Convertit les coordonnées de la boîte de délimitation tlwh au format xywh. |
tlwh_to_xywh |
Convertir la boîte de délimitation au format xywh |
Utilisation
bo_track = BOTrack(tlwh, score, cls, feat) bo_track.predict() bo_track.update(new_track, frame_id)
Code source dans 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
Obtenir la position actuelle dans le format de la boîte de délimitation (top left x, top left y, width, height)
.
__init__(tlwh, score, cls, feat=None, feat_history=50)
Initialise l'objet YOLOv8 avec des paramètres temporels, tels que l'historique des caractéristiques, l'alpha et les caractéristiques actuelles.
Code source dans ultralytics/trackers/bot_sort.py
convert_coords(tlwh)
Convertit les coordonnées de la boîte de délimitation haut-gauche-largeur-hauteur au format X-Y-largeur-hauteur.
multi_predict(stracks)
staticmethod
Prévoit la moyenne et la covariance de plusieurs pistes d'objets à l'aide d'un filtre de Kalman partagé.
Code source dans ultralytics/trackers/bot_sort.py
predict()
Prévoit la moyenne et la covariance à l'aide du filtre de Kalman.
Code source dans ultralytics/trackers/bot_sort.py
re_activate(new_track, frame_id, new_id=False)
Réactive une piste avec des caractéristiques mises à jour et attribue éventuellement un nouvel identifiant.
Code source dans ultralytics/trackers/bot_sort.py
tlwh_to_xywh(tlwh)
staticmethod
Convertir la boîte de délimitation en format (center x, center y, width, height)
.
update(new_track, frame_id)
Met Ă jour l'instance YOLOv8 avec la nouvelle piste et l'ID de la trame.
update_features(feat)
Mets à jour le vecteur de caractéristiques et lisse-le à l'aide de la moyenne mobile exponentielle.
Code source dans ultralytics/trackers/bot_sort.py
ultralytics.trackers.bot_sort.BOTSORT
Bases : BYTETracker
Une version étendue de la classe BYTETracker pour YOLOv8, conçue pour le suivi d'objets avec ReID et l'algorithme GMC.
Attributs :
Nom | Type | Description |
---|---|---|
proximity_thresh |
float
|
Seuil de proximité spatiale (IoU) entre les traces et les détections. |
appearance_thresh |
float
|
Seuil de similarité d'apparence (ReID embeddings) entre les pistes et les détections. |
encoder |
object
|
Objet permettant de gérer les incorporations ReID, défini à None si ReID n'est pas activé. |
gmc |
GMC
|
Une instance de l'algorithme GMC pour l'association de données. |
args |
object
|
Analyse les arguments de la ligne de commande contenant des paramètres de suivi. |
MĂ©thodes :
Nom | Description |
---|---|
get_kalmanfilter |
Renvoie une instance de KalmanFilterXYWH pour le suivi des objets. |
init_track |
Initialise la piste avec les détections, les scores et les classes. |
get_dists |
Obtiens les distances entre les traces et les détections à l'aide de l'IoU et (éventuellement) de la ReID. |
multi_predict |
Prédis et suis plusieurs objets avec le modèle YOLOv8 . |
Utilisation
bot_sort = BOTSORT(args, frame_rate) bot_sort.init_track(dets, scores, cls, img) bot_sort.multi_predict(tracks)
Note
La classe est conçue pour fonctionner avec le modèle de détection d'objets YOLOv8 et ne prend en charge ReID que si elle est activée par l'intermédiaire d'args.
Code source dans 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)
Initialise l'objet YOLOv8 avec le module ReID et l'algorithme GMC.
Code source dans ultralytics/trackers/bot_sort.py
get_dists(tracks, detections)
Obtiens les distances entre les traces et les détections en utilisant les données de l'IoU et (optionnellement) les données de ReID.
Code source dans ultralytics/trackers/bot_sort.py
get_kalmanfilter()
init_track(dets, scores, cls, img=None)
Initialise la piste avec les détections, les scores et les classes.
Code source dans ultralytics/trackers/bot_sort.py
multi_predict(tracks)
Créé le 2023-11-12, Mis à jour le 2024-05-08
Auteurs : Burhan-Q (1), glenn-jocher (3), Laughing-q (1)