• Aucun résultat trouvé

Schéma générique de fusion

5.2 Approche de fusion proposée

5.2.1 Schéma générique de fusion

5.2.3 Fusion des boîtes . . . 146 5.2.4 Correction de la position et/ou du modèle des trackers . . . 147 5.2.5 Une variété de configurations possibles de fusion . . . 148

5.3 Évaluation . . . 149

5.3.1 Évaluation des configurations de fusion . . . 149 5.3.2 Meilleure combinaison de trackers ? . . . 153

5.4 Discussion et travaux futurs . . . 171

5.5 Conclusion . . . 172

L’objectif de ce chapitre est de concevoir une chaîne générique de fusion combinant un ensemble de trackers hétérogènes. Dans un premier temps, nous chercherons à identifier les emplacements dans la chaîne où des interactions entre les trackers sont possibles, en particulier au niveau des entrées et sorties des trackers, pour proposer un schéma générique de fusion (section 5.1). Dans un deuxième temps, nous décrirons le schéma de fusion proposé et les différentes configurations de fusion qui peuvent être générées à partir de ce schéma (section 5.2). Enfin, nous évaluerons cette chaîne de fusion sur un ensemble de trackers et de bases de vidéos (chapitre 2) afin de déterminer la meilleure stratégie de fusion permettant de robustifier le suivi (section 5.3).

Tracker i (𝑀𝑀𝑡𝑡−1𝑖𝑖 , 𝑊𝑊𝑡𝑡−1𝑖𝑖 )

𝐼𝐼𝑡𝑡 , 𝐵𝐵�𝑡𝑡−1𝑖𝑖 𝐵𝐵�𝑡𝑡𝑖𝑖, 𝑐𝑐𝑡𝑡𝑖𝑖 MAJ modèle et fenêtre MAJ position

Figure 5.1 – Schéma générique de fonctionnement d’un tracker. Le Tracker i prédit la position de la cible ˆBti dans l’image It à l’instant t à partir de sa position à l’instant précédent ˆBt−1i , d’une fenêtre de recherche Wt−1i définie par ˆBit−1et de son modèle d’apparence calculé à l’instant précédent Mt−1i . Un score de confiance cit est associé à la prédiction. La position de l’objet, la fenêtre de recherche et le modèle d’apparence sont mis à jour en utilisant la nouvelle position.

5.1 Différents schémas de fusion possibles

Cette section pose la question de la combinaison générique de trackers : à quels niveaux la fusion peut-elle avoir lieu, quels sont les mécanismes de fusion qui peuvent entrer en jeu, comment exploiter des informations de même nature mais produites par différents trackers, quelles actions sont possibles.

5.1.1 Fonctionnement général d’un tracker

Pour concevoir ces mécanismes de fusion, nous allons tout d’abord nous intéresser aux emplacements dans la chaîne de traitement où des interactions entre trackers sont possibles, telles que la fusion d’informations ou la réinjection d’informations dans les trackers.

Partons tout d’abord d’un schéma générique de tracker, représenté dans la figure 5.1. Un Tracker i fonctionne en deux temps :

1. Prédiction : il prédit la position de l’objet ˆBti dans la nouvelle image Ità l’instant t à partir de sa position à l’instant précédent ˆBt−1i , d’une fenêtre de recherche Wt−1i définie par ˆBt−1i

et de son modèle d’apparence de l’objet Mt−1i à t − 1. Un score de confiance cit (score de corrélation, détection, etc.) calculé par le modèle est associé à la prédiction (section 4.1.1). 2. Mise à jour : il met à jour la position de l’objet ˆBt−1i → ˆBti, la fenêtre de recherche de

l’objet utilisant la nouvelle position Wt−1i → Wi

t, et met à jour son modèle Mt−1i → Mi t à partir de la nouvelle position. Dans le cas d’un modèle statique, Mti = Mt−1i .

A partir de ce schéma, nous pouvons d’ores et déjà identifier plusieurs emplacements de fusion correspondant aux entrées et sorties du tracker :

(i) La sortie prédite ˆBit peut être récupérée pour être utilisée en aval (post-traitement). (ii) La mise à jour du modèle Mt−1i peut être contrôlée en changeant la position en entrée ˆBti. (iii) Le réajustement de la fenêtre de recherche Wt−1i en contrôlant la position en entrée ˆBti.

Différents schémas de fusion sont possibles combinant un ensemble de trackers. Nous nous orientons vers une architecture parallèle car comme nous l’avons vu dans l’étude bibliographique (section 1.3.1), les architectures en cascade sont souvent difficiles à configurer dues aux dépendances

Tracker 1 𝐼𝐼𝑡𝑡 , 𝐵𝐵�𝑡𝑡−11 𝐵𝐵�𝑡𝑡1 Tracker M 𝐼𝐼𝑡𝑡 , 𝐵𝐵�𝑡𝑡−1𝑀𝑀 𝐵𝐵�𝑡𝑡𝑀𝑀 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑩𝑩�𝒕𝒕 𝐵𝐵�𝑡𝑡𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓

Figure 5.2 – Schéma de fusion en boucle ouverte sans sélection.

en chaîne, et étant donné que notre objectif est de robustifier le suivi, ce type d’architectures n’est pas la meilleure option. Deux types de fusion sont alors possibles : fusion en boucle ouverte et fusion en boucle fermée. Pour ces deux types de fusion, nous présentons en détails les différents schémas de fusion possibles.

5.1.2 Fusion en boucle ouverte

Un schéma simple de fusion consiste à faire fonctionner les trackers individuellement {Tracker 1, ...Tracker M }, à récupérer leurs sorties ˆBt= ( ˆBt1, ... ˆBtM) qui sont ensuite fusionnées pour produire la sortie du

système ˆBf usiont , par exemple, en moyennant les sorties. Un autre exemple de fusion est celui de [Bailer et al., 2014] qui calcule une somme pondérée des sorties en utilisant une fonction d’attraction des boîtes. Les trackers n’interagissent pas entre eux, on dit que la fusion est en boucle ouverte, voir la figure 5.2.

Le principal inconvénient d’une fusion simple des sorties est sa sensibilité à la dérive. Dès lors qu’un tracker dérive, la précision de ˆBtf usion calculé en combinant toutes les sorties individuelles des trackers, s’en trouve affectée. Afin de résoudre ce problème, une étape de sélection des sorties peut être ajoutée avant leur fusion (figure 5.3). Elle consiste à sélectionner un sous-ensemble

ˆ

Bselectiont de sorties correctes de ˆBt, en évaluant la qualité de chaque sortie ˆBti par un coefficient

sit ∈ {0, 1}. Une valeur de 1 indiquerait un bon fonctionnement du Tracker i, et dans le cas contraire, un mauvais fonctionnement. Dans l’étape de fusion, seules sont prises en compte les sorties des trackers dont le coefficient est non nul. Un cas particulier de sélection consiste à sélectionner le meilleur tracker à chaque instant [Moujtahid et al., 2015b, Zhong et al., 2014].

Dans une fusion en boucle ouverte, un tracker n’est plus utile une fois qu’il a dérivé, à moins qu’il ne raccroche par hasard la cible. Afin de suivre une cible du début à la fin d’une séquence, il est nécessaire qu’au moins un des trackers de la fusion assure le suivi du début à la fin : si tous les trackers dérivent avant la fin de la séquence, le suivi ne peut être assuré, voir la figure 5.4a.

5.1.3 Fusion en boucle fermée

En revanche, dans une fusion en boucle fermée, les trackers peuvent interagir entre eux pour s’autocorriger. Le principe général de la fusion en boucle fermée est illustré dans la figure 5.4b.

Tracker 1 𝐼𝐼𝑡𝑡 , 𝐵𝐵�𝑡𝑡−11 𝐵𝐵�𝑡𝑡1 Tracker M 𝐼𝐼𝑡𝑡 , 𝐵𝐵�𝑡𝑡−1𝑀𝑀 𝐵𝐵�𝑡𝑡𝑀𝑀 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑩𝑩�𝒕𝒕 𝐵𝐵�𝑡𝑡𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝐹𝐹𝐹𝐹𝐹𝐹 𝑩𝑩�𝒕𝒕𝒔𝒔𝒔𝒔𝒔𝒔𝒔𝒔𝒔𝒔𝒕𝒕𝒔𝒔𝒔𝒔𝒔𝒔

Figure 5.3 – Schéma de fusion en boucle ouverte avec sélection.

t=0 time end no tracker works failure failure Tracker 1 Tracker 2

(a) Fusion en boucle ouverte

t=0 time end failure failure Tracker 1 Tracker 2 reinitialization reinitialization

(b) Fusion en boucle fermée

Figure 5.4 – (a) Fusion en boucle ouverte. En vert, les pistes des Tracker 1 et Tracker 2. Les deux trackers dérivent avant la fin de la séquence, donc leur fusion ne permet pas d’assurer le suivi jusqu’au bout. (b) Fusion en boucle fermée. Les deux trackers peuvent interagir entre eux, le Tracker 2 réinitialise le Tracker 1 lorsque celui-ci a dérivé et vice-versa, dans un cas idéal, cette interaction permet la continuité du suivi des deux trackers et ainsi, de leur fusion.

Tracker 1 𝐼𝐼𝑡𝑡 𝐵𝐵�𝑡𝑡1 Tracker M 𝐵𝐵�𝑡𝑡𝑀𝑀 𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹𝐹 𝑩𝑩�𝒕𝒕 𝐵𝐵�𝑡𝑡𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝑆𝐹𝐹𝐹𝐹𝐹𝐹 𝑩𝑩�𝒕𝒕𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒕𝒕𝒄𝒄𝒄𝒄𝒄𝒄 Tracker i 𝐵𝐵�𝑡𝑡𝑓𝑓 𝑩𝑩�𝒕𝒕𝒔𝒔𝒄𝒄𝒔𝒔𝒄𝒄𝒄𝒄𝒕𝒕𝒄𝒄𝒄𝒄𝒄𝒄

Figure 5.5 – Schéma de fusion en boucle fermée (correction) avec sélection. Une boucle de rétroaction permet de contrôler la position de la fenêtre de recherche des M trackers, la mise

à jour ou réinitialisation de leurs modèles, ce qui permet de corriger les trackers ayant dérivé. L’étape de fusion calcule non seulement la sortie de fusion ˆBtf usion mais génère aussi les positions corrigées ˆBcorrectiont = ( ˆBt1,correction, ... ˆBM,correctiont ) destinées à la correction des trackers.

Le Tracker 1 dérive et est réinitialisé en utilisant le Tracker 2 (fonctionnel) et vice-versa. Ainsi un tracker peut redevenir fonctionnel et participer à la fusion même après une dérive.

Le schéma de fonctionnement de la fusion en boucle fermée est présenté dans la figure 5.5. La différence avec une fusion en boucle ouverte est qu’il existe une boucle de rétroaction après la fusion pilotant soit la position de la fenêtre de recherche, soit la mise à jour des modèles internes des trackers, soit leur réinitialisation :

(i) Le pilotage de la fenêtre de recherche consiste à recadrer la fenêtre de manière à ce qu’elle ne soit pas trop décentrée par rapport à la position de la cible. Ce pilotage est utile lorsque cette dernière effectue de grands déplacements dans l’image.

(ii) Le pilotage de la mise à jour du modèle permet de corriger ou d’améliorer le modèle en lui fournissant une boîte plus précise en localisation, issue des étapes de sélection et fusion, plutôt qu’utiliser la prédiction produite par le tracker même, qui peut être erronée. (iii) Le pilotage de la réinitialisation des modèles des trackers ayant dérivé, leur dérive étant

déterminée par une évaluation en ligne de leur comportant dans l’étape de sélection. Leur réinitialisation avec la bonne apparence de la cible permet aux trackers d’être à nouveau opérationnels. C’est le cas par exemple de la fusion de [Stenger et al., 2009, Vojir et al., 2015], les trackers sont réinitialisés par un détecteur hors ligne lorsqu’ils ne sont plus suffisamment fiables. [Kalal et al., 2012] réinitialisent le tracker par un détecteur en ligne, et ce dernier est mis à jour par la sortie de fusion.

5.1.4 Conclusion

Les principaux mécanismes de fusion de trackers identifiés sont la sélection des boîtes avant leur fusion et la correction des entrées et états internes des trackers, donnant lieu à différents schémas de fusion possibles. Le plus complet des schémas est celui de la fusion en boucle fermée, représentée dans la figure 5.5. La fusion en boucle ouverte est la plus simple des fusions, reposant

sur des stratégies de fusion de boîtes, prédites par des trackers fonctionnant individuellement. Cette fusion peut se faire de manière hors ligne en récupérant les pistes de tous les trackers comme cela a été réalisé dans [Bailer et al., 2014]. Cependant, elle est sensible au bruit introduit par les prédictions incorrectes. Une étape de sélection peut être ajoutée en sélectionnant les bons trackers à chaque instant. Cependant, pour assurer une continuité du suivi, cette configuration n’est efficace que lorsqu’au moins un des trackers de l’ensemble ne dérivent pas dans la séquence. La fusion en boucle fermée avec sélection est avantageuse car elle permet de corriger les trackers imprécis ou ayant dérivé en pilotant leur fenêtre de recherche, mise à jour et réinitialisation. Cependant, elle est complexe à contrôler et difficile à évaluer, cela nécessite une implémentation globale.

5.2 Approche de fusion proposée

L’approche de fusion que nous proposons est une fusion en boucle fermée, dont nous détaillerons plus précisément les étapes de sélection, fusion et correction, ainsi que les méthodes proposées pour les réaliser. Le schéma ainsi développé permet d’expérimenter différentes configurations de fusion en boucle fermée en combinant différentes méthodes de sélection, fusion et correction. Par ailleurs, il permet aussi d’expérimenter des schémas de fusion en boucle ouverte, comme ceux représentés dans les figures 5.2 et 5.3.

5.2.1 Schéma générique de fusion

Le système proposé réalise la fusion d’un ensemble de M trackers {T1, . . . TM}. Tout d’abord, le système est initialisé. Ensuite, la fusion est opérée en 4 étapes (suivi, sélection, fusion, correction), illustrée dans la figure 5.6.

Initialisation du système A l’instant initial t = 0, chaque tracker est initialisé avec la même boîte englobante B0, correspondant à la vérité terrain de la cible à la première image I0 (véritable position). La phase d’initialisation comprend également la construction du modèle d’apparence.

Suivi A chaque nouvelle image It, chaque tracker Ti, i ∈ [1, M ], estime la position de la cible à l’instant t en calculant une boîte englobante, ˆBti. Cette estimation est réalisée à partir d’une position calculée à t − 1 définissant la zone de recherche de la cible à t et du modèle d’apparence du tracker calculé à t − 1. En complément de l’estimation, chaque tracker Ti calcule un ensemble d’indicateurs de comportement, voir la 4.1. Ceux-ci sont représentés par un vecteur φit.

Sélection Une sélection en ligne des sorties des trackers ˆBt= ( ˆB1

t, ... ˆBtM) est effectuée. Cette sélection repose sur la prédiction en ligne des dérives des trackers décrite dans le chapitre 4.

Tracker 1

1. Tracker Parallel Running

𝐵𝐵�𝑡𝑡2, 𝜙𝜙𝑡𝑡2 𝑩𝑩�𝒕𝒕,𝝓𝝓𝒕𝒕 𝐵𝐵�𝑡𝑡1,𝜙𝜙𝑡𝑡1 𝑩𝑩�𝒕𝒕,𝒔𝒔𝒕𝒕 Tracker 2 Tracker M 𝐵𝐵�𝑡𝑡𝑀𝑀,𝜙𝜙𝑡𝑡𝑀𝑀 𝑠𝑠𝑡𝑡1 Drift Predictor 1 Drift Predictor 2 Drift Predictor M 𝑠𝑠𝑡𝑡2 𝑠𝑠𝑡𝑡𝑀𝑀 Fusion 𝑩𝑩�𝒕𝒕𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒄𝒕𝒕𝒄𝒄𝒄𝒄,𝒔𝒔𝒕𝒕 𝐵𝐵�𝑡𝑡𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓𝑓 𝐼𝐼𝑡𝑡 2. Tracker Selection 3. Tracker Fusion 4. Tracker Correction System

Figure 5.6 – Notre approche de fusion en boucle fermée est divisée en 4 étapes principales. Les vecteurs sont en gras.

(1) Suivi parallèle des trackers : pour chaque nouvelle image It, chaque tracker Ti, i ∈ [1, M ], prédit la localisation de la cible sous la forme d’une boîte englobante ˆBitet calcule des indicateurs de comportement φit indiquant le bon ou mauvais fonctionnement du tracker.

(2) Sélection des trackers : les sorties ainsi calculées ˆBt= ( ˆB1

t, ... ˆBM

t ) et φt = (φ1

t, ...φM t ) sont utilisés par les prédicteurs de dérives (Drift Predictors) pour prédire l’état de chaque tracker

sit∈ {0, 1}, 1 indiquant un fonctionnement correct et 0 une dérive du tracker. A l’issue de cette étape, on obtient le vecteur d’état st= (s1

t, ...sMt ).

(3) Fusion des boîtes : les boîtes provenant des trackers au fonctionnement correct sont fusionnées pour produire la sortie du système ˆBtf usion.

(4) Correction des trackers : une correction peut être apportée aux trackers dont l’état indique une dérive, notamment en corrigeant leur position et/ou modèle d’observation (mise à jour ou réinitialisation) en utilisant la sortie du système ˆBf usiont . Les prédictions corrigées ˆBcorrectedt =

( ˆBt1,corrected, ... ˆBtM,corrected) sont rebouclées sur les entrées des trackers où ˆBti,corrected= ˆBtf usion

lorsque la correction a lieu sinon ˆBti,corrected= ˆBit.

Correction de la position et/ou du modèle d’apparence La fusion en boucle fermée implique la correction de certains trackers détectés comme défaillants afin de pouvoir tirer parti pleinement de chacun d’eux, en corrigeant soit leur position, soit leur modèle d’apparence.

Nous détaillons les étapes de sélection, fusion et correction dans les sections suivantes.