Heim > Backend-Entwicklung > Python-Tutorial > Analyse von Emotionen, Alter und Geschlecht mithilfe der Serengil/DeepFace-Bibliothek in Python

Analyse von Emotionen, Alter und Geschlecht mithilfe der Serengil/DeepFace-Bibliothek in Python

Mary-Kate Olsen
Freigeben: 2024-12-31 14:32:11
Original
870 Leute haben es durchsucht

In diesem Artikel besprechen wir, wie man die DeepFace-Bibliothek von Serengil verwendet, um Emotionen, Alter und Geschlecht anhand von Gesichtsbildern zu analysieren. Dieser Artikel umfasst vier Hauptabschnitte: (1) Diskussion der verwendeten Bibliotheken, (2) Verwendung der Bibliotheken, (3) Code-Erklärung und (4) Analyseergebnisse.

1. Diskussion der DeepFace-Bibliothek
DeepFace ist eine Python-basierte Open-Source-Bibliothek, die Funktionen zur Gesichtsanalyse bietet. Diese Bibliothek wurde von Serengil entwickelt und hat sich zu einem leistungsstarken Werkzeug für viele Anwendungen zur Gesichtserkennung und Analyse von Gesichtsattributen entwickelt. DeepFace ist in der Lage, Gesichter zu erkennen und zu erkennen sowie Attribute wie Emotionen, Alter und Geschlecht mit hoher Genauigkeit zu analysieren.

DeepFace verwendet ein maschinelles Lernmodell, das anhand eines großen Datensatzes von Gesichtsbildern trainiert wurde. Dieses Modell nutzt Deep Learning, um Gesichtsmerkmale zu extrahieren und eine Attributklassifizierung mit Präzision durchzuführen. Zu den von DeepFace verwendeten Deep-Learning-Modellen gehören VGG-Face, Google FaceNet, OpenFace und viele mehr. Die Möglichkeit, diese Modelle auszuwählen und zu kombinieren, bietet Flexibilität und Zuverlässigkeit in einer Vielzahl von Anwendungsszenarien.

2. So nutzen Sie die Bibliothek
Um DeepFace nutzen zu können, müssen wir zunächst einige Abhängigkeiten installieren. Hier sind die detaillierten Schritte:

  • Stellen Sie sicher, dass Python und Pip auf Ihrem System installiert sind. Sie können die Installation überprüfen, indem Sie den folgenden Befehl im Terminal ausführen:
python --version
pip --version
Nach dem Login kopieren
Nach dem Login kopieren
  • Installieren Sie die DeepFace-Bibliothek mit dem folgenden Befehl:
pip install deepface
Nach dem Login kopieren
  • Neben DeepFace benötigen wir auch andere Bibliotheken wie OpenCV für die Bildverarbeitung und NumPy für die Array-Manipulation. Installieren Sie die Bibliothek mit dem folgenden Befehl:
pip install opencv-python numpy
Nach dem Login kopieren

Sobald alle Abhängigkeiten installiert sind, können wir mit dem Schreiben von Code zur Analyse von Gesichtern beginnen.

3. Code-Erklärung
Hier ist der Code zur Analyse von Emotionen, Alter und Geschlecht anhand von Gesichtsbildern. Dieser Code besteht aus mehreren Hauptfunktionen, die im Detail erklärt werden.

python
import json
import numpy as np
from deepface import DeepFace
import cv2

# Fungsi untuk menampilkan gambar
def show_image(img_path):
    img = cv2.imread(img_path)
    cv2.imshow("Image", img)
    cv2.waitKey(0)
    cv2.destroyAllWindows()

# Fungsi untuk konversi data agar bisa di-serialisasi
def convert_to_serializable(obj):
    if isinstance(obj, np.float32):
        return float(obj)
    raise TypeError(f"Object of type {type(obj)} is not JSON serializable")

# Fungsi untuk analisis wajah
def analyze_face(img_path):
    result = DeepFace.analyze(img_path)
    print("Hasil Analisis:", result)
    return result

# Fungsi utama
def main():
    # Path gambar
    img_path = "images/happy.jpg"

    # Analisis wajah
    analysis_result = analyze_face(img_path)

    # Simpan hasil analisis ke file JSON
    with open('result_analysis.json', 'w') as json_file:
        json.dump(analysis_result, json_file, default=convert_to_serializable)

if __name__ == "__main__":
    main()
Nach dem Login kopieren

Code-Erklärung
show_image(img_path): Diese Funktion wird verwendet, um Bilder mit OpenCV anzuzeigen. Das Bild wird in einem separaten Fenster angezeigt und wartet auf die Eingabe des Benutzers, bevor das Fenster geschlossen wird.

convert_to_serializable(obj): Diese Funktion konvertiert ein Float32-Numpy-Objekt in Float, damit es in das JSON-Format serialisiert werden kann. Dies ist notwendig, da Numpy-Datentypen nicht direkt mit JSON kompatibel sind.

analyze_face(img_path): Hauptfunktion zur Analyse von Gesichtern. Diese Funktion verwendet DeepFace, um das gegebene Gesichtsbild zu analysieren und die Analyseergebnisse zurückzugeben.

main(): Diese Funktion ist der Haupteinstiegspunkt des Skripts. Diese Funktion bestimmt den Bildpfad, ruft die Gesichtsanalysefunktion auf und speichert die Analyseergebnisse in einer JSON-Datei.

img_path: Enthält das Bild, das Sie analysieren möchten, ein Beispiel des Bildes, das ich zur Analyse verwendet habe

Menganalisis Emosi, Umur, dan Gender Menggunakan Library Serengil/DeepFace di Python

4. Analyseergebnisse
Nachdem Sie den obigen Code mit dem Bild ausgeführt haben, werden die Ergebnisse der Gesichtsanalyse in der Datei result_analysis.json gespeichert. Diese Ergebnisse beinhalten Informationen über die Emotionen, das Alter und das Geschlecht der analysierten Gesichter. Hier ist ein Beispiel für das Ergebnis:

python --version
pip --version
Nach dem Login kopieren
Nach dem Login kopieren

Mit diesen Informationen können Sie mehr über die mit DeepFace analysierten Gesichtsattribute erfahren. Diese Bibliothek ist in verschiedenen Anwendungen wie Sicherheit, Marketing und Forschung sehr nützlich. Im Marketingbereich kann die Emotionsanalyse beispielsweise dabei helfen, die Reaktionen der Verbraucher auf Werbung oder Produkte zu verstehen.

Darüber hinaus kann die Fähigkeit zur Erkennung von Alter und Geschlecht zur Personalisierung von Diensten genutzt werden, beispielsweise zur Bereitstellung von Empfehlungen, die zum Profil des Benutzers passen. Dieser Artikel zeigt, wie leistungsstark und flexibel die DeepFace-Bibliothek für Gesichtsanalysezwecke ist.

Das obige ist der detaillierte Inhalt vonAnalyse von Emotionen, Alter und Geschlecht mithilfe der Serengil/DeepFace-Bibliothek in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage