Textures physiques antagonistes trompant le suivi visuel des objets
Rey Reza Wiyatno Rey Reza Wiyatno
5 septembre 15 min

Textures physiques antagonistes trompant le suivi visuel des objets

Bien que les attaques antagonistes se soient avérées efficaces dans les domaines numériques, peu d’articles ont montré la puissance de telles approches dans le monde physique. Des avancées récentes comme les lunettes antagonistes (Sharif et coll., 2016), le « patch » (Brown et coll., 2017) et la tortue (Athalye et coll., 2018) génèrent des adversaires physiquement réalisables, mais ne sont utilisées que dans une tâche de classification des images. Dans la détection d’objets, il existe d’autres approches comme le travail d’Eykholt et coll. (2018). En revanche, nous avons concentré nos efforts sur l’application d’exemples antagonistes en robotique.

Pour une introduction sur le thème de l’apprentissage machine antagoniste, voici deux articles récents sur les attaques et les défenses.

Dans notre article, « Textures physiques antagonistes trompant le suivi visuel des objets », nous proposons des Textures Physiques Antagonistes (TPA), soit la première attaque antagoniste physiquement réalisable pour des modèles de suivi d’objets basés sur la régression. En particulier, cette réalisation a attaqué GOTURN (Held et coll., 2016), un des traqueurs de régression bien connus.

Nous avons formé un traqueur GOTURN sur des cibles humaines, où le modèle prédit l’emplacement de la cible sur un cadre subséquent en utilisant son emplacement dans un cadre précédent. Notre but était de générer des textures antagonistes qui confondent le traqueur lorsqu’elles sont affichées dans le monde physique (sur une télévision ou des affiches imprimées, par exemple).

Nous présentons également une étude de cas dans laquelle les textures antagonistes ont été utilisées pour tromper un algorithme de drone qui suit une personne en se fiant uniquement sur son apport visuel. Nous avons utilisé des affiches pour l’attaque parce qu’il s’agit de l’une des formes les plus simples d’affichage de l’information et qu’elles pourraient être un vecteur d’attaque dans des conditions réelles. Un attaquant pourrait appliquer les textures antagonistes sur un mur comme des graffitis, et elles pourraient perturber les algorithmes de suivi d’objet tout en ne paraissant pas suspectes à la personne moyenne.

Nous effectuons toutes nos attaques dans le logiciel de simulation Gazebo et nous démontrons les simulations à la transférabilité en monde réel. L’utilisation de la simulation est bénéfique puisqu’elle nous fournit tous les types d’étiquetage nécessaires pour effectuer l’attaque. Dans notre cas, notre objectif est de ne mettre à jour que la texture de l’affiche. Cela signifie que nous avons besoin de connaître l’emplacement de l’affiche dans une image, qui peut être obtenue gratuitement sur le simulateur. Cela souligne l’aspect pratique de notre méthode, car il peut être difficile d’obtenir des données de suivi visuel réelles avec une affiche texturée et son emplacement dans l’image.

Connaître la victime : qu’est-ce que GOTURN?

GOTURN est un modèle de suivi d’objet (c’est-à-dire un modèle permettant de prédire l’emplacement d’un objet dans une image dans le cadre courant, compte tenu de la position de l’objet dans le cadre précédent) et est alimenté par des réseaux convolutifs neuronaux.

Voici comment fonctionne GOTURN : étant donné un cadre de départ (c.-à-d., le « cadre précédent » dans la figure ci-dessous) et l’emplacement de l’objet que nous souhaitons suivre (c.-à-d., une boîte englobante), nous recadrons l’image à cet emplacement pour faire savoir au modèle ce qui doit être suivi. Ensuite, étant donné le cadre courant, nous recadrons également le cadre à l’emplacement défini par la boîte englobante du cadre précédent. L’hypothèse faite ici est que le mouvement de l’objet suivi entre deux cadres consécutifs est faible, et que l’objet doit donc toujours exister dans cette boîte englobante. Optionnellement, on peut choisir de recadrer les images comme une région qui est plus grande que la boîte englobante donnée. Tout au long de cet article, nous nous référons à l’image recadrée à partir du cadre précédent et du cadre courant comme modèle et région de recherche, respectivement.

GOTURN
Illustration de GOTURN.

Une fois que nous avons ces deux cadres rognés, nous les faisons passer à travers des couches convolutives pour extraire des fonctionnalités utiles à la fois du modèle et de la région de recherche. Ces caractéristiques sont ensuite concaténées avant d’être transmises à des couches connectées qui régressent l’emplacement du modèle dans la région de recherche. La sortie du réseau prédit l’emplacement de la cible dans le cadre de coordonnées de la région de recherche. Durant le test, une fois que nous avons la boîte englobante prédite, nous convertissons cette zone de délimitation en zone de coordonnées de l’image d’origine, réglons le cadre courant comme étant le « cadre précédent », attendons que le cadre suivant arrive (qui sera le nouveau « cadre courant »), puis utilisons cette zone pour effectuer le recadrage.

Notre méthode

En général, les techniques d’attaque antagonistes tentent de trouver une entrée qui optimise la perte ou les fonctions objectives, qui peuvent varier en fonction du but de l’attaquant. Par exemple, lorsqu’il génère un adversaire dans une tâche de classification, l’attaquant peut choisir de trouver une entrée dans le modèle cible qui maximise la perte d’entropie croisée tout en préservant la similarité perceptuelle entre les exemples antagonistes et non antagonistes. Cependant, les adversaires générés ne sont généralement pas invariants aux diverses transformations (p. ex. l’image antagoniste peut cesser d’être antagoniste après une légère rotation).

Notre attaque est basée sur le cadre des Attentes sur la transformation (Athalye et coll., 2018), dont l’objectif est de trouver un exemple antagoniste qui minimise la perte prévue sur diverses transformations, avec l’espoir de produire un adversaire qui résiste à ces transformations. Dans nos expériences, nous supposons que nous avons accès au modèle de la victime par boîte blanche.

La figure ci-dessous illustre notre méthode. À partir d’une image de texture initiale projetée sur une affiche dans une scène simulée, l’attaquant génère d’abord une scène où l’objet à suivre est placé près de la texture. Une caméra peut ensuite être placée dans l’environnement de simulation pour prendre une photo de telle sorte que la texture et l’objet suivi se trouvent tous deux dans le cadre de la caméra. Cette première image est le « cadre précédent ».

Pour obtenir le « cadre courant », on peut appliquer un petit mouvement aléatoire à la caméra et à l’objet cible pour simuler le mouvement tout en s’assurant que la texture et l’objet cible sont toujours dans le cadre. Puisque nous faisons tout en simulation, nous avons le privilège d’obtenir l’emplacement (c’est-à-dire la boîte englobante) de l’objet suivi dans le cadre.

Dans nos expériences, les transformations que nous randomisons comprennent la pose de la caméra, la pose de l’objet, l’éclairage, l’arrière-plan (c.-à-d. l’environnement de simulation) et l’objet suivi (p. ex. diverses personnes et modèles de robot). Nous avons choisi de randomiser la cible parce que nous voulons que l’attaque fonctionne sans nécessiter une connaissance spécifique de l’objet suivi. Plus concrètement, l’objectif est de tromper le traqueur, peu importe si Alice ou Bob est suivi à un moment donné.

Illustration de notre méthode.
Illustration de notre méthode (Wiyatno et Xu, 2019).

Nous répétons ces processus pour obtenir plusieurs paires de cadres consécutifs pour former ce qu’on appelle un mini-lot. Nous passons ensuite ce mini-lot au modèle GOTURN et calculons la perte attendue définie (pour en savoir plus, voir la section suivante). Nous pouvons ensuite faire une rétropropagation à travers le modèle GOTURN et calculer le gradient de la perte attendue par rapport aux entrées et mettre à jour notre texture en utilisant des méthodes d’optimisation basées sur le gradient (par exemple, la descente de gradient).

Il est important de noter que nous ne mettons à jour que la texture et non l’image entière. Grâce au simulateur, nous pouvons déterminer quels pixels de l’image appartiennent à la texture de la simulation, et ceux qui sont bloqués par l’objet suivi. L’ensemble du processus est ensuite répété pour un nombre fixe d’itérations, ou jusqu’à ce qu’un adversaire ait été trouvé selon certains paramètres (p. ex. intersection moyenne sur union).

Les fonctions objectives

Dans une tâche de classification d’images, une attaque réussie signifie généralement que l’attaquant trouve un exemple antagoniste qui est mal classé par le modèle cible. Alors, qu’est-ce que cela signifie de tromper un modèle de suivi d’objet? Dans notre travail, nous considérons que l’attaque est réussie si le traqueur finit par perdre la trace de la cible et commence à suivre l’adversaire à la place. Il y a plusieurs façons d’y parvenir, et nous pouvons jouer un peu avec les dimensions de la boîte englobante.

Nous avons expérimenté diverses pertes non ciblées et ciblées. Nous proposons également une nouvelle famille de pertes guidées qui encourage certains attributs antagonistes plutôt que des sorties strictes. En tant que telle, l’approche guidée agit comme un terrain d’entente entre les attaques non ciblées et les attaques ciblées. De plus, nous avons également expérimenté des pertes hybrides, qui sont des combinaisons linéaires pondérées de différentes pertes. Vous trouverez ci-dessous les définitions des différentes pertes que nous utilisons :

  • perte non ciblée (nt) : vise à augmenter la perte de formation du GOTURN
  • perte de rétraction ciblée (t-) : vise à rétrécir et déplacer la boîte englobante prévue vers le coin inférieur gauche de la zone de recherche
  • perte ciblée (t=) : vise à verrouiller la boîte englobante prédite à l’emplacement exact de la cible dans le cadre précédent
  • perte de croissance cible (t+) : vise à agrandir la boîte englobante prévue jusqu’à la taille maximale de la zone de recherche
  • perte de rétraction guidée (ga-) : encourage la surface de la boîte englobante prédite à rétrécir à partir de la vérité au sol.
  • perte de croissance guidée (ga+) : encourage la zone de la boîte englobante prévue à s’agrandir à partir de la vérité au sol.

Notez que les pertes ci-dessus sont des exemples, d’autres pertes sont possibles. Un autre exemple de perte guidée serait la maximisation ou la minimisation de la norme du rendement. De plus, à l’instar d’autres attaques qui visent à préserver la similitude perceptuelle entre les exemples non antagoniste et antagoniste, nous avons également tenté d’ajouter une contrainte de similitude perceptuelle à la fonction objective. Cependant, cela est facultatif et on peut choisir de l’inclure ou non selon le but de l’attaque.

Asservissement visuel

Dans le domaine de la robotique, l’asservissement visuel est une méthode de commande d’un robot par rétroaction visuelle. L’asservissement visuel a été utilisé dans de nombreuses utilisations du monde réel. Par exemple, l’une des caractéristiques offertes aujourd’hui par de nombreux fabricants de drones aériens est la fonction autonome de suivi des personnes. L’une des utilisations possibles de la technologie de suivi des personnes est d’utiliser la boîte englobante des modèles de suivi tels que GOTURN comme retour d’information pour le contrôleur. Le contrôleur pourrait viser à maintenir la taille de la boîte englobante et à centrer son emplacement en contrôlant les actionneurs du robot.

Dans nos expériences, nous avons utilisé le Parrot Bebop 2 et mis en place un contrôleur PID pour suivre la cible. Pour lisser la boîte englobante, nous avons appliqué un filtre exponentiel avant de le passer comme signal d’entrée au contrôleur, ce qui ajoute un défi supplémentaire dans l’attaque de l’ensemble du pipeline d’asservissement.

Résultats

Nous évaluons d’abord nos textures antagonistes dans la simulation. Comme nous le voyons ci-dessous, le traqueur suit avec succès la cible lorsqu’elle se déplace devant une texture générée aléatoirement. Pourtant, lorsqu’il voit la texture antagoniste générée, le traqueur perd rapidement la cible et commence à se verrouiller sur la texture antagoniste.

Évaluation de l’échantillon synthétique.
Évaluation de l’échantillon synthétique. Nous comparons la performance du traqueur face à des textures aléatoires et antagonistes. Ici, la case verte représente la prédiction GOTURN, tandis que la case violette représente la vérité au sol.
Une autre attaque simulée où la cible est le robot PR2.
Une autre attaque simulée où la cible est le robot PR2.

Nous avons également évalué l’adversaire généré dans le monde réel, à la fois lorsque la caméra est stationnaire et en mouvement (c.-à-d. en asservissement). Vous trouverez ci-dessous quelques exemples de fonctionnement à l’arrêt et de fonctionnement des courses d’asservissement dans un environnement intérieur. Dans ces expériences, toutes les textures sont affichées sur un écran de télévision.

Course stationnaire à l’intérieur.
Course stationnaire à l’intérieur.
Une autre course stationnaire à l’intérieur qui suit une autre cible.
Une autre course stationnaire à l’intérieur qui suit une autre cible.
Encore une autre course stationnaire à l’intérieur qui suit une autre cible.
Encore une autre course stationnaire à l’intérieur qui suit une autre cible.
Course d’asservissement à l’intérieur. Remarquez comment la caméra (un drone) se déplace pour suivre la boîte englobante.
Course d’asservissement à l’intérieur. Remarquez comment la caméra (un drone) se déplace pour suivre la boîte englobante.

Voici quelques-unes des expériences que nous avons menées dans un environnement extérieur. Remarquez comment l’affiche est maintenant imprimée au lieu d’être affichée sur un écran de télévision.

Course stationnaire extérieure.
Course stationnaire extérieure.
Course d’asservissement extérieure.
Course d’asservissement extérieure.

De plus, nous avons également constaté une différence de rendement entre l’utilisation de pertes non ciblées, ciblées, guidées et hybrides. Les pertes guidées ont généralement atteint une convergence plus rapide, peut-être en raison de leur nature flexible, au prix d’un affaiblissement de la force antagoniste après plus d’itérations que les pertes non ciblées et ciblées. Lors de l’évaluation des pertes hybrides, nous avons constaté que certaines combinaisons de pertes différentes procurent des avantages, alors que d’autres n’en procurent pas. Par exemple, la combinaison des pertes (nt) et (t=) permet d’obtenir un meilleur rendement global par rapport aux seules variantes (nt) ou (t=) utilisées.

Enfin, nous avons mené une étude d’ablation des variables de conditionnement de l’EOT pour déterminer quelle transformation a le plus d’effet sur la génération de textures antagonistes robustes. C’est un peu comme les approches de randomisation de domaine dans la recherche sim2real —  tous les domaines ne sont pas créés égaux. Bien que nous ayons constaté que les variations dans l’éclairage, la pose de la caméra et la pose de l’affiche ont un effet, d’autres variables comme l’arrière-plan, la pose de la cible et l’apparence de la cible ne sont pas aussi importantes. Veuillez consulter notre article pour un soutien quantitatif.

Conclusion

Dans cet article, nous avons proposé un système pour générer des textures physiques antagonistes (TPA), et nous avons réussi à générer des textures antagonistes qui trompent un modèle populaire de suivi des objets. Nous démontrons en outre que ces attaques sont physiquement réalisables, même si elles ont été générées uniquement à partir de simulations.

Il y a encore certaines limites avec les TPA. Par exemple, nos TPA peuvent ne pas fonctionner très bien lorsqu’il y a un grand nombre de spécularités. Ainsi, la conception d’adversaires robustes aux spécularités est une piste de recherche intéressante pour l’avenir.

Nous introduisons la notion de perte guidée qui offre une convergence plus rapide au détriment de la force antagoniste, ce qui peut être bénéfique si la vitesse de convergence est un critère d’attaque important. Enfin, nous avons étudié l’effet de différentes variables de conditionnement de l’EOT afin que l’attaque puisse être effectuée plus efficacement.

Notre objectif est de sensibiliser les gens au fait que les systèmes actuels de suivi fondés sur la vision sont vulnérables aux exemples antagonistes. Pour des raisons de sécurité, nous recommandons l’intégration de capteurs auxiliaires tels que GPS ou IMU. Alors que nous montrons comment les exemples antagonistes peuvent avoir un effet négatif sur la mise en œuvre du suivi dans le monde réel, nous espérons que d’autres chercheurs exploreront la faiblesse des autres systèmes robotiques par rapport aux exemples antagonistes afin de développer des approches plus robustes.

Merci à Anqi Xu, Peter Henderson, et Minh Dao pour leurs commentaires et illustrations utiles.