Ir para o conteúdo do rodapé
FERRAMENTAS DE CóDIGO DE BARRAS

Aprendizado de máquina com código QR: um tutorial para desenvolvedores

Códigos de Resposta Rápida (QR) tornaram-se uma parte integrante da sociedade moderna, revolucionando a maneira como a informação é compartilhada e acessada. Esses códigos de barras bidimensionais consistem em uma matriz de quadrados pretos e brancos que podem ser escaneados usando a câmera de um smartphone para recuperar rapidamente informações armazenadas, como URLs, dados de contato, URLs de sites, detalhes de produtos, entre outros. No entanto, à medida que a tecnologia evolui, também evoluem as capacidades dos códigos QR. Machine Learning (ML) emergiu como uma ferramenta poderosa para aprimorar os processos de geração, reconhecimento e decodificação de códigos QR, levando a experiências de usuário melhoradas e maior funcionalidade.

O mundo da troca de informações e dados foi transformado pelo uso generalizado de códigos QR e códigos de barra. Esses códigos bidimensionais fornecem acesso rápido ao conteúdo digital e servem a vários propósitos em diferentes indústrias. No entanto, distinguir entre códigos QR e códigos de barras pode ser desafiador, especialmente ao lidar com uma ampla gama de códigos. Usando o poder do Aprendizado de Máquina (ML) e o framework .NET/C#, os desenvolvedores podem criar um sistema inteligente que classifica com precisão códigos QR e códigos de barras, simplificando o processamento de dados e melhorando as experiências dos usuários. Integrar as capacidades de decodificação do IronBarcode melhora ainda mais a solução, permitindo a extração precisa de conteúdo dos códigos reconhecidos.

Neste artigo, treinaremos o modelo que classificará a entrada dada como Código de Barras ou Código QR, e depois disso, decodificaremos o código de entrada usando o IronBarcode.

Usando o Model Builder do ML.NET para Classificação de Códigos QR

Model Builder, uma ferramenta integrada no Visual Studio, simplifica o processo de construção de modelos de Aprendizado de Máquina ao fornecer uma interface intuitiva. Usaremos o Model Builder para criar um modelo de classificação que distingue entre códigos QR e códigos de barras. Uma vez concluída a classificação, integraremos o IronBarcode para decodificar os códigos reconhecidos.

Passo 1: Coleta de Dados

O primeiro passo para treinar qualquer modelo é a coleta de dados. Precisamos de dados para treinar o Modelo. Baixei dados de Kaggle. Você pode baixá-los de qualquer fonte, conforme sua preferência. Após baixar o conjunto de dados, crie um diretório principal e coloque ambos os conjuntos de dados dentro desse diretório. Os dados estão organizados em dois subdiretórios:

  1. Códigos de Barras
  2. Códigos QR

Código QR Aprendizado de Máquina (Tutorial para Desenvolvedores): Figura 1

O próximo passo é abrir o Visual Studio e criar um novo Modelo de Aprendizado de Máquina.

Passo 2: Criar Projeto no Visual Studio e Adicionar um novo Modelo de Aprendizado de Máquina

Crie seu Projeto no Visual Studio. O projeto pode ser de qualquer tipo, como ASP.NET Web API, ASP.NET MVC, WEB Forms ou uma aplicação de console. Neste exemplo, estou usando uma aplicação de console. Clique com o botão direito no Projeto no Solution Explorer. Selecione Adicionar > Modelo de Aprendizado de Máquina conforme mostrado abaixo.

Código QR Aprendizado de Máquina (Tutorial para Desenvolvedores): Figura 2

Dê nome ao seu modelo de aprendizado de máquina e clique no botão Adicionar.

Código QR Aprendizado de Máquina (Tutorial para Desenvolvedores): Figura 3

Passo 3: Selecionar Cenário

Uma nova janela aparecerá após adicionar o arquivo de modelo de aprendizado de máquina. Role para baixo e selecione Classificação de Imagem. Classificação de Imagem é uma das técnicas de visão computacional que usaremos neste tutorial. Estamos selecionando Classificação de Imagem em vez de Reconhecimento de Imagem, pois apenas precisamos diferenciar entre Código de Resposta Rápida (Código QR) e Código de Barras, não precisamos reconhecê-los a partir de uma imagem dada.

Código QR Aprendizado de Máquina (Tutorial para Desenvolvedores): Figura 4

Passo 4: Selecionar Ambiente

O próximo passo após selecionar um cenário é escolher o ambiente. Podemos escolher ou nosso sistema local para treinar o modelo ou o Azure Cloud. Devemos ter uma assinatura ativa do Azure para usar o Azure como nosso ambiente.

Passo 5: Selecionar Dados

Neste passo, precisamos passar os dados que coletamos antes no passo #1. Já organizamos os dados em subcategorias no passo #1 conforme necessário pelo Model Builder.

Forneça o caminho do diretório principal do seu conjunto de dados na opção Selecionar Pasta. Podemos pré-visualizar nossos dados como mostrado abaixo.

Código QR Aprendizado de Máquina (Tutorial para Desenvolvedores): Figura 5

Também podemos visualizar a pasta de Códigos QR clicando na guia de códigos QR na pré-visualização de dados.

Código QR Aprendizado de Máquina (Tutorial para Desenvolvedores): Figura 6

Após selecionar os dados, clique no botão Avançar, isto o levará para a tela de treinamento.

Passo 6: Treinar o Modelo

Clique em Iniciar Treinamento do Modelo, e ele começará a treinar como mostrado abaixo. Certifique-se de que o Visual Studio não esteja aberto no Modo de Administrador, caso contrário, ocorrerá um erro.

Código QR Aprendizado de Máquina (Tutorial para Desenvolvedores): Figura 7

Ele começará o treinamento e levará tempo. A duração do treinamento variará dependendo das capacidades do sistema. O Model Builder usa AutoML. Ele usará automaticamente técnicas adequadas de aprendizado de máquina, nível de correção de erros, reconhecer padrões, redução de ruído, ajuste de contraste, processo de aprendizado e outras configurações conforme necessário.

Etapa 7: Avaliação do Modelo

Após o treinamento, avalie o desempenho do modelo passando os dados de teste para garantir a classificação precisa.

Etapa 8: Consumir Modelo

Assim que o modelo estiver treinado e avaliado, podemos exportá-lo e consumi-lo. No nosso caso de uso, temos que classificar o Código QR do Código de Barras e, em seguida, ler seus dados codificados. Precisamos de uma biblioteca de terceiros para decodificar dados, uma vez que o modelo de aprendizado de máquina não pode decodificar o código QR ou código de barras, ele apenas irá classificá-lo.

IronBarcode é uma biblioteca ideal para decodificar tanto Código QR quanto Código de Barras. Podemos decodificar ambos os tipos de códigos usando uma única biblioteca de forma simples. Vamos ter uma breve introdução sobre IronBarcode antes de prosseguir.

Curtis Chau
Redator Técnico

Curtis Chau é bacharel em Ciência da Computação (Universidade Carleton) e se especializa em desenvolvimento front-end, com experiência em Node.js, TypeScript, JavaScript e React. Apaixonado por criar interfaces de usuário intuitivas e esteticamente agradáveis, Curtis gosta de trabalhar com frameworks modernos e criar manuais ...

Leia mais

Iron Support Team

We're online 24 hours, 5 days a week.
Chat
Email
Call Me