Manufaturação industrial
Internet das coisas industrial | Materiais industriais | Manutenção e reparo de equipamentos | Programação industrial |
home  MfgRobots >> Manufaturação industrial >  >> Manufacturing Technology >> Processo de manufatura

Demonstrações do Machine Learning reTerminal (Edge Impulse e Arm NN)


8 GB de RAM Placa de desenvolvimento eMMC Raspberry Pi CM de 32 GB com tela sensível ao toque e muitas interfaces.

História


Os últimos artigos que publiquei foram sobre TinyML com Wio Terminal - uma placa de desenvolvimento baseada em Cortex M4F com uma tela LCD em uma caixa de plástico resistente. Visto de estúdio, a empresa fez Wio Terminal decidiu levar esta ideia um passo adiante e anunciou recentemente reTerminal - uma placa de desenvolvimento baseada em Módulo de Computa Raspberry Pi 4 com uma tela LCD em caixa de plástico resistente.

Peguei um dos reTerminais e fiz um breve vídeo de unboxing, que também incluiu algumas demos e uma explicação de possíveis casos de uso para o dispositivo. O artigo é um suplemento para o vídeo, expandindo sobre como configurar o ambiente e executar as demonstrações de aprendizado de máquina.

Especificações


O reTerminal é alimentado por um Raspberry Pi Compute Module 4 (CM4) com CPU Quad-core Cortex-A72 rodando a 1,5 GHz. A versão do módulo CM4 usada para o reTerminal tem 4 Gb de RAM e 32 Gb de armazenamento eMMC, o que reduz o tempo de inicialização e oferece uma experiência geral mais suave do usuário. Em termos de periféricos, há uma tela multitoque capacitiva IPS de 5 polegadas com resolução de 1280 x 720, acelerômetro, módulo RTC, campainha, 4 botões, 4 LEDs e um sensor de luz. E para conectividade, a nova placa tem banda dupla de 2,4 GHz / 5 GHz Wi-Fi e Bluetooth 5.0 BLE, além de porta Gigabit Ethernet na lateral.

O reTerminal pode ser alimentado pela mesma fonte de alimentação usada para Raspberry Pi 4, 5V2A, no entanto, na descrição oficial a fonte de alimentação 4A é recomendada, especialmente quando você conecta mais periféricos. Para as demonstrações, usei uma fonte de alimentação de parede 5V2A de empresa desconhecida comum e não recebi aviso de subtensão. Posto isto, em caso de dúvida, use 5V4A.

Por padrão, os reTerminais são fornecidos com o sistema operacional Raspbian de 32 bits pré-instalado, com drivers de dispositivos instalados. No entanto, como para aplicativos de aprendizado de máquina, um sistema operacional de 64 bits pode dar um impulso significativo, o Seeed studio também fornecerá uma versão de 64 bits da imagem do sistema operacional Raspbian com drivers específicos do reTerminal pré-instalados.

Teclado de tela integrado e uma demonstração simples de QT5 também estão incluídos. A tela sensível ao toque é responsiva, mas como o Raspbian OS não é um sistema operacional móvel e não está otimizado para telas sensíveis ao toque, às vezes pode ser um pouco problemático pressionar elementos de interface do usuário menores. Ter uma caneta ajuda muito.

O teclado integrado na tela aparece quando você precisa digitar o texto e desaparece depois disso. Você pode modificar esse comportamento nas configurações. Portanto, é possível usar o reTerminal como Raspberry Pi portátil, embora para isso você possa querer dar uma olhada em outro sistema operacional, por exemplo Ubuntu touch, que funciona com Raspberry Pi 4, mas atualmente está em fase de desenvolvimento beta e altamente experimental. O principal caso de uso do reTerminal é a exibição de interfaces de usuário feitas com QT, LVGL ou Flutter. Vamos lançar um aplicativo QT de amostra, que mostra especificações e parâmetros do dispositivo, dados de sensores e placa de controle de exemplo para uma fábrica imaginária. Quando os elementos da interface são grandes, a tela de toque é muito agradável de usar.

Detecção de objeto Edge Impulse


Usaremos o recurso mais recente da plataforma de desenvolvimento Edge Impulse, o suporte à implantação do Linux. Podemos treinar facilmente um modelo de detecção de objeto coletando amostras com a câmera conectada ao reTerminal, treinar na nuvem e fazer o download e executar automaticamente o modelo treinado com edge-boost-linux-runner.

O procedimento de instalação do Edge Impulse CLI é descrito na documentação. Tudo se resume a algumas etapas simples:
 curl -sL https://deb.nodesource.com/setup_12.x | sudo bash - 
sudo apt install -y gcc g ++ make build-essential nodejs sox gstreamer1.0-tools gstreamer1.0-plugins-good gstreamer1.0-plugins-base gstreamer1.0-plugins-base-apps
npm config definir usuário root &&sudo npm install edge-boost-linux -g --unsafe-perm

Depois O Edge Impulse CLI está instalado, certifique-se de ter a câmera conectada - eu usei uma câmera da Web USB simples, se você usa uma câmera Raspberry Pi, lembre-se de habilitá-la na configuração do raspi.

Antes de começar a coletar os dados para detecção de objetos, certifique-se de que em Dashboard em ‘Informações do projeto> Método de rotulagem’ ‘Caixas delimitadoras (detecção de objeto)’ está selecionado.

Tire pelo menos 100 imagens para cada classe que deseja reconhecer. Atualmente você pode carregar suas próprias imagens, pressionando Mostrar opções - Carregar dados na guia Aquisição de dados. Mas ainda não é possível fazer upload das anotações das caixas delimitadoras, então as imagens que você enviar ainda precisarão ser etiquetadas manualmente. Depois que você tiver imagens suficientes anotadas, vá para Criar Impulso, escolha Imagem para bloco de processamento e Detecção de Objeto (Imagens) para bloco de Aprendizagem.

A quantidade de imagens que um usuário pode coletar e anotar não é suficiente para treinar uma grande rede do zero, é por isso que ajustamos um modelo pré-treinado para detectar novas classes de objetos. Na maioria dos casos, você pode deixar os valores padrão para o número de épocas, taxa de aprendizagem e confiança. Para detecção de objetos, um código personalizado é usado, portanto, não podemos ajustá-lo no modo Especialista, pois é possível com modelos mais simples.

O treinamento é feito na CPU, por isso leva um pouco de tempo, dependendo do número de imagens em seu conjunto de dados. Tome uma xícara de sua bebida favorita, enquanto faz isso.

Uma das melhores coisas sobre o suporte recém-adicionado do Linux para Edge Impulse é o edge-impulso-linux-runner. Quando o treinamento do modelo for concluído e você estiver satisfeito com a precisão do conjunto de dados de validação (que é automaticamente dividido dos dados de treinamento), você pode testar o modelo na classificação Live e, em seguida, implantá-lo no dispositivo. Neste caso, é tão simples quanto executar
 edge-impulso-linux-runner 

no terminal. O modelo será baixado e preparado automaticamente, então o resultado da inferência será exibido no navegador, você verá uma linha em seu terminal, semelhante a:

Quer ver um feed da câmera e a classificação ao vivo em seu navegador? Vá para http://192.168.1.19:4912

Clique no link em seu terminal para ver a exibição ao vivo da câmera.

O modelo de backbone usado para a aprendizagem por transferência é o SSD MobileNetv2 e é bastante grande, portanto, mesmo com todas as otimizações, obtemos cerca de 2 FPS ou ~ 400 ms. para um quadro - o stream de vídeo parece bastante responsivo, mas isso porque a inferência não é realizada em todos os quadros, você pode ver claramente que se você detectar um objeto e ele desaparecer da imagem, a caixa delimitadora para ele permanece por algum tempo . Como o suporte ao Linux é um recurso muito novo no Edge Impulse, tenho certeza que receberá muitas melhorias em um futuro próximo, permitindo inferência e upload mais rápidos de dados anotados pelo usuário.

ARM NN Accelerated Inference


Embora saibamos que Raspberry Pi 4 não é a melhor placa para inferência de aprendizado de máquina, uma vez que não tem nenhum acelerador de hardware para isso, ainda podemos alcançar velocidade de inferência maior do que em tempo real por

a) usando o modo menor

b) certificando-se de utilizar todos os 4 núcleos e instruções Single Instruction Multiple Data (SIMD), onde vários elementos de processamento no pipeline executam operações em vários pontos de dados simultaneamente, disponíveis com extensão de arquitetura de otimização Neon para processadores Arm.

Fonte: Demonstrações de aprendizado de máquina reTerminal (Edge Impulse e Arm NN)

Processo de manufatura

  1. A Cadeia de Suprimentos e o Aprendizado de Máquina
  2. ADLINK:AI multiacesso montada em poste e solução de aprendizado de máquina
  3. Comunicação MQTT entre NodeMCU e Raspberry Pi 3 B +
  4. Sensor de temperatura Python e Raspberry Pi
  5. Temperatura do Raspberry Pi e sensor de luz
  6. Sensor Raspberry Pi e controle do atuador
  7. Aumentando a confiabilidade e melhorando os resultados da manutenção com aprendizado de máquina
  8. NXP duplica o aprendizado de máquina no limite
  9. O Procurement deve temer ou dar boas-vindas à IA e à tecnologia de aprendizado de máquina?
  10. AWS fortalece suas ofertas de IA e aprendizado de máquina