> For the complete documentation index, see [llms.txt](https://docs.caf.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.caf.io/caf-api/caf-api-pt-br/all-id/ai-facematch-documentation.md).

# Documentação do Facematch AI

## 1. Modelo de Inteligência Artificial Facematch da All.ID

**Face match** é um modelo de inteligência artificial \*\*proprietário \*\*desenvolvido e treinado por **Certta**. Ele serve como o **núcleo principal** para a rede biométrica descentralizada da All.ID, projetada para verificar identidade por meio de **similaridade facial anonimizada** análise e uma rede descentralizada de votação por similaridade.

O modelo opera como um extrator de características de alto desempenho que converte imagens faciais em representações matemáticas. Diferentemente de comparações tradicionais que dependem de dados brutos de pixels, o Facematch utiliza aprendizado profundo para entender as características únicas de um rosto, garantindo desempenho robusto mesmo sob condições variadas de iluminação ou qualidade de imagem.

***

## 2. Palavras-chave

Para garantir clareza em relação ao funcionamento técnico do modelo, a terminologia a seguir é definida:

* **Sujeitos:** Indivíduos únicos existentes nos conjuntos de dados da rede que tiveram suas imagens capturadas várias vezes para fins de treinamento e teste.
* **Limite (T):** Um limite numérico usado para determinar probabilisticamente se duas imagens pertencem à mesma pessoa. Se a distância calculada entre embeddings for menor que *T*, considera-se uma correspondência. Esse valor é dinâmico e ajustável para equilibrar Falsos Positivos (FAR) e Falsos Negativos (FRR).
* **FAR (Taxa de Falsa Aceitação):** A probabilidade de o sistema identificar incorretamente dois sujeitos diferentes como a mesma pessoa.
* **FRR (Taxa de Falsa Rejeição):** A probabilidade de o sistema identificar incorretamente duas imagens do mesmo sujeito como pessoas diferentes.
* **Embedding:** Um vetor numérico de alta dimensionalidade **vetor** (especificamente, um array de **128** números de ponto flutuante nesta arquitetura) que representa os recursos abstratos de um rosto extraídos pela **CNN**. Após a geração, o embedding é **ofuscado** usando uma **matriz de rotação ortogonal única e privada** por par na rede, depois **multiplicado por uma semente universal**. Ele transforma dados visuais em coordenadas matemáticas nas quais **rostos semelhantes são posicionados próximos** juntos no **espaço vetorial**. Uma vez que a imagem é convertida nesse array numérico, a imagem facial original **não pode ser reconstruída**, garantindo anonimato total e privacidade de dados (conformidade com GDPR/LGPD).
* **Hash:** No contexto da rede Facematch, o termo "Hash" é usado de forma intercambiável com **Embedding Vetorial**. Diferentemente de hashes criptográficos padrão que randomizam os dados, este "hash biométrico" funciona como um identificador único e anonimizado que preserva a similaridade estrutural, permitindo que o sistema calcule distâncias matemáticas entre identidades sem expor a imagem original.

***

## 3. Stack de Tecnologia

Facematch utiliza uma **Rede Neural Convolucional (CNN)** arquitetura otimizada para extração de características de alta dimensionalidade, baseada em uma **FaceNet128** espinha dorsal (saída de embedding de 128 dimensões).

* **Embeddings e Anonimização:** O modelo processa imagens de selfie pré-processadas (entrada) e gera um **vetor de 128 dimensões (embedding/hash)**. Após o embedding ser gerado, ele é **ofuscado** ao aplicar uma **matriz de rotação ortogonal única e privada** para cada par na rede, e o resultado é então **multiplicado por uma semente universal**. Juntas, essas etapas atuam como uma "compressão com perdas" irreversível. Uma vez que a imagem é convertida nesse array numérico, a imagem facial original não pode ser reconstruída, garantindo anonimato total e privacidade de dados (conformidade com GDPR/LGPD).
* **Comparação Descentralizada:** Esses embeddings anonimizados são os dados transmitidos pela rede biométrica.
* **Votação por Similaridade:** A rede compara o embedding recebido com os hashes armazenados. Com base na distância calculada (similaridade) em relação ao Limite (*T*), o sistema aciona mecanismos de votação para validar a identidade.

***

## 4. Conjuntos de Dados de Treinamento

O modelo Facematch é treinado em conjuntos de dados proprietários construídos a partir dos bancos de dados de produção da Certta, complementados por conjuntos de dados curados projetados para garantir um balanceamento demográfico rigoroso. Essa abordagem garante que os dados representem ambientes reais de produção, ao mesmo tempo em que mitiga de forma eficaz o viés estatístico por meio de distribuição controlada, em vez de condições sintéticas de laboratório.

* **Volume:** Aproximadamente **1,5 milhão de sujeitos**, com várias imagens por sujeito.
* **Distribuição Demográfica:** O conjunto de dados é curado para minimizar viés, refletindo uma população diversificada:
* **Gênero:** 55,5% Masculino, 45,5% Feminino.
* **Etnia:** 35% Latino-Hispânico, 25% Caucasiano, 25% Descendência Africana, 13,5% Asiático, 1,5% Indiano.
* **Robustez:** As imagens passam por aumento de dados (desfoque, reflexão de luz, máscaras, ruído) para garantir que o modelo seja resiliente a câmeras de baixa qualidade e fatores ambientais.
* **Metodologia de Treinamento:** A rede emprega uma abordagem de triplet loss, aprendendo a minimizar a distância entre duas imagens do mesmo sujeito enquanto maximiza a distância de uma terceira imagem de um sujeito diferente.

***

## 5. Métricas

As métricas de desempenho a seguir referem-se ao **Facematch v0.46.4** modelo (comparação Selfie-to-Selfie do melhor modelo).

| **FAR**        | **FRR**   |
| -------------- | --------- |
| 1 / 30.791     | 0,01 (1%) |
| 1 / 163,537    | 0,02 (2%) |
| 1 / 457,361    | 0,03 (3%) |
| 1 / 1,043,130  | 0,04 (4%) |
| 1 / 2.004.075  | 0,05 (5%) |
| 1 / 14.377.060 | 0,1 (10%) |

**Tabela 1: Desempenho FAR vs. FRR**

***

## 6. FAQ (Perguntas Frequentes)

### 1. Como correspondências e não correspondências são definidas entre um par de imagens?

Uma **correspondência** é declarada quando a distância matemática entre os embeddings gerados pelo modelo Facematch é menor que um **Limite (T)**. Por outro lado, se a distância exceder *T*, é uma **não correspondência** (indivíduos diferentes). O Limite é otimizado dinamicamente para alcançar o menor FAR possível para um FRR máximo definido. Veja a Tabela 1 na seção Métricas.

### 2. Há diferenças nas métricas para comparações 1:1 e 1:N?

As métricas fundamentais de precisão (Verdadeiros Positivos e Falsos Negativos) não mudam entre as abordagens 1:1 e 1:N. No entanto, o volume de comparações difere significativamente:

* **1:1 (Verificação):** Compara um sujeito com uma identidade reivindicada específica. O número de comparações negativas é igual ao número de sujeitos.
* **1:N (Identificação):** Compara um sujeito com todo o banco de dados. O número de comparações negativas se aproxima do quadrado do número de sujeitos. Consequentemente, embora a precisão permaneça estável, a contagem absoluta de Falsos Positivos pode aumentar exponencialmente devido ao enorme volume de comparações em grandes conjuntos de dados.

### 3. Qual é o tempo total de resposta para uma inferência do modelo Facematch?

* **Anonimização (processamento de IA):** \~600 ms – 900 ms.
* **Rosto encontrado na rede:** \~1,5 segundos no total. **Comparação:**
* **Rosto verificado externamente (Serpro):** \~3,2 segundos no total.

### 4. Como funciona a anonimização de dados?

A anonimização de dados no Facematch é alcançada por meio de um processo de **extração de características** e **vetorização**, transformando efetivamente traços biométricos em uma abstração matemática. O processo segue um pipeline rigoroso:

1. **Entrada**: A imagem bruta de selfie é pré-processada (recortada e alinhada).
2. **Inferência**: A imagem é passada por nossa Rede Neural Convolucional Profunda (DCNN), arquitetura proprietária e hiperparâmetros utilizados.
3. **Saída**: Em vez de classificar a imagem, a rede produz os valores da camada final totalmente conectada, resultando em um **vetor de 128 dimensões** (também conhecido como um **embedding** ou às vezes referido como “**hash**” internamente).
4. **Ofuscação**: Após o embedding ser gerado, ele é ofuscado usando uma **matriz de rotação ortogonal única e privada** por par na rede, depois **multiplicado por uma semente universal**.

O sistema usa uma CNN para transformar uma imagem 2D (rosto) em um embedding 1D. Por meio de camadas de **convolução** (aplicando filtros de matriz) e **pooling** (Max ou Average pooling para reduzir dimensões), a imagem é comprimida em um vetor. Esse processo é matematicamente **irreversível**; o **embedding não pode ser usado para reconstruir a fotografia original**, tornando-o ideal para proteger dados biométricos sensíveis.

Como cada par usa sua própria matriz de rotação privada, um embedding anonimizado só é diretamente comparável dentro desse mesmo par. Para comparações entre pares em implantações distribuídas, a rede re-rota o embedding para o espaço de rotação do par de destino antes da comparação — veja [Visão Geral da Arquitetura](/caf-api/caf-api-pt-br/all-id/architecture-overview.md) para o fluxo completo de dados e o papel do Router nesse processo.

### 5. Como um novo cliente entra como um nó na rede?

Este é um processo somente por convite para clientes com bancos de dados que excedem 20 milhões de rostos.

1. **Integração:** Integre pela API oficial.
2. **Hospedagem:** Escolha entre hospedagem on-premise ou em nuvem.
3. **Criação de Hash:** Converta o banco de imagens em embeddings anonimizados (ou hashes).
4. **Higienização:** Os novos embeddings (ou hashes) são cruzados na rede para remover possíveis Falsos Positivos. Se não forem encontrados, bureaus externos são usados para validação.
5. **Colocar em produção:** O nó torna-se ativo.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://docs.caf.io/caf-api/caf-api-pt-br/all-id/ai-facematch-documentation.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
