Skip to main content

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 insightface foi 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âmetro models_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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

forensicface-0.5.1.tar.gz (23.6 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

forensicface-0.5.1-py3-none-any.whl (28.9 kB view details)

Uploaded Python 3

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

Hashes for forensicface-0.5.1.tar.gz
Algorithm Hash digest
SHA256 9a456d564de4b4c5f0182b78e9144ffbeefeff9f335c95e187ac7e43d40b034e
MD5 2c73f2f575cf12cf0b7552f8cef80e3a
BLAKE2b-256 1215bc037e15374f8bd00861213e64bd33ab9221edd15ac41427d22418c21251

See more details on using hashes here.

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

Hashes for forensicface-0.5.1-py3-none-any.whl
Algorithm Hash digest
SHA256 e06190d37cf8dbe7327a9c6ed8434a9f0fad83c7c0ff564299a48bd994f5b1d1
MD5 ed616d6663960632d9b8fcde63e3da63
BLAKE2b-256 2b2adccf4e4341bbe06e56d91024d53fd09aaaf0c75bf00cb1912da9f7beccf1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page