[PYTHON] Ich habe mit Jupyter eine einfache Bilderkennung versucht

Überblick

https://qiita.com/uz29/items/ec854106355bf783e316 Da die Vorbereitung das letzte Mal abgeschlossen war, habe ich zuerst ein Bildunterscheidungsprogramm unter Verwendung des vorhandenen Lernmodells VGG16 erstellt.

Bibliotheksimport und Modellimport

Das Modell wird zum ersten Mal heruntergeladen.

import glob
import pprint
import numpy as np
import tensorflow as tf
from PIL import Image

model = tf.keras.applications.vgg16.VGG16(weights='imagenet')

Vorhersageskript

Ich wollte alle Bilder im Ordner auf einmal vorhersagen, also habe ich glob verwendet, um eine Liste der Pfade zu erhalten und ein Array für jedes Bild zu erstellen. Es scheint, dass die Vorhersage mehrere Bilder gleichzeitig verarbeiten kann, indem eine Funktion einmal aufgerufen wird.

#Sagen Sie alle Fotos in einem Ordner voraus
file_list = glob.glob("./images/*")

pil = []
imgs = []
for path in file_list:
    #Bild wird geladen
    img_pil = tf.keras.preprocessing.image.load_img(path, target_size=(224, 224))
    pil.append(img_pil)
    #Konvertieren Sie Bilder in Arrays
    img = tf.keras.preprocessing.image.img_to_array(img_pil)
    #In ein 4-dimensionales Array konvertieren
    imgs.append(img)
imgs = np.stack(imgs, 0)

#Vorverarbeitung
img_p = tf.keras.applications.vgg16.preprocess_input(imgs)
#Prognose
predict = model.predict(img_p)
result = tf.keras.applications.vgg16.decode_predictions(predict, top=5)

Ergebnisse anzeigen

Die Vorhersageergebnisse sind unten zu sehen.

pprint.pprint(result[0])
plt.imshow(pil[0])

[('n02124075', 'Egyptian_cat', 0.42277277), ('n02123159', 'tiger_cat', 0.18187998), ('n02123045', 'tabby', 0.12070633), ('n02883205', 'bow_tie', 0.0892005), ('n02127052', 'lynx', 0.024664408)] image.png

pprint.pprint(result[1])
plt.imshow(pil[1])

[('n02119789', 'kit_fox', 0.6857688), ('n02119022', 'red_fox', 0.24295172), ('n02120505', 'grey_fox', 0.065218925), ('n02114855', 'coyote', 0.004371826), ('n02115913', 'dhole', 0.00046840237)] image.png

pprint.pprint(result[2])
plt.imshow(pil[2])

[('n02138441', 'meerkat', 0.9073721), ('n02137549', 'mongoose', 0.092063464), ('n02447366', 'badger', 0.00037895824), ('n02361337', 'marmot', 8.514335e-05), ('n02441942', 'weasel', 2.4436611e-05)] image.png

Die subtilen Tierarten sind nicht in VGG16 enthalten und können unterschiedlich sein, geben jedoch im Allgemeinen die genauen Arten zurück. In Zukunft möchte ich mein eigenes Lernmodell erstellen und Vorhersagen treffen.

Recommended Posts

Ich habe mit Jupyter eine einfache Bilderkennung versucht
Ich habe versucht, Bilder mit CIFAR-10 mit Keras-Learning- zu erkennen.
Ich habe versucht, Bilder von CIFAR-10 mit Keras-Bilderkennung zu erkennen.
Bis Sie mit Jupyter eine einfache Bilderkennung durchführen können
Ich habe versucht, das Gesicht mit OpenCV zu erkennen
Ich habe versucht, eine einfache Bilderkennungs-API mit Fast API und Tensorflow zu erstellen
Ich habe versucht, mit Pillow mit dem Bild zu spielen
Bilderkennung mit Keras
Ich habe versucht, Jupyter zu verwenden
Ich habe versucht, Runenfiguren mit Scikit-Learn handschriftlich zu erkennen
Ich habe versucht, das Bild mit Python + OpenCV zu "differenzieren"
Ich habe versucht, das Bild mit Python + OpenCV zu "binarisieren"
Ich habe versucht, Jupyter mit allen Amazon-Lichtern zu starten
Ich habe fp-Wachstum mit Python versucht
Ich habe versucht, mit Python zu kratzen
Ich habe versucht, mit Elasticsearch Ranking zu lernen!
Ich habe versucht, das Gesicht mit Face ++ zu erkennen
[OpenCV / Python] Ich habe versucht, Bilder mit OpenCV zu analysieren
Ich habe versucht, mit PyCaret zu clustern
Ich habe gRPC mit Python ausprobiert
Ich habe versucht, mit Python zu kratzen
Ich habe einen einfachen RPA für die Anmeldung mit Selen ausprobiert
jupyter ich habe es berührt
Bilderkennung mit Keras + OpenCV
Ich habe versucht, die Entropie des Bildes mit Python zu finden
Ich habe versucht, das Bild mit Python + OpenCV "gammakorrektur" zu machen
Ich habe versucht, die handschriftliche Zeichenerkennung von Runenzeichen mit CNN mithilfe von Keras zu erkennen
Ich habe versucht, Sätze mit summpy zusammenzufassen
Nahtschnitzen (Bildbeschneiden) habe ich versucht
Ich habe maschinelles Lernen mit liblinear versucht
Ich habe versucht, WebScraping mit Python.
Ich habe versucht, 100 Bildverarbeitung anzuklopfen (Q1 ~ Q10)
Ich habe versucht, DeepPose mit PyTorch zu implementieren
Ich habe versucht, das Gesicht mit MTCNN zu erkennen
Ich habe irgendwie versucht, ein Jupyter-Notebook zu verwenden
Ich habe versucht, Prolog mit Python 3.8.2 auszuführen.
Ich habe die SMTP-Kommunikation mit Python versucht
Ich habe versucht, Sätze mit GPT-2 zu generieren
Ich habe versucht, LightGBM mit Yellowbrick zu lernen
Ich habe das Jupyter-Notebook von VS Code ausprobiert
Ich habe versucht, das Bild mit OpenCV im "Skizzenstil" zu verarbeiten
[Python] Ich habe einen Bildbetrachter mit einer einfachen Sortierfunktion erstellt.
Ich habe versucht, das Bild mit OpenCV im "Bleistift-Zeichenstil" zu verarbeiten
Bilderkennung
Ich habe versucht, mit Python + OpenCV eine Bildähnlichkeitsfunktion zu erstellen
Ich habe eine multiple Regressionsanalyse mit Polypoly-Regression versucht
Ich habe versucht, eine SMS mit Twilio zu senden
Ich habe versucht, Amazon SQS mit Django-Sellerie zu verwenden
Ich habe versucht, Autoencoder mit TensorFlow zu implementieren
Ich habe Linebot mit Flasche (Anaconda) + Heroku ausprobiert
Ich habe versucht, AutoEncoder mit TensorFlow zu visualisieren
Ich möchte einen Blog mit Jupyter Notebook schreiben
Ich habe versucht, Selen mit Headless-Chrom zu verwenden
Ich habe versucht, Faktoren mit Titanic-Daten zu analysieren!
Ich habe versucht, mit Kaggles Titanic (kaggle②) zu lernen.
Ich habe eine funktionale Sprache mit Python ausprobiert