Concrete Logo
Hamburger button

Use machine learning para resolver problemas no mundo real

  • Blog
  • 31 de Agosto de 2018

Detecção Facial no Android com o Firebase ML Kit

O Firebase ML Kit é um SDK que surgiu com o objetivo de levar a experiência do machine learning do Google para aplicativos Android e iOS, em um conjunto de ferramentas bastante poderoso e muito fácil de usar. Se você não tem nenhuma experiência com machine learning, não se preocupe, pois é possível implementar a funcionalidade que você precisar em apenas algumas linhas de código, sem a necessidade de qualquer conhecimento profundo em redes neurais ou otimização de modelos de machine learning para começar.

Mas… se você já é um desenvolvedor experiente em ML, o ML Kit também pode te ajudar com APIs poderosas que permitem você usar seus próprios modelos no formato do TensorFlow Lite (.tflite) em seus aplicativos móveis.

O que o ML Kit coloca a sua disposição

Se você já usou ou já ouviu falar do que era possível fazer usando o Google Cloud Vision API, o TensorFlow Lite ou até mesmo o Android Neural Networks API, tenho uma ótima notícia: O ML Kit reúne todas essas APIs em um único SDK. E se você ainda precisar de mais processamento (na cloud, por exemplo), recursos em tempo real dos modelos no dispositivo ou da flexibilidade dos modelos personalizados que tinha com o TensorFlow Lite, podemos fazer tudo isso em apenas algumas linhas de código.

Com as ferramentas do ML Kit podemos fazer:

  • Reconhecimento de texto
  • Detecção facial
  • Leitura de código de barras
  • Categorização de imagens
  • Reconhecimento de pontos de referência
  • Utilização de seus próprios modelos de machine learning

Você pode usar os recursos que o ML Kit tanto no dispositivo, quanto na nuvem (melhor performance).

Detecção Facial com ML Kit

Com a detecção facial, você pode ter informações necessárias para realizar tarefas, como adicionar máscaras (assim como no Snapchat ou Instagram) ou gerar avatares a partir da foto de um usuário do seu app. Além disso, com a detecção em tempo real, você pode usar em aplicativos de bate-papo por vídeo ou jogos que usam as expressões do jogador para executar algumas ações.

Para este artigo, preparei um exemplo básico mostrando o uso do ML Kit para detecção facial no Android. Let’s go!

Implementação no Android

Antes de iniciar os passos abaixo, inclua o Firebase no seu projeto, seguindo o guia.

1. Inclua a dependência do ML Kit no arquivo build.gradle dentro da pasta app do seu projeto

2. Declare no AndroidManifest.xml

3. Configure o face detector com o FirebaseVisionFaceDetectorOptions

4. Pegue a instância do FirebaseVisionFaceDetector passando o detectorOptions (criado no passo 3)

5. Para realizar a detecção facial a partir de um Bitmap

6. Pegando informações das faces detectadas

Também podemos obter os pontos de referência de algumas partes da face, como olhos, nariz, boca, orelha e bochecha, usando o método getLandmark.

Como vimos, não é necessário conhecimentos avançados de redes neurais para começarmos a usar machine learning em nossos apps! 😀

Deixei aqui um projeto de exemplo, usando o ML Kit para detecção facial (o gif do início do artigo).

Mais detalhes sobre o ML Kit aqui.

Muito obrigado pela leitura e até o próximo artigo! 🙂

A Concrete, parte da Accenture Technology, é referência em consultoria ágil, facilitando a transformação digital dos clientes ao criar produtos digitais inovadores. Só no capítulo Android contamos com 60 pessoas, que compartilham informações o tempo todo, em talks semanais e treinamentos frequentes. Nossos times têm autonomia para trabalhar e acesso direto aos gerentes, o que facilita a troca de conhecimento e a constante evolução técnica. Quer trabalhar com os melhores? Acesse: concrete.com.br/vagas