Como o ML Kit facilita o desenvolvimento de apps mobile com IA
Você já pensou em amplificar o desenvolvimento de aplicativos com IA e machine learning (aprendizado de máquina)?
Talvez, você pense: "Mas eu não sou especialista em IA, como coloco isso no meu app?". É aí que o ML Kit entra no jogo!
O Google ML Kit possibilita adicionar funções no seu app suportadas por IA, como reconhecer imagens e entender textos, usando APIs que são fáceis de integrar (e super rápidas).
É só escolher o que você precisa e colocar no app, sem complicação! Massa né?
Neste artigo, vamos explorar como essa novidade e a IA pode transformar o seu desenvolvimento de apps e, quem sabe, até dar aquela vantagem no jogo da inovação.
O que é ML Kit?
Imagine que você está criando um app e quer dar a ele superpoderes, como reconhecer rostos em fotos, traduzir textos em tempo real ou até ler códigos de barras automaticamente.
Como você poderia fazer essas coisas com inteligência artificial?
O nosso ingrediente para esse “power-up” se chama ML Kit!
O que significa ML Kit?
O nome ML Kit vem de Machine Learning Kit (ou "kit de aprendizado de máquina"), que é uma área da inteligência artificial (IA).
Nela, em vez de ensinar uma máquina com comandos fixos, o machine learning (ou ML) permite que as máquinas aprendam sozinhas, a partir de dados.
É como se você tivesse um robô em casa, e, em vez de ensinar a ele cada tipo de fruta na fruteira (dizendo “isso é uma maçã” e “isso é uma banana”), você só mostrasse várias imagens e dissesse: “isso é uma maçã” ou “isso é uma banana”. Com o tempo, o robô começa a reconhecer essas frutas sozinho!
Bom, o ML Kit faz isso por você no seu app, trazendo o poder do machine learning para identificar textos, rostos, objetos e até traduzir idiomas, tudo com APIs prontas para usar.
Ou seja, você não precisa ser especialista em IA para aproveitar esse superpoder.
O ML Kit reúne tudo o que você precisa de forma simples, para que você consiga integrar essas funcionalidades avançadas no seu app com apenas algumas linhas de código.
E o melhor: essas ferramentas de IA são otimizadas para rodar em dispositivos móveis (Android e iOS), ou seja, tudo funciona rapidamente.
Para quê serve ML Kit?
Basicamente, o ML Kit é um conjunto de ferramentas da Google. A finalidade é oferecer ferramentas de aprendizado de máquina que podem ser usadas em duas áreas principais: Processamento de Linguagem Natural (PLN) e visão computacional.
Mas não se assuste com esses termos de IA, vamos vê-los com cuidado!
O que é Processamento de Linguagem Natural (PLN)?
Suponha que seu aplicativo precisa analisar textos e entender o que está sendo dito ou até gerar respostas inteligentes, como se ele fosse capaz de "ler" e "pensar".
É o que o ML Kit faz com sua API de Processamento de Linguagem Natural, e, através dela, ele pode:
- Descobrir o idioma de um texto: Seu app pode olhar para qualquer mensagem e saber se ela está em português, inglês, espanhol;
- Traduzir palavras ou frases;
- Criar respostas inteligentes baseadas em um contexto específico: com esse recurso, o app pode até "pensar" no que responder, como em um chatbot!
Ele entende o contexto e dá uma resposta que faz sentido, sem que você programe tudo na mão.
O que é visão computacional?
Agora, se você quer que o seu app reconheça rostos, identifique objetos ou até leia textos de imagens, o ML Kit também tem ferramentas poderosíssimas de IA para isso.
É como se ele fosse capaz de ver e entender o mundo ao seu redor, como um ser humano faria, podendo:
- Reconhecer rostos nas fotos;
- Ler textos que estão em imagens ou vídeos (sim, até se o texto estiver sendo exibido em um vídeo ao vivo);
- Detecção de objetos e pontos de referência (isso é, identificar lugares famosos, como a Torre Eiffel, em uma foto);
- Rastreamento de objetos, e muito mais!
Quer saber mais o quanto o ML Kit é incrível?
O que é possível fazer com MK Kit?
Vamos ver exemplos práticos bem legais de coisas que você pode fazer com ele em seu app:
- Reconhecimento de texto em imagens: Já pensou em fazer um aplicativo que lê placas de trânsito, menus de restaurantes ou até livros, e ainda traduz o texto para outros idiomas? ML Kit nele!;
- Detecção de rostos em fotos ou vídeos: Quer criar um app de filtros ou efeitos em tempo real, tipo o Instagram ou Snapchat? O ML Kit tem uma API para detecção de rosto, que identifica rostos em qualquer imagem ou vídeo;
- Leitura de códigos de barras: Precisa criar um app de scanner de QR codes ou códigos de barras? O ML Kit facilita isso, tudo de forma super-rápida e sem precisar de código complicado;
- Rastreamento de objetos: para um app que rastreia objetos em movimento ou até detecta se um item está em estoque com base em uma foto. Pois é, dá para fazer tudo isso;
- Tradução em tempo real: e um app que traduz tudo o que você escreve ou fala instantaneamente para outro idioma? Com a API de tradução do ML Kit, é mamão com açúcar!
A inteligência artificial é mesmo maravilhosa para melhorar o desenvolvimento de apps mobile, não acha?
Como usar ML Kit?
Para usar o ML Kit em um app Android, o primeiro passo é configurar corretamente no Android Studio, com uma versão recente da IDE e um dispositivo para testes.
Em seguida, adicione as dependências do ML Kit no arquivo build.gradle
do projeto, de acordo com a funcionalidade que você deseja usar (como reconhecimento de texto, detecção de objetos, etc.).
Com o ambiente pronto, após a escolha da API do ML Kit que se deseja integrar ao app, temos uma implementação que envolve três etapas principais: preparar a entrada (como uma imagem ou texto), usar o cliente da API para processar essa entrada e, por fim, tratar os resultados retornados pela API, como objetos detectados ou textos traduzidos.
Após integrar a API e configurar o processamento, é possível testar a funcionalidade diretamente no dispositivo, sem a necessidade de enviar dados para servidores externos, garantindo rapidez e segurança.
Neste repositório do Google, você pode encontrar diversos exemplos do ML Kit para testar em sua máquina.
Por que usar ML Kit?
O ML Kit é como uma caixa de ferramentas com vários superpoderes, cujo objetivo é deixar o seu app mais inteligente com IA.
Sendo assim, o principal motivo para usar a ferramenta é conseguir trazer o poder do aprendizado de máquina diretamente para o app, seja em Android ou iOS, de uma maneira super simples e acessível.
Com APIs prontinhas, você pode adicionar as funcionalidades no seu projeto, como se fosse um plug-and-play.
Seu uso deixa os apps mais dinâmicos, inteligentes e interativos com IA, possibilitando a criação de soluções criativas para diversos problemas.
Você consegue criar apps capazes de reconhecer imagens, traduzir textos ou até ter umchatbot que responda sozinho, como se fosse um assistente virtual.
Por que usar o ML Kit em vez de construir do zero?
Integrar o machine learning em um app do zero não é nada fácil; exige conhecimento em redes neurais, treinamento de modelos, e muito tempo e esforço.
Com o ML Kit, você pula todas essas etapas complexas e começa a usar modelos prontos que já fazem o trabalho pesado, como um assistente de IA superinteligente!
E se você lida com grandes volumes de dados ou necessita de um processamento de alto nível, a integração com o Google Cloud Platform oferece ainda mais potência e precisão, com modelos que podem ser atualizados automaticamente sem a necessidade de atualizar o app inteiro.
Além disso, o ML Kit disponibiliza duas formas de processar as informações do app: local, diretamente no dispositivo, ou na nuvem.
Quando você usa as APIs locais, tudo acontece no próprio dispositivo do usuário, o que deixa o processo rápido, gratuito e offline — o que é perfeito para tarefas simples, como ler códigos de barras ou identificar rostos nas imagens.
Já as APIs na nuvem são mais precisas e ideais para tarefas avançadas, como reconhecimento de objetos. Porém, podem ter um custo extra, dependendo do quanto forem usadas.
Assim, o ML Kit é uma excelente solução para adicionar funcionalidades avançadas de IA a um app de forma rápida e simples, economizando tempo e dinheiro, e deixando o seu app mais inteligente, dinâmico e inovador (e a melhor parte, sem complicação).
Quais as vantagens de usar ML Kit?
As principais vantagens de utilizar o ML Kit são a velocidade, privacidade e segurança, praticidade e funcionalidade offline, economia e multiplataforma. Vamos vê-las na sequência!
Velocidade
Uma das grandes vantagens do ML Kit é a rapidez!
As APIs do ML Kit processam tudo direto no dispositivo, ou seja, os dados não precisam ser enviados para servidores, o que acelera o processo.
Essa característica é ótima para aplicações em tempo real, ou seja, quando você cria filtros em vídeos ao vivo ou desfoca o fundo de uma imagem.
Com isso, seu app responde quase instantaneamente ao que o usuário faz, sem aquela demora chata de esperar pela resposta de um servidor.
Privacidade e segurança
Como os dados não são enviados para servidores remotos, a privacidade dos usuários é muito mais protegida.
Para empresas que lidam com informações confidenciais, como dados financeiros ou médicos, isso é um grande diferencial.
É que não há risco de vazamentos ou de terceiros acessarem essas informações.
Logo, o ML Kit é uma opção atraente para apps que seguem regulamentos de proteção de dados, como a LGPD (Lei Geral de Proteção de Dados) no Brasil.
Praticidade e funcionalidade offline
Outra vantagem é que o ML Kit permite que o app funcione offline, pois, uma vez que o processamento é feito diretamente no dispositivo, é desnecessário estar conectado à internet para executar várias funcionalidades.
Por exemplo, a leitura de códigos de barras, a detecção de rostos e o reconhecimento de textos.
Conseguimos, assim, economizar o uso de dados de Internet e permitindo criar aplicações que fiquem disponíveis por mais tempo;
Economia
Com as APIs locais do ML Kit, você não precisa se preocupar com servidores ou serviços na nuvem para processar os dados.
Isso significa menos custos com infraestrutura! Para os desenvolvedores, é um alívio, pois você não precisa pagar por recursos de nuvem nem perder tempo com a manutenção de servidores.
E para os usuários, o grande benefício é que eles não gastam seus dados móveis ao usar um app mais eficiente e acessível.
Ou seja, o ML Kit economiza tempo, dinheiro e recursos para todo mundo!
Multiplataforma
Uma das grandes vantagens do ML Kit é que ele é multiplataforma!
Logo, você pode usá-lo no Android e no iOS, sem ferramentas diferentes para cada sistema.
Isso facilita sua vida e garante o desenvolvimento de aplicativos consistentes em ambas as plataformas.
Quais as desvantagens do ML Kit?
As desvantagens de utilizar o ML Kit em um aplicativo são: aumento no tamanho do aplicativo, menor precisão em alguns casos.
Vamos ver mais detalhes!
Aumento do tamanho do aplicativo
Embora o ML Kit seja super otimizado para dispositivos móveis, é bom ficar de olho no tamanho do seu app!
Algumas APIs e modelos personalizados deixam o app muito grande com o tempo, um problema se o app já for grande ou se tiver muitas funcionalidades.
Quanto maior o app, mais tempo leva para ser baixado e mais espaço vai ocupar no celular do usuário.
Então, é sempre se atentar para que o app continue leve e rápido!
Menor precisão em alguns casos
Embora o ML Kit seja bem eficiente, ele foi feito para funcionar em dispositivos móveis, que têm recursos mais limitados.
Por isso, se comparado aos servidores poderosos do Google Cloud, algumas funções podem não ser tão precisas.
Por exemplo, tarefas que exigem mais processamento, como reconhecer objetos em imagens com super precisão, podem não ter o mesmo desempenho.
Dessa forma, se você precisa de resultados mais exatos, pode ser um problema.
A boa notícia é que você pode melhorar isso, integrando o ML Kit com o Google Cloud Platform, mas isso pode gerar custos extras.
Quais os tipos de API do MLKit?
O ML Kit oferece diversas APIs para facilitar a adição de funcionalidades inteligentes aos apps, economizando muito tempo e esforço no desenvolvimento.
Mas, apesar de cada API já possuir uma função pré pronta específica, se você precisa de algo mais específico ou avançado, há opções para criar modelos personalizados e adaptar o ML Kit às suas necessidades.
Seus principais recursos são divididos entre Visão Computacional e Linguagem Natural da seguinte forma:
Quais as APIs de visão computacional do ML Kit?
As APIs de visão do ML Kit fazem que o app entenda e processe imagens, estáticas ou em tempo real, de forma intuitiva, através dos seguintes recursos:
- Leitura de código de barras;
- Detecção facial;
- Detecção de malha de rosto;
- Reconhecimento de texto v2;
- Marcação de imagens;
- Detecção e rastreamento de objetos;
- Reconhecimento de tinta digital;
- Detecção de poses;
- Segmentação de selfie;
- Segmentação de assunto;
- Digitalizador de documentos.
Vamos ver cada uma na prática.
Leitura de código de barras
Essa API faz o seu app ler e processar códigos de barras de diferentes tipos, como os tradicionais 1D (aqueles comuns em produtos) e os 2D (como os QR Codes).
O melhor é que a leitura acontece direto no dispositivo, sem internet! Ela é capaz de identificar automaticamente o tipo de código e extrair informações importantes, como links, dados de contato, informações de Wi-Fi, números de telefone, entre outros.
E o mais legal: funciona em qualquer posição do código — se ele estiver de cabeça para baixo, de lado ou certo, o app vai ler do mesmo jeito, o que torna a leitura muito mais rápida e prática.
Detecção facial
Com essa API, seu app pode identificar rostos e suas características faciais, como olhos, nariz, boca e contornos do rosto em imagens.
Essa tecnologia é útil para criar filtros de beleza, gerar avatares ou até para identificar expressões faciais, como um sorriso ou olhos fechados.
A detecção facial também funciona em tempo real, ou seja, pode ser usada em aplicativos de vídeo, como chats e jogos que reagem às expressões do usuário.
Além disso, o app pode acompanhar rostos durante um vídeo, mantendo a identificação constante ao longo de várias imagens.
Detecção de malha de rosto
Essa funcionalidade mais avançada vai além da detecção de rostos, identificando a malha facial em imagens próximas.
É capaz de identificar 468 pontos 3D nas características faciais de uma pessoa, permitindo uma análise detalhada das expressões.
A detecção acontece em tempo real; é executada diretamente no dispositivo, porém, é importante frisar que essa API está em versão Beta e pode sofrer alterações que afetem a compatibilidade com versões anteriores.
Reconhecimento de texto v2
Com essa API, é possível identificar texto em vários idiomas, como chinês, japonês, coreano e latino, sendo muito útil para automatizar tarefas, como a leitura de cartões de crédito, recibos e cartões de visita, facilitando a entrada de dados no seu aplicativo.
Marcação de imagens
Com essa API, você consegue identificar vários itens em imagens, como objetos, locais, atividades, animais e até produtos de forma fácil e sem precisar de conhecimento avançado em processamento de imagens.
O modelo padrão reconhece mais de 400 categorias diferentes, mas se você precisar de algo mais específico, é possível usar um modelo personalizado, criado com o TensorFlow Lite, para adaptar a detecção ao seu caso de uso.
Detecção e rastreamento de objetos
Essa API detecta e rastreia objetos em tempo real, diretamente do feed da câmera ao vivo.
É perfeita para desenvolver aplicativos interativos, como aqueles que requerem realidade aumentada.
Serve ainda para rastrear objetos em movimento, pois a API identifica automaticamente o objeto principal da imagem e classifica objetos em categorias como alimentos, roupas e mais.
Reconhecimento de tinta digital
Essa API reconhece o que você escreve à mão ou desenha em uma tela, como em uma tela de smartphone ou tablet.
Ela entende mais de 300 idiomas, emojis e formas simples. É super útil para apps de anotações ou aplicativos que precisam interpretar o que o usuário escreve ou desenha.
Detecção de poses
O poder dessa API é detectar a posição do corpo humano em tempo real! É ideal para criar aplicativos fitness, jogos interativos ou para monitoramento de posturas, por exemplo.
Segmentação de selfie
Esse recurso separa o fundo da foto, deixando o foco apenas na pessoa; é ótimo para criar efeitos ou filtros em selfies, por exemplo, aplicativos de redes sociais, para melhorar a experiência do usuário.
Segmentação de assunto
Novidade! Essa API separa objetos, como pessoas ou animais, do fundo da foto. Super útil para a edição de fotos, criação de adesivos, troca de plano de fundo, dentre várias outras aplicações.
Digitalizador de documentos
Mais uma novidade! Essa escaneia documentos físicos (contratos e recibos), transformando-os em imagens digitais.
E explora recursos para cortar, girar e reordenar páginas, tudo diretamente no dispositivo, sem necessidade de permissão de câmera extra.
São muitas APIs de visão comportamental. Vamos ver aquelas de linguagem natural!
Quais as APIs de linguagem natural do ML Kit?
As APIs de Linguagem Natural do ML Kit ajudam o app a entender, traduzir e interagir com textos da seguinte forma:
- Identificação de idioma;
- Tradução;
- Resposta inteligente;
- Extração de entidades.
Identificação de idioma
Com essa API, o app identifica automaticamente o idioma de um texto, o que é útil para apps de tradução ou quando o usuário fornece textos sem saber o idioma.
A API reconhece mais de 100 idiomas, incluindo texto romanizado, como árabe, chinês, russo e japonês.
Tradução
Nesse caso, o app pode traduzir textos entre mais de 50 idiomas diretamente no dispositivo, sem conexão com a internet, de forma rápida, e usando os mesmos modelos do Google Tradutor.
O benefício vale para apps internacionais, permitindo que usuários de diferentes partes do mundo se comuniquem sem barreiras de linguagem.
Porém, é recomendada para traduções simples e casuais, pois a qualidade varia entre alguns idiomas.
Resposta inteligente
Com essa funcionalidade, o app sugere automaticamente respostas rápidas durante uma conversa, com base no contexto da interação.
Quais os casos de uso? Chatbots ou assistentes virtuais, ajudando os usuários a responderem de forma mais rápida e prática, sem precisar digitar tudo.
A API, bem rápida, funciona no dispositivo, e dispensa o envio de dados para servidores. Porém, atualmente, ela só oferece sugestões em inglês; é mais indicada apenas para conversas casuais.
Extração de entidades
Se seu app precisa extrair informações específicas de textos, como endereços, números de telefone ou datas, essa API vai ajudar a identificar e localizar essas entidades automaticamente.
É ótima para apps que analisam formulários ou dados, e funciona bem em diversos idiomas, incluindo português, inglês, espanhol e mais.
Como aprender sobre MLKit
Quer aprender mais sobre MLKit e explorar o maravilhoso mundo da IA no mobile?
Você pode explorar a Formação Android com IA: criando apps mais inteligentes com o Google ML Kit que nos ensina a integrar as bibliotecas do ML Kit em aplicativos Android, explorando desde o processamento de linguagem natural até o trabalho com imagens e vídeos.
Ao longo dos cursos, aprendemos como usar APIs do ML Kit de forma prática, criando apps inteligentes e offline, além de analisar casos reais de marcas como Adidas, Google e WPS, que utilizam essas bibliotecas para aprimorar a experiência do usuário em seus aplicativos.
Lembre-se de que podemos contar com a documentação oficial, bastante rica em guias que ajudam bastante a compreensão sobre como as APIs do ML Kit funcionam.
E, por fim, a boa e velha mão na massa!
Escolha uma das APIs do ML Kit, implemente em um app simples e faça testes para entender o funcionamento. A melhor forma de aprender sempre será praticando!
Até a próxima!
Referências
- ML Kit Documentação (português, gratuito, site): documentação oficial do ML Kit através do site oficial do Google for Developers
- Curso: Android com IA: explorando o Google ML Kit para tradução de textos (português, pago, site): curso da Alura sobre a utilização do Google ML Kit para tradução de textos
- A Look at Android ML Kit - the Machine Learning SDK (inglês, gratuito, site): artigo sobre as diferentes APIs disponíveis no ML Kit e como criar um aplicativo que as integre
- What is Google ML Kit and How it works? An Overview and Its Use Cases (inglês, gratuito, site): artigo rápido sobre o ML Kit
- Detectar objetos em imagens com o Kit de ML: Android (português, gratuito, site): codelab para criação de um app Android com o ML Kit