Deprecated: Return type of WP_Theme::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-theme.php on line 554

Deprecated: Return type of WP_Theme::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-theme.php on line 595

Deprecated: Return type of WP_Theme::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-theme.php on line 535

Deprecated: Return type of WP_Theme::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-theme.php on line 544

Deprecated: Return type of WP_REST_Request::offsetExists($offset) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/rest-api/class-wp-rest-request.php on line 960

Deprecated: Return type of WP_REST_Request::offsetGet($offset) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/rest-api/class-wp-rest-request.php on line 980

Deprecated: Return type of WP_REST_Request::offsetSet($offset, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/rest-api/class-wp-rest-request.php on line 992

Deprecated: Return type of WP_REST_Request::offsetUnset($offset) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/rest-api/class-wp-rest-request.php on line 1003

Deprecated: Return type of WP_Block_List::current() should either be compatible with Iterator::current(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 151

Deprecated: Return type of WP_Block_List::next() should either be compatible with Iterator::next(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 175

Deprecated: Return type of WP_Block_List::key() should either be compatible with Iterator::key(): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 164

Deprecated: Return type of WP_Block_List::valid() should either be compatible with Iterator::valid(): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 186

Deprecated: Return type of WP_Block_List::rewind() should either be compatible with Iterator::rewind(): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 138

Deprecated: Return type of WP_Block_List::offsetExists($index) should either be compatible with ArrayAccess::offsetExists(mixed $offset): bool, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 75

Deprecated: Return type of WP_Block_List::offsetGet($index) should either be compatible with ArrayAccess::offsetGet(mixed $offset): mixed, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 89

Deprecated: Return type of WP_Block_List::offsetSet($index, $value) should either be compatible with ArrayAccess::offsetSet(mixed $offset, mixed $value): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 110

Deprecated: Return type of WP_Block_List::offsetUnset($index) should either be compatible with ArrayAccess::offsetUnset(mixed $offset): void, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 127

Deprecated: Return type of WP_Block_List::count() should either be compatible with Countable::count(): int, or the #[\ReturnTypeWillChange] attribute should be used to temporarily suppress the notice in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp-block-list.php on line 199

Warning: The magic method WP_Hotjar::__wakeup() must have public visibility in /home/u296505432/domains/lumesolutions.com/public_html/wp-content/plugins/hotjar/hotjar.php on line 50

Deprecated: version_compare(): Passing null to parameter #2 ($version2) of type string is deprecated in /home/u296505432/domains/lumesolutions.com/public_html/wp-content/plugins/ultimate-addons-for-gutenberg/lib/class-uagb-ast-block-templates.php on line 92

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u296505432/domains/lumesolutions.com/public_html/wp-content/plugins/polylang/include/class-polylang.php on line 98

Deprecated: parse_str(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/formatting.php on line 4975

Deprecated: version_compare(): Passing null to parameter #2 ($version2) of type string is deprecated in /home/u296505432/domains/lumesolutions.com/public_html/wp-content/plugins/elementor/core/upgrade/manager.php on line 62

Deprecated: DateTime::__construct(): Passing null to parameter #1 ($datetime) of type string is deprecated in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/script-loader.php on line 333

Deprecated: trim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/class-wp.php on line 173
Inteligência artificial para avaliação de qualidade – Lume
Deprecated: ltrim(): Passing null to parameter #1 ($string) of type string is deprecated in /home/u296505432/domains/lumesolutions.com/public_html/wp-includes/wp-db.php on line 3030
Weslley Poleto
Diretor de Produto

Inteligência artificial para avaliação de qualidade

Um exemplo de aplicação na Manufatura Aditiva

São José dos Campos, 13 de janeiro de 2021

A indústria continuamente se renova e passa por transformações tecnológicas para a otimização não só de produtos e processos de uma forma geral, mas também de toda a cadeia necessária para fazer a ‘máquina girar’.

Em 2012, na Alemanha, surgiu o termo Indústria 4.0, que intitula um conjunto de recomendações para implementação de revoluções colaborativas em processos produtivos, formando cadeias de valor agregado concisas.

De acordo com relatório apresentado pelo Boston Consulting Group (BCG) são nove as tecnologias habilitadoras à Indústria 4.0:

      1.    Robôs Autônomos;
      2.    Manufatura Aditiva e Híbrida;
      3.    Simulação Virtual;
      4.    Integração de Sistemas;
      5.    Internet das Coisas;
      6.    Big Data & Analytics;
      7.    Cloud Computing;
      8.    Segurança Cibernética;
      9.    Realidade Aumentada

O mercado global de Inteligência Artificial (IA) atingiu receita de US$ 4.065,0 milhões em 2016 e deve atingir US$ 169.411,8 milhões em em 2025, crescendo a um CAGR (Compound Annual Growth Rate) de 55,6% de 2018 a 2025. Por outro lado, no Brasil o cenário ainda é embrionário. De todo o investimento previsto para tecnologia de transformação digital entre 2018 e 2022, que é R$ 345 bilhões, apenas R$ 2,5 bilhões serão direcionados a aplicações de inteligência artificial.

A Lume preparou um estudo de caso sobre como identificar e aplicar conceitos da Inteligência Artificial (IA). Neste exemplo passo a passo aplicaremos o aprendizado de máquina proporcionado pelas redes neurais ao processo de inspeção de peças fabricadas pelo processo de manufatura aditiva.

O objetivo principal da manufatura aditiva (popularmente chamada de impressão 3D) é tornar factível a fabricação de formas complexas em três dimensões a partir de modelos CAD. Um modelo digital 3D do objeto sólido é primeiro decomposto em representações de camadas transversais no planejador de processo. O planejador então gera trajetórias para guiar os processos aditivos de material para fisicamente construir essas camadas em uma máquina de fabricação automatizada para formar o objeto. Estruturas de suporte em material de sacrifício são construídas simultaneamente para fixar e suportar o objeto, sendo posteriormente removidas. Nas últimas décadas, diversas tecnologias para manufatura aditiva metálica foram investigadas e desenvolvidas. Os processos mais comuns são: Selective Laser Melting (SLM), Laser Beam Deposition Welding, Metal Powder Application (MPA) e Metal Inert Gas (MIG) deposition welding.

As redes neurais convolucionais são algoritmos de Deep Learning que podem captar uma imagem de entrada, atribuir importância (pesos e vieses que podem ser aprendidos) a vários aspectos / objetos da imagem e ser capaz de diferenciar um do outro. O uso das redes neurais tem encontrado aplicação em identificação de placas de trânsito, tumores, faces e qualquer outro aspecto visual dos dados.

A eficácia no reconhecimento de imagens é uma das principais razões pelas quais o uso de deep learning vem sendo ampliado no mundo. A técnica vem impulsionando grandes avanços na visão computacional, que tem aplicações para carros autônomos, robótica, drones, segurança, diagnósticos médicos e tratamentos para pessoas com deficiência visual. 

Dentre os vários tipos de arquiteturas de redes neurais, as redes neurais convolucionais (arquitetura de rede que possui ótimo desempenho quando os dados de entrada são imagens) não percebem as imagens como nós humanos, mas como volumes; ou seja, objetos tridimensionais, em vez de telas planas a serem medidas apenas pela largura e altura. Isso acontece porque as imagens digitais coloridas têm uma codificação vermelho-verde-azul (RGB), mesclando essas três cores, ou canais, para produzir o espectro de cores que os humanos percebem. 

Uma das particularidades que impacta diretamente na qualidade do resultado das redes neurais é o tamanho do banco de dados utilizado no processo. Na imagem a seguir, é possível ver que o desempenho das redes neurais é mais expressivo quando utilizado um grande banco de dados, assim a rede fica progressivamente mais robusta e capaz de extrapolar para casos semelhantes mas que não foram necessariamente apresentados à ela.

Como demonstrado na Figura 1, as redes recebem uma imagem colorida normal como uma caixa retangular cuja largura e altura são medidas pelo número de pixels ao longo dessas dimensões e cuja profundidade é de três camadas de profundidade, uma para cada letra em RGB. Essas camadas de profundidade são referidas como canais.

Figura 2 – Representação gráfica da arquitetura de rede neural convolucional de múltiplas camadas (Adaptado de M. Radovic – 2017)

Já temos breves informações sobre os processos envolvidos no estudo de caso, então como aplicar a inteligência de máquina proporcionada pelas redes neurais ao processo de inspeção de peças fabricadas pelo processo de manufatura aditiva?

Aplicação da IA em processos de inspeção visual

Ao fabricar peças pelo processo de manufatura aditiva, assim como a maioria dos produtos advindos de outros processos, se faz necessária uma inspeção para garantir que a peça esteja dentro dos padrões de qualidade previamente estabelecidos. Isso porque a tecnologia de deposição de metal é relativamente nova e os parâmetros de trabalho para diferentes materiais ainda não foram claramente estabelecidos, logo até a tecnologia se firmar podem ocorrer alguns defeitos internos e/ou superficiais, por exemplo trincas e poros. Os defeitos que focaremos serão aqueles que estiverem visíveis na superfície do produto.

Os avanços no campo da inteligência artificial têm fomentado o surgimento de algoritmos capazes de desempenhar tarefas para as quais eles não foram explicitamente programados, rotinas essas que são a base para a robótica autônoma. Este conjunto de algoritmos baseados em inteligência artificial recebe o nome de aprendizagem de máquina.

Para realizar inspeções objetivas, ou seja, que não dependam da subjetividade de um avaliador, é possível desenvolver uma rede neural convolucional para detecção de defeitos através de imagens de superfícies oriundas do processo, neste caso, o de manufatura aditiva de metal.

O processo de desenvolvimento de uma rede neural para avaliação da qualidade superficial por processamento de imagem passa por alguns passos fundamentais, etapas de aquisição e tratamento de dados, construção de um modelo inteligente de treinamento e validação de resultados.

Figura 3 - Descrição simplificada do processo de criação de uma rede neural convolucional para classificação de imagens (Autor - 2019)
1. Aquisição de Dados

A aquisição das imagens é realizada através de câmeras fotográficas, e acaba sendo influenciada pela luminosidade do ambiente onde a captura foi feita. Há a opção de utilizar câmeras industriais que são capazes de suportar determinadas condições (ambientes úmidos com areia e/ou poeira) que máquinas fotográficas usuais não suportariam.
Para a detecção efetiva de defeitos na superfície de peças fabricadas pelo processo de manufatura aditiva de metal, as imagens capturadas devem conter os tipos de defeitos que se deseja identificar, portanto, a quantidade de imagens contidas no banco de dados deve ser capaz de representar bem a população total de amostras fabricadas. Para exemplificar utilizaremos imagens de uma palheta de um rotor aeronáutico (Figura 3), fabricada pelo processo de manufatura aditiva de metal.

Figura 4 - Palheta de motor aeronáutico fabricada pelo processo de manufatura aditiva de metal (Autor – 2019)
2. Tratamento + Expansão da Base de Dados

As imagens capturadas devem passar por um tratamento de normalização de dados que tem por principal objetivo organizá-las para reduzir redundâncias e aumentar o desempenho e integridade dos dados.
Técnicas de expansão de base de dados, conhecido como Data Augmentation, são rotineiramente utilizadas e, por meio delas é possível criar artificialmente dados de treinamento a partir de dados existentes, usando transformações de translação, rotação, ampliação, mudança de cor, adição de ruído, entre outros. A técnica é eficaz  uma vez que o desempenho de redes neurais de deep learning melhora substancialmente com a maior quantidade de dados disponíveis, conforme imagem “X” mostrada anteriormente. Também com o intuito de melhorar a convergência, que é a capacidade da rede aprender todos os padrões do conjunto de treinamento, existem técnicas para a criação de dados sintéticos, utilizando para isso redes GAN (Generative Adversarial Networks) ou mesmo ambientes virtuais e renderização de modelos.

3. Arquitetura do Modelo

Após definido o método de inspeção, neste cenário por imagem, e conhecer os tipos de dados que serão trabalhados, se faz necessário escolher o tipo de rede neural que será utilizado. Neste estudo de caso podemos optar pelas Redes Neurais Convolucionais por se tratar de uma arquitetura específica para avaliação de imagens.

Atualmente há diversas arquiteturas que podemos utilizar, visto que somente algumas delas são indicadas para o uso com imagens. 

Um trabalho de pesquisa deve ser realizado em cima do tema para verificar qual tipo de rede é melhor para cada tipo de dado, antes de escolher qual arquitetura será utilizada. As redes neurais convolucionais apresentam um bom desempenho quando se faz necessário o tratamento de imagens e dados temporais, como por exemplo, a energia utilizada em um determinado período para produzir nossa peça representada na Figura 3. 

Alguns parâmetros podem ser alterados na construção de uma rede impactando diretamente na convergência da rede, entre os parâmetros estão: tipo de feature extractor, tamanho e número de Kernels, número de camadas e neurônios na camada de classificação, tamanho da batelada, otimizador, etc.

4. Treinamento

Os parâmetros de treinamento da rede, também conhecidos como hiperparâmetros, são previamente definidos pelo programador. Parte dos dados utilizados como entradas são processados para treinamento da rede neural, enquanto outra parte é reservada para a validação do modelo. 

É necessário estabelecer as saídas desejadas da rede neural, ou seja, quais as possíveis classificações de uma determinada imagem (isso no caso de uma rede de classificação, pois lembre-se que há diversas redes para diferentes entradas e saídas). 

Também é necessário que cada dado de entrada, nesse caso as imagens, seja rotulado. Em outras palavras, o dado será vinculado a uma classificação de saída conhecida para validação. A Figura 4 representa o processo de rotulagem pois identificamos através de círculos vermelhos as anomalias que gostaríamos que a rede neural fosse capaz de identificar. Neste estudo de caso, as anomalias são defeitos superficiais e visuais decorrentes do processo de fabricação das palhetas. 

 Assim, no treinamento, as imagens serão processadas e a rede fornecerá uma classificação prévia que será comparada com a predefinida para verificar os erros e a acuracidade, chegando ou não à convergência. Nestas circunstâncias de aplicação em particular, em cada etapa do treinamento a influência de cada neurônio da rede é ajustada através do algoritmo de backpropagation, a fim de minimizar os erros e aumentar a acuracidade de classificação. Vale lembrar também que os parâmetros de treinamento, assim como o tamanho do banco de dados, influenciam diretamente na demanda computacional utilizada para treinar a rede.

Figura 5 - Defeitos superficiais identificados com o processamento da rede neural (Autor – 2019)
5. Avaliação

Na avaliação da rede serão utilizados os dados que não foram utilizados durante o treinamento. O objetivo desta validação é verificar a taxa de acerto da rede nos dados que nunca foram vistos por ela. Utilizando este método de separação é possível treinar e validar uma rede utilizando apenas um banco de dados. A análise de robustez da rede também é realizada nesta etapa, verificando a sensibilidade a dados apresentando variações.

Na figura 5 estão representadas duas métricas essenciais no treinamento de uma rede neural, a perda e a precisão. A perda (loss) quantifica a diferença entre duas distribuições de probabilidade (as predições e os rótulos), onde uma classificação perfeita resultaria em uma entropia cruzada de 0, com a perda completamente minimizada. E a precisão (accuracy) representa o nível de confiabilidade e acerto na classificação dos grupos pela rede.

Figura 5 - Gráficos de perda e convergência gerados durante o treinamento de uma rede neural (Tensorboard – 2020)

Concluindo ...

Sabemos que a construção de uma rede neural e seu banco de dados é muito mais complexa e trabalhosa do que vimos nesta demonstração, porém este estudo de caso retratado pela Lume foi apresentado de forma simplificada para que você, leitor e entusiasta de novas tecnologias, possa entender e identificar em seu dia a dia aplicações rotineiras para o uso da Inteligência Artificial.

A Lume tem como missão democratizar o acesso a tecnologias da Indústria 4.0 no Brasil. Ela foi fundada em 2019 por 6 pesquisadores do Instituto Tecnológico de Aeronáutica (ITA), com experiência em prospecção, gerenciamento e execução de projetos de P&D nas áreas de processos de manufatura, caracterização mecânica, desenvolvimento de sistemas de inspeção de qualidade por visão computacional e sensores industriais e o desenvolvimento de modelos de machine learning e inteligência artificial.

Agora que você foi iniciado no mundo da inteligência artificial, tem alguma ideia de aplicação no seu local de trabalho? 

Entre em contato com nossos especialistas para saber mais ou faça você mesmo, de forma simples, rápida,  online e gratuita, o estudo de viabilidade na plataforma Lume Trial.

 

Posts Recentes
Publicações Relacionadas
Destaques Lume

Lume Trial

Lume Vision

Categoria

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Back_Top_Resize