Este é um post convidado de autoria de Andrew Masek, engenheiro de software do The Barcode Registry e Erik Quisling, CEO do The Barcode Registry.
A falsificação de produtos é a maior empresa criminosa do mundo. Crescendo mais de 10,000% nas últimas duas décadas, as vendas de produtos falsificados agora totalizam US$ 1.7 trilhão por ano em todo o mundo, o que é mais do que drogas e tráfico de pessoas. Embora os métodos tradicionais de prevenção de falsificações, como códigos de barras exclusivos e verificação de produtos, possam ser muito eficazes, novas tecnologias de aprendizado de máquina (ML), como detecção de objetos, parecem muito promissoras. Com a detecção de objetos, agora você pode tirar uma foto de um produto e saber quase instantaneamente se esse produto provavelmente é legítimo ou fraudulento.
A Registro de código de barras (em conjunto com o seu parceiro Compreabarcode.com) é uma solução de serviço completo que ajuda os clientes a evitar fraudes e falsificações de produtos. Ele faz isso vendendo códigos de barras exclusivos registrados no GS1, verificando a propriedade do produto e registrando os produtos e códigos de barras dos usuários em um banco de dados abrangente. Sua oferta mais recente, que discutimos neste post, usa Amazon Sage Maker para criar modelos de detecção de objetos para ajudar a reconhecer instantaneamente produtos falsificados.
Visão geral da solução
Para usar esses modelos de detecção de objetos, primeiro você precisa coletar dados para treiná-los. As empresas carregam fotos anotadas de seus produtos para o Barcode Registry site do Network Development Group. Depois que esses dados forem carregados para Serviço de armazenamento simples da Amazon (Amazon S3) e processado por AWS Lambda funções, você pode usá-lo para treinar um modelo de detecção de objeto SageMaker. Esse modelo é hospedado em um endpoint SageMaker, onde o site o conecta ao usuário final.
Existem três etapas principais para criar o Barcode Registry usa para criar um modelo de detecção de objeto personalizado com o SageMaker:
- Crie um script de treinamento para executar o SageMaker.
- Crie um contêiner do Docker a partir do script de treinamento e carregue-o no Amazon ECR.
- Use o console do SageMaker para treinar um modelo com o algoritmo personalizado.
Informações do produto
Como pré-requisito para treinar um modelo de detecção de objetos, você precisará de uma conta da AWS e imagens de treinamento, consistindo em pelo menos 100 imagens de alta qualidade (alta resolução e em várias condições de iluminação) do seu objeto. Como em qualquer modelo de ML, dados de alta qualidade são fundamentais. Para treinar um modelo de detecção de objetos, precisamos de imagens contendo os produtos relevantes, bem como caixas delimitadoras descrevendo onde os produtos estão nas imagens, conforme mostrado no exemplo a seguir.
Para treinar um modelo eficaz, são necessárias fotos de cada um dos produtos de uma marca com diferentes planos de fundo e condições de iluminação - aproximadamente 30 a 100 imagens anotadas exclusivas para cada produto.
Depois que as imagens são carregadas no servidor web, elas são carregadas no Amazon S3 usando o SDK da AWS para PHP. Um evento do Lambda é acionado sempre que uma imagem é carregada. A função remove os metadados Exif das imagens, o que às vezes pode fazer com que eles apareçam girados quando são abertos pelas bibliotecas de ML usadas posteriormente para treinar o modelo. Os dados da caixa delimitadora associados são armazenados em arquivos JSON e carregados no Amazon S3 para acompanhar as imagens.
SageMaker para modelos de detecção de objetos
O SageMaker é um serviço de ML gerenciado que inclui uma variedade de ferramentas para criar, treinar e hospedar modelos na nuvem. Em particular, TheBarcodeRegistry usa o SageMaker para seu serviço de detecção de objetos devido aos serviços de hospedagem e treinamento de modelo de ML confiáveis e escaláveis do SageMaker. Isso significa que muitas marcas podem ter seus próprios modelos de detecção de objetos treinados e hospedados e, mesmo que o uso atinja picos imprevisíveis, não haverá tempo de inatividade.
O Barcode Registry usa contêineres personalizados do Docker carregados para Registro do Amazon Elastic Container (Amazon ECR) para ter um controle mais refinado do algoritmo de detecção de objetos empregado para treinamento e inferência, bem como suporte para Servidor de vários modelos (MMS). O MMS é muito importante para o caso de uso de detecção de falsificação porque permite que vários modelos de marcas sejam hospedados de maneira econômica no mesmo servidor. Alternativamente, você pode usar o built-in algoritmo de detecção de objeto para implantar rapidamente modelos padrão desenvolvidos pela AWS.
Treine um modelo de detecção de objetos personalizado com o SageMaker
Primeiro, você precisa adicionar seu algoritmo de detecção de objetos. Nesse caso, faça upload de um contêiner do Docker com scripts para treinar um modelo de detecção de objetos Yolov5 para o Amazon ECR:
- No console SageMaker, em Portátil no painel de navegação, escolha Instâncias de notebook.
- Escolha Crie uma instância de notebook.
- Insira um nome para a instância do notebook e em Permissões e criptografia escolha um Gerenciamento de acesso e identidade da AWS (IAM) com as permissões necessárias.
- Abra o Repositórios Git menu.
- Selecionar Clone um repositório Git público apenas para esta instância de notebook e cole o seguinte URL do repositório Git: https://github.com/portoaj/SageMakerObjectDetection
- Clique Criar instância de notebook e aguarde cerca de cinco minutos para que o status da instância seja atualizado de Pendente para Em serviço no Instância de notebook menu.
- Uma vez que o caderno Em serviço, selecione-o e clique Opções e Abra o Jupyter para iniciar a instância do notebook em uma nova guia.
- Selecione os Detecção de objeto SageMaker diretório e clique em
sagemakerobjectdetection.ipynb
para iniciar o notebook Jupyter. - Selecione os
conda_python3
núcleo e clique Definir Kernel. - Selecione a célula de código e defina o
aws_account_id
variável para o ID da sua conta da AWS. - Clique Execute para iniciar o processo de criação de um contêiner do Docker e carregá-lo no Amazon ECR. Esse processo pode levar cerca de 20 minutos para ser concluído.
- Depois que o contêiner do Docker for carregado, retorne ao Instâncias de notebook menu, selecione sua instância e clique em Opções e Dê um basta para encerrar sua instância de notebook.
Depois que o algoritmo é criado e enviado ao Amazon ECR, você pode usá-lo para treinar um modelo por meio do console do SageMaker.
- No console SageMaker, em Training no painel de navegação, escolha Trabalhos de treinamento.
- Escolha Criar trabalho de treinamento.
- Insira um nome para o trabalho e selecione o Gerenciamento de acesso e identidade da AWS (IAM) com as permissões necessárias.
- Escolha Fonte do algoritmo, selecione Seu próprio contêiner de algoritmo no ECR.
- Escolha Recipiente, insira o caminho do registro.
- Definir uma única instância ml.p2.xlarge na configuração do recurso deve ser suficiente para treinar um modelo Yolov5.
- Especifique os locais do Amazon S3 para seus dados de entrada e caminho de saída e quaisquer outras configurações, como configurar uma VPC via Nuvem virtual privada da Amazon (Amazon VPC) ou habilitar o treinamento de ponto gerenciado.
- Escolha Criar trabalho de treinamento.
Você pode acompanhar o progresso do treinamento do modelo no console do SageMaker.
Treinamento de modelo automatizado
O diagrama a seguir ilustra o fluxo de trabalho de treinamento de modelo automatizado:
Para fazer com que o SageMaker comece a treinar o modelo de detecção de objetos assim que um usuário terminar de carregar seus dados, o servidor web usa Gateway de API da Amazon para notificar uma função Lambda de que a marca terminou e iniciar um trabalho de treinamento.
Quando o modelo de uma marca é treinado com sucesso, Amazon Event Bridge chama uma função do Lambda que move o modelo treinado para o bucket do S3 do endpoint ativo, onde está finalmente pronto para inferência. Uma alternativa mais recente ao uso do Amazon EventBridge para mover modelos pelo ciclo de vida do MLOps que você deve considerar é Pipelines SageMaker.
Hospede o modelo para inferência
O diagrama a seguir ilustra o fluxo de trabalho de inferência:
Para usar os modelos treinados, o SageMaker requer que um modelo de inferência seja hospedado por um endpoint. O endpoint é o servidor ou matriz de servidores que são usados para hospedar o modelo de inferência. Semelhante ao contêiner de treinamento que criamos, um contêiner do Docker para inferência é hospedado no Amazon ECR. O modelo de inferência usa esse contêiner do Docker e pega a imagem de entrada que o usuário obteve com seu telefone, executa-a por meio do modelo de detecção de objeto treinado e gera o resultado.
Novamente, o Barcode Registry usa contêineres personalizados do Docker para o modelo de inferência para permitir o uso do Multi Model Server, mas se apenas um modelo for necessário, ele poderá ser facilmente hospedado por meio do algoritmo de detecção de objeto integrado.
Conclusão
O Barcode Registry (em conjunto com seu parceiro Buyabarcode.com) usa a AWS para todo o pipeline de detecção de objetos. O servidor web armazena dados de forma confiável no Amazon S3 e usa funções API Gateway e Lambda para conectar o servidor web à nuvem. O SageMaker treina e hospeda prontamente modelos de ML, o que significa que um usuário pode tirar uma foto de um produto em seu telefone e verificar se o produto é falsificado. Este post mostra como criar e hospedar um modelo de detecção de objetos usando o SageMaker, bem como automatizar o processo.
Nos testes, o modelo conseguiu atingir mais de 90% de precisão em um conjunto de treinamento de 62 imagens e um conjunto de teste de 32 imagens, o que é bastante impressionante para um modelo treinado sem qualquer intervenção humana. Para começar a treinar modelos de detecção de objetos, confira o site oficial documentação ou aprenda como implante um modelo de detecção de objetos na borda usando o AWS IoT Greengrass.
O conteúdo e as opiniões desta postagem são de responsabilidade do autor terceirizado e a AWS não é responsável pelo conteúdo ou precisão desta postagem.
Sobre os autores
André Masek, Engenheiro de Software na The Barcode Registry.
Erik Quisling, CEO da The Barcode Registry.
- Coinsmart. A melhor troca de Bitcoin e criptografia da Europa.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. ACESSO LIVRE.
- CryptoHawk. Radar Altcoin. Teste grátis.
- Fonte: https://aws.amazon.com/blogs/machine-learning/how-the-barcode-registry-detects-counterfeit-products-using-object-detection-and-amazon-sagemaker/
- "
- 000
- 10
- 100
- 7
- Sobre
- Acesso
- Conta
- algoritmo
- Apesar
- Amazon
- api
- Automatizado
- AWS
- fronteira
- Caixa
- marcas
- Prédio
- construídas em
- Causar
- Chefe executivo
- Na nuvem
- código
- coletar
- Empresas
- Configuração
- cônsul
- Recipiente
- Containers
- conteúdo
- ao controle
- Falsificação
- Criar
- Criminal
- personalizadas
- Clientes
- dados,
- banco de dados
- implantar
- Detecção
- desenvolvido
- diferente
- discutir
- Estivador
- down
- tempo de inatividade
- Drogas
- facilmente
- borda
- Eficaz
- permitindo
- Ponto final
- engenheiro
- Empreendimento
- Evento
- exemplo
- Finalmente
- Primeiro nome
- seguinte
- fraude
- função
- Git
- bens
- Crescente
- Locatário
- Visitante Mensagem
- ajudar
- ajuda
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTTPS
- humano
- Identidade
- imagem
- importante
- iot
- IT
- Trabalho
- Chave
- mais recente
- lançamento
- APRENDER
- aprendizagem
- locais
- máquina
- aprendizado de máquina
- gerenciados
- ML
- modelo
- modelos
- mais
- mover
- Navegação
- caderno
- oferecendo treinamento para distância
- oficial
- Opiniões
- ordem
- Outros
- propriedade
- parceiro
- fotografia
- bastante
- Prevenção
- privado
- processo
- Produto
- Produtos
- promissor
- público
- rapidamente
- reconhecer
- relevante
- repositório
- recurso
- responsável
- Execute
- vendas
- escalável
- Sdk
- serviço
- Serviços
- conjunto
- semelhante
- simples
- estalo
- Software
- Engenheiro de Software
- solução
- Spot
- começo
- começado
- Status
- armazenamento
- lojas
- entraram com sucesso
- ajuda
- Tecnologias
- ensaio
- o mundo
- De terceiros
- Através da
- tempo
- ferramentas
- pista
- tradicional
- Training
- trens
- único
- Atualizar
- usar
- Verificação
- Virtual
- esperar
- web
- servidor web
- Site
- sem
- mundo
- no mundo todo
- ano