2016-05-31 13 views
2

Im Moment verwende ich Alexnet, um eine Klassifizierungsaufgabe zu erledigen.Warum verbessert die Datenerweiterung nicht die Genauigkeit der Texturklassifizierung in CNNs?

Die Größe jeder Eingangsabtastwert ist 480 * 680 wie folgt aus:

enter image description here

ein normales Netzwerk, durch beschnittene Eingänge der Größe 256 * 256 (erzeugt in Vorverarbeitungsschritte) mit der Ansatzgröße eingespeist von 8, gibt mir die Genauigkeitsrate von 92%.

Aber, wenn ich versuche, 5 Kulturen jeder (480 * 680) Probe zu erzeugen (Ecken sowie ein Zentrum Ernte) unter Verwendung der folgende Ernte Schichten:

# this is the reference blob of the cropping process which determines cropping size 
layer { 
    name: "reference-blob" 
    type: "Input" 
    top: "reference" 
    input_param { shape: { dim: 8 dim: 3 dim: 227 dim: 227 } } 
} 
# upper-left crop 
layer{ 
    name: "crop-1" 
    type: "Crop" 
    bottom: "data" 
    bottom: "reference" 
    top: "crop-1" 
    crop_param { 
     axis: 2 
     offset: 1 
     offset: 1 
    } 
} 
# upper-right crop 
layer{ 
    name: "crop-2" 
    type: "Crop" 
    bottom: "data" 
    bottom: "reference" 
    top: "crop-2" 
    crop_param { 
     axis: 2 
     offset: 1 
     offset: 412 
    } 
} 
# lower-left crop 
layer{ 
    name: "crop-3" 
    type: "Crop" 
    bottom: "data" 
    bottom: "reference" 
    top: "crop-3" 
    crop_param { 
     axis: 2 
     offset: 252 
     offset: 1 
    } 
} 
# lower-right crop 
layer{ 
    name: "crop-4" 
    type: "Crop" 
    bottom: "data" 
    bottom: "reference" 
    top: "crop-4" 
    crop_param { 
     axis: 2 
     offset: 252 
     offset: 412 
    } 
} 
# center crop 
layer{ 
    name: "crop-5" 
    type: "Crop" 
    bottom: "data" 
    bottom: "reference" 
    top: "crop-5" 
    crop_param { 
     axis: 2 
     offset: 127 
     offset: 207 
    } 
} 
# concat all the crop results to feed the next layer 
layer{ 
    name: "crop_concat" 
    type: "Concat" 
    bottom: "crop-1" 
    bottom: "crop-2" 
    bottom: "crop-3" 
    bottom: "crop-4" 
    bottom: "crop-5" 
    top: "all_crops" 
    concat_param { 
      axis: 0 
    } 
} 
# generating enough labels for all the crop results 
layer{ 
    name: "label_concat" 
    type: "Concat" 
    bottom: "label" 
    bottom: "label" 
    bottom: "label" 
    bottom: "label" 
    bottom: "label" 
    top: "all-labels" 
    concat_param { 
      axis: 0 
    } 
} 

diese Genauigkeitsrate von 90,6% führt die ist komisch.

Irgendeine Idee?

+0

Könnten Sie ein Beispielbild (480x640) (vor der Vorverarbeitung) posten? In den beschnittenen Bildern gibt es nur minimale Überschneidungen. Sind Sie also sicher, dass alle die gewünschte Klassifizierung korrekt wiedergeben? Normalerweise umfasst diese Art der Datenerweiterung das Erzeugen mehrerer beschnittener Bilder, die sich meistens überlappen, so dass das eigentliche Objekt, das Sie klassifizieren möchten, in jedem beschnittenen Bild nur um einen kleinen Betrag übersetzt wird. Wenn jedes der Eckbilder nur ein kleiner Teil des Objekts ist, das Sie klassifizieren möchten, kann dies die Klassifizierungsaufgabe unbeabsichtigterweise erheblich erschweren. – Aenimated1

+0

@ Aenimated1 Danke für die Wiederholung. Eigentlich sind sie Texturbilder. Ich persönlich denke, dass es in diesem Fall nicht sehr hilfreich sein kann, solche beschnittenen Versionen zu erzeugen, aber ich habe irgendwo gelesen, dass es die Genauigkeit verbessern kann. – Ali

Antwort

1

Die typische Verwendung von beschnittenen Versionen besteht darin, ein kritisches Merkmal in einer kanonischen Position für die Erkennungsfilter zu erhalten. Zum Beispiel findet die typische 5-Crop-Methode häufig "Tiergesicht nahe der Mitte des Bildes" oft genug, um 2-4 Schichten vom Ende als Lernikone zu erscheinen.

Da eine Textur dazu neigt, bestimmte Qualitäten zu wiederholen, gibt es keinen Vorteil beim Zuschneiden der Fotos: Sie präsentieren 5 kleinere Instanzen der Textur, mit einer relativ größeren Körnung als das vollständige Bild.

+0

Klingt vernünftig, vielen Dank für Ihre klare Erklärung. – Ali