For the complete documentation index, see llms.txt. This page is also available as Markdown.

Captura facial com IAD - Selphi

Diferenças em relação à captura facial padrão

O Componente Selphi IAD é funcionalmente equivalente ao Componente Selphi padrão, incorporando controles adicionais de segurança voltados à detecção de ataques de injeção de vídeo e ambientes de captura não confiáveis.

A integração, configuração e fluxo de uso do componente são os mesmos. A principal diferença funcional é a inclusão do campo iad no resultado (SelphiResult), que contém as informações da análise antifraude preparadas para verificação no servidor.

Para seu uso, é necessária uma nova licença e substituir a dependência do componente padrão por:

implementation "com.facephi.androidsdk:selphi_iad_component:$version"

Este componente tem duas restrições importantes:

  • Dispositivos com mínimo de 3 GB de RAM.

  • Câmera frontal com preview de 1920x1080 ou superior.

Introdução

A captura facial com detecção de ataques de injeção de vídeo é realizada por meio do Componente Selphi IAD.

Este componente é responsável por capturar uma selfie do usuário e extrair suas características faciais mais relevantes, incorporando um conjunto de controles de segurança preventivos voltados para detectar ambientes não confiáveis. Durante o processo, são realizados, entre outros, os seguintes passos:

  • Gestão interna de câmeras e permissões.

  • Detecção de tentativas de suplantação por meio de vídeos ou fontes de câmera manipuladas.

  • Assistência guiada durante a captura facial.

  • Geração de templates biométricos e imagens do usuário.

Na seção Lançamento simplificado são descritos os passos básicos para a Integração do SDK. Nesta página são detalhadas as informações específicas necessárias para iniciar e configurar este componente.


Dependência

A dependência específica do componente é:


Controladores disponíveis

Este componente inclui vários controladores, cada um voltado para uma funcionalidade específica.

Controlador
Descrição

SelphiController

Controlador principal de Reconhecimento Facial

RawTemplateController

Geração de um RawTemplate a partir de uma imagem

SignatureSelphiController

Assinatura de um processo utilizando uma Captura Facial


Lançamento simplificado

Uma vez iniciado o SDK e criada uma nova operação, o componente pode ser iniciado utilizando qualquer um de seus controladores.


Configuração básica

Para iniciar o componente é necessário criar um objeto SelphiConfigurationData, que define o comportamento do Widget.

O componente permite os seguintes modos de detecção de vida:

  • SelphiFaceLivenessMode.NONE

  • SelphiFaceLivenessMode.PASSIVE

  • SelphiFaceLivenessMode.MOVE


Recebimento do resultado

O resultado da inicialização é retornado como um objeto SdkResult, que pode indicar um resultado correto ou um erro (nos dados do resultado virá o campo que contém as informações associadas ao IAD Recebimento do resultado correto - data)

Recebimento de erros

Os erros serão retornados como um objeto 'SelphiError'.

Lista de erros:

  • SPI_ACTIVITY_RESULT_ERROR: O resultado da activity está incorreto.

  • SPI_ACTIVITY_RESULT_MSG_ERROR: O resultado da activity recebido em msg está incorreto.

  • SPI_APPLICATION_CONTEXT_ERROR: O contexto de aplicação necessário é nulo.

  • SPI_BAD_EXTRACTOR_CONFIGURATION_ERROR: Widget: Configuração incorreta do extrator.

  • SPI_CAMERA_PERMISSION_DENIED: O usuário recusou as permissões.

  • SPI_CANCEL_BY_USER: O usuário cancelou o processo.

  • SPI_CANCEL_LAUNCH: Foi realizado um cancelamento geral do SDK.

  • SPI_COMPONENT_LICENSE_ERROR: A licença do componente não está correta.

  • SPI_CONTROL_NOT_INITIALIZATED_ERROR: Widget: Erro de inicialização.

  • SPI_EMPTY_LICENSE: A String da licença está vazia.

  • SPI_EXTRACTION_LICENSE_ERROR: Widget: Erro de licença.

  • SPI_FETCH_DATA_ERROR: Erro na coleta do resultado.

  • SPI_FLOW_ERROR: Erro no processo de fluxo.

  • SPI_HARDWARE_ERROR: Widget: Erro de hardware.

  • SPI_INITIALIZATION_ERROR: Erro de inicialização.

  • SPI_MANAGER_NOT_INITIALIZED: Os managers estão nulos.

  • SPI_NO_DATA_ERROR: Os dados de entrada estão nulos.

  • SPI_OPERATION_NOT_CREATED: Não há nenhuma operação em andamento.

  • SPI_RESOURCES_NOT_FOUND: Não foi encontrado o zip de recursos.

  • SPI_SETTINGS_PERMISSION_ERROR: Widget: Erro de permissões.

  • SPI_TEMPLATE_ERROR:

  • SPI_TIMEOUT: Timeout no processo.

  • SPI_UNEXPECTED_CAPTURE_ERROR: Widget: Erro na captura.

  • SPI_UNKNOWN_ERROR: Erro desconhecido.

  • SPI_WIDGET_RESULT_DATA_ERROR: Erro nos dados de saída do widget.

Recebimento do resultado correto - data

Quando o resultado é correto (SdkResult.Success), obtém-se um objeto SelphiResult.

As imagens são retornadas no formato SdkImage. É possível acessar o bitmap por meio de image.bitmap. Para converter uma imagem para Base64:

Campos retornados

  • templateRaw Template bruto gerado após a extração. Válido para processos de Matching.

  • template Template processado após a extração. Válido para processos de Matching.

  • bestImage Melhor imagem capturada na resolução original. Esta imagem tem o tamanho original extraído da câmera. Válida para o processo de Liveness.

  • bestImageCropped Imagem recortada centralizada no rosto do usuário. É obtida a partir da bestImage.

  • logImages Lista com as 5 melhores imagens (requer logImages = true).

  • bestImageTokenized Melhor imagem criptografada do processo. Válida para o processo de Liveness.

  • bestImageTokenized Melhor imagem criptografada do processo. Válida para o processo de Liveness.

  • iad Informações obtidas na análise de ataques de injeção de vídeo, preparadas para envio ao serviço de verificação.

  • livenessDiagnostic Informações do processo de verificação que confirmam que a pessoa está fisicamente presente e é real.


Informações avançadas

Controladores Adicionais

SignatureSelphiController

Funciona de forma equivalente a SelphiController, com a diferença de que gera um arquivo de assinatura na plataforma.

RawTemplateController

Permite gerar um RawTemplate a partir de uma imagem (Bitmap).

Exemplo de uso:

Configuração avançada

O comportamento do componente é definido por SelphiConfigurationData.

Parâmetros disponíveis

  • resourcesPath Nome do arquivo ZIP de recursos (localizado em assets). Exemplo: “resources-selphi-2-0.zip“.

  • cropPercent Percentual de corte do rosto. Quanto maior o número, maior será o corte do retângulo em relação ao rosto.

  • cropImageDebug Mostra informações de depuração do corte.

  • showResultAfterCapture Mostra uma tela de confirmação após a captura. É dada ao usuário a possibilidade de repetir o processo de captura se a imagem obtida não estiver correta.

  • showTutorial Ativa a tela de tutorial. Explica de forma intuitiva como a captura é realizada.

  • livenessMode Modo de detecção de vida (NONE, PASSIVE, MOVE).

    • SelphiFaceLivenessMode.NONE: Indica que o modo de detecção de foto não deve ser ativado nos processos de autenticação.

    • SelphiFaceLivenessMode.PASSIVE: Indica que o teste de vida passivo é realizado no servidor, enviando para esse fim a “BestImage” ou o “TemplateRaw” correspondente.

    • SelphiFaceLivenessMode.MOVE: Indica que o teste de vida é ativo, exibindo instruções durante a captura e retornando o resultado correspondente do processo.

  • stabilizationMode Obriga o usuário a manter a cabeça estável antes da captura, olhando para a frente e sem mover a cabeça.

  • cameraFlashEnabled Ativa o flash da câmera.

  • fullscreen Prioriza a visualização em tela cheia.

  • templateRawOptimized Otimiza o templateRaw gerado.

  • qrMode Ativa a leitura de Código QR prévia ao processo de autenticação.

  • videoFilename Caminho absoluto para gravar o vídeo do processo. A aplicação é responsável por solicitar as permissões necessárias ao telefone, caso sejam requeridas.

  • viewsContent Configuração avançada de views por meio de XML. Esta propriedade não altera o conteúdo do arquivo de recursos.

  • showDiagnostic Mostra telas de diagnóstico.

  • logImages Retorna as 5 melhores imagens capturadas.

  • showPreviousTip Mostra uma tela informativa antes da captura.

  • extractionDuration Duração do processo de extração.

  • cameraPreferred Câmera preferida (FRONT, BACK).

  • vibrationEnabled Feedback de vibração ao finalizar.

  • moveSuccessfulAttempts Tentativas permitidas em capturas corretas (por padrão 1).

  • moveFailedAttempts Tentativas permitidas em capturas incorretas (por padrão 2).


Personalização do componente

Além das alterações que podem ser feitas no nível do SDK (explicadas em Personalização do SDK), este componente permite sua própria Personalização.

Textos

Os textos podem ser personalizados sobrescrevendo os valores em um arquivo XML de strings.

Name

Valor

selphi_component_timeout_title

Tempo esgotado

selphi_component_timeout_desc

Não conseguimos identificá-lo. Tente novamente

selphi_component_internal_error_title

Houve um problema técnico

selphi_component_internal_error_desc

Pedimos desculpas. Não foi possível fazer a captura

selphi_component_tip_message

Coloque seu rosto no centro do círculo

selphi_component_tip_message_alt

Coloque seu rosto no centro do círculo

selphi_component_tip_anim_alt

Uma pessoa mostra seu rosto dentro do círculo e a aplicação tira uma foto dela.

selphi_component_tip_title

Reconhecimento Facial

selphi_component_tip_button

COMEÇAR

selphi_component_tip_button_alt

Iniciar captura de rosto

selphi_component_tip_move_message

Coloque seu rosto no centro do círculo e siga as instruções

selphi_component_tip_move_message_alt

Coloque seu rosto no centro do círculo e siga as instruções

selphi_component_tip_move_anim_alt

Uma pessoa mostra seu rosto dentro do círculo, o move levemente para um lado e a aplicação tira uma foto dela.

selphi_component_tip_move_title

Reconhecimento Facial

selphi_component_tip_move_button

COMEÇAR

selphi_component_qr_tip_title

Escaneie o Código QR

selphi_component_qr_tip_message

Aponte o Código QR dentro da moldura

selphi_component_qr_tip_anim_alt

Aponte o Código QR dentro da moldura

selphi_component_qr_tip_button

Começar

selphi_component_tip_close_button_alt

Voltar

selphi_component_tip_info_button_alt

Ver dicas

selphi_component_tutorial_message_1

Coloque seu rosto no centro e olhe de frente para a câmera.

selphi_component_tutorial_message_2

Remova qualquer elemento que cubra seu rosto.

selphi_component_tutorial_message_3

Procure um ambiente bem iluminado, sem sombras sobre o seu rosto.

selphi_component_tutorial_1_anim_alt

A foto é tirada quando a pessoa está no centro.

selphi_component_tutorial_2_anim_alt

Uma pessoa tira os óculos de sol e afasta o cabelo dos olhos.

selphi_component_tutorial_3_anim_alt

A imagem aparece escura e uma pessoa acende a luz.

selphi_component_tutorial_close_button_alt

Voltar ao tutorial anterior

Animações

As animações Lottie podem ser sobrescritas adicionando os arquivos com o mesmo nome em res/raw/.

Atualizado