Ich habe Gesichtserkennung studiert, um verschiedene Dinge mit maschinellem Lernen zu tun, aber ich habe es geschafft, ohne eine Pause zu machen. Wenn Sie ein Bild einer Person einfügen, wird beurteilt, ob es sich um eine Animation oder ein Foto handelt. Da es auf dem Gesicht basiert, kann es als Foto beurteilt werden, wenn Sie ein realistisches Bild hinzufügen. Ich denke, es kann vom PC verwendet werden, um durch ein realistisches Bild in einem Live-Action-Stil festzustellen, ob es wirklich realitätsnah ist.
python3.○ OpenCV für Python-Version Kaskadenklassifikator für fotografische Animation (später beschrieben)
Es ist eine einfache Sache, also lassen Sie es uns codieren, sobald Sie das bekommen, was Sie brauchen.
(Ordner) img-Bildspeicherung
(Ordner) Haarkaskade-Speicher für Kaskadenklassifizierer
(Datei) auto_anime_classifier.py
Bitte legen Sie die oben genannten Elemente in das gleiche Verzeichnis Die Dateien, die diesmal in den Haarkaskadenordner gelegt werden sollen
Quellcode
auto_anime_classifier.py
import cv2
import numpy as np
if __name__ == '__main__':
CASCADE_PATH = 'haarcascade/'
face_count = []
print('Plz input filename')
img_name = input('>> ')
img = cv2.imread('img/'+str(img_name), cv2.IMREAD_COLOR)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
photo = cv2.CascadeClassifier(CASCADE_PATH + 'haarcascade_frontalface_alt.xml')
anime = cv2.CascadeClassifier(CASCADE_PATH + 'lbpcascade_animeface.xml')
face_count.append(len(photo.detectMultiScale(gray, 1.1, 3)))
face_count.append(len(anime.detectMultiScale(gray, 1.1, 3)))
if face_count[0] > face_count[1]:
print('Maybe photo.')
elif face_count[1] > face_count[0]:
print('Maybe anime.')
elif face_count[0] >= 1 and face_count[1] >= 1:
print('Both attributes.')
elif face_count[0] == 0 and face_count[1] == 0:
print('Undeciable.')
Ich werde den größten Teil von OpenCV weglassen, da es viele Kommentar-Blogs mit wunderbaren Inhalten gibt. Geben Sie das Bild in den Ordner img ein und lesen Sie es mit imread (). Danach ist es grau.
print('Plz input filename')
img_name = input('>> ')
img = cv2.imread('img/'+str(img_name), cv2.IMREAD_COLOR)
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)
Erstellen Sie einen Klassifizierer, der die Kaskadenklassifizierungsdateien für jedes Foto und jede Animation liest.
photo = cv2.CascadeClassifier(CASCADE_PATH + 'haarcascade_frontalface_alt.xml')
anime = cv2.CascadeClassifier(CASCADE_PATH + 'lbpcascade_animeface.xml')
Speichern Sie die von jedem Klassifikator gelesene Nummer in face_count. Das Vorhandensein oder Fehlen davon ist das Kriterium.
face_count.append(len(photo.detectMultiScale(gray, 1.1, 3)))
face_count.append(len(anime.detectMultiScale(gray, 1.1, 3)))
Schließlich das Urteilsteil. Vergleichen Sie, ob es einfach erkannt wird oder nicht.
if face_count[0] > face_count[1]:
print('Maybe photo.')
elif face_count[1] > face_count[0]:
print('Maybe anime.')
elif face_count[0] >= 1 and face_count[1] >= 1:
print('Both attributes.')
elif face_count[0] == 0 and face_count[1] == 0:
print('Undeciable.')
Nähe zur Realität Vielleicht Foto (wahrscheinlich ein Live-Foto) → Beide Attribute (eines funktioniert) → Vielleicht Anime (vielleicht ein Bild) → Unentscheidbar (ich weiß nicht, außer Frage)
Lassen Sie uns die Erklärung moderat spielen.
Das sind die Beatles. Es ist cool ~
Plz input filename
>> beatles.jpeg
Maybe photo.
Es sieht aus wie ein Foto. Korrekt.
Die Hauptfigur von NEW GAME. süß ~
Plz input filename
>> aoba.jpeg
Maybe anime.
Es scheint eine Animation zu sein. Nun, Sie können es sehen, wenn Sie es betrachten.
Es war nicht interessant, es normal zu machen, also lassen Sie uns ein Video einfügen, von dem Sie nicht wissen, welches das Programm zeigt.
Dies ist Mr. Layer SeeU aus China. Das Bild stammt aus seinem Twitter-Account.
Plz input filename
>> seeu.png
Maybe anime.
Es scheint ein Anime zu sein. Aus menschlicher Sicht sieht es nicht wie ein Bild aus. Bedeutet Bildverarbeitung etwas?
Es ist ein von MMORPG erstellter Charakter namens Black Desert. Eine Art von Spiel, dessen Charakterisierung Stunden dauert.
Plz input filename
>> kuroisabaku.png
Both attributes.
Es scheint, dass Sie in beide Richtungen gehen können. Abgesehen von den großen schwarzen Augen und der kleinen Nase denke ich nicht, dass es sich wie ein Bild anfühlt.
Es ist eine männliche Figur, die in einem Spiel namens Honey Select hergestellt wurde. Sie können Illusionsfiguren ohne Unbehagen erstellen, auch für andere Charaktere als junge Leute.
Plz input filename
>> honey.png
Maybe photo.
Es scheint ein Foto zu sein. Ich frage mich, ob die Form der Nase ein wichtiger Wendepunkt ist. Übrigens wurde die mit PSO2 erstellte männliche Figur als Bild behandelt.
Orient Industriepuppe. Es ist sehr realistisch.
Plz input filename
>> orient.jpg
Both attributes.
Es gab ein Anime-Element. Ich wundere mich warum ...
Bei dem Programm ging es diesmal nur darum, ob jeder Richter das Gesicht erkennen konnte. Wenn es verbessert werden sollte, hielt ich es für notwendig, detaillierte Beurteilungselemente von jedem Beurteilungsgerät auszugeben und Parameter als numerische Werte zu erstellen. Sie müssen Kaskadierung studieren. Es ist lange her, aber danke, dass du es bisher gesehen hast! !!
Recommended Posts