fbpx

Qual tecnologia de Reconhecimento de Imagens utilizar na nuvem

Voiced by Amazon Polly

Quando falamos em Inteligência Artificial na nuvem, especialmente nos ecossistemas da Amazon Web Services (AWS), Microsoft Azure e Google Cloud Platform (GCP), costumamos nos referir sempre a pelo menos duas classes de serviço, com o público alvo bem delimitado. Essas duas classes de serviço são chamadas usualmente pela AWS de Serviços de IA (AI services) e Plataformas de IA (AI platforms).

Os chamados AI services são serviços que usam Inteligência Artificial por baixo dos panos, mas exigem pouco ou nenhum entendimento da teoria de Inteligência Artificial por parte dos usuários. Esses serviços são bem específicos para resolução de determinada tarefa, e foram pensados para serem usados com chamadas de API feitas diretamente para o serviço específico. Soluções para análise de sentimento em texto, transcrição de áudio, construção de chatbot e reconhecimento de imagens e vídeos, são alguns exemplos de AI services.

Já os chamados AI platforms são os serviços pensados para serem o ambiente de trabalho de Cientistas de Dados. Esses serviços são os mais indicados para ser o local onde os Cientistas de Dados constroem todo o ciclo de vida de AI na nuvem, que inclui: exploração de dados, testes, treinamento dos modelos e deploy. A maioria dos serviços dessa classe, dependendo da nuvem utilizada, está relacionada de alguma forma ao Amazon SageMaker, Azure Machine Learning Studio ou Google Cloud AI, protagonistas dos AI platforms.

Isso posto, no caso de reconhecimento de imagens, os AI services Amazon Rekognition, na AWS, o Google Vision e o Microsoft Cognitive Services, costumam ser as primeiras abordagens consideradas quando estamos lidando com problemas de imagens e vídeos. AI services trazem velocidade na entrega de resultado, já que precisamos em geral apenas consumir a API do serviço, sendo possível chegar em resultados satisfatórios de maneira muito rápida, tornando esse tipo de abordagem ideal para Aplicações de reconhecimento de imagens simples e com acesso à Internet.

Quando estamos de frente a problemas mais específicos, os AI services normalmente não conseguem ter um bom desempenho. Existem também cenários que demandam técnicas mais específicas, como a necessidade de utilizar um rede neural personalizada e aplicações com requisito de funcionar embarcadas em locais sem conexão à internet. Em cenários como esses, utilizar uma AI Platform se torna a opção adequada.

No artigo Reconhecimento de Imagens aplicado à Segurança do Trabalho, testamos as duas soluções utilizando as tecnologias de Inteligência Artificial da AWS e comparamos o desempenho entre ambas. De maneira resumida, alguns pontos para avaliar na hora de decidir qual abordagem utilizar são:

  • Agilidade: se precisamos de uma prova de conceito (PoC) ou implementar uma solução inicial como ponto de partida com menor investimento, utilizar um AI service pode ser uma ótima estratégia;
  • Personalização: se o problema for mais complexo, se desejarmos um algoritmo diferente, se precisamos realizar ajustes mais finos e otimizações, um modelo personalizado começa faz mais sentido;
  • Acesso à Internet: se o local não tiver acesso à Internet constante, como uma nova construção em local afastado ou uma operação offshore em uma plataforma ou em um navio, o uso de AI services, que são online, fica inviabilizado.