Caso Técnico

Caso de detecção facial offline RK3588 e entrega de Android SDK

A Winge Technology implementou a detecção local de rosto frontal, perfil esquerdo e perfil direito em óculos inteligentes RK3588 Android e entregou Core AAR, Face AAR, Camera2 Demo, documentação de integração e evidências de regressão curta no dispositivo.

Caso de detecção facial offline RK3588 e entrega de Android SDK

Resumo do caso

O projeto foi desenvolvido para óculos inteligentes RK3588 Android. Rostos frontais, perfis esquerdos e perfis direitos são detectados localmente, sem serviço de reconhecimento na nuvem. O SDK recebe frames Camera2 ou imagens locais e retorna caixa facial, cinco pontos, orientação, yaw, confiança, ID de rastreamento curto e tempo de processamento. A entrega incluiu Core AAR, Face AAR, Camera2 Demo e documentação de integração.

O escopo é detecção facial e estimativa da direção da pose, não identificação de pessoas. Não inclui nome ou matrícula, banco de faces, verificação 1:1, pesquisa 1:N, prova de vida ou análise de idade, gênero e emoção.

Contexto do projeto

O dispositivo-alvo era um óculos inteligente RK3588 Android arm64-v8a. O cliente precisava localizar pessoas na pré-visualização para seleção por toque, ampliação local e interações posteriores. O processamento deveria ser offline no dispositivo e integrável a um aplicativo Android existente.

As entradas incluem Camera2 YUV_420_888, NV21, RGBA_8888 e imagens estáticas. A implementação também trata diferença entre taxa da câmera e submissão da inferência, vida útil do buffer, rotação, espelhamento, YUV stride e mapeamento das coordenadas do modelo para a tela.

Escopo da entrega

ItemConteúdo
Android SDKCore AAR e Face AAR
DemoCamera2 Demo APK de detecção facial em tempo real
APIDetecção síncrona e assíncrona
EntradaYUV_420_888, NV21, RGBA_8888 e imagens locais
SaídaCaixa, confiança, cinco pontos, frontal/esquerda/direita, yaw, trackId e tempo por chamada
DocumentosGuia de integração, código de exemplo, diagnóstico, notas de versão e lista SHA-256
ExecuçãoProcessamento offline no dispositivo RK3588 Android

Solução técnica

Fluxo: Camera2 ou imagem estática → formato e orientação → detecção OpenCV YuNet → análise geométrica de cinco pontos → classificação frontal/esquerda/direita → rastreamento curto → callback e sobreposição na interface.

A linha de base usa OpenCV 4.10.0 e o detector YuNet em CPU. O fluxo em tempo real usa entrada 320×320; imagens estáticas usam 640×640. As três direções compartilham um detector e uma API, e a orientação é estimada pela geometria dos pontos.

A Demo envia uma solicitação a cada 100 ms, cerca de dez por segundo. Cada instância do SDK mantém somente uma solicitação assíncrona pendente. DirectBuffers da aplicação guardam Y/U/V. Camera2 usa acquireLatestImage() para ignorar frames antigos e limitar o acúmulo de latência.

Causa e correção

Algumas imagens eram detectadas no desktop, mas retornavam zero na Demo Android. A comparação do modelo, entrada e saída móvel isolou o problema na leitura da matriz OpenCV Java.

FaceDetectorYN.detect() retorna uma matriz de um canal N×15. O código Android original não lia os 15 valores completos de cada linha, e resultados válidos eram descartados na verificação de tamanho. A correção lê a linha completa conforme colunas e canais. Também foram adicionadas rotação, conversão de cor, fallback para imagens largas e verificação de consistência dos AARs.

A regressão passou a incluir rostos frontais, perfis, amostras sem rosto, imagens estáticas e Camera2, separando problemas de modelo, pré-processamento, decodificação e coordenadas da interface.

Verificação de engenharia

Os dados abaixo são do registro de entrega de 29/07/2026 e valem para Eye Algo Face SDK 0.4.5 fix5 em RK3588 Android arm64-v8a. Demonstram o build, a API e o fluxo curto especificados; não estabelecem precisão em lote, estabilidade longa ou desempenho de produção.

VerificaçãoResultado
Testes unitários SDK, Core e Face157/157 aprovados
Testes unitários da Demo13/13 aprovados
Testes das ferramentas Python143/143 aprovados
Android Lint0 Error, 19 Warning
Build APK e AARAprovado
Instalação, inicialização e permissõesAprovado
Camera2 por 10 segundossubmit/callback 79/79; dropped 0
Varredura curta de errosSem erro de crash, câmera, permissão ou biblioteca nativa

As amostras incluem rosto frontal, perfis simétricos e negativos sem rosto. Esse conjunto pequeno verifica detecção, direção e interface; não é base para Precision, Recall, F1 ou precisão por pose.

Resultados e aplicações

  • Detecção frontal, esquerda e direita reunida em uma API Android SDK.
  • Frames Camera2 e imagens locais usam a mesma estrutura de resultado.
  • O processamento local reduz a necessidade de enviar vídeo bruto e funciona sem rede.
  • Caixas e pontos podem alimentar seleção, rastreamento curto, ampliação e algoritmos posteriores.
  • O pacote contém Demo, AARs, integração, diagnóstico e lista de hashes.

Aplicações incluem seleção de pessoas em óculos inteligentes, cenas com várias pessoas, indicação de direção, imagens offline e preparação de recortes. Identidade, prova de vida e análise comportamental posterior não fazem parte desta entrega.

Limites de aceitação

O artefato atual é para teste do cliente e integração de engenharia; não é uma versão assinada para produção. Antes do lançamento são necessários o material de assinatura do cliente e um conjunto real congelado para confirmar regras de anotação, Precision, Recall, F1, matriz de confusão por pose e limites aceitos.

Perfis extremos, oclusão, reflexo forte, pouca luz, rostos pequenos e recaptura de tela ainda podem causar falhas ou direção incorreta. O tempo de uma imagem não representa média, P95, taxa estável ou desempenho de longa duração. O teste de oito horas não concluído não é relatado como aprovado.

Perguntas frequentes

O SDK precisa de rede?

A detecção roda no RK3588 Android e não depende da nuvem. A conexão do aplicativo depende das funções do cliente.

Inclui identificação facial?

Não. Inclui posição, cinco pontos e direção frontal/esquerda/direita, sem nome, banco facial, 1:1 ou 1:N.

Como integrar ao aplicativo Android?

Core AAR e Face AAR oferecem APIs síncrona e assíncrona. O pacote inclui Camera2 Demo, formatos, regras de buffer, exemplos e diagnóstico.

Quais verificações RK3588 foram concluídas?

Instalação, início, permissões, amostras estáticas e Camera2 por dez segundos. Precisão formal, assinatura e estabilidade de oito horas são itens separados.

Pode ser usado diretamente em outro RK3588?

A API e a integração são reutilizáveis, mas câmera, Android, orientação, stride, memória, temperatura e carga exigem nova verificação de build, função, desempenho e estabilidade.

Serviços relacionados

Discutir um Projeto Semelhante

Envie o dispositivo-alvo, a versão do Android, a entrada da câmera e os critérios de aceitação para uma avaliação técnica inicial.

Online
Phone
13910119357
WeChat
WhatsApp
Winge Technology WhatsApp QR code Scan or click to contact us
Top