2017-07-27 2 views
1

Link to paperWie trainiert man das RPN in schnellerem R-CNN?

Ich versuche, die Region Vorschlag Netzwerk in schneller rcnn zu verstehen. Ich verstehe, was es tut, aber ich verstehe immer noch nicht, wie Training genau funktioniert, besonders die Details.

Angenommen, wir verwenden die letzte Schicht des VGG16 mit der Form 14x14x512 (vor maxpool und mit 228x228 Bildern) und k = 9 verschiedenen Ankern. Zur Inferenzzeit möchte ich 9 * 2 Klassenlabels und 9 * 4 Bounding Box-Koordinaten vorhersagen. Meine Zwischenschicht ist ein 512-dimensionaler Vektor. (Bild 256 von ZF-Netzwerk zeigt) from the paper

In der Papier sie

schreiben

„wir zufällig 256 Anker in einem Bild abtasten, den Verlust Funktion eines Mini-Charge zu berechnen, wo der abgetastete positiv und negativ Anker haben ein Verhältnis von bis zu 1: 1 "

Das ist der Teil, über den ich mir nicht sicher bin. Bedeutet dies, dass für jeden der 9 (k) Ankertypen der jeweilige Klassifikator und Regressor mit Minibatches trainiert wird, die nur positive und negative Anker dieses Typs enthalten?

So dass ich im Grunde k verschiedene Netzwerke mit geteilten Gewichten in der Zwischenschicht trainieren? Daher würde jeder Minibatch aus den Trainingsdaten x = dem 3x3x512-Gleitfenster der Konv-Merkmalsliste und y = der Grundwahrheit für diesen spezifischen Ankertyp bestehen. Und zur Schlußzeit stelle ich sie alle zusammen.

Ich schätze Ihre Hilfe.

Antwort

0

Nicht genau. Aus dem, was ich verstehe, sagt das RPN WHk Bounding Boxes pro Feature-Map voraus, und dann werden 256 zufällig nach den 1: 1-Kriterien abgetastet, und diese werden als Teil der Berechnung für die Verlustfunktion des bestimmten Mini-Batch verwendet. Sie trainieren immer noch nur ein Netzwerk, nicht k, da die 256 Stichproben keinen bestimmten Typ haben.

Haftungsausschluss: Ich habe erst vor einem Monat mit CNNs angefangen, also verstehe ich vielleicht nicht, was ich zu verstehen glaube.

Verwandte Themen