Face-api.js: reconhecimento facial em JavaScript

Face-api.js: reconhecimento facial em JavaScript

29 de novembro de 2018 1 Por Ramos de Souza Janones
Powered by Rock Convert

Face-api.js é uma API JavaScript para detecção e reconhecimento facial no browser implementado sobre a API principal do tensorflow.js. O Face-api.js implementa uma série de redes neurais convolucionais (CNNs), otimizada para a web e dispositivos móveis.

(Imagem obtida de github.com)

Para detecção facial, o face-api.js implementa os modelos SSD Mobilenet V1, Tiny Face Detector, e o experimental MTCNN.

O SSD (Single Shot Multibox Detector) MobileNet V1 é um modelo baseado no MobileNet V1 que visa obter alta precisão na detecção facial. Esse modelo basicamente calcula a localização de cada face em uma imagem e retorna as caixas delimitadoras junto com sua probabilidade para cada face detectada.

O Tiny Face Detector é um modelo para a detecção facial em tempo real, que quando comparado com o SSD Mobilenet V1, é menor, mais rápido, e consome menos recursos. Esse modelo foi treinado em um conjunto de dados de 14 mil imagens rotuladas com caixas delimitadoras. De acordo com Mühler, clientes com recursos limitados não devem ter problemas ao usar este modelo.

O MTCNN (redes neurais convolucionais em cascata multitarefa) é um modelo experimental que representa uma alternativa de detecção facial para SSD MobileNet V1 e Tiny Yolo V2, que oferece muito mais possibilidades de configurações.

Curso completo de Games, inclusive Realidade Aumentada.Powered by Rock Convert

Para detecção de pontos de referência de 68 pontos, existem dois modelos leves e rápidos, o face_landmark_68_model que requer somente 350kb, e o face_landmark_68_tiny_model que requer 80kb. Os modelos foram treinados em um conjunto de dados de aproximadamente 35 mil imagens faciais rotuladas com 68 pontos de referência de face.

Para o reconhecimento facial, um modelo baseado em uma arquitetura do tipo ResNet-34 é fornecido no face-api.js para calcular um descritor de face a partir de qualquer imagem de face. Esse modelo não está limitado ao conjunto de faces usadas para o treinamento, o que significa que os desenvolvedores podem usá-la para o reconhecimento facial de qualquer pessoa. É possível determinar a similaridade de duas faces arbitrárias comparando seus descritores de face.

Para iniciar com o face-api.js, faça o download o último build de dist/face-api.js ou dist/face-api.min.js e inclua o script:

 

<script src="face-api.js"></script>

Para carregar um modelo é necessário fornecer os arquivos de modelo, e após isso, assumindo que os modelos estão em /models:

await faceapi.loadSsdMobilenetv1Model('/models')
// accordingly for the other models:
// await faceapi.loadTinyFaceDetectorModel('/models')
// await faceapi.loadMtcnnModel('/models')
// await faceapi.loadFaceLandmarkModel('/models')
// await faceapi.loadFaceLandmarkTinyModel('/models')
// await faceapi.loadFaceRecognitionModel('/models')

Para os desenvolvedores que quiserem executar os exemplos localmente, basta executar as instruções abaixo e no browser digitar https://localhost:3000/:

git clone https://github.com/justadudewhohacks/face-api.js.git 
cd face-api.js/examples
npm i
npm start

Mais informações sobre o face-api.js podem ser encontradas no repositório no GitHub. Também estão disponíveis tutoriais sobre reconhecimento facial e rastreamento facial.

Vale a pena: Aprenda tudo sobre WordPress.

Veja também: Epoc.js: Projeto open source em JavaScript para Sensores de Controle Cerebral

Powered by Rock Convert
Curso de Inglês para Programadores.Powered by Rock Convert

Ramos de Souza Janones

Janones, é um empreendedor brasileiro apaixonado por empreendedorismo e tecnologia. Ao longo dos anos trabalhando com o desenvolvimento de softwares desktop desde a linguagem Clipper, passando pelo Delphi e atualmente com Java.

Optou pela formação de Publicidade e Marketing por sua segunda empresa de tecnologia ter participado do "boom" da internet nos anos 90 e na procura de melhorar seus conhecimentos em negócios.

Em razão da principal formação e profundos conhecimentos em programação e banco de dados, é capaz de realizar o desenvolvimento de aplicativos web, desktop e mobile com maior criatividade e inovação que profissionais de desenvolvimento com uma formação única e mais especifica, dedicada somente ao desenvolvimento de softwares.

Com toda sua experiência com empresas de software, sua formação e paixão por negócios escreveu o livro "Marketing para Empresas e Profissionais de Software", publicado pela editora carioca Ciência Moderna em 2012. Além de outros livros sobre programação.
Sumário
Face-api.js: reconhecimento facial em JavaScript
Nome do artigo
Face-api.js: reconhecimento facial em JavaScript
Descrição
Face-api.js é uma API JavaScript para detecção e reconhecimento facial no browser implementado sobre a API principal do tensorflow.js. O Face-api.js implementa uma série de redes neurais convolucionais (CNNs), otimizada para a web e dispositivos móveis.
Autor
Nome
Ramos da Informática
Logo
LEIA TAMBÉM:  O que é TypeScript e quais os seus benefícios?