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.
Todos os documentos digitais podem ser separados em 2 tipos: estruturados e não estruturados:
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.
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.
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.
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.
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:
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.
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.
Os dados extraídos por um sistema de IA precisam ser extraídos de acordo com suas necessidades:
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.
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.
Desenhos de engenharia não são os únicos desenhos técnicos sobre os quais escrevi, confira