Como construir um sistema de classificação com aprendizagem profunda por menos de US$ 600

Introdução

A aprendizagem profunda está prestes a mudar completamente o panorama da visão de máquina. Ela está possibilitando novas aplicações e mexendo com mercados estabelecidos. Como gerente de produto da FLIR, tenho o privilégio de visitar empresas de diversos setores. Todas as empresas que visitei este ano estão trabalhando em aprendizagem profunda. Nunca foi tão fácil começar, mas por onde você começa? Este artigo fornecerá uma estrutura simples para construir um sistema de inferência de aprendizagem profunda por menos de US$ 600.

O que é inferência de aprendizagem profunda?

É o uso de uma rede neural treinada em aprendizagem profunda para fazer previsões sobre novos dados. A inferência é muito melhor em responder questões complexas e subjetivas do que a tradicional análise de imagens baseada em regras. Ao otimizar redes para rodar em hardwares de baixa potência, a inferência pode ser executada “na borda”, perto da fonte de dados. Isso elimina a dependência do sistema em relação a um servidor central para análise de imagens, levando a uma menor latência, maior confiabilidade e segurança aprimorada. 

Seleção do hardware

O objetivo deste guia é criar um sistema confiável e de alta qualidade para implementação em campo. Embora esteja além do escopo deste guia, a combinação de técnicas tradicionais de visão computacional com a inferência de aprendizagem profunda pode fornecer alta precisão e eficiência computacional ao aproveitar os pontos fortes de cada abordagem. O computador de placa única Aaeon UP Squared-Celeron-4GB-32GB possui a memória e a potência de CPU necessárias para essa abordagem. Sua CPU Intel X64 executa o mesmo software dos desktops tradicionais, simplificando o desenvolvimento em comparação com os computadores de placa única (SBCs) baseados em ARM.

O código que permite a inferência de aprendizagem profunda usa a lógica de ramificação; um hardware dedicado pode acelerar consideravelmente a execução desse código. A Unidade de Processamento de Visão (VPU) Intel® Movidius™ Myriad™ 2 é um acelerador de inferência muito poderoso e eficiente, que foi integrado em nossa nova câmera de inferência, a Firefly DL.

Peça

Número da peça

Preço [US$]

Câmera de inferência, a Firefly DL.

FFY-U3-16S2M-DL

299

Computador de placa única

UP Squared-Celeron-4GB-32GB-PACK

239

Cabo USB 3 de 3 m

ACC-01-2300

10

Lente

ACC-01-4000

10

Software

Ubuntu 16.04/18.04, TensorFlow, Intel NCSDK, FLIR Spinnaker SDK

0

 

Total US$ 558

 

Requisitos de software

Existem muitas ferramentas gratuitas disponíveis para construção, treinamento e implementação de modelos de inferência de aprendizagem profunda. Este projeto usa uma variedade de softwares livres e de código aberto. As instruções de instalação para cada pacote de software estão disponíveis em seus respectivos sites. Este guia pressupõe que você esteja familiarizado com os conceitos básicos do console Linux

Coletar dados de treinamento

Treinar rede (aumento opcional)

Avaliar desempenho

Converter para o formato de gráfico Movidius

Implementar na Firefly DL

Executar inferência nas imagens capturadas  

Fig. 1. Fluxo de trabalho de inferência de aprendizagem profunda e as ferramentas associadas para cada etapa.

Guia detalhado

Getting Started with Firefly Deep Learning on Linux oferece uma introdução sobre como retreinar uma rede neural, converter o arquivo resultante em um formato compatível com a firefly e exibir os resultados usando o SpinView. Os usuários recebem um passo a passo de como treinar e converter redes de inferência por conta própria pelo terminal.

Artigos Relacionados

Neural Networks Supported by the Firefly Deep Learning mostra quais redes neurais foram testadas e funcionam com a Firefly-DL. 

Tips on creating Training Data for Deep Learning Neural Networks analisa a criação de uma rede neural de aprendizagem profunda eficiente por meio da criação de dados de treinamento de alta qualidade para um certo aplicativo.

Troubleshooting neural network graph conversion issues 

oferece dicas úteis sobre problemas que podem ocorrer ao converter arquivos de rede de inferência para o formato compatível com a Firefly e como resolvê-los.