[PYTHON] Memo zur Geschlechtserkennung

Aidemy 2020/10/4

Einführung

Hallo, es ist ja! Ich bin eine knusprige Literaturschule, aber ich war an den Möglichkeiten der KI interessiert, also ging ich zur KI-Fachschule "Aidemy", um zu studieren. Ich möchte das hier gewonnene Wissen mit Ihnen teilen und habe es in Qiita zusammengefasst. Ich freue mich sehr, dass viele Menschen den vorherigen zusammenfassenden Artikel gelesen haben. Vielen Dank! Dieses Mal werden wir ein Memo zur Anerkennung des Geschlechts veröffentlichen. Freut mich, dich kennenzulernen.

Geschlechtserkennung 1

Was ist zu tun

・ Sammeln Sie Daten und bereinigen Sie sie. -Datenerfassung ist nicht von Keras integriert, sondern lädt Bilder online herunter und sammelt sie.

Informationen zur Datenbereinigung

img = cv2.imread('./6100_gender_recognition_data/male/Aaron_Eckhart_0001.jpg')
b,g,r=cv2.split(img) 
img=cv2.merge([r,g,b])

Bildreduktion

-Verwenden Sie __cv2.resize (Bild, (vertikal, horizontal)) __. Nach dem Speichern mit cv2.imwrite () erhalten Sie das verkleinerte Bild mit plt.imread als Abbildung und geben es mit plt.imshow () aus.

import cv2
import matplotlib.pyplot as plt
import numpy as np

img=cv2.imread("./6100_gender_recognition_data/male/Aaron_Eckhart_0001.jpg ")
my_img=cv2.resize(img, (50, 50))
cv2.imwrite("resize.img",my_img)
img=plt.imread("resize.img")
plt.imshow(img)
plt.show()

Farbraumkonvertierung

-Wenn Sie von Farbe (rot, grün, blau) zu monochrom (weiß, schwarz) wechseln, setzen Sie cv2.COLOR_RGB2GRAY im zweiten Argument von __cv2.cvtColor (Bild) __. Dies geschieht häufig beim Umgang mit Bildern. -Wenn das konvertierte Bild mit plt.show () ausgegeben wird, wird das erste Argument als "grün" erkannt, wenn es unverändert bleibt. Daher muss es als __plt.gray () __ beschrieben werden.

Geschlechtserkennung 2

Was ist zu tun

・ Erstellen Sie ein Modell mit CNN (+ Keras + TensorFlow). Zusätzlich wird das Transferlernen mit VGG16 durchgeführt.

Modell erstellen (Ebenen hinzufügen)

Modellbetrieb (Zusammenstellung, Schulung, Vorhersage)

・ (Review) Kompilieren mit Kompilieren, Lernen mit Fit, Vorhersagen mit np.argmax (model.predict ()). ・ __Model.compile (Optimierer, Verlust, Metriken) __ ・ __Model.fit (Trainingsdaten, Lehreretikett, Batchgröße, Epochen) __

Lernen übertragen

・ (Überprüfung) Übertragen Sie das Lernen mit VGG16

#Formeinstellung eingeben
input_tensor = Input(shape=(32, 32, 3))
#VGG-Modelleinstellungen
vgg16 = VGG16(include_top=False,weights='imagenet',input_tensor=input_tensor)
#Kombination des VGG-Modells mit einer neuen Ebene
model = Model(inputs=vgg16.input, outputs=top_model(vgg16.output))
#Feste Anzahl von Schichten und Gewichten für das VGG-Modell
for layer in model.layers[:15]:
    layer.trainable = False

Recommended Posts

Memo zur Geschlechtserkennung
gzip memo
Himbeer-Pi-Memo
Pandas Memo
HackerRank-Memo
Python-Memo
Python-Memo
Graphen-Memo
Kolben Memo
pyenv memo
Matplotlib-Memo
pytest memo
sed memo
Python-Memo
BeautifulSoup4 Memo
networkx memo
Python-Memo
Kater Memo
Befehlsnotiz
Generator Memo.
psycopg2 memo
Python-Memo
SSH-Memo
Bilderkennung
Notiz: rtl8812
Pandas Memo
Shell Memo
Python & Machine Learning Study Memo ⑥: Zahlenerkennung
Python-Memo
Pycharm-Memo