ホームページ > バックエンド開発 > Python チュートリアル > Python の Serengil/DeepFace ライブラリを使用した感情、年齢、性別の分析

Python の Serengil/DeepFace ライブラリを使用した感情、年齢、性別の分析

Mary-Kate Olsen
リリース: 2024-12-31 14:32:11
オリジナル
859 人が閲覧しました

この記事では、セレンギルの DeepFace ライブラリを使用して顔画像から感情、年齢、性別を分析する方法について説明します。この記事には、(1) 使用するライブラリの説明、(2) ライブラリの使用方法、(3) コードの説明、(4) 分析結果の 4 つの主要なセクションが含まれます。

1. DeepFace ライブラリについてのディスカッション
DeepFace は、顔分析機能を提供する Python ベースのオープンソース ライブラリです。このライブラリは Serengil によって開発され、多くの顔認識および顔属性分析アプリケーションにとって強力なツールとなっています。 DeepFace は顔を検出して認識するだけでなく、感情、年齢、性別などの属性を高精度に分析することができます。

DeepFace は、顔画像の大規模なデータセットでトレーニングされた機械学習モデルを使用します。このモデルは、ディープラーニングを利用して顔の特徴を抽出し、属性分類を正確に実行します。 DeepFace で使用される深層学習モデルには、VGG-Face、Google FaceNet、OpenFace などが含まれます。これらのモデルを選択して組み合わせる機能により、さまざまなアプリケーション シナリオで柔軟性と信頼性が提供されます。

2.図書館の利用方法
DeepFace を使用するには、最初にいくつかの依存関係をインストールする必要があります。詳細な手順は次のとおりです:

  • システムに Python と pip がインストールされていることを確認してください。ターミナルで次のコマンドを実行して、インストールを確認できます。
python --version
pip --version
ログイン後にコピー
ログイン後にコピー
  • 次のコマンドを使用して DeepFace ライブラリをインストールします。
pip install deepface
ログイン後にコピー
  • DeepFace とは別に、画像処理用の OpenCV や配列操作用の NumPy などの他のライブラリも必要です。次のコマンドを使用してライブラリをインストールします。
pip install opencv-python numpy
ログイン後にコピー

すべての依存関係がインストールされたら、顔を分析するコードの作成を開始する準備が整います。

3.コードの説明
顔画像から感情、年齢、性別を分析するコードは次のとおりです。このコードは、後で詳しく説明するいくつかの主要な関数で構成されています。

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()
ログイン後にコピー

コードの説明
show_image(img_path): この関数は、OpenCV を使用して画像を表示するために使用されます。画像は別のウィンドウに表示され、ユーザーからの入力を待ってからウィンドウを閉じます。

convert_to_serializable(obj): この関数は、JSON 形式にシリアル化できるように、float32 numpy オブジェクトを float に変換します。 numpy データ型は JSON と直接互換性がないため、これが必要です。

analyze_face(img_path): 顔を分析するためのメイン関数。この関数は、DeepFace を使用して、指定された顔画像を分析し、分析結果を返します。

main(): この関数は、スクリプトのメインのエントリ ポイントです。この関数は、画像のパスを決定し、顔分析関数を呼び出し、分析結果を JSON ファイルに保存します。

img_path: 分析したい画像、分析に使用した画像の例が含まれています

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

4.分析結果
画像を使用して上記のコードを実行すると、顔分析結果が result_analysis.json ファイルに保存されます。これらの結果には、分析された顔の感情、年齢、性別に関する情報が含まれます。結果の例は次のとおりです:

python --version
pip --version
ログイン後にコピー
ログイン後にコピー

この情報により、DeepFace を使用して分析された顔の属性についてさらに理解することができます。このライブラリは、セキュリティ、マーケティング、研究などのさまざまなアプリケーションで非常に役立ちます。たとえば、マーケティング分野では、感情分析は、広告や製品に対する消費者の反応を理解するのに役立ちます。

さらに、年齢と性別を検出する機能は、ユーザーのプロフィールに合ったおすすめを提供するなど、サービスのパーソナライズに使用できます。この記事では、DeepFace ライブラリが顔分析目的でいかに強力で柔軟であるかを示します。

以上がPython の Serengil/DeepFace ライブラリを使用した感情、年齢、性別の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート