Introdução geral
O DeepFace é uma biblioteca Python leve para reconhecimento facial e análise de atributos faciais (incluindo idade, gênero, emoção e etnia). Ela integra vários modelos de reconhecimento facial de última geração, como VGG-Face, FaceNet, OpenFace, DeepFace, DeepID, ArcFace, Dlib, SFace e GhostFaceNet. O DeepFace não só permite o reconhecimento facial de alta precisão, mas também realiza análises detalhadas de atributos faciais. A biblioteca foi projetada com o objetivo de simplificar o processo de reconhecimento facial, permitindo que os desenvolvedores invoquem facilmente seus recursos para verificação, pesquisa e análise facial.
Lista de funções
- Reconhecimento facial: reconhecimento facial altamente preciso por meio de vários modelos.
- Análise de atributos faciais: analisa o rosto quanto a idade, gênero, humor e etnia.
- Verificação facial: verifica se duas imagens faciais pertencem à mesma pessoa.
- Função Find: Encontra faces no banco de dados que correspondem à imagem de entrada.
- Suporta vários formatos de entrada: suporta caminhos de imagem, matrizes numpy e imagens codificadas em base64.
- Armazenamento eficiente de incorporação facial: use arquivos pickle para armazenar incorporação facial para pesquisas mais rápidas.
- Instalação flexível: suporte para instalação via PyPI e código-fonte.
Usando a Ajuda
Processo de instalação
A biblioteca DeepFace pode ser instalada de duas maneiras:
- Instalação via PyPI:
pip install deepface
- Instalação via código-fonte:
git clone https://github.com/serengil/deepface.git
cd deepface
pip install -e .
exemplo de uso
Depois de instalado, você pode importar e usar os recursos da biblioteca DeepFace com o seguinte código:
from deepface import DeepFace
verificação facial
Verifique se as duas imagens faciais pertencem à mesma pessoa:
result = DeepFace.verify(img1_path="img1.jpg", img2_path="img2.jpg")
print(result["verified"])
reconhecimento facial
Encontre rostos no banco de dados que correspondam à imagem de entrada:
result = DeepFace.find(img_path="img.jpg", db_path="database/")
print(result)
Análise de atributos faciais
Analise rostos quanto a idade, gênero, humor e etnia:
result = DeepFace.analyse(img_path="img.jpg", actions=['age', 'gender', 'emotion', 'race'])
print(result)
Recursos avançados
A biblioteca DeepFace também oferece alguns recursos avançados, como previsão em lote, opções de extração de faces e muito mais. Abaixo estão alguns exemplos de como usar alguns dos recursos avançados:
Previsão de lotes
results = DeepFace.analyse(img_paths=["img1.jpg", "img2.jpg"], actions=["age", "gender", "emotion", "race"])
print(results)
Opções de extração de face
faces = DeepFace.extract_faces(img_path="img.jpg", target_size=(224, 224), grayscale=False)
print(faces)
problemas comuns
- Como posso aumentar a velocidade do reconhecimento?
- A localização pode ser acelerada por meio da pré-computação e do armazenamento de incorporação facial.
- Usar hardware eficiente (por exemplo, GPUs) para computação.
- Como você lida com imagens de baixa resolução?
- Você pode usar o
reamostragem
para melhorar a qualidade das imagens de baixa resolução.
- Você pode usar o
- Como lidar com vários rostos em uma imagem grande?
- fazer uso de
max_faces
limita o número de faces processadas.
- fazer uso de
Com a ajuda de uso detalhada acima, os usuários podem começar a usar facilmente a biblioteca DeepFace para reconhecimento facial e análise de atributos.