Back To Top

Machine Learning embarcado e as dificuldades do Edge Computing

Inteligência na borda e porque é complexo processar grandes volumes em pequenos hardwares

Desde os anos 60 a humanidade vem tentando embarcar tecnologia em todo o tipo de máquina e operação do nosso dia-a-dia. Desde então surgiu o conceito de embarcado, um sistema de Hardware e Software que é capaz de realizar operações lógicas, interagir, obter dados e atuar no meio em que estão instalados (máquina, veículo, roupa e etc..).

Lá pela década de 80 surgiram as primeiras aplicações dos conceitos desenvolvidos ainda no pós-guerra para Inteligência Artificial e o aprendizado de máquina. Entretanto, neste período a disponibilidade de poder computacional erra muito pequena. Até o começo da década de 90 era praticamente impossível, mesmo em servidores de grande escala, convergir qualquer algoritmo de Machine Learning complexo. Sendo assim, os estatísticos e matemáticos aplicados passaram muito anos refinando métodos matemáticos baseados em regressões e planos geométricos de forma a otimizar o uso de processamento para qualquer tipo de tarefa de alta taxa de abstração.

Após a rápida disponibilidade de poder de processamento nos anos 2000 foi possível começar a treinar sistemas cada vez mais complexos e principalmente funcionais. Desde então, soluções idealizadas a mais de 20 ou 30 anos vem tomando forma por meio de algoritmos de Machine Learning (e Deep Learning), cada vez mais robustos e vorazes por poder de processamento.

Com todo esse ciclo histórico, não levou muito tempo para que fosse necessário que incluíssemos soluções de machine learning, em pequenos hardwares embarcados. Aqui na Deal, a mais ou menos 6 meses tivemos a ideia de desenvolver uma Vitrine Inteligente e como o Colab é um laboratório de inovação, claramente não poderíamos deixar de pensar em um hardware embarcado que pudesse realizar com baixa disponibilidade de hardware e em um espaço bastante reduzido todo o processamento de visão computacional, para detecção das faces que passam em frente ao nosso produto.

Isso definiria então, nossa ideia de abraçar o Edge Computing, que podemos definir como a capacidade de realizar o processamento e obter informação útil ou até tomar decisões lá na ponta, no hardware aplicado, não dependendo de servidores externos e processamento distante do ponto de aplicação para poder realizar as tarefas esperadas.

O primeiro aspecto para definir nossa estratégia de trabalho, foi realizar testes com diversos métodos e algoritmos de detecção facial até achar aquele que nos atendia de forma completa. Precisávamos de uma solução que pudesse detectar múltiplas faces, a distâncias variadas e com grande velocidade.

Exemplo de HOG filter

Um dos maiores desafios dentro da nossa proposta era poder exibir a imagem detectada com fluidez para o cliente em frente a vitrine, sem apresentar engasgos e com taxa de quadros condizente com a visão humana regular (pelo menos 23 quadros por segundo). Era preciso, portanto, que cada detecção levasse menos de 1/23 de segundo. Após a escolha do tipo de algoritmo a ser usado, baseado em filtros HOG e sem a utilização de redes neurais (mais rápido e bastante preciso), pudemos começar a procurar o hardware compatível. Nesta fase de projeto já havíamos testado tudo o que conseguimos utilizando o famoso Raspberry Pi, utilizando inclusive o Movidius AI (Hardware da Intel raríssimo no Brasil), contudo, o pequeno hardware não atendia as necessidades de memória que precisávamos.

A solução foi procurar um outro hardware, tão compacto quanto e que atendesse os requisitos de hardware levantados na fase de estudos. Após algumas análises partimos para o LattePanda. Um hardware baseado nas soluções para Thin Clients da Intel, com 2 GB de memória RAM, nos possibilitando realizar o processamento na velocidade em que precisávamos.

raspberry pi X LattePanda - qual o melhor?

A partir deste ponto começou o trabalho mais árduo de todo o projeto. Remover itens desnecessários da Build Linux que utilizamos, otimizar tudo o que pudéssemos na operação do sistema e até mesmo simplificar algumas rotinas da nossa própria solução. Tudo em busca do melhor desempenho e maior fluidez na interação do vídeo com o usuário.

Fazendo um balanço de todos os pontos, podemos ressaltar como principais pontos para possibilitar a utilização de soluções tão robustas em hardwares tão compactos:

  • Busca por soluções mais leves, que atendam os requisitos de forma correta (nem sempre as mais pesadas redes neurais são chave para solução de todos os problemas);
  • Para encontrar o Hardware certo, às vezes é necessário buscar além das soluções mais comuns de mercado;
  • Customizar todos os pontos do Sistema Operacional e da sua própria solução, é chave primária para obter o melhor dos recursos disponíveis;
  • Manter logs e análises de todos os pontos de desenvolvimento, de forma a encontrar os gargalos de projeto;
  • Utilizar bibliotecas e frameworks confiáveis, amplamente utilizados e com comunidade disponível para tirar dúvidas e solucionar erros, é uma prática que pode te livrar de grandes problemas;
  • Por último, mas não menos importante: é imprescindível trabalhar sempre em ciclos de pesquisa, avaliar e testar diversas soluções. Afinal o comportamento da solução nunca é totalmente previsível até que os parâmetros tenham sido testados.

Após essa longa jornada e se você ainda está lendo por aqui, acho que você quer saber enfim o que esta tal Vitrine Inteligente faz. Bom, a Vitrine Inteligente da Deal foi concebida  com o grande foco de gerar publicidade segmentada para o público que passa por corredores, vitrines, caixas e pontos de venda de mercados e lojas. Enfim, o comércio e varejo em geral.

tecnologia vitrine inteligente da Deal tecnologie

Ela é capaz de obter a imagem por câmeras e detectar as faces de quem passa em frente, exibir publicidade segmentada por gênero, idade, humor, entre outros itens e principalmente gerar dados e indicadores para o comerciante. Como: tempo de permanência, contagem e segmentação de clientes, humor de quem observa um respectivo produto, além de possibilitar a realização de testes A/B em tempo real na loja.

Se você ficou curioso, gostou da ideia, ou quer ajudar a Deal a construir mais soluções inovadoras, cadastre-se no site: www.deal.com.br

E até o próximo projeto!

>> Gostou?

Receba notícias sobre tecnologia diretamente no seu e-mail.
Cadastre-se agora mesmo.
Escrito por

Perfil oficial da Deal, neste perfil falamos dos nossos conteúdos institucionais e notícias sobre o que acontece na empresa. :)

Enviar Comentário

E-mail
Twitter
LinkedIn
Whatsapp