Faça login para adicionar itens aos seus favoritos.

Machine Learning em Microcontroladores – Introdução

Introdução

A Inteligência Artificial (IA) e o Aprendizado de Máquina (Machine Learning – ML) estão transformando a nossa realidade, desde a automação de tarefas até a personalização de experiências em tempo real. Tradicionalmente, a maior parte dos modelos de IA e ML opera em servidores robustos, devido à elevada demanda por recursos computacionais e energéticos. No entanto, hoje já é possível rodar ML em outros dispositivos com menor capacidade. 

Em 2014, Pete Warden, um dos criadores do TensorFlow e TensorFlow Lite, ao ingressar no Google, se deparou com uma aplicação nova. A equipe por trás do “OK Google” utilizava redes neurais extremamente pequenas (14 KB) em processadores de sinal digital (DSPs) de smartphones Android para detectar as palavras de ativação, exigindo baixo consumo de energia e memória. Essa descoberta despertou em Warden a ideia de explorar o uso de chips de baixo consumo para rodar modelos de aprendizado de máquina.

Essa ideia foi um dos fatores que impulsionou o desenvolvimento do TensorFlow Lite, uma versão otimizada do TensorFlow, projetada para rodar modelos de ML em dispositivos com recursos limitados, como smartphones e microcontroladores. Assim, tornou-se possível executar redes neurais com eficiência, mesmo em dispositivos que operam com pouca energia e memória, abrindo portas para o uso de machine learning em microcontroladores.

Principais Características 

  • Baixo Consumo de Energia – aproximadamente 1 mW.
  • Uso de Memória Limitada – modelos de machine learning compactos e otimizados.
  • Capacidade de Processamento Reduzida – operações de machine learning, como a inferência em redes neurais, precisam ser simplificadas.

Aplicações

  • Manutenção preditiva: Machine Learning em Microcontroladores pode ajudar fabricantes a reduzir o tempo de inatividade, prevendo falhas de equipamentos e notificando os trabalhadores quando a manutenção preventiva é necessária, com base no monitoramento contínuo do estado das máquinas.
  • Agricultura inteligente: Wearables em animais de fazenda podem monitorar sinais vitais, como frequência cardíaca e temperatura, ajudando os fazendeiros a antecipar doenças e surtos, evitando grandes prejuízos.
  • Gestão de tráfego: Sensores de tráfego em tempo real, com suporte de TinyML, permitem um roteamento mais eficiente, aumentando a segurança, reduzindo congestionamentos e diminuindo a poluição.

Fluxo de Trabalho de um Projeto de Machine Learning em Microcontroladores

O fluxo está dividido nas seguintes 4 etapas principais:

Embarcados Experience 2024: Evento Presencial

Participe do Embarcados Experience 2024 em São Paulo. Conhecimento técnico, palestras, workshops e oportunidade de networking com profissionais experientes.

Inscreva-se agora

  1. Coleta de dados: Captura de dados brutos do ambiente por meio de sensores conectados ao microcontrolador, como acelerômetros, sensores de temperatura, microfone. Esses dados podem ser armazenados localmente no dispositivo, enviados para um servidor ou coletados diretamente em uma ferramenta como o Edge Impulse. A qualidade dos dados é o que define o sucesso do modelo, é preciso que eles sejam bem rotulados e balanceados. 
  1. Treinamento de modelos: Após a coleta dos dados, é necessário realizar o pré-processamento, onde os dados brutos são limpos, normalizados ou transformados em um formato adequado para o treinamento do modelo. O treinamento em si ocorre geralmente em um servidor ou computador de alta performance, e não no microcontrolador. Durante essa fase, modelos como redes neurais, classificadores ou regressões são criados e ajustados com base nos dados coletados.
  1. Conversão do modelo para o formato TensorFlow Lite (TFLite): Depois que o modelo é treinado, ele precisa ser convertido para um formato mais leve e eficiente, adequado para microcontroladores. Isso é feito utilizando o TensorFlow Lite Converter, que transforma o modelo em um arquivo .tflite.
  1. Implantação do modelo no microcontrolador: Após a conversão, o arquivo .tflite é carregado no microcontrolador. Plataformas como o TensorFlow Lite for Microcontrollers e Arduino IDE fornecem bibliotecas que permitem a execução do modelo diretamente no microcontrolador. O código que executa o modelo deve estar preparado para interpretar as entradas dos sensores, processar os dados e usar o modelo para realizar predições em tempo real. 

Testes e ajustes são necessários para garantir que o modelo funcione corretamente no ambiente real e com as limitações de hardware do microcontrolador.

Plataformas e Ferramentas de Desenvolvimento

Hoje, as principais placas utilizadas em projetos de ML com microcontroladores são: 

Machine Learning em Microcontroladores

Dica de Leitura

Livro “Machine Learning with TensorFlow Lite on Arduino and Ultra-Low-Power  Microcontrollers” por Pete Warden e Daniel Situnayake.

Machine Learning em Microcontroladores

Conclusão

O avanço do Machine Learning em microcontroladores está abrindo novas possibilidades em diversas áreas, permitindo que dispositivos com menor capacidade realizem tarefas antes limitadas a sistemas mais poderosos. Com ferramentas como o TensorFlow Lite e plataformas como o Edge Impulse, ficou mais simples implementar modelos de aprendizado de máquina em microcontroladores. 

Esse é o primeiro artigo da série, onde vamos desenvolver projetos práticos de Machine Learning utilizando a placa Franzininho WiFi. Acompanhem para aprender mais sobre como implementar TinyML e explorar suas aplicações em dispositivos embarcados!

Outros artigos da série

Machine Learning na Franzininho WiFi: Inferência de Temperatura e Umidade (Parte 1) >>
Licença Creative Commons Esta obra está licenciada com uma Licença Creative Commons Atribuição-CompartilhaIgual 4.0 Internacional.
Comentários:
Notificações
Notificar
1 Comentário
recentes
antigos mais votados
Inline Feedbacks
View all comments
Daniel Quadros
Membro
03/10/2024 12:07

Curtindo muito esta série de artigos!

Home » Software » Machine Learning em Microcontroladores – Introdução

EM DESTAQUE

WEBINARS

LEIA TAMBÉM

JUNTE-SE HOJE À COMUNIDADE EMBARCADOS

Talvez você goste:


Seminário de
Sistemas Embarcados e IoT 2024
 
Data: 25/06 | Local: Hotel Holiday Inn Anhembi, São Paulo-SP
 
GARANTA SEU INGRESSO

 
close-link
Webinar gratuito dia 25/09 | Espaços Conectados – A Base da Inteligência na Automação Residencial
QUERO PARTICIPAR
close-image
Webinar gratuito dia 01/10 | Design de Chips: Da Ideia à Fabricação
QUERO PARTICIPAR
close-image
Webinar gratuito dia 17/10 | Exemplos de aplicações de conexões modulares híbridas de alta performance em data connectivity
QUERO PARTICIPAR
close-image