Skip to content

adicionando reconhecimento facial com FaceAiSharp - #3

Closed
letyciamaia wants to merge 1 commit into
masterfrom
feature/reconhecimento-facial
Closed

letyciamaia wants to merge 1 commit into
masterfrom
feature/reconhecimento-facial

Conversation

@letyciamaia

Copy link
Copy Markdown
Collaborator

O que foi feito

Endpoints (exigem login, [Authorize])

  • POST /Carbon/Facial/Register: cadastra (ou substitui) o rosto do usuário logado
  • POST /Carbon/Facial/Verify: compara a foto com o rosto cadastrado e retorna isMatch e similarity

Body dos dois:

{ "imageBase64": "data:image/jpeg;base64,..." }

Aceita base64 puro ou o formato da webcam do navegador (data:image/...;base64,). O id do usuário vem do token JWT (claim sub).

Regras

  • Mesma pessoa quando a similaridade é ≥ 0,42 (recomendação da FaceAiSharp), configurável em FacialRules
  • Foto de até 5 MB
  • Retorna 400 para imagem inválida, sem rosto, com mais de uma pessoa ou usuário sem rosto cadastrado

Banco

  • Nova coluna FaceEmbedding (varbinary(2048), opcional) na tabela CarbonUsers
  • Migration AddUserFaceEmbedding. Precisa rodar dotnet ef database update

Arquivos

  • Provider (Carbon.Azure.Facial.Provider): FaceRecognitionClient, que usa a FaceAiSharp (pacotes FaceAiSharp.Bundle e Microsoft.ML.OnnxRuntime)
  • Domain: IFacialRecognitionProvider, IFacialService, FacialService, FacialContracts, User.FaceEmbedding, IUserRepository.UpdateFaceEmbeddingAsync
  • Infrastructure: FacialRecognitionProvider, UserRepository, configuração do EF, migration e registro em AddFacialRecognition()
  • Application: IFacialUseCase, FacialUseCase e DTOs em Dtos/Facial
  • Core: FacialController, registros de DI e Program.cs

Testes

  • Build sem erros
  • Ainda não testado com fotos reais nem pela API. Precisa aplicar a migration e rodar com os user-secrets.

Próximo passo

Tela /facial no Front: capturar a foto da webcam e chamar /Carbon/Facial/Verify com o token do login

Observação

O projeto ainda se chama Carbon.Azure.Facial.Provider, mas não usa mais o Azure

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants