Bildklassifizierung mit CNN mit Keras

Ein CNN-Modell wird auf der Grundlage des Bildklassifizierungsprozesses verarbeitet.

1. Was ist Convolutional Neural Network (CNN)?

Das CNN-Modell ist ein neuronales Netzwerk, das verwendet wird, um die Attribute des Bildes verfügbar zu machen. Je mehr CNN-Layer, desto mehr Attribute werden angezeigt. Die hohen Attribute gehören zu den Features, die den Erfolg der Bilderkennung erhöhen. Es gibt einige Ebenen in der CNN-Struktur, werfen wir einen Blick auf sie.

A) Konvolutionale Schicht

Dieser Layer leitet Attribute ab. Für diese Rückschlüsse werden einige Filter verwendet. Die Arbeitsstruktur der Filter besteht aus mehreren Matrixoperationen, d.h. die Hauptbildmatrix mit einer anderen Matrix multiplizieren, die wir gewählt haben. Wenn Sie z. B.

Lassen Sie ×eine 5×5 Bildmatrix in einen 3X3-Filter legen. Wenn wir die Filtermatrix über die Bildmatrix setzen, fügen wir die überlappenden Zellwerte in das Matrixprodukt ein und schreiben sie in eine neue Matrix. Die Matrix, die auftritt, wenn wir dies auf dem gesamten Bild tun, ist unsere Attributmatrix.

Kantenerkennungsfilter

Edge-Informationen sind innerhalb von Attributen, die aus dem Bild abgerufen werden. Es wird uns helfen, hochfrequente Bereiche des Bildes zu finden.

Schritt (Schrittverschiebung)

Eine Matrix ist ein Parameter, der bestimmt, wie viel der Filter verschoben und verarbeitet wird, wenn Berechnungen durchgeführt werden. Beeinflusst direkt die Ausgabegröße.

Polsterung

Nach dem Konvolutwird wird es hinzugefügt, um den Größenunterschied zwischen der Eingabematrix und der Ausgabematrix zu zerstören. Dies wird mit zusätzlichen Pixeln versehen, die der Eingabematrix hinzugefügt werden sollen.

Filtern mit Polsterung (Karnel-Filtermatrix)

Pooling

Reduziert Höhen- und Breiteninformationen, indem die Anzahl der Kanäle (RGB oder Grau) der Bildmatrix konstant bleibt. Es gibt keine Attributrückschluss. Es gibt verschiedene Berechnungsalgorithmen wie Maximum, Average und L2-Norm Pooling. Das Betriebssystem ist, wenn die Bildmatrix, in der eine Filtermatrix navigiert, eine neue Matrix erstellt, indem ein Wert basierend auf dem verwendeten Algorithmus ausgewählt wird.

Max Pooling-Beispiel

AusgabeMatrix-Ermittlungsformel

Ausgabematrix-Größenberechnungsformel

B) Abflachungsschicht

Die Aufgabe dieser Ebene besteht darin, die Daten vorzubereiten, die an die vollständig verbundene Ebene gesendet werden sollen. Das Verfahren besteht darin, die Matrizen von der konvolutionalen Pooling-Schicht in eine eindimensionale Matrix umzuwandeln.

C) Vollständig vernetzte Schicht

Es ist der Teil, wo der Prozess des Lernens mit neuronalen Netzwerken stattfindet.

2.Impeding mit Keras

Der Datensatz, den wir verwenden werden, ist der Mitset c-FAR-10, der mit Keras kommt.

Laden von Daten

von keras.datasets import cifar10
(x_train,y_train),(x_test,y_test) = cifar10.load_data()

Datenerkennung und -anzeige

• explore datadatanum=1000import matplotlib.pyplot as pltimg=plt.imshow(x_train[datanum])- Siehe labelprint("Label:",y_train[datanum])

Eine Hot-Codierung

Eine Hot-Codierung ist der Prozess der Benennung kategorialer Variablen binär.

von keras.utils Import to_categoricaly_train_ohe=to_categorical(y_train)y_test_ohe=to_categorical(y_test)- Y_trainprint(y_train_ohe) nach ohe

Normalisieren von Bildpixeln

x_train=x_train/255x_test=x_test/255

Erstellen eines Modells durch Erstellen einer CNN-Ebene

von keras.models importieren Sequentialfrom keras.layers importieren Dense,Flatten,Conv2D,MaxPool2D'Modell definedmodel=Sequential()#CNN und Pooling-Layer werden hinzugefügtmodel.add(Conv2D(32,(5,5),activation='relu'.vlu'.,input_shape=(32,32,3)model.add(MaxPool2D(pool_size=(2,2)))model.add(Conv2D(32,(5,5),activation='relu')model.add())) Conv 2D(32,(5,5),activation='relu')model.add(MaxPool2D(pool_size=(2,2)#Flatten Layer hinzugefügtmodel.add(Flatten())model.add(Dense(1000,activation='re lu') )model.add(10,activation='softmax') )' 10 Nerve-Knoten wurden erreicht, weil es 10 Tags gab.' Model compilemodel.compile(loss='categorical_crossentropy',optimizer='adam',metrics=['accuracy'])

Modellzusammenfassung

Modellerfolgsmessung und Visualisierung

Erfolgsquote mit 150 Epochen

Erfolgs- und Verlustwerte

Prognoseprozess des Modells

Ein Modul mit dem Namen ImageClassifiar() wurde erstellt. Das Bild wurde über den internen Speicher hochgeladen und das Modell wurde geschätzt.

Registrierung des trainierten Modells

model.save('model_1.h5')

Wiederverwendung eines vorgefertigten Modells

von keras.models importieren load_modelmodel=load_model('model_1.h5')

  Zitat

KARABAY A, 2020 . Bildklassifizierung Mit CNN mit Keras,

https://www.karabayyazilim.com/blog/python/keras-ile-goruntu-siniflandirma-2020-03-27-230639

(Abgerufen am 27. März 2020).


  Diesen Beitrag teilen

Kommentare (0)

Kommentar

Abonnieren
Melden Sie sich für den E-Mail-Newsletter an, um als Erster über meine Blogbeiträge Bescheid zu wissen