CornerNet: Detecting Objects as Paired Keypoints
https://arxiv.org/abs/1808.01244
Scheint auf der ECCV 2018 bekannt zu geben
Oh, es ist im Grunde meine Interpretation, also kann es einige Fehler geben
Schnellere RCNN, SSD und YOLO haben "vorgegebene Anker", die "Klassen" innerhalb von Ankern ausführen und "zu Ankern und tatsächlichen Begrenzungsrahmen zurückkehren".
Mit anderen Worten, ich bezweifle, dass es einen Teil gibt, der vom Anker abhängt.
① Die Anzahl der Anker erhöht sich DSSD verwendet Anker von 40.000 oder mehr und Retina Net verwendet Anker von 100.000 oder mehr. Einfache Geschichte "Wenn Sie die Anzahl der Anker erhöhen, lässt sich die richtige Antwort-Bbox leicht in den Anker einhängen, sodass sich die Genauigkeit verbessert."
Wenn Sie die Anzahl der Anker erhöhen, erhöht sich die Anzahl der negativen Anker und die Lerngeschwindigkeit nimmt ab.
② Viele Hyperparameter des Ankers ・ Wie viele bboxes · Welche Größe ・ Welches Seitenverhältnis Dieser Entwurf ist mühsam, komplex und umständlich.
Ist es möglich, einen Objektdetektor herzustellen, der keine Anker verwendet? </ b>
Das ist meine Motivation.
Das erste Merkmal ist, dass die bbox-Koordinaten und die Größe nicht zurückgegeben werden. Dann geben wir eine Wärmekarte der Wahrscheinlichkeit der oberen linken Koordinate des Eingabebildes und der Wahrscheinlichkeit der oberen rechten Koordinate aus. Keine Regression bei vollständig verbundener Ebene
Es gibt drei grundlegende Ausgänge. ・ Wärmekarte bezüglich der Position der Koordinaten (oben links bzw. unten rechts) ・ Einbettung, die Objekte derselben Klasse trennt ・ Offset-Ausgabe, die die Auflösung durch Merkmalsextraktion wiederherstellt
Werfen wir einen kurzen Blick auf jeden einzelnen
Die obere linke Koordinate des richtigen Begrenzungsrahmens ist im Wesentlichen ein "Punkt", daher ist sie zu streng, um sie vorherzusagen. Wenden Sie daher einen Gaußschen Filter an, um ihn etwas größer zu machen.
Alles, was übrig bleibt, ist die Vorhersage dieser Heatmap mit einem Netzwerk vom Typ Encoder-Decoder namens HourglassNetwork.
Die Verlustfunktion übernimmt den Fokusverlust.
Grob gesagt ist es nicht so wichtig, aber Wenn eine Merkmalsextraktion durchgeführt wird, sinkt die Auflösung, sodass die genauen Koordinaten im Originalbild durch Regression berechnet werden.
Für jede Klasse werden Ausgabe-Heatmaps erstellt. Wenn aus einem Bild mehrere Objekte derselben Klasse stammen, gibt es daher mehrere Eckpunkte. Beispielsweise werden in einem Bild mit zwei Menschen zwei obere linke Punkte in der "Ausgangswärmekarte der menschlichen Klasse" erfasst.
Erstellen Sie danach eine Kombination aus dem oberen linken Punkt und dem unteren rechten Punkt, um einen Begrenzungsrahmen zu erstellen. Zu diesem Zeitpunkt ist die Kombination von oben links und unten rechts nicht klar. Multiplizieren Sie daher mithilfe der Einbettung die Verluste mit ähnlichen Merkmalen in derselben Kombination. Dies erleichtert das Auffinden von Kombinationen. Lpull macht zwei Merkmale derselben Kombination ähnlich Lpush hat die Eigenschaft, zwei verschiedene Kombinationen von Merkmalen unterschiedlich zu machen.
Es ist eine Kombination aus Erkennungsverlust, Einbettungsverlust und Offsetverlust.
corner pooling Die Technik der "Vorhersage dieses oberen linken Punktes und des unteren rechten Punktes" sagt grundsätzlich voraus, wo die Klasse nicht existiert. Dies dient dazu, den Rand des Begrenzungsrahmens vorherzusagen, aber der Mangel an Informationen für diese Klasse an dem vorherzusagenden Punkt scheint problematisch. Daher verwenden wir eine neue Pooling-Methode namens Corner Pooling.
Was ich mache, ist wie in der Abbildung und es ist, als würde man den Maximalwert vertikal und horizontal verschieben.
Es scheint eine gute Überlegung zu geben, dass "sich ein Mensch in der Richtung rechts von der oberen linken Koordinate befindet".
Die Oberseite der Figur ist ohne Eckpooling und die Unterseite der Figur ist mit Eckpooling. Sie können sehen, dass der genaue Begrenzungsrahmen vorgeschlagen wird.
Quantitativ können Sie sehen, dass die Genauigkeit etwas besser ist. Sie können auch bestätigen, dass es ohne gut genug ist.
Im Vergleich zu anderen Methoden sind die Ergebnisse viel besser als bei anderen einstufigen Detektoren, und die Ergebnisse sind mit denen von zweistufigen Detektoren vergleichbar.
Überlappende Giraffen sind deutlich zu erkennen. Sie können sehen, dass die Einbettung gut funktioniert.
Dies ist ein Fehlerbeispiel. Einige Personen werden möglicherweise nicht erkannt oder die Einbettung ist möglicherweise falsch.
244 ms pro Blatt langsam
Wir haben einen neuen Objektdetektor vorgeschlagen, der überhaupt keine Anker verwendet, und einige Ergebnisse wurden erzielt. Besonders die Genauigkeit ist recht gut.
Auf der anderen Seite liegt das Problem bei 244 ms und die langsame Betriebsgeschwindigkeit ist fantastisch. Da dies jedoch das erste Papier ist, das eine Heatmap-Methode verwendet, besteht die Möglichkeit, dass es in Zukunft verbessert wird.
(Persönlich) Das Ergebnis des Corner Pooling ist etwas besser, aber es ist möglicherweise nicht sehr brauchbar, außer für diese Anmerkung.
Deshalb habe ich kurz über CornerNet erklärt, einen Detektor, der keine Anker verwendet. Wenn es an Erklärungen mangelt, möchte ich sie noch einmal ergänzen.
centerNet https://arxiv.org/abs/1904.07850
Grid R-CNN https://arxiv.org/abs/1811.12030
Recommended Posts