Rumah > pembangunan bahagian belakang > Tutorial Python > Menganalisis Emosi, Umur, dan Gender Menggunakan Library Serengil/DeepFace di Python

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

Mary-Kate Olsen
Lepaskan: 2024-12-31 14:32:11
asal
883 orang telah melayarinya

Dalam artikel ini, kita akan membincangkan cara menggunakan perpustakaan DeepFace Serengil untuk menganalisis emosi, umur dan jantina daripada imej muka. Artikel ini akan merangkumi empat bahagian utama: (1) perbincangan mengenai perpustakaan yang digunakan, (2) cara menggunakan perpustakaan, (3) penjelasan kod, dan (4) hasil analisis.

1. Perbincangan Perpustakaan DeepFace
DeepFace ialah perpustakaan sumber terbuka berasaskan Python yang menawarkan keupayaan analisis wajah. Perpustakaan ini dibangunkan oleh Serengil dan telah menjadi alat yang berkuasa untuk banyak pengecaman muka dan aplikasi analisis atribut muka. DeepFace dapat mengesan dan mengecam wajah, serta menganalisis atribut seperti emosi, umur dan jantina dengan ketepatan yang tinggi.

DeepFace menggunakan model pembelajaran mesin yang telah dilatih pada set data imej muka yang besar. Model ini menggunakan pembelajaran mendalam untuk mengekstrak ciri muka dan melaksanakan klasifikasi atribut dengan ketepatan. Beberapa model pembelajaran mendalam yang digunakan oleh DeepFace termasuk VGG-Face, Google FaceNet, OpenFace dan banyak lagi. Keupayaan untuk memilih dan menggabungkan model ini memberikan fleksibiliti dan kebolehpercayaan dalam pelbagai senario aplikasi.

2. Cara Menggunakan Perpustakaan
Untuk menggunakan DeepFace, kita perlu memasang beberapa kebergantungan terlebih dahulu. Berikut adalah langkah terperinci:

  • Pastikan anda memasang Python dan pip pada sistem anda. Anda boleh menyemak pemasangan dengan menjalankan arahan berikut di terminal:
python --version
pip --version
Salin selepas log masuk
Salin selepas log masuk
  • Pasang perpustakaan DeepFace dengan arahan berikut:
pip install deepface
Salin selepas log masuk
  • Selain DeepFace, kami juga memerlukan perpustakaan lain seperti OpenCV untuk pemprosesan imej dan NumPy untuk manipulasi tatasusunan. Pasang perpustakaan dengan arahan berikut:
pip install opencv-python numpy
Salin selepas log masuk

Setelah semua kebergantungan dipasang, kami bersedia untuk mula menulis kod untuk menganalisis wajah.

3. Penerangan Kod
Berikut ialah kod untuk menganalisis emosi, umur dan jantina daripada imej muka. Kod ini terdiri daripada beberapa fungsi utama yang akan diterangkan secara terperinci.

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()
Salin selepas log masuk

Penjelasan Kod
show_image(img_path): Fungsi ini digunakan untuk memaparkan imej menggunakan OpenCV. Imej akan dipaparkan dalam tetingkap berasingan dan tunggu input daripada pengguna sebelum menutup tetingkap.

convert_to_serializable(obj): Fungsi ini menukar objek numpy float32 kepada terapung supaya ia boleh disirikan kepada format JSON. Ini perlu kerana jenis data numpy tidak serasi secara langsung dengan JSON.

analyze_face(img_path): Fungsi utama untuk menganalisis muka. Fungsi ini menggunakan DeepFace untuk menganalisis imej muka yang diberikan dan mengembalikan hasil analisis.

main(): Fungsi ini ialah titik masuk utama skrip. Fungsi ini menentukan laluan imej, memanggil fungsi analisis wajah dan menyimpan hasil analisis ke fail JSON.

img_path: Mengandungi imej yang anda ingin analisis, contoh imej yang saya gunakan untuk menganalisis

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

4. Keputusan Analisis
Selepas menjalankan kod di atas menggunakan imej, anda akan mendapat keputusan analisis muka yang disimpan dalam fail result_analysis.json. Keputusan ini termasuk maklumat tentang emosi, umur dan jantina wajah yang dianalisis. Berikut ialah contoh hasil:

python --version
pip --version
Salin selepas log masuk
Salin selepas log masuk

Dengan maklumat ini, anda boleh memahami lebih lanjut tentang atribut muka yang dianalisis menggunakan DeepFace. Perpustakaan ini sangat berguna dalam pelbagai aplikasi seperti keselamatan, pemasaran, dan penyelidikan. Contohnya, dalam bidang pemasaran, analisis emosi boleh membantu dalam memahami respons pengguna terhadap pengiklanan atau produk.

Selain itu, keupayaan untuk mengesan umur dan jantina boleh digunakan dalam memperibadikan perkhidmatan, seperti memberikan pengesyoran yang sepadan dengan profil pengguna. Artikel ini menunjukkan betapa hebat dan fleksibel perpustakaan DeepFace untuk tujuan analisis wajah.

Atas ialah kandungan terperinci Menganalisis Emosi, Umur, dan Gender Menggunakan Library Serengil/DeepFace di Python. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:dev.to
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan