Maison >développement back-end >Tutoriel Python >Exemple de reconnaissance faciale en Python

Exemple de reconnaissance faciale en Python

WBOY
WBOYoriginal
2023-06-11 08:57:461195parcourir

Avec le développement continu de la technologie informatique, la technologie de l'intelligence artificielle a reçu de plus en plus d'attention et d'applications, parmi lesquelles la technologie de reconnaissance faciale est la direction la plus populaire. Python étant l’un des langages de programmation les plus populaires à l’heure actuelle, il est de plus en plus utilisé dans la reconnaissance faciale. Cet article présentera des exemples de reconnaissance faciale en Python.

1. OpenCV

OpenCV est une bibliothèque de vision par ordinateur open source qui fournit une variété de méthodes de traitement d'image et de vision par ordinateur basées sur des algorithmes. En Python, nous pouvons utiliser OpenCV pour implémenter la reconnaissance faciale.

Vous devez d'abord importer le module OpenCV :

import cv2

Ensuite, utilisez la fonction CascadeClassifier fournie par OpenCV pour la reconnaissance faciale : 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函数将人脸框画在原始图像上。

二、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 rrreee# 🎜🎜# Parmi eux, haarcascade_frontalface_default.xml est un modèle pré-entraîné fourni dans OpenCV pour la détection de visages.

Ensuite, il faut lire l'image et la traiter :

rrreee

Parmi eux, test.jpg est l'image à traiter, cvtColor La fonction convertit une image en niveaux de gris.

#🎜🎜#Enfin, la reconnaissance des visages est effectuée sur l'image traitée : #🎜🎜#rrreee#🎜🎜# Parmi elles, la fonction detectMultiScale permet de détecter les visages dans l'image, Ce qui est renvoyé, ce sont les coordonnées et la taille du cadre du visage. Enfin, nous utilisons la fonction rectangle pour dessiner le cadre du visage sur l'image originale. #🎜🎜##🎜🎜#2. face_recognition#🎜🎜##🎜🎜#face_recognition est une bibliothèque de reconnaissance faciale basée sur dlib et Python. Elle utilise des méthodes d'apprentissage profond pour la reconnaissance faciale, avec une grande précision et robustesse. #🎜🎜##🎜🎜#Vous devez installer la bibliothèque face_recognition avant utilisation : #🎜🎜#rrreee#🎜🎜#Ensuite, nous devons lire l'image et la traiter : #🎜🎜#rrreee#🎜🎜#Parmi eux , La fonction face_recognition.load_image_file est utilisée pour lire les images, et la fonction face_recognition.face_locations est utilisée pour détecter les emplacements des visages dans les images. #🎜🎜##🎜🎜#Enfin, on peut marquer la position du visage dans l'image : #🎜🎜#rrreee#🎜🎜#Parmi eux, la fonction cv2.rectangle permet de marquer l'image originale Un cadre rectangulaire est dessiné pour indiquer la position du visage. #🎜🎜##🎜🎜#Conclusion#🎜🎜##🎜🎜#Le champ d'application de la technologie de reconnaissance faciale devient de plus en plus étendu. Python, en tant que l'un des langages de programmation les plus populaires à l'heure actuelle, donne également d'excellents résultats. dans le domaine de la reconnaissance faciale. Les deux exemples présentés ci-dessus, grâce à l'application d'OpenCV et de la bibliothèque face_recognition, nous permettent de réaliser la fonction de reconnaissance faciale plus facilement et plus rapidement. #🎜🎜#

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn