Différent des problèmes de détection d'objets traditionnels, la détection d'objets en quelques coups (FSOD) suppose que nous disposons de nombreux échantillons de classe de base, mais seulement d'un petit nombre d'échantillons de classe nouveaux. L'objectif est d'étudier comment transférer les connaissances des classes de base vers les classes nouvelles, améliorant ainsi la capacité du détecteur à reconnaître les classes nouvelles.
FSOD suit généralement un paradigme de formation en deux étapes . Dans la première étape, le détecteur est entraîné à l'aide d'échantillons de classes de base riches pour apprendre les représentations communes requises pour les tâches de détection d'objets, telles que la localisation et la classification d'objets. Dans la deuxième étape, le détecteur est affiné en utilisant seulement un petit nombre (par exemple 1, 2, 3...) d'échantillons de nouvelles classes. Cependant, en raison du déséquilibre entre le nombre d'échantillons de classe de base et de classe nouvelle, le modèle appris est généralement biaisé en faveur de la classe de base, ce qui conduit à une confusion entre les cibles de classe nouvelle et les classes de base similaires. De plus, comme il n’existe que quelques échantillons pour chaque nouvelle classe, le modèle est sensible à la variance des nouvelles classes. Par exemple, si vous échantillonnez au hasard de nouveaux échantillons de classes pour plusieurs formations, les résultats seront très différents à chaque fois. Il est donc indispensable d’améliorer la robustesse du modèle sous de petits échantillons.
Récemment, Tencent Youtu Lab et l'Université de Wuhan ont proposé un modèle de détection de cible à quelques échantillons VFA basé sur l'agrégation de fonctionnalités variationnelles. La structure globale de VFA est basée sur une version améliorée du framework de détection de cible de méta-apprentissage Meta R-CNN++, et deux méthodes d'agrégation de fonctionnalités sont proposées : Class-Agnostic Aggregation CAA (Class-Agnostic Aggregation) et Agrégation de fonctionnalités variationnelles VFA (Agrégation de fonctionnalités variationnelles).
L'agrégation de fonctionnalités est une conception clé dans FSOD, qui définit l'interaction entre les échantillons de requête et de support. Les méthodes précédentes telles que Meta R-CNN utilisent généralement l'agrégation spécifique à une classe (CSA), c'est-à-dire des fonctionnalités d'échantillons de requête et de support similaires pour l'agrégation de fonctionnalités. En revanche, le CAA proposé dans cet article permet l'agrégation de caractéristiques entre des échantillons de différentes classes. Étant donné que CAA encourage le modèle à apprendre des représentations indépendantes des classes, cela réduit le biais du modèle en faveur des classes de base. De plus, les interactions entre les différentes classes peuvent mieux modéliser les relations entre les classes, réduisant ainsi la confusion entre les classes.
Basé sur CAA, cet article propose VFA, qui utilise des encodeurs variationnels (VAE) pour coder des échantillons de support dans des distributions de classes, et échantillonne de nouvelles fonctionnalités de support de la distribution apprise pour la fusion de fonctionnalités. Des travaux connexes [1] indiquent que la variance intra-classe (par exemple, la variation d'apparence) est similaire d'une classe à l'autre et peut être modélisée par des distributions communes. Par conséquent, nous pouvons utiliser la distribution des classes de base pour estimer la distribution des nouvelles classes, améliorant ainsi la robustesse de l'agrégation de caractéristiques dans le cas d'un petit nombre d'échantillons.
VFA fonctionne mieux que les meilleurs modèles actuels sur plusieurs ensembles de données FSOD, La recherche connexe a été acceptée par l'AAAI 2023 comme Oral.
Adresse papier : https://arxiv.org/abs/2301.13411
Méthode de base plus forte : Meta R-CNN++
FSOD actuel les travaux peuvent être principalement divisés en deux catégories : les méthodes basées sur le méta-apprentissage et les méthodes basées sur le réglage fin. Certains premiers travaux ont démontré que le méta-apprentissage est efficace pour les FSOD, mais les méthodes basées sur le réglage fin ont récemment reçu une attention croissante. Cet article établit d'abord une méthode de base Meta R-CNN++ basée sur le méta-apprentissage, qui réduit l'écart entre les deux méthodes et surpasse même la méthode basée sur l'affinement de certains indicateurs.
Nous avons d'abord analysé quelques lacunes dans la mise en œuvre des deux méthodes, en prenant comme exemples la méthode de méta-apprentissage Meta R-CNN [2] et la méthode basée sur le réglage fin TFA [3], bien que les deux méthodes suivent un Paradigme de formation en deux étapes, TFA optimise le modèle à l'aide de techniques supplémentaires lors de la phase de réglage fin :
Compte tenu du succès de TFA, nous avons construit Meta R-CNN++. Comme le montre le tableau 1 ci-dessous, les méthodes de méta-apprentissage peuvent également donner de bons résultats à condition que nous traitions soigneusement l’étape de mise au point. Par conséquent, cet article choisit Meta R-CNN++ comme méthode de base.
Tableau 1 : Comparaison et analyse de Meta R-CNN et TFA
Agrégation de fonctionnalités indépendantes de la catégorie CAA
Photo 1 : Schéma de principe de l'agrégation de fonctionnalités indépendantes des catégories CAA
Cet article propose une méthode d'agrégation de fonctionnalités indépendantes des catégories CAA simple et efficace. Comme le montre la figure 1 ci-dessus, CAA permet l'agrégation de fonctionnalités entre différentes classes, encourageant ainsi le modèle à apprendre des représentations indépendantes des classes, réduisant ainsi les biais inter-classes et la confusion entre les classes. Plus précisément, pour chaque fonctionnalité RoI de la classe et un ensemble de fonctionnalités Support , nous sélectionnons au hasard la fonctionnalité Support d'une classe à agréger avec la fonctionnalité Requête :
Ensuite, nous alimentons les fonctionnalités agrégées
au sous-réseau de détection
pour générer un score de classification
.
Agrégation de fonctionnalités variationnelles VFA
Figure 2 Schéma du modèle VFA
Les travaux précédents codaient généralement les échantillons de support dans un seul vecteur de caractéristiques pour représenter le centre de la catégorie. Cependant, lorsque les échantillons sont petits et que la variance est grande, il nous est difficile de faire des estimations précises du centre de classe. Dans cet article, nous convertissons d'abord les fonctionnalités de support en distributions sur les classes. Étant donné que la distribution de classes estimée n'est pas biaisée en faveur d'échantillons spécifiques, les caractéristiques échantillonnées à partir de la distribution sont relativement robustes à la variance des échantillons. Le cadre de VFA est illustré dans la figure 2 ci-dessus.
a) Apprentissage des fonctionnalités variationnelles. VFA utilise des auto-encodeurs variationnels VAE [4] pour apprendre la distribution des catégories. Comme le montre la figure 2, pour une fonctionnalité de support S, nous utilisons d'abord l'encodeur pour estimer les paramètres de la distribution et , puis échantillonnons à partir de la distribution via l'inférence variationnelle , et enfin la fonctionnalité Support reconstruite est obtenue via le décodeur . Lors de l'optimisation de la VAE, en plus de la perte KL commune et de la perte de reconstruction, cet article utilise également la perte de cohérence pour que la distribution apprise conserve les informations de catégorie :
b) Fusion de fonctionnalités variationnelles. Étant donné que les fonctionnalités de support sont converties en distributions sur des catégories, nous pouvons échantillonner les fonctionnalités de la distribution et les agréger avec les fonctionnalités de requête. Plus précisément, VFA utilise également l'agrégation CAA indépendante de la classe, mais regroupe les fonctionnalités de requête et les fonctionnalités variationnelles ensemble. Étant donné la fonctionnalité de requête de la classe et la fonctionnalité de support de la classe
, nous estimons d'abord sa distribution et échantillonnons la fonctionnalité variationnelle puis les fusionnons ensemble par la formule suivante : ;
où représente la multiplication des canaux, et sig est l'abréviation d'opération sigmoïde. Dans la phase de formation, nous sélectionnons au hasard une fonctionnalité de support pour l'agrégation ; dans la phase de test, nous faisons la moyenne des
fonctionnalités de support de la et estimons la distribution , où .
Classification - Découplage des tâches de régression
Typiquement, le sous-réseau de détection est constitué d'un extracteur de fonctionnalités partagé et de deux réseaux indépendants : le sous-réseau de classification et le sous-réseau de régression . Dans des travaux antérieurs, les caractéristiques agrégées étaient entrées dans le sous-réseau de détection pour la classification des objets et la régression du cadre de délimitation. Mais les tâches de classification nécessitent des fonctionnalités invariantes par traduction, tandis que la régression nécessite des fonctionnalités covariantes par traduction. Étant donné que la fonctionnalité Support représente le centre de la catégorie et est invariante par traduction, les fonctionnalités agrégées nuiront à la tâche de régression.
Cet article propose un découplage simple des tâches de classification-régression. Soit et représentent les fonctionnalités de requête originales et agrégées. Les méthodes précédentes adoptent pour les deux tâches, où le score de classification et la boîte englobante prédite sont définis comme :
.
Pour découpler ces tâches, nous adoptons un extracteur de fonctionnalités distinct et utilisons les fonctionnalités de support d'origine pour la régression de la boîte englobante :
Nous adoptons des ensembles de données : PASCAL VOC, MME COCO. Indicateurs d'évaluation : précision moyenne de classe roman nAP, précision moyenne de classe de base bAP.
Principaux résultats
VFA a obtenu de meilleurs résultats sur les deux ensembles de données. Par exemple, sur l'ensemble de données PASCAL VOC (tableau 2 ci-dessous), le VFA est nettement supérieur à celui des méthodes précédentes ; les résultats en un seul coup de VFA sont même supérieurs aux résultats en 10 coups de certaines méthodes.
Tableau 2 L'effet du VFA sur l'ensemble de données PASCAL VOC
Expérience d'ablation
a) Le rôle des différents modules. Comme le montre le tableau 3 ci-dessous, différents modules de VFA peuvent fonctionner ensemble pour améliorer les performances du modèle.
Tableau 3 Le rôle des différents modules
b) Analyse visuelle des différentes méthodes d'agrégation de fonctionnalités . Comme le montre la figure 3 ci-dessous, la CAA peut réduire la confusion entre les classes de base et les classes nouvelles ; le VFA améliore encore la distinction entre les classes basées sur la CAA ;
Figure 3 Visualisation de la matrice de similarité
c) Estimation plus précise du point central de la catégorie . Comme le montre la figure 4 ci-dessous, VFA peut estimer plus précisément le centre de la catégorie. Et à mesure que le nombre d’échantillons diminue, la précision de l’estimation devient progressivement supérieure à celle de la méthode de référence. Cela explique également pourquoi notre méthode fonctionne mieux lorsqu'il y a peu d'échantillons (K=1).
Figure 4 La distance entre le centre de catégorie estimé et le centre de catégorie réel
d) Visualisation du résultat .
Figure 5 Résultats de visualisation
Cet article revient sur la méthode d'agrégation de fonctionnalités dans FSOD basée sur le méta-apprentissage et propose une agrégation de fonctionnalités indépendante de la catégorie CAA et variationnelle agrégation de fonctionnalités VFA. CAA peut réduire les biais de classe et la confusion entre les classes de base et les nouvelles classes ; VFA transforme les échantillons en distributions de classes pour obtenir une agrégation de fonctionnalités plus robuste. Des expériences sur les ensembles de données PASCAL VOC et MS COCO démontrent l'efficacité de la méthode proposée dans cet article.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!