paint-brush
Como processar desenhos de engenharia com IApor@olegkokorin
2,773 leituras
2,773 leituras

Como processar desenhos de engenharia com IA

por Oleg Kokorin5m2024/08/29
Read on Terminal Reader

Muito longo; Para ler

Desenhos de engenharia são documentos complexos e não estruturados, o que os torna difíceis de processar com meios tradicionais de manuseio de documentos digitais. A IA, por outro lado, promete extração de dados rápida e precisa, especialmente ferramentas de IA prontas aparentemente focadas no processamento de desenhos de engenharia. Na prática, no entanto, as coisas não são tão boas quanto parecem: desenhos de engenharia apresentam um desafio significativo para sistemas de IA pré-fabricados devido à sua natureza não estruturada. Neste artigo, compartilho como a IA pode ser usada para criar um sistema de processamento de desenhos de engenharia verdadeiramente funcional com alta precisão.
featured image - Como processar desenhos de engenharia com IA
Oleg Kokorin HackerNoon profile picture
0-item

Tendo trabalhado em vários projetos de processamento de desenhos técnicos, era questão de tempo até que um projeto de automação de desenho de engenharia surgisse em nosso caminho. O que há de tão especial em desenhos de engenharia, você pergunta?


Anotações de dimensionamento e tolerância geométricas (GD&T) são sua resposta. Essas etiquetas incômodas geralmente apresentam um desafio ao processar e extrair dados de desenhos de engenharia devido à sua posição em uma página e estrutura geral. Mas não se preocupe — estou aqui para compartilhar como conseguimos processar anotações GD&T em desenhos de engenharia com IA. Vamos começar do começo.

Processando documentos não estruturados

Todos os documentos digitais podem ser separados em 2 tipos: estruturados e não estruturados:


  • Documentos estruturados seguem uma estrutura predefinida, tornando-os fáceis de processar e analisar com IA. Documentos como formulários, faturas, recibos, pesquisas e contratos são todos exemplos de documentos estruturados.


  • Pelo contrário, documentos não estruturados carecem de uma organização consistente, o que os torna inerentemente desafiadores para serem processados automaticamente. Exemplos de documentos não estruturados incluem jornais, artigos de pesquisa e relatórios comerciais.


Como você deve ter adivinhado, desenhos técnicos são um exemplo clássico de um documento não estruturado: apesar de aderir a um conjunto rigoroso de padrões, cada desenho é diferente do outro, pois não possui estrutura rígida. Juntamente com uma mistura de dados de texto digitados e manuscritos, símbolos especiais, planilhas complexas e várias anotações, os desenhos técnicos apresentam um desafio real para extrair dados automaticamente.


A natureza complexa dos desenhos técnicos os torna o candidato perfeito para extração de dados de IA. Na verdade, usar modelos neurais para detectar e extrair vários dados dos desenhos é a única maneira de automatizar seu processamento. Modelos modernos de visão computacional e uma abordagem inteligente para o desenvolvimento de produtos podem produzir uma ferramenta poderosa para processamento rápido de qualquer desenho técnico.

Um problema com ferramentas prontas

Uma rápida pesquisa no Google mostrará a você pelo menos algumas soluções para processamento de desenhos de engenharia. Quase todas elas oferecem ampla funcionalidade e prometem processamento rápido e preciso de dados complexos.


À primeira vista, isso pode parecer muito promissor: pagar uma assinatura mensal para processar desenhos de engenharia com alta precisão. Na prática, no entanto, as coisas geralmente não são tão suaves.


Ferramentas prontas geralmente têm dificuldade para detectar e processar elementos rotacionados, pois seus algoritmos são treinados apenas para processar o “denominador comum”, que, no nosso caso, é um desenho de engenharia com rótulos e anotações posicionados horizontalmente.

Portanto, usar uma solução pronta é adequado apenas para aqueles cujos desenhos são relativamente simples e incluem apenas dados padrão. Qualquer desvio do “denominador comum” apresentará um desafio para uma ferramenta pronta.

Extração de características de desenhos de engenharia

Essa mesma situação aconteceu com um dos nossos clientes: as soluções para processamento de desenhos de engenharia disponíveis no mercado não atendem às necessidades de processamento de desenhos complexos ou fora do padrão, deixando-os com resultados ruins de reconhecimento de dados.


As anotações GD&T contêm muitas informações muito importantes que são vitais para extrair do desenho para processamento posterior, mas sua posição na página, no nosso caso, posicionadas em um ângulo, atrapalha o processo de análise de desenhos por uma ferramenta de IA pré-fabricada.


É aqui que o desenvolvimento de IA personalizada entra em jogo: modelos de IA treinados para detectar e extrair informações do seu documento específico podem resolver (quase) qualquer desafio que uma ferramenta pronta possa enfrentar.


Veja como resolvemos um dos desafios do processamento de desenhos de engenharia com desenvolvimento de modelo de IA personalizado — extração de anotações GD&T colocadas em ângulo.

Etapa 1: Detectando a posição da anotação

O primeiro passo é localizar a posição das anotações no desenho. Modelos de IA podem ser treinados para detectar a localização das anotações independentemente de sua posição ou ângulo de rotação.


Nota: Documentos com várias páginas exigem uma etapa adicional de divisão do documento em páginas e diferenciação entre diferentes desenhos de engenharia. O mesmo vale para documentos que incluem vários desenhos em cada página: você precisa primeiro executar um modelo para detectar cada desenho e extraí-los do documento.

Etapa 2: Detectar ângulo de rotação

Aqui está a parte importante: detectar como a anotação é rotacionada. O modelo de IA precisa calcular o ângulo de rotação e rotacionar a anotação para torná-la horizontal. Os PNGs recortados são então passados para processamento posterior:

Etapa 3: Extraindo dados de anotações

Depois que todas as anotações são detectadas, rotacionadas e extraídas do desenho, elas são executadas por um mecanismo de detecção de símbolos. O Tesseract é uma boa escolha para isso, pois fornece alta precisão de reconhecimento e pode trabalhar com texto multilinha e símbolos de diferentes alturas.


Primeiro, você precisa encontrar a área exata onde o texto está localizado para melhorar o processo de reconhecimento de símbolos. Eu recomendaria usar o OpenCV, pois ele lida muito bem com essas tarefas e é relativamente fácil de trabalhar. Em seguida, a área de texto detectada é entregue ao mecanismo de OCR para extrair todo o texto e símbolos.

Etapa 4: Analisando dados

Uma matriz de letras, números e símbolos precisa ser interpretada para fornecer dados “digeríveis” que humanos — ou um sistema de gerenciamento de dados — possam entender e processar. Os símbolos detectados são separados em grupos que formam dimensões de peças, tolerâncias, ajustes e raios.

Etapa 5: Gerenciamento de dados

Os dados extraídos por um sistema de IA precisam ser extraídos de acordo com suas necessidades:


  1. Arquivos JSON : perfeitos para importar dados para softwares existentes,
  2. Arquivos .XLSX : um formato de dados fácil de ler, perfeito para testes de sistema ou pequenos lotes de dados.
  3. Pós-processamento : os dados são processados adicionalmente para serem enviados diretamente para um sistema de tratamento de documentos digitais; ótimo para quem busca uma solução completa.

Resumindo

  1. Embora o mercado esteja cheio de ferramentas de IA para processamento de documentos, elas só lidam bem com arquivos simples. Qualquer desvio da “norma” é melhor processado com uma solução personalizada.


  2. Modelos de IA personalizados podem lidar com praticamente todas as tarefas de extração de dados — desde que haja a abordagem correta e as habilidades do desenvolvedor.


  3. Desenhos de engenharia não são os únicos desenhos técnicos sobre os quais escrevi, confira como a IA pode ajudar a processar desenhos arquitetônicos aqui .