[PYTHON] 1. Tag, bis eine gute Genauigkeit durch Blattklassifizierung erreicht wird

Anfänger der Datenanalyse entschieden sich für Kaggles Leaf Classification. (https://www.kaggle.com/c/leaf-classification/data)

Finden Sie zuerst das Problem heraus

Problem

** 99 Klassenklassifizierung ** wird aus ** 192 Merkmalsgrößen ** (Rand1 ~ 64, Form1 ~ 64, Textur1 ~ 64) durchgeführt.

Datensatz

+1584 Bilder + Funktionen

Was ich dachte, was ich dachte

** Gibt es nicht weniger Trainingsdaten 10 für jede Daten? ** ** **

→ Es scheint gut zu sein, den Datensatz durch paralleles Verschieben zu vergrößern. Schreiben wir den Code und sehen, wie sehr es aussieht, den mit der gleichen Bezeichnung zu verschieben.

samelabel_leaf.py


lst = [0,316,905,1001,1124,1158,1269,1319,1449, 1503]#Index der Bilder mit der gleichen Bezeichnung
for i,j in enumerate(lst):
    plt.subplot(2,5,i+1)
    plt.xticks([])
    plt.yticks([])
    plt.imshow(images[j], "gray")
スクリーンショット 2017-07-07 22.52.22.png

Es ist fast die gleiche Ausrichtung, daher ist es möglicherweise keine gute Idee, es zu stark zu drehen. Ich denke, es wäre besser, sparsam hinein- und herauszuzoomen.

** Was meinst du mit 192 "Features"? ** ** **

→ Ich verstehe die Bedeutung von Rand, Form und Textur nicht und werde sie nachschlagen.

[PLANT_LEAF_CLASSIFICATION Paper](https://www.researchgate.net/profile/Charles_Mallah/publication/266632357_Plant_Leaf_Classification_using_Probabilistic_Integration_of_Shape_Texture_and_Margin_Featf2f72f72f72f72f2

3.2 Leaves "Es ist wichtig, eine breite Palette von Klassen anhand einiger Beispiele für dieses Problem zu klassifizieren. 』
Anscheinend ist weniger beabsichtigt.

4.1 Leaf Shape Feature "Zweidimensionale Domäne oder eindimensionale Daten, die eine Kirche darstellen. CCDC ist ein invarianter Formdeskriptor für Skalierung, Parallelbewegung und Rotation. Schließlich wird der Vektor auf eine geeignete Größe skaliert, so dass er die gleiche Anzahl von Elementen aufweist, so dass die Berechnungszeit verkürzt werden kann. 』
Ich bin mir nicht sicher, was es ist,

Der Schwerpunkt der Form $ \ bar {x}, \ bar {y} $,

\bar{x}=\frac{\sum_{i=1}^{s}x_i}{s}, \bar{y}=\frac{\sum_{i=1}^{s}y_i}{s}

Wie

d_i = \sqrt{(x_i-\bar{x})^{2}+(y_i-\bar{y})^{2}}

d_i^{'}=\frac{d_i}{\sum_{i=1}^{s}d_i}

Wenn Sie darüber nachdenken, scheint der Durchschnitt des Schwerpunkts den Abstand vom Gesamtschwerpunkt zu zeigen.

4.2 Leaf Texture Feature "Für jedes Bild werden ** 1024 kleine Fenster zufällig ausgewählt **. Wenden Sie ** rotationsinvarianten Gabor-Filter ** auf sie an. Durch Ändern der Standardabweichung des Schwerpunkts des Filters werden ** 5 verschiedene Skalenfilter ** erstellt. Jeder Filter wird mit jedem Fenster reduziert und die ** 4 Merkmale ** dieses Filters werden berechnet. Danach wird jeder der 1024 x 20 Merkmalsvektoren 64 Vektoren zugewiesen. Aus den zugewiesenen 1024 Vektoren wird ein Histogramm erstellt, und es werden 64 Merkmalsvektoren angegeben. 』
Vielleicht sind kleine Fenster kleine Elemente wie 5x5, die aus dem Bild ausgeschnitten sind, aber ** ich wusste nicht, was das bedeutet. ** ** **

4.3 Leaf Margin Feature "Wenden Sie zuerst den Medianfilter auf das binäre Blattbild an, um das Bild zu glätten." Dadurch kann die gesamte Kontur durch m Punkte dargestellt werden, und für jeden dieser ** Punkte werden die entsprechenden Punkte auf der ursprünglichen Kontur berechnet. ** ** **

  1. ** Größe **: Vorzeichenbehafteter Abstand zwischen dem geglätteten Randpunkt und dem ursprünglichen entsprechenden Punkt
  2. ** Gradient **: Vorzeichenbehaftete Differenz zwischen aktuellem und nächstem Punkt
  3. ** Krümmung **: Winkel am aktuellen Punkt zwischen dem vorherigen Punkt und dem nächsten Punkt Zwei positive und negative Merkmale erzeugen jeweils sechs Merkmalsdeskriptoren für jedes Fenster. Der Merkmalsvektor des Randfensters wird verwendet, um 64 Merkmale auf die gleiche Weise wie in 4.2 zu erzeugen. 』\

Mit anderen Worten d61e0c76dd87fe4126a47b5dfe250193.jpg Es ist wie es ist.

Möglicherweise ist es möglich, die Kontur durch Glätten zu erkennen, und als Ergebnis kann der Rand erkannt werden.

** Es gibt viele Daten mit unterschiedlichen Seitenverhältnissen. Was soll ich damit machen? ** ** **

→ Ich habe über zwei Dinge nachgedacht.

Im ersteren Fall ** werden beispielsweise die Daten eines länglichen Bildes wahrscheinlich als rundes Blatt ** erkannt, so dass letzteres besser zu sein scheint.

** Ist das Bild nicht groß? ** ** **

Ich denke, das kann gelöst werden, indem man es kleiner macht. Obwohl Mnist in 10 Klassen eingeteilt ist, ist es 28x28 und ** ziemlich genau **, so dass es in Ordnung erscheint, es bis zu einem gewissen Grad zu reduzieren. → Es scheint, dass dies durch Experimentieren mit verschiedenen Größen berücksichtigt werden kann.

** Also lass es uns ab morgen implementieren. ** ** **

Recommended Posts

1. Tag, bis eine gute Genauigkeit durch Blattklassifizierung erreicht wird
_ 2. Tag bis eine gute Genauigkeit durch Blattklassifizierung erreicht wird
_ 3. Tag bis eine gute Genauigkeit durch Blattklassifizierung erreicht wird