CornerNet: Detecting Objects as Paired Keypoints
https://arxiv.org/abs/1808.01244
Semble être annoncé à l'ECCV 2018
Oh, c'est essentiellement mon interprétation, donc il peut y avoir des erreurs
RCNN, SSD et YOLO plus rapides ont des «ancres prédéterminées» qui exécutent des «classes» dans les ancres et des «retours aux ancres et aux cadres de délimitation réels».
En d'autres termes, je doute qu'il y ait une partie qui dépend de l'ancre.
① Le nombre d'ancres augmentera DSSD utilise des ancres de 40k ou plus, et Retina Net utilise des ancres de 100k ou plus. Histoire simple "Si vous augmentez le nombre d'ancres, la bonne réponse bbox est facile à accrocher sur l'ancre, donc la précision va s'améliorer?"
Si vous augmentez le nombre d'ancres, le nombre d'ancres négatives augmentera et la vitesse d'apprentissage diminuera.
② De nombreux hyper paramètres d'ancrage ・ Combien de bbox · Quelle taille ・ Quel type de rapport hauteur / largeur Cette conception est fastidieuse, complexe et encombrante.
Est-il possible de fabriquer un détecteur d’objet qui n’utilise pas d’ancres? </ b>
Telle est ma motivation.
La première caractéristique est qu'il ne renvoie pas les coordonnées et la taille de la bbox. Ensuite, ce que nous faisons est de produire une carte thermique de la probabilité de la coordonnée supérieure gauche de l'image d'entrée et de la probabilité de la coordonnée supérieure droite. Aucune régression en utilisant une couche entièrement connectée
Il existe trois sorties de base. ・ Carte de chaleur concernant la position des coordonnées (respectivement en haut à gauche et en bas à droite) ・ Intégration qui sépare les objets de la même classe ・ Sortie décalée qui restaure la résolution par extraction de caractéristiques
Jetons un coup d'œil à chacun
La coordonnée supérieure gauche de la boîte englobante correcte est essentiellement un "point", donc elle est trop sévère pour être prédite. Par conséquent, appliquez un filtre gaussien pour le rendre un peu plus grand.
Il ne reste plus qu'à prédire cette carte thermique avec un réseau de type encodeur-décodeur appelé hourglassNetwork.
La fonction de perte adopte une perte focale.
En gros, ce n'est pas si important, mais Lorsque l'extraction d'entités est effectuée, la résolution diminue, de sorte que les coordonnées exactes de l'image d'origine sont calculées par régression.
Des cartes thermiques de sortie sont créées pour chaque classe. Par conséquent, s'il existe plusieurs objets de la même classe à partir d'une image, il y aura plusieurs points d'angle. Par exemple, dans une image avec deux humains, deux points en haut à gauche sont détectés dans la "carte thermique de sortie de classe humaine".
Après cela, faites une combinaison du point supérieur gauche et du point inférieur droit pour créer un cadre de sélection. À ce stade, la combinaison de laquelle en haut à gauche et en bas à droite n'est pas claire. Par conséquent, en utilisant l'incorporation, multipliez les pertes qui ont des caractéristiques similaires dans la même combinaison. Cela facilite la recherche de combinaisons. Lpull rend deux fonctionnalités de la même combinaison similaires Lpush a la propriété de rendre deux combinaisons différentes de fonctionnalités différentes.
Il s'agit d'une combinaison de perte de détection, de perte d'intégration et de perte de décalage.
corner pooling La méthode de "prédiction de ce point en haut à gauche et en bas à droite" prédit essentiellement où la classe n'existe pas. Il s'agit de prédire le bord de la boîte englobante, mais le manque d'informations pour cette classe au point à prédire semble problématique. Par conséquent, nous utilisons une nouvelle méthode de regroupement appelée corner pooling.
Ce que je fais est comme la figure, et c'est comme déplacer la valeur maximale verticalement et horizontalement.
Il semble y avoir une bonne considération de la caractéristique selon laquelle "il y a un être humain dans la direction à droite de la coordonnée supérieure gauche".
Le haut de la figure est sans regroupement de coins et le bas de la figure est avec regroupement de coins. Vous pouvez voir que la boîte englobante exacte est proposée.
Quantitativement, vous pouvez voir que la précision est un peu meilleure. Vous pouvez également confirmer qu'il est assez bon sans cela.
Par rapport à d'autres méthodes, les résultats sont bien meilleurs que les autres détecteurs à un étage, et les résultats sont comparables à ceux des détecteurs à deux étages.
Les girafes qui se chevauchent peuvent être clairement détectées. Vous pouvez voir que l'intégration fonctionne bien.
Ceci est un exemple d'échec. Certaines personnes peuvent ne pas être détectées ou l'intégration peut être incorrecte.
244 ms par feuille lent
Nous avons proposé un nouveau détecteur d'objets qui n'utilise pas du tout d'ancrage, et certains résultats ont été obtenus. Surtout la précision est assez bonne.
D'autre part, le problème est de 244 ms et la vitesse de fonctionnement lente est impressionnante. Cependant, puisqu'il s'agit du premier article utilisant une méthode de carte thermique, il est possible qu'il soit amélioré à l'avenir.
(Personnellement) Le résultat de la mise en commun des coins est un peu meilleur, mais il peut ne pas être très utilisable sauf pour cette annotation.
C'est pourquoi j'ai brièvement expliqué CornerNet, un détecteur qui n'utilise pas d'ancres. S'il y a un manque d'explication, je voudrais la compléter à nouveau.
centerNet https://arxiv.org/abs/1904.07850
Grid R-CNN https://arxiv.org/abs/1811.12030
Recommended Posts