Maison >Périphériques technologiques >IA >La dernière architecture profonde pour la détection de cibles a la moitié des paramètres et est 3 fois plus rapide +
Les auteurs de la recherche proposent Matrix Net (xNet), une nouvelle architecture profonde pour la détection d'objets. Les xNets mappent des objets de différentes dimensions et proportions dans des couches de réseau, où les objets sont presque uniformes en taille et en proportion au sein de la couche. Par conséquent, les xNets fournissent une architecture prenant en compte la taille et les proportions. Les chercheurs utilisent xNets pour améliorer la détection de cibles basée sur des points clés. La nouvelle architecture atteint une efficacité temporelle plus élevée que tout autre détecteur à tir unique, avec 47,8 mAP sur l'ensemble de données MS COCO, tout en utilisant la moitié des paramètres et en étant 3 fois plus rapide à former que le meilleur cadre suivant.
Comme le montre la figure ci-dessus, les paramètres et l'efficacité de xNet sont bien supérieurs à ceux des autres modèles. Parmi eux, FSAF a le meilleur effet parmi les détecteurs basés sur une ancre, surpassant le RetinaNet classique. Le modèle proposé par les chercheurs surpasse toutes les autres architectures mono-coup avec un nombre similaire de paramètres.
La détection d'objets est l'une des tâches les plus étudiées en vision par ordinateur, avec de nombreuses applications à d'autres tâches de vision telles que le suivi d'objets, la segmentation d'instances et le sous-titrage d'images. Les structures de détection d'objets peuvent être divisées en deux catégories : détecteur à un coup et détecteur à deux étages. Les détecteurs à deux étages utilisent un réseau de proposition de région pour trouver un nombre fixe d'objets candidats, puis utilisent un second réseau pour prédire le score de chaque candidat et améliorer son cadre de délimitation.
Les détecteurs à un coup peuvent également être divisés en deux catégories : les détecteurs basés sur des ancres et les détecteurs basés sur des points clés. Les détecteurs basés sur des ancres contiennent de nombreuses boîtes englobantes d'ancres, puis prédisent le décalage et la classe de chaque modèle. L'architecture basée sur l'ancre la plus célèbre est RetinaNet, qui propose une fonction de perte focale pour aider à corriger le déséquilibre de classe des boîtes englobantes d'ancre. Le détecteur basé sur une ancre le plus performant est le FSAF. FSAF intègre des sorties basées sur une ancre avec des têtes de sortie sans ancre pour améliorer encore les performances.
D'autre part, le détecteur basé sur les points clés prédit la carte thermique pour les coins supérieur gauche et inférieur droit et les fait correspondre à l'aide de l'intégration de fonctionnalités. Le détecteur original basé sur les points clés est CornerNet, qui utilise une couche de regroupement de coeners spéciale pour détecter avec précision des objets de différentes tailles. Depuis, Centerne a grandement amélioré l’architecture CornerNet en prédisant les centres et les coins des objets.
La figure ci-dessous montre les réseaux matriciels (xNets), qui utilisent des matrices hiérarchiques pour modéliser des cibles de différentes tailles et rapports transversaux de cluster, où chaque entrée i, j dans la matrice représente une couche li, j, la le sous-échantillonnage de la largeur de la couche l1,1 dans le coin supérieur gauche de la matrice est de 2 ^ (i-1), et la hauteur est sous-échantillonnée de 2 ^ (j-1). Les couches diagonales sont des couches carrées de différentes tailles, équivalentes à un FPN, tandis que les couches hors diagonale sont des couches rectangulaires (ceci est unique aux xNets). La couche l1,1 est la plus grande couche. La largeur de la couche est réduite de moitié pour chaque pas vers la droite et la hauteur est réduite de moitié pour chaque pas vers la droite.
Par exemple, la couche l3,4 fait la moitié de la largeur de la couche l3,3. Les calques diagonaux modélisent les objets dont les proportions sont proches du carré, tandis que les calques non diagonaux modélisent les objets dont les proportions ne sont pas proches du carré. Calques proches du coin supérieur droit ou inférieur gauche des objets du modèle matriciel avec des proportions extrêmement élevées ou faibles. De telles cibles sont très rares, elles peuvent donc être élaguées pour améliorer l’efficacité.
La couche matricielle de génération est une étape critique car elle affecte le nombre de paramètres du modèle. Plus il y a de paramètres, plus l’expression du modèle est forte et plus le problème d’optimisation est difficile. Les chercheurs choisissent donc d’introduire le moins de nouveaux paramètres possible. Les couches diagonales peuvent être obtenues à partir de différentes étapes du squelette ou à l'aide d'un cadre pyramidal de fonctionnalités. La couche triangulaire supérieure est obtenue en appliquant une série de convolutions partagées 3x3 avec une foulée de 1x2 sur la couche diagonale. De même, la couche inférieure gauche est obtenue en utilisant une convolution partagée 3x3 avec une foulée de 2x1. Les paramètres sont partagés entre toutes les convolutions de sous-échantillonnage afin de minimiser le nombre de nouveaux paramètres.
Chaque couche de la matrice modélise une cible avec une certaine largeur et hauteur, nous devons donc définir la plage de largeur et de hauteur attribuée à la cible pour chaque couche de la matrice. La plage doit refléter le champ récepteur du vecteur de caractéristiques de la couche matricielle. Chaque pas vers la droite dans la matrice double effectivement le champ récepteur dans la dimension horizontale, et chaque pas double le champ récepteur dans la dimension verticale. Ainsi, à mesure que nous nous déplaçons vers la droite ou vers le bas dans la matrice, la plage de largeur ou de hauteur doit doubler. Une fois la plage de la première couche l1,1 définie, nous pouvons utiliser les règles ci-dessus pour générer des plages pour le reste de la couche matricielle.
Le principal avantage des Matrix Nets est qu'ils permettent aux noyaux de convolution carrés de collecter avec précision des informations sur différents rapports d'aspect. Dans les modèles de détection d'objets traditionnels, tels que RetinaNet, un noyau de convolution carrée est requis pour générer différents rapports d'aspect et échelles. Ceci est contre-intuitif car différents aspects du cadre de délimitation nécessitent des arrière-plans différents. Dans Matrix Nets, étant donné que le contexte de chaque couche matricielle change, le même noyau de convolution carrée peut être utilisé pour des cadres de délimitation de différentes échelles et rapports d'aspect.
Étant donné que la taille cible est presque uniforme au sein de sa couche désignée, la plage dynamique de largeur et de hauteur est plus petite par rapport à d'autres architectures (telles que FPN). Par conséquent, régresser la hauteur et la largeur de la cible deviendra un problème d’optimisation plus simple. Enfin, Matrix Nets peut être utilisé comme n'importe quelle architecture de détection d'objets, détecteur basé sur des ancres ou des points clés, à un ou deux coups.
Lorsque CornerNet a été proposé, il devait remplacer la détection basée sur l'ancre. Il utilisait une paire de coins (coin supérieur gauche et coin inférieur droit) pour. Prédire les boîtes englobantes. Pour chaque coin, CornerNet prédit les cartes thermiques, les décalages et les intégrations.
L'image ci-dessus est le cadre de détection de cible basé sur des points clés - KP-xNet, qui contient 4 étapes.
Le tableau suivant montre les résultats sur l'ensemble de données MS COCO :
Les chercheurs ont également comparé le modèle nouvellement proposé avec d'autres modèles sur différents squelettes en fonction du nombre de paramètres. Dans la première figure, nous constatons que KP-xNet surpasse toutes les autres structures à tous les niveaux de paramètres. Les chercheurs pensent que cela est dû au fait que KP-xNet utilise une architecture prenant en compte l'échelle et les proportions.
Adresse papier : https://arxiv.org/pdf/1908.04646.pdf
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!