この記事では、セレンギルの DeepFace ライブラリを使用して顔画像から感情、年齢、性別を分析する方法について説明します。この記事には、(1) 使用するライブラリの説明、(2) ライブラリの使用方法、(3) コードの説明、(4) 分析結果の 4 つの主要なセクションが含まれます。
1. DeepFace ライブラリについてのディスカッション
DeepFace は、顔分析機能を提供する Python ベースのオープンソース ライブラリです。このライブラリは Serengil によって開発され、多くの顔認識および顔属性分析アプリケーションにとって強力なツールとなっています。 DeepFace は顔を検出して認識するだけでなく、感情、年齢、性別などの属性を高精度に分析することができます。
DeepFace は、顔画像の大規模なデータセットでトレーニングされた機械学習モデルを使用します。このモデルは、ディープラーニングを利用して顔の特徴を抽出し、属性分類を正確に実行します。 DeepFace で使用される深層学習モデルには、VGG-Face、Google FaceNet、OpenFace などが含まれます。これらのモデルを選択して組み合わせる機能により、さまざまなアプリケーション シナリオで柔軟性と信頼性が提供されます。
2.図書館の利用方法
DeepFace を使用するには、最初にいくつかの依存関係をインストールする必要があります。詳細な手順は次のとおりです:
python --version pip --version
pip install deepface
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: 分析したい画像、分析に使用した画像の例が含まれています
4.分析結果
画像を使用して上記のコードを実行すると、顔分析結果が result_analysis.json ファイルに保存されます。これらの結果には、分析された顔の感情、年齢、性別に関する情報が含まれます。結果の例は次のとおりです:
python --version pip --version
この情報により、DeepFace を使用して分析された顔の属性についてさらに理解することができます。このライブラリは、セキュリティ、マーケティング、研究などのさまざまなアプリケーションで非常に役立ちます。たとえば、マーケティング分野では、感情分析は、広告や製品に対する消費者の反応を理解するのに役立ちます。
さらに、年齢と性別を検出する機能は、ユーザーのプロフィールに合ったおすすめを提供するなど、サービスのパーソナライズに使用できます。この記事では、DeepFace ライブラリが顔分析目的でいかに強力で柔軟であるかを示します。
以上がPython の Serengil/DeepFace ライブラリを使用した感情、年齢、性別の分析の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。