Skip to main content

An attempt to build a package for forensic face examination

Project description

forensicface

Install

pip install forensicface

O arquivo onnx do modelo de detecção (det_10g.onnx) deve estar na pasta ~/.insightface/model/sepaelv2/

e o arquivo onnx do modelo de reconhecimento (adaface_ir101web12m.onnx) deve estar na pasta ~/.insightface/model/sepaelv2/adaface/

Como utilizar

Importação da classe ForensicFace:

from forensicface.app import ForensicFace

ff = ForensicFace(det_size=320, use_gpu=True)
Applied providers: ['CUDAExecutionProvider', 'CPUExecutionProvider'], with options: {'CPUExecutionProvider': {}, 'CUDAExecutionProvider': {'do_copy_in_default_stream': '1', 'arena_extend_strategy': 'kNextPowerOfTwo', 'gpu_external_empty_cache': '0', 'gpu_external_free': '0', 'cudnn_conv_use_max_workspace': '0', 'gpu_mem_limit': '18446744073709551615', 'cudnn_conv_algo_search': 'EXHAUSTIVE', 'gpu_external_alloc': '0', 'device_id': '0'}}
find model: /home/rafael/.insightface/models/sepaelv2/det_10g.onnx detection [1, 3, '?', '?'] 127.5 128.0
set det-size: (320, 320)

Processamento básico de imagens

Obter pontos de referência, distância interpupilar, representação vetorial e a face alinhada com dimensão fixa (112x112)

results = ff.process_image("obama.png")
results.keys()
dict_keys(['keypoints', 'ipd', 'embedding', 'norm', 'magface_embedding', 'magface_norm', 'aligned_face'])
plt.imshow(results['aligned_face'])
<matplotlib.image.AxesImage>

Comparar duas imagens faciais e obter o escore de similaridade.

ff.compare("obama.png","obama2.png")
0.8555868

Agregar embeddings de duas imagens faciais em uma única representação

agg = ff.aggregate_from_images(["obama.png","obama2.png"])
agg.shape
(512,)

Suporte a MagFace

Modelo de MagFace

good = ff.process_image("obama.png")
bad = ff.process_image("obama2.png")
good["magface_norm"], bad["magface_norm"]
(24.875765, 21.319853)

Baseado nos repositórios insightface e adaface

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.0.4.tar.gz (7.6 kB view details)

Uploaded Source

Built Distribution

forensicface-0.0.4-py3-none-any.whl (8.2 kB view details)

Uploaded Python 3

File details

Details for the file forensicface-0.0.4.tar.gz.

File metadata

  • Download URL: forensicface-0.0.4.tar.gz
  • Upload date:
  • Size: 7.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.9.13

File hashes

Hashes for forensicface-0.0.4.tar.gz
Algorithm Hash digest
SHA256 6bd02127a7c02000d30a2e67de025e95e49cd84aa5c39326f4bd0f5426ed91b5
MD5 f60ccca9cd205f92e6cb6be3cf74d3a4
BLAKE2b-256 d896cac9573cae6d1ba9df471bbde8ffdfd1124a08bc0f52154eef24cf514b67

See more details on using hashes here.

File details

Details for the file forensicface-0.0.4-py3-none-any.whl.

File metadata

File hashes

Hashes for forensicface-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 8c42ee79e9f0e1bd55799a55a61f15997c6936bd11b35ec31aa37d54940c6e95
MD5 543160bb84d2fdf03d31f0643e799367
BLAKE2b-256 a3f785a1f5ab7a0efe2d41a63aa094dd74d47d01338b0ec1eeb93178a0cdc19f

See more details on using hashes here.

Supported by

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