Introduction à SORT et DeepSORT

1. Étapes MOT (suivi d'objets multiples)

Dans la revue du suivi multi-cibles basé sur l'apprentissage profond "DEEP LEARNING IN VIDEO MUTIL-OBJECT TEACKING: A SURVEY", les quatre étapes principales du problème MOT sont décrites : 1. Suivre l'image originale de la vidéo 2. Utiliser un des détecteurs d'objets tels
que
Faster-rcnn, YOLO, SSD, etc. sont utilisés pour détecter et obtenir le cadre de détection cible.
3. Sélectionnez les cibles correspondantes dans toutes les images cibles et effectuez une extraction des caractéristiques (caractéristiques d'apparence ou caractéristiques de mouvement).
4. Effectuez un calcul de similarité pour calculer le degré de correspondance entre les cibles dans les deux images avant et après (celles appartenant au même cible avant et après) La distance est relativement petite et la distance entre les différentes cibles est relativement grande)
5. Association de données, attribuant un identifiant de cible à chaque objet.
Pour résumer, l'algorithme MOT comporte principalement quatre étapes : 1. Détection ; 2. Extraction de caractéristiques, prédiction de mouvement ; 3. Calcul de similarité ; 4. Association de données.

二、SORT:Suivi simple en ligne et en temps réel

1. Processus algorithmique :

Le cœur de l'algorithme est le filtrage de Kalman et l'algorithme hongrois. Ces deux algorithmes sont relativement mathématiques, il est donc difficile d'acquérir les connaissances mathématiques de ces deux algorithmes.

Pour des connaissances de base sur le filtrage de Kalman, il est recommandé de lire ce blog : https://blog.csdn.net/u010720661/article/details/63253509 . Cet article n'en fournira pas de preuve mathématique.

Connaissance de base de l'algorithme hongrois : https://blog.csdn.net/NIeson2012/article/details/94472313?ops_request_misc Cet article ne discutera pas des détails de son algorithme.

Comme le montre l'image :
Veuillez ajouter une description de l'image

2. Filtre de Kalman :

Sur la base des valeurs mesurées du capteur (détecteur de cible dans le suivi de cible) et des valeurs prédites du tracker (filtre de Kalman), une estimation de cible de suivi plus précise est obtenue.

Le filtre de Kalman suppose que les variables sont toutes aléatoires et obéissent à une distribution gaussienne (distribution normale). Chaque variable a une moyenne μ \muμ , représente le centre de la distribution aléatoire (l'état le plus probable), et la varianceσ 2 \sigma^2p2 , indiquant une incertitude.

1. Pendant le suivi de la cible, les deux états suivants doivent être suivis :

Moyenne μ \muμ : Représente les informations de position de la cible, qui sont représentées par un vecteur à 8 dimensionsx = [ u , v , s , r , u ˙ , v ˙ , s ˙ ] x=[u, v, s, r, \dot{u} , \dot{v}, \dot{s}]X=[ toi ,v ,s ,r ,toi˙ ,v˙ ,s˙ ], respectivement : coordonnées centrales de bbox( u , v ) (u, v)( tu ,v ) , zonesss , rapport hauteur/largeurrrr (SORT considèrerrr est une constante immuable, tandis que DeepSORT la considère comme une variable), et ses valeurs de changement de vitesse respectives.

Covariance PPP : représente l'information incertaine de l'information de position cible, constituée d'une matrice diagonale 8×8PPP signifie.

2. Lors du suivi de la cible, la piste doit être à t + 1 t + 1t+L'état au temps 1 (le filtre de Kalman utilise un modèle de vitesse uniforme et un modèle d'observateur linéaire)
xt + 1 = F xt P t + 1 = FP t FT + Q x_{t+1} = Fx_t \\ P_{t+1} = FP_tF^{T} + QXt + 1=F xtP.t + 1=F PtFT+Qoù
,FFF représente la matrice de prédiction. Dans cet algorithme (modèle de vitesse uniforme :xt = xt − 1 + △ txt − 1 ˙ x_t = x_{t-1} + \triangle t\dot{x_{t-1}}Xt=Xt 1+tXt 1˙)Définissez :
F = [ 1 0 0 dt 0 0 0 0 1 0 0 dt 0 0 0 0 1 0 0 dt 0 0 0 0 1 0 0 dt 0 0 0 0 0 0 1 ] F=\begin{bmatrix} 1 & 0 & 0 & dt & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & dt & 0 & 0 \\ 0 & 0 & & 0 & 0 & dt & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & dt \\ 0 & 0 & 0 & 0 & 1 & 0 & 0 \\ 0 & 0 & 0 & 0 & 0 & 1&0\\0&0&0&0&0&0&1\\\end{bmatrice}F= 100000001000000010000d t0010000d t0010000d t0010000d t001
PPP est la matrice de covariance en tant que paramètre empirique, et l'état initial est :
P = diag ( [ 2 σ ph , 2 σ ph , 1 e − 2 , 2 σ ph , 10 σ vh , 10 σ vh , 1 e − 5 ) P= diag([2\sigma_ph, 2\sigma_ph, 1e-2, 2\sigma_p h, 10 \sigma_vh, 10 \sigma_v h, 1e-5)P.=ia g ([ 2 σph ,14 heuresph ,1 e2 ,14 heuresph ,10 heuresvh ,10 heuresvh ,1 e5 )
Q est le bruit du système, et l'état initial est :
Q = diag ( [ σ ph , σ ph , 1 e − 2 , σ ph , σ vh , σ vh , 1 e − 5 ) 2 Q = diag([ \sigma_ph, \sigma_ph, 1e-2, \sigma_ph, \sigma_vh, \sigma_vh,1e-5)^2Q=ia g ([ σph ,pph ,1 e2 ,pph ,pvh ,pvh ,1 e5 )2

3. Faites correspondre et mettez à jour le filtre de Kalman en fonction des résultats de la prédiction :

Tout d'abord, l'algorithme hongrois est utilisé pour associer les résultats estimés de la phase de prédiction (étape 2) du filtre de Kalman aux résultats réels de l'observation : 1. Si la correspondance est réussie, le filtre de Kalman est mis à jour ; 2. La trajectoire de suivi qui les observations qui ne correspondent pas sont considérées comme perdues ; 3. Les observations qui ne correspondent pas sont enregistrées comme de nouvelles trajectoires.

Si la correspondance réussit , la piste est mise à jour en fonction du résultat correspondant.

a) Le ménageH : Matrice de mesure, le vecteur moyen de la pistex ′ x'X correspond à l'espace de détection
H x ⇒ [ uvsr ] = [ 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 ] [ uvsru ˙ v ˙ s ˙ ] Hx \Rightarrow \begin{bmatrix}u\\ v\\s\\r \end{bmatrix} = \begin{bmatrix} 1 & 0 & 0 & 0 & 0 & 0 & 0 \\ 0 & 1 & 0 & 0 & 0 & 0 & 0 \\ 0 & 0 & 1 & 0 & 0 & 0 & 0 \\ 0 & 0 & 0 & 1 & 0 & 0 & 0 \end{bmatrix} \begin{bmatrix} u\ \ v\\s\\r\\\dot{u}\\\dot{v}\\\dot{s}\\ \end{bmatrix}H x toivsr = 1000010000100001000000000000 toivsrtoi˙v˙s˙
Résultat du testzzErreur moyenne entre z et piste :
y = z − H x ′ y=z - Hx'oui=zH x'

b) Changer la matrice de covariance P t + 1 P_{t+1}P.t + 1Cartographie de l'espace de détection, plus matrice de bruit RRR
S = HP ′ HT + RS=HP'H^{T} + RS=H.P. _' HT+Roù
, matrice de bruit du détecteur :R = diag ( [ σ ph , σ ph . 1 e − 1 , σ ph ] T ) 2 R=diag([\sigma_ph, \sigma_ph. 1e-1, \sigma_ph]^T )^ 2R.=ia g ([ σph ,pph .1 e1 ,pph ]T )2

c) Calculer le gain de Kalman KKK (À propos deKKVeuillez consulter l'article de blog recommandé pour la définition de K
) : K = P ′ HTS − 1 K = P'H^TS^{-1}K=P.' HT.S. _1

d) Calculer la matrice de covariance mise à jour du vecteur moyen :
x = x ′ + K y P = ( I − KH ) P ′ x = x' + Ky \\ P = (I - KH)P'X=X'+KyP.=( jeKH ) P'

e) Effectuez le prochain cycle de suivi jusqu'à la fin du suivi de trajectoire en cours.

3. Algorithme hongrois :

L'algorithme hongrois résout le problème de l'association des données (mise en correspondance des cases détectées et prédites avec les cases réelles) dans le suivi multi-cibles.

La trame de détection cible de la trame actuelle et la trame prédite par le filtrage de Kalman dans la trame précédente sont mises en correspondance une par une par IOU , puis la matrice de coût (matrice de coût ) est calculée sur la base du résultat de correspondance IOU . La matrice des coûts est utilisée comme entrée de l'algorithme hongrois pour obtenir des résultats de correspondance linéaire.

Inconvénients : L'algorithme Sort ne peut pas résoudre le problème de chevauchement des piétons. Par conséquent, son indicateur IDSW (ID switch) est très mauvais. (IDSW (commutateur d'ID), pour la même cible, le nombre de fois que son ID est changé en raison d'une erreur de jugement de la part de l'algorithme de suivi est appelé IDSW. Le commutateur d'ID idéal dans l'algorithme de suivi devrait être 0.) Et il rejette directement la reconnaissance de dette. inférieur au seuil Cette approche a également abouti à l'incapacité de résoudre le problème d'occlusion.

4. Résumé :

1. Le texte original de l'algorithme SORT utilise un modèle de mouvement linéaire uniforme, il peut donc ne pas être applicable dans certains scénarios d'application.
2. Les fonctionnalités ne sont pas utilisées dans la correspondance d'association, ce qui provoque l'apparition d'ID-Switch lorsque le degré de chevauchement entre les objets est relativement élevé.
3. C’est très rapide et nécessite peu de calculs.

2. TRI profond

1. Processus algorithmique :

Filtre de Kalman + algorithme hongrois + correspondance en cascade + estimation d'état

Parmi eux, le filtrage de Kalman et l'algorithme hongrois ont été introduits dans SORT et ne seront pas répétés ici.

Le flux de l'algorithme est tel qu'illustré dans la figure :
Veuillez ajouter une description de l'image
L'algorithme DeepSORT ajoute une correspondance en cascade (cascade de correspondance) et une estimation d'état (confirmée) basée sur l'algorithme SORT. Par conséquent, cet article présente uniquement l’appariement en cascade et l’estimation d’état.

Les principales améliorations de DeepSORT par rapport à SORT sont :

Prenons le cas de deux occlusions cibles. La trace de la cible correspondante ne peut pas correspondre à la détection et la cible disparaît temporairement de l'image. Lorsque la cible occluse réapparaît plus tard, l'ID attribué à la cible occluse ne doit pas changer et le nombre de commutateurs d'identification doit être réduit.

2, Origine de Deep :

Afin de réduire le nombre de commutateurs d'identification, lorsque le cadre de suivi est perdu et que l'âge maximum n'a pas encore atteint le seuil maximum, le suivi doit enregistrer les caractéristiques d'apparence du cadre de suivi afin qu'il puisse toujours être suivi lorsqu'il réapparaît. . DeepSORT utilise un petit réseau CNN pour extraire les caractéristiques d'apparence de la cible de suivi.Après chaque détection + suivi (chaque image), les caractéristiques d'apparence de l'objet sont extraites et enregistrées. Chaque étape suivante effectuera un calcul de similarité entre les caractéristiques d'apparence de l'objet détecté dans l'image actuelle et les caractéristiques d'apparence précédemment stockées . Cette similarité sera utilisée comme base de discrimination importante (pas la seule, car l'auteur a dit qu'il combine des caractéristiques de mouvement avec Les caractéristiques d'apparence sont combinées comme base de discrimination. Cette caractéristique de mouvement est ce que fait le filtre de Kalman dans SORT). Comme le montre la figure, la sortie finale du réseau CNN est un vecteur de caractéristiques à 128 dimensions. Remarque : L'ensemble de données d'origine de DeepSORT est la détection des piétons. La taille de la zone de saisie du réseau peut être modifiée dans d'autres scénarios d'application.
Veuillez ajouter une description de l'image

3. Estimation de l'état

Veuillez ajouter une description de l'image

Pour une trajectoire, la différence entre la trame actuelle et la dernière trame correspondante réussie est calculée. Cette variable est incrémentée lorsque le filtre de Kalman prédit, et est remise à 0 lorsque la trajectoire est associée à une détection.

Les trajectoires dépassant l'âge maximum sont considérées comme ayant quitté la zone d'image, sont supprimées de la collection de trajectoires et sont mises à l'état supprimé. La valeur par défaut de l'âge maximum dans le code est 70, qui correspond au nombre de boucles dans la correspondance en cascade.

Si la détection ne correspond pas à la trace existante, la détection sera initialisée et convertie en une nouvelle trace. L'état de la nouvelle piste lors de son initialisation est un état indéterminé. Ce n'est que lorsque trois trames consécutives correspondent avec succès que l'état indéterminé peut être converti en un état déterminé. Si la piste dans l'état indéterminé ne correspond pas à la détection dans la trame n_init, elle deviendra un état supprimé et sera supprimée de la collection de pistes.

4. Correspondance en cascade

Veuillez ajouter une description de l'image
Comme le montre l'image :

1. La méthode de calcul de la matrice de similarité dans la première moitié utilise le modèle d'apparence (ReID) et le modèle de mouvement (distance de Mahalanobis) pour calculer la similarité et obtenir la matrice de coûts, l'autre est la matrice de déclenchement, qui est utilisée pour limiter la réussite dans la matrice des coûts. Grande valeur.
2. La partie inférieure est l'étape d'association de données de la correspondance en cascade. Le processus de correspondance est un cycle (itérations max_age, la valeur par défaut est 70). La trajectoire de l'âge manquant = 0 à l'âge manquant = 70 correspond à la détection, et rien n'est Les trajectoires sont comparées en premier, et les correspondances plus anciennes et plus récentes sont perdues. Grâce à cette partie du traitement, la cible masquée peut être récupérée à nouveau, réduisant ainsi le nombre de changements d'identification qui se produisent lorsque la cible est masquée puis réapparaît.

Caractéristiques du mouvement :

La distance de Mahalanobis est utilisée pour mesurer la distance entre l'état prédit du filtre de Kalman et la boîte de détection nouvellement obtenue.
ré 1 ( je , j ) = ( dj − yj ) TS je − 1 ( dj − yi ) d_1(i, j)=(d_j-y_j)^TS_i^{-1}(d_j-y_i)d1( je ,j )=( djouij)T.S. _je 1( djouije)
Parmi eux :( yi , S i ) (y_i,S_i)( ouije,Sje) représente leiièmeLa projection des i distributions de suivi (distributions du filtre de Kalman) dans l'espace de mesure,yi y_iouijeest la valeur moyenne, S i S_iSjeest la covariance. La distance de Mahalanobis calcule l'incertitude entre les estimations d'état en mesurant l'écart type entre l'emplacement moyen de la trace du filtre de Kalman et la boîte de détection, c'est-à-dire di (i, j) d_i(i, j )dje( je ,j ) est la distance de Mahalanobis (incertitude) entre la i-ème distribution de suivi et la j-ème boîte de détection. La définition d'un certain seuil pour la distance de Mahalanobis peut exclure des cibles non pertinentes. L'article original utilise l'intervalle de confiance de 95 % calculé à partir de la distribution du chi carré inversé comme seuil.

Caractéristiques d'apparence :

Les caractéristiques d'apparence sont extraites à l'aide du réseau résiduel CNN, renvoyant un vecteur de caractéristiques à 128 dimensions. Pour chaque objet dj d_j dans chaque trame de détection (numérotée j)dj, son vecteur à 128 dimensions est défini sur rj r_jrj, la longueur du module de ce vecteur est 1, c'est-à-dire ∣ ∣ rj ∣ ∣ = 1 ||r_j||=1∣∣r _j∣∣=1 .

Ensuite, l'auteur crée une galerie pour chaque cible k, qui est utilisée pour stocker les caractéristiques d'apparence de la cible dans chaque image (vecteur à 128 dimensions). Dans l'article, R k R_k est utiliséR.kexprimer. Notez que k signifie ici la cible de suivi k, qui est le numéro de série de l'objet en piste, et non le numéro d'identification de l'objet. R k = { rk ( je ) } k = 1 ( L k ) R_k = \{r^{(i)}_{k}\}^{(L_k)}_{k=1}R.k={ rk( je )}k = 1( Lk)C'est une galerie. L'auteur définit L k L_kLkLa taille maximale est de 100, c'est-à-dire que seul le kk cible peut être stocké au maximumLes caractéristiques d'apparence cible des 100 premières images au temps k . iije suis le numéro de suivi.

Après cela, récupérez le cadre de détection jjCaractéristiques de l'apparencerj r_j de jrj, résolvez les fonctionnalités d'apparence et les boîtes de détection dans toutes les galeries connues (numérotées jjj ) Distance cosinus minimale des caractéristiques d'apparence.
d 2 ( je , j ) = min { 1 − rj T rk ( je ) ∣ rk ( je ) ∈ R je } d_2(i, j)=min\{ 1-r_j^Tr_k^{(i)} | r_k ^{(i)} \dans R_i \}d2( je ,j )=min { 1rjTrk( je )∣r _k( je )R.je}
Fusion des fonctionnalités de mouvement et des fonctionnalités d'apparence :

Le mouvement fournit des informations possibles sur le positionnement des objets, ce qui est très efficace pour les prédictions à court terme ;

L'apparence (calcul de la distance cosinus) peut restaurer le numéro d'identification après que la cible ait été obstruée pendant une longue période.
C je , j = λ ré 1 ( je , j ) + ( 1 − λ ) ré 2 ( je , j ) C_{i, j}= \lambda d_1(i, j) + (1 - \lambda)d_2( je,j)Cje , j=λd _1( je ,j )+( 1l ) d2( je ,j )
où,d 1 d_1d1est la distance de Mahalanobis, d 2 d_2d2est la distance cosinus, λ \lambdaλ est le coefficient de pondération.

Pour le suivi de cibles nouvellement initialisées qui ne peuvent pas être confirmées (correspondantes) car il n'y a pas d'informations de mouvement et d'apparence précédentes, une association de correspondance IOU est utilisée pour le suivi.

5. Résumé :

1. L'effet de la détection de la cible a un impact très, très important sur les résultats, et le rappel et la précision doivent être très élevés pour répondre aux exigences.
2. Caractéristiques d'apparence : c'est-à-dire le modèle ReID. L'article original utilisait un réseau neuronal résiduel CNN, qui contient un nombre relativement grand de paramètres. Vous pouvez envisager d'utiliser un nouveau modèle ReID avec de meilleures performances et des paramètres inférieurs pour compléter cela. Partiel travail.

Je suppose que tu aimes

Origine blog.csdn.net/qq_44733706/article/details/129129224
conseillé
Classement