Wie Sie Trainingsbilder mit seiner Position Label randlos beschneiden.
Ich verarbeite Bilddaten und ihre Etiketten für Caffe-Eingabe. Ich möchte meine Trainingsbilder nach dem Zufallsprinzip online zuschneiden (wenn Caffe läuft) und ich weiß, dass caffe einen zufälligen Ernteparameter in der Ebene random crop liefert. Das Problem ist, dass mein Etikett jedes entsprechenden Bildes eine Variante ist, wenn das Bild umgewandelt wird. Auf diese Weise muss ich mein Etikett zusammen mit dem transformierten Bild ändern. Ich versuche mein Problem lange Zeit zu suchen, aber keine Verwendung. Dann stellte ich fest, vielleicht gab es zwei Möglichkeiten, um die Probleme zu lösen:Trainingsdaten Augmentation in Caffe zusammen mit seiner Multilabel
- erhalten Sie den Offset von zufälligen Crop-Bild auf Originalbild. Aber ich habe es ohne Antwort gegoogelt.
- Ich werde den Random-Offset online angeben, dann beschneiden Bild um den spezifischen Offset crop specific offset. Aber wie kann ich eine Zufallszahl während der Caffe Trainingszeit generieren?
- Ich kenne Vorverarbeitung der zufälligen Crop-Image und seine Bezeichnung offline kann eine praktikable Methode sein. Es wird jedoch einen beträchtlichen Speicherplatz belegen, da mein Datensatz für das Training zu groß ist.
meine Position entsprechenden Label: aufgeteilt ich jedes Trainingsbild als 10x10=100
Gitter. Die Bezeichnung ist der Rasterindex für einen bestimmten Schlüsselpunkt im Bild. zum Beispiel wird das Etikett 11 sein, wenn mein Kopf Schlüsselpunkt an der Position <2th row, 1th col>
Raster des Bildes ist.
und ich erkannte auch, dass das Problem von Caffe Python Layer gelöst werden konnte. Aber es scheint, dass die Trainingszeit lang sein wird, wenn ich Python Layer im Prototxt verwende (wie erwähnt) (http://stackoverflow.com/questions/39633624/caffe-image-augmentation-by-cropping). Wenn es notwendig ist, diese API zu verwenden, wie wird sie in diesem konkreten Problem verwendet? – farever