Otimize perfis de animais de estimação para o aplicativo Petfinder da Purina usando rótulos personalizados do Amazon Rekognition e AWS Step Functions | Amazon Web Services

Otimize perfis de animais de estimação para o aplicativo Petfinder da Purina usando rótulos personalizados do Amazon Rekognition e AWS Step Functions | Amazon Web Services

A Purina US, uma subsidiária da Nestlé, tem uma longa história de permitir que as pessoas adotem animais de estimação com mais facilidade através de Localizador de animais de estimação, um mercado digital com mais de 11,000 abrigos de animais e grupos de resgate nos EUA, Canadá e México. Como plataforma líder de adoção de animais de estimação, o Petfinder ajudou milhões de animais de estimação a encontrar seus lares definitivos.

A Purina busca consistentemente maneiras de tornar a plataforma Petfinder ainda melhor para abrigos, grupos de resgate e adotantes de animais de estimação. Um desafio que enfrentaram foi refletir adequadamente a raça específica dos animais para adoção. Como muitos animais de abrigo são sem raça definida, identificar corretamente as raças e atributos no perfil do animal de estimação exigia esforço manual, o que consumia muito tempo. A Purina usou inteligência artificial (IA) e aprendizado de máquina (ML) para automatizar a detecção de raças animais em grande escala.

Esta postagem detalha como Purina usou Rótulos personalizados do Amazon Rekognition, Funções de etapa da AWSe outros serviços da AWS para criar um modelo de ML que detecte a raça do animal de estimação a partir de uma imagem carregada e, em seguida, use a previsão para preencher automaticamente os atributos do animal de estimação. A solução se concentra nos princípios fundamentais do desenvolvimento de um fluxo de trabalho de aplicativo de IA/ML de preparação de dados, treinamento de modelo, avaliação de modelo e monitoramento de modelo.

Visão geral da solução

A previsão de raças de animais a partir de uma imagem precisa de modelos de ML personalizados. O desenvolvimento de um modelo personalizado para analisar imagens é uma tarefa significativa que requer tempo, experiência e recursos, muitas vezes levando meses para ser concluída. Além disso, muitas vezes são necessários milhares ou dezenas de milhares de imagens rotuladas manualmente para fornecer ao modelo dados suficientes para tomar decisões com precisão. Configurar um fluxo de trabalho para auditar ou revisar previsões de modelos para validar a adesão aos seus requisitos pode aumentar ainda mais a complexidade geral.

Com o Rekognition Custom Labels, que se baseia nos recursos existentes do Reconhecimento da Amazônia, você poderá identificar os objetos e cenas em imagens específicas às suas necessidades de negócios. Já está treinado em dezenas de milhões de imagens em muitas categorias. Em vez de milhares de imagens, você pode fazer upload de um pequeno conjunto de imagens de treinamento (normalmente algumas centenas de imagens ou menos por categoria) específicas para seu caso de uso.

A solução utiliza os seguintes serviços:

  • Gateway de API da Amazon é um serviço totalmente gerenciado que facilita aos desenvolvedores publicar, manter, monitorar e proteger APIs em qualquer escala.
  • A Kit de desenvolvimento em nuvem da AWS (AWS CDK) é uma estrutura de desenvolvimento de software de código aberto para definir infraestrutura em nuvem como código com linguagens de programação modernas e implantá-la por meio de Formação da Nuvem AWS.
  • AWS CodeBuild é um serviço de integração contínua totalmente gerenciado na nuvem. O CodeBuild compila o código-fonte, executa testes e produz pacotes prontos para implantação.
  • Amazon DynamoDB é um serviço de banco de dados não relacional rápido e flexível para qualquer escala.
  • AWS Lambda é um serviço de computação orientado a eventos que permite executar código para praticamente qualquer tipo de aplicativo ou serviço de back-end sem provisionar ou gerenciar servidores.
  • Reconhecimento da Amazônia oferece recursos de visão computacional (CV) pré-treinados e personalizáveis ​​para extrair informações e insights de suas imagens e vídeos. Com Rótulos personalizados do Amazon Rekognition, você poderá identificar os objetos e cenas em imagens específicas às suas necessidades de negócios.
  • Funções de etapa da AWS é um serviço totalmente gerenciado que facilita a coordenação dos componentes de aplicativos distribuídos e microsserviços usando fluxos de trabalho visuais.
  • Gerente de Sistemas AWS é uma solução de gerenciamento segura de ponta a ponta para recursos na AWS e em ambientes multicloud e híbridos. Armazenamento de parâmetros, um recurso do Systems Manager, fornece armazenamento seguro e hierárquico para gerenciamento de dados de configuração e gerenciamento de segredos.

A solução da Purina é implantada como um Gateway de API HTTP endpoint, que roteia as solicitações para obter atributos de animais de estimação. Ele usa etiquetas personalizadas do Rekognition para prever a raça do animal de estimação. O modelo ML é treinado a partir de perfis de animais de estimação extraídos do banco de dados da Purina, assumindo que o rótulo da raça primária é o rótulo verdadeiro. DynamoDB é usado para armazenar os atributos do animal de estimação. Lambda é usado para processar a solicitação de atributos de animais de estimação orquestrando entre API Gateway, Amazon Rekognition e DynamoDB.

A arquitetura é implementada da seguinte forma:

  1. O aplicativo Petfinder roteia a solicitação para obter os atributos do animal de estimação por meio do API Gateway.
  2. O API Gateway chama a função Lambda para obter os atributos pet.
  3. A função Lambda chama o endpoint de inferência do Rekognition Custom Label para prever a raça do animal de estimação.
  4. A função Lambda usa as informações previstas da raça do animal de estimação para realizar uma pesquisa de atributos do animal de estimação na tabela do DynamoDB. Ele coleta os atributos do animal de estimação e os envia de volta ao aplicativo Petfinder.

O diagrama a seguir ilustra o fluxo de trabalho da solução.

Otimize perfis de animais de estimação para o aplicativo Petfinder da Purina usando rótulos personalizados do Amazon Rekognition e AWS Step Functions | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

A equipe Petfinder da Purina deseja uma solução automatizada que possa ser implantada com manutenção mínima. Para conseguir isso, usamos Step Functions para criar uma máquina de estado que treina os modelos com os dados mais recentes, verifica seu desempenho em um conjunto de benchmark e reimplanta os modelos se eles melhorarem. O retreinamento do modelo é acionado a partir do número de correções de raça feitas pelos usuários que enviam informações de perfil.

Treinamento de modelo

O desenvolvimento de um modelo personalizado para analisar imagens é uma tarefa significativa que requer tempo, experiência e recursos. Além disso, muitas vezes são necessários milhares ou dezenas de milhares de imagens rotuladas manualmente para fornecer ao modelo dados suficientes para tomar decisões com precisão. A geração desses dados pode levar meses para ser coletada e requer um grande esforço para rotulá-los para uso em aprendizado de máquina. Uma técnica chamada transferir aprendizado ajuda a produzir modelos de maior qualidade pegando emprestados os parâmetros de um modelo pré-treinado e permite que os modelos sejam treinados com menos imagens.

Nosso desafio é que nossos dados não estão perfeitamente rotulados: as pessoas que inserem os dados do perfil podem cometer erros e cometem. No entanto, descobrimos que, para amostras de dados suficientemente grandes, as imagens mal rotuladas representavam uma fração suficientemente pequena e o desempenho do modelo não foi afetado em mais de 2% na precisão.

Fluxo de trabalho de ML e máquina de estado

A máquina de estado Step Functions foi desenvolvida para auxiliar no retreinamento automático do modelo Amazon Rekognition. O feedback é coletado durante a entrada do perfil – cada vez que uma raça inferida a partir de uma imagem é modificada pelo usuário para uma raça diferente, a correção é registrada. Esta máquina de estado é acionada a partir de um número limite configurável de correções e dados adicionais.

A máquina de estado executa várias etapas para criar uma solução:

  1. Crie arquivos de manifesto de treinamento e teste contendo a lista de Serviço de armazenamento simples da Amazon (Amazon S3) caminhos de imagem e seus rótulos para uso pelo Amazon Rekognition.
  2. Crie um conjunto de dados do Amazon Rekognition usando os arquivos de manifesto.
  3. Treine uma versão do modelo do Amazon Rekognition após a criação do conjunto de dados.
  4. Inicie a versão do modelo quando o treinamento for concluído.
  5. Avalie o modelo e produza métricas de desempenho.
  6. Se as métricas de desempenho forem satisfatórias, atualize a versão do modelo no Parameter Store.
  7. Aguarde a propagação da nova versão do modelo nas funções Lambda (20 minutos) e interrompa o modelo anterior.

Avaliação de modelo

Usamos um conjunto de validação aleatório de 20% retirado de nossa amostra de dados para validar nosso modelo. Como as raças que detectamos são configuráveis, não usamos um conjunto de dados fixo para validação durante o treinamento, mas usamos um conjunto de avaliação rotulado manualmente para testes de integração. A sobreposição do conjunto rotulado manualmente e das raças detectáveis ​​do modelo é usada para calcular métricas. Se a precisão de detecção de raça do modelo estiver acima de um limite especificado, promovemos o modelo para ser usado no endpoint.

A seguir estão algumas capturas de tela do fluxo de trabalho de previsão de animais de estimação do Rekognition Custom Labels.

Otimize perfis de animais de estimação para o aplicativo Petfinder da Purina usando rótulos personalizados do Amazon Rekognition e AWS Step Functions | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Otimize perfis de animais de estimação para o aplicativo Petfinder da Purina usando rótulos personalizados do Amazon Rekognition e AWS Step Functions | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.

Implantação com o AWS CDK

A máquina de estado do Step Functions e a infraestrutura associada (incluindo funções Lambda, projetos CodeBuild e parâmetros do Systems Manager) são implantadas com o AWS CDK usando Python. O código AWS CDK sintetiza um modelo CloudFormation, que ele usa para implantar toda a infraestrutura da solução.

Integração com o aplicativo Petfinder

O aplicativo Petfinder acessa o endpoint de classificação de imagem por meio do endpoint do API Gateway usando uma solicitação POST contendo uma carga JSON com campos para o caminho do Amazon S3 para a imagem e o número de resultados a serem retornados.

KPIs a serem impactados

Para justificar o custo adicional de execução do endpoint de inferência de imagem, realizamos experimentos para determinar o valor que o endpoint agrega ao Petfinder. A utilização do endpoint oferece dois tipos principais de melhoria:

  • Esforço reduzido para abrigos de animais de estimação que estão criando perfis de animais de estimação
  • Perfis de animais de estimação mais completos, que deverão melhorar a relevância da pesquisa

As métricas para medir o esforço e a integridade do perfil incluem o número de campos preenchidos automaticamente que são corrigidos, o número total de campos preenchidos e o tempo para carregar um perfil de animal de estimação. As melhorias na relevância da pesquisa são inferidas indiretamente da medição dos principais indicadores de desempenho relacionados às taxas de adoção. Segundo Purina, depois que a solução entrou no ar, o tempo médio de criação do perfil do pet no aplicativo Petfinder foi reduzido de 7 minutos para 4 minutos. Isso é uma grande melhoria e uma economia de tempo porque em 2022 foram carregados 4 milhões de perfis de animais de estimação.

Segurança

Os dados que fluem através do diagrama de arquitetura são criptografados em trânsito e em repouso, de acordo com o Práticas recomendadas do AWS Well-Architected. Durante todos os compromissos da AWS, um especialista em segurança analisa a solução para garantir que uma implementação segura seja fornecida.

Conclusão

Com sua solução baseada em Etiquetas Personalizadas Rekognition, a equipe Petfinder é capaz de acelerar a criação de perfis de animais de estimação para abrigos de animais de estimação, reduzindo a carga administrativa sobre o pessoal do abrigo. A implantação baseada no AWS CDK implanta um fluxo de trabalho do Step Functions para automatizar o processo de treinamento e implantação. Para começar a usar rótulos personalizados do Rekognition, consulte Primeiros passos com rótulos personalizados Amazon Rekognition. Você também pode conferir alguns Exemplos de funções de etapa e comece a usar o AWS CDK.


Sobre os autores

Otimize perfis de animais de estimação para o aplicativo Petfinder da Purina usando rótulos personalizados do Amazon Rekognition e AWS Step Functions | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Mason Cahill é consultor sênior de DevOps da AWS Professional Services. Ele gosta de ajudar as organizações a atingirem seus objetivos de negócios e é apaixonado por criar e fornecer soluções automatizadas na Nuvem AWS. Fora do trabalho, ele adora passar tempo com a família, fazer caminhadas e jogar futebol.

Otimize perfis de animais de estimação para o aplicativo Petfinder da Purina usando rótulos personalizados do Amazon Rekognition e AWS Step Functions | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Matheus Chasse é consultor de ciência de dados na Amazon Web Services, onde ajuda clientes a criar soluções escaláveis ​​de aprendizado de máquina. Matthew tem doutorado em matemática e gosta de escalada e música em seu tempo livre.

Otimize perfis de animais de estimação para o aplicativo Petfinder da Purina usando rótulos personalizados do Amazon Rekognition e AWS Step Functions | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Rushikesh Jagtap é arquiteto de soluções com mais de 5 anos de experiência em serviços AWS Analytics. Ele é apaixonado por ajudar os clientes a criar soluções de análise de dados modernas e escalonáveis ​​para obter insights a partir dos dados. Fora do trabalho, ele adora assistir Fórmula 1, jogar badminton e correr de kart.

Otimize perfis de animais de estimação para o aplicativo Petfinder da Purina usando rótulos personalizados do Amazon Rekognition e AWS Step Functions | Inteligência de dados PlatoBlockchain da Amazon Web Services. Pesquisa vertical. Ai.Tayo Olajide é um generalista experiente em engenharia de dados em nuvem, com mais de uma década de experiência na arquitetura e implementação de soluções de dados em ambientes em nuvem. Com paixão por transformar dados brutos em insights valiosos, Tayo desempenhou um papel fundamental no projeto e na otimização de pipelines de dados para vários setores, incluindo finanças, saúde e automóveis. Como líder inovador na área, Tayo acredita que o poder dos dados reside na sua capacidade de impulsionar a tomada de decisões informadas e está empenhado em ajudar as empresas a aproveitar todo o potencial dos seus dados na era da nuvem. Quando ele não está elaborando pipelines de dados, você pode encontrar Tayo explorando as últimas tendências em tecnologia, caminhando ao ar livre ou mexendo em dispositivos e software.

Carimbo de hora:

Mais de Aprendizado de máquina da AWS