A package for forensic face examination
Project description
forensicface
Install
pip install forensicface
Os arquivos onnx dos modelos de detecção (det_10g.onnx), pose
(1k3d68.onnx) e sexo/idade (genderage.onnx) devem estar na pasta
~/.forensicface/models/<model_name>/
O arquivo onnx do modelo de reconhecimento (ex. adaface_ir101web12m.onnx)
deve estar na pasta ~/.forensicface/models/<model_name>/*face*/
O arquivo onnx do modelo de qualidade CR_FIQA (cr_fiqa_l.onnx) deve
estar na pasta ~/.forensicface/models/<model_name>/cr_fiqa/
O modelo padrão é denominado sepaelv2. A partir da versão 0.1.5 é
possível utilizar outros modelos.
Notas de migração (0.5.1)
- A dependência do pacote
insightfacefoi removida. - O diretório padrão dos modelos mudou para
~/.forensicface/models. - É possível especificar outro diretório raiz para os modelos
na inicialização do forensicface (parâmetromodels_root) - CUDA e CuDNN são instalados automaticamente no ambiente virtual
onde o forensicface for instalado.
Como utilizar
Importação da classe ForensicFace:
from forensicface.app import ForensicFace
Instanciamento do ForensicFace:
ff = ForensicFace(det_size=320, use_gpu=True, extended=True)
[ForensicFace] Initialized with configuration:
loaded_models=['sepaelv2']
modules=['detection', 'headpose', 'genderage', 'cr_fiqa']
det_size=(256, 256)
session_providers=all models use CUDAExecutionProvider
Processamento básico de imagens
Obter pontos de referência, distância interpupilar, representação
vetorial, a face alinhada com dimensão fixa (112x112), estimativas de
sexo, idade, pose (pitch, yaw, roll) e qualidade. Opcionalmente, é
possível anotar a face alinhada com os pontos de referência utilizados
no alinhamento (parâmetro draw_kypoints).
results = ff.process_image("obama2.png", draw_keypoints=True, single_face=True)
results.keys()
dict_keys(['keypoints', 'ipd', 'embedding', 'norm', 'bbox', 'det_score', 'aligned_face', 'gender', 'age', 'pitch', 'yaw', 'roll', 'fiqa_score'])
plt.imshow(results["aligned_face"])
Comparar duas imagens faciais e obter o escore de similaridade.
ff.compare("obama.png", "obama2.png")
0.8556093
Agregar embeddings de duas imagens faciais em uma única representação, com ponderação por qualidade
agg = ff.aggregate_from_images(["obama.png", "obama2.png"], quality_weight=True)
agg.shape
(512,)
Estimativa de qualidade CR-FIQA
Estimativa de qualidade pelo método CR-FIQA
Para desabilitar, instancie o forensicface com a opção extended = False:
ff = ForensicFace(extended=False)
Obs.: a opção extended = False também desabilita as estimativas de
sexo, idade e pose.
good = ff.process_image("001_frontal.jpg")
bad = ff.process_image("001_cam1_1.jpg")
good["fiqa_score"], bad["fiqa_score"]
(2.3786173, 1.4386057)
Crédito dos modelos utilizados
-
Detecção, sexo (M/F), idade e pose (pitch, yaw, roll): insightface
-
Reconhecimento: adaface
-
Estimativa de qualidade: CR-FIQA
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file forensicface-0.5.1.tar.gz.
File metadata
- Download URL: forensicface-0.5.1.tar.gz
- Upload date:
- Size: 23.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9a456d564de4b4c5f0182b78e9144ffbeefeff9f335c95e187ac7e43d40b034e
|
|
| MD5 |
2c73f2f575cf12cf0b7552f8cef80e3a
|
|
| BLAKE2b-256 |
1215bc037e15374f8bd00861213e64bd33ab9221edd15ac41427d22418c21251
|
File details
Details for the file forensicface-0.5.1-py3-none-any.whl.
File metadata
- Download URL: forensicface-0.5.1-py3-none-any.whl
- Upload date:
- Size: 28.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.10.10
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e06190d37cf8dbe7327a9c6ed8434a9f0fad83c7c0ff564299a48bd994f5b1d1
|
|
| MD5 |
ed616d6663960632d9b8fcde63e3da63
|
|
| BLAKE2b-256 |
2b2adccf4e4341bbe06e56d91024d53fd09aaaf0c75bf00cb1912da9f7beccf1
|