MVP de Biometria Facial Ovina
Uma solução híbrida de processamento que utiliza o algoritmo local de texturas LBPH (Local Binary Patterns Histograms) no backend Flask para treinar e reconhecer faces de ovelhas impressas em 3D, capturadas na borda diretamente pelo navegador mobile via WebRTC.
1. Contexto e Problema
Na pecuária de precisão contemporânea, o controle individual de animais é crítico para a rastreabilidade, manejo sanitário e controle zootécnico. Os métodos tradicionais (como brincos de identificação visual ou chips RFID) sofrem com problemas constantes como perdas físicas, quebras, necessidade de contenção forçada do animal e custos elevados de implementação.
O uso de sistemas de visão computacional para reconhecimento facial não invasivo surge como uma alternativa de baixo custo e alta eficiência. Contudo, implementar modelos complexos de Deep Learning em computadores de borda de fazendas costuma esbarrar na falta de conectividade, falta de infraestrutura de hardware (GPUs dedicadas) e dificuldades operacionais no campo. Este MVP foi concebido para resolver essas restrições utilizando algoritmos leves baseados em texturas locais.
2. Arquitetura da Solução
A solução arquitetural distribui o processamento em duas camadas para otimizar a performance de rede local. A mídia do vídeo é acessada e processada localmente na tela do celular (borda), enquanto a API centralizada (servidor local) gerencia o banco de dados e calcula as predições.
HTML5 + WebRTC
Captura de vídeo, renderização local da Bounding Box a 60 FPS, extração de crop (200x200) e conversão para Base64.
Flask + OpenCV
Servidor REST, decodificador de Base64, persistência do dataset, treinamento do reconhecedor LBPH e classificação linear.
3. Desafios Técnicos
Viabilidade de Processamento (LBPH)
A escolha do algoritmo LBPH (Local Binary Patterns Histograms) foi crucial para atender às restrições do campo. Modelos modernos baseados em deep learning exigem placas de vídeo dedicadas de alto custo. O LBPH opera comparando a textura de vizinhança de cada pixel e extraindo histogramas locais. Isso permite o treinamento instantâneo e a predição em frações de segundo diretamente em CPUs de computadores convencionais ou placas integradas (ex: Raspberry Pi).
Contorno de Permissão (SSL/HTTPS)
Os sistemas operacionais modernos (especialmente o iOS/Safari) bloqueiam nativamente chamadas à câmera via getUserMedia em redes locais sem criptografia (http://). Para viabilizar a arquitetura sem depender de servidores em nuvem públicos ou domínios registrados, o servidor Flask foi configurado para gerar certificados SSL autoassinados (Ad-hoc) dinamicamente via pyopenssl, forçando o navegador a reconhecer o canal local como seguro (https://).
4. Simulação Prática do Sistema
Abaixo, você pode testar o simulador interativo da interface de biometria. Ele replica exatamente o visual e a lógica do HUD desenhado via Javascript Canvas no iPhone, com as linhas do scanner e detecção do modelo 3D em tempo real.