Python での顔認識の例

WBOY
WBOYオリジナル
2023-06-11 08:57:461221ブラウズ

コンピュータ技術の継続的な発展に伴い、人工知能技術はますます注目され、応用されており、その中でも顔認識技術が最も人気のある方向です。 Pythonは現在最も人気のあるプログラミング言語の1つとして、顔認識での使用が増えています。この記事ではPythonでの顔認識の例を紹介します。

1. OpenCV

OpenCV は、さまざまなアルゴリズムベースの画像処理およびコンピューター ビジョン手法を提供するオープン ソースのコンピューター ビジョン ライブラリです。 Python では、OpenCV を使用して顔認識を実装できます。

まず、OpenCV モジュールをインポートする必要があります:

import cv2

次に、顔認識のために OpenCV が提供する CascadeClassifier 関数を使用します:

face_cascade = cv2.CascadeClassifier('haarcascade_frontalface_default.xml')

, haarcascade_frontalface_default.xml は、顔を検出するために OpenCV で提供される事前トレーニング済みモデルです。

次に、画像を読み取って処理する必要があります。

img = cv2.imread('test.jpg')
gray = cv2.cvtColor(img, cv2.COLOR_BGR2GRAY)

このうち、test.jpg が処理対象の画像であり、cvtColor 関数は画像をグレースケールに変換します。

最後に、処理された画像に対して顔認識が実行されます:

faces = face_cascade.detectMultiScale(gray, 1.3, 5)
for (x,y,w,h) in faces:
    cv2.rectangle(img,(x,y),(x+w,y+h),(255,0,0),2)

このうち、detectMultiScale 関数を使用して画像内の顔を検出し、顔を返します。ボックスの座標とサイズ。最後に、rectangle 関数を使用して、元の画像上に顔の枠を描画します。

2. face_recognition

face_recognition は、dlib と Python をベースとした顔認識ライブラリであり、顔認識に深層学習手法を使用しており、高い精度と堅牢性を備えています。

使用する前に、face_recognition ライブラリをインストールする必要があります:

pip install face_recognition

次に、画像を読み取って処理する必要があります:

import face_recognition
import matplotlib.pyplot as plt

image = face_recognition.load_image_file("test.jpg")
face_locations = face_recognition.face_locations(image)
plt.imshow(image)

その中に、face_recognition があります。 load_image_file この関数は写真を読み取るために使用され、face_recognition.face_locations 関数は写真内の顔の位置を検出するために使用されます。

最後に、画像内の顔の位置をマークできます。

import numpy as np
import cv2

for face_location in face_locations:
    top, right, bottom, left = face_location
    cv2.rectangle(image, (left, top), (right, bottom), (0, 0, 255), 2)
plt.imshow(image)

その中で、cv2.rectangle 関数を使用して、画像上の長方形のフレームをマークします。元の画像、人間の顔の位置を示します。

結論

顔認識技術の応用範囲はますます広がっており、Pythonは現在最も人気のあるプログラミング言語の1つであり、顔認識技術の分野でも優れた性能を発揮しています。顔認識。上記で紹介した 2 つの例では、OpenCV と face_recognition ライブラリを適用することで、顔認識機能をより便利かつ迅速に実現できます。

以上がPython での顔認識の例の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。