Después de haber trabajado en varios proyectos de procesamiento de dibujos técnicos, era cuestión de tiempo hasta que se nos presentara un proyecto de automatización de dibujos de ingeniería. ¿Qué tienen de especial los dibujos de ingeniería?, te preguntarás.
Las anotaciones de tolerancias y dimensionamiento geométrico (GD&T) son la respuesta. Estas molestas etiquetas suelen representar un desafío al procesar y extraer datos de dibujos de ingeniería debido a su posición en una página y a su estructura general. Pero no se preocupe: estoy aquí para compartir cómo logramos procesar anotaciones GD&T en dibujos de ingeniería con IA. Sin embargo, comencemos desde el principio.
Todos los documentos digitales se pueden separar en dos tipos: estructurados y no estructurados:
Como habrás adivinado, los dibujos técnicos son un ejemplo clásico de documento no estructurado: a pesar de cumplir con un estricto conjunto de estándares, cada dibujo es diferente de otro porque carece de una estructura rígida. Junto con una combinación de datos de texto escritos a mano y mecanografiados, símbolos especiales, hojas de cálculo complejas y diversas anotaciones, los dibujos técnicos presentan un verdadero desafío para la extracción automática de datos.
La naturaleza compleja de los dibujos técnicos los convierte en el candidato perfecto para la extracción de datos mediante inteligencia artificial. De hecho, el uso de modelos neuronales para detectar y extraer diversos datos de los dibujos es la única forma de automatizar su procesamiento. Los modelos de visión artificial modernos y un enfoque inteligente para el desarrollo de productos pueden generar una herramienta poderosa para procesar rápidamente cualquier dibujo técnico.
Una búsqueda rápida en Google le mostrará al menos un par de soluciones para procesar dibujos de ingeniería. Casi todas ellas ofrecen una amplia funcionalidad y prometen un procesamiento rápido y preciso de datos complejos.
A primera vista, esto puede parecer muy prometedor: pagar una suscripción mensual para procesar dibujos de ingeniería con alta precisión. Sin embargo, en la práctica, las cosas no suelen ser tan sencillas.
Las herramientas listas para usar a menudo tienen dificultades para detectar y procesar elementos rotados, ya que sus algoritmos solo están entrenados para procesar el “denominador común”, que, en nuestro caso, es un dibujo de ingeniería con etiquetas y anotaciones colocadas horizontalmente.
Por lo tanto, el uso de una solución ya preparada solo es adecuado para aquellos cuyos dibujos son relativamente simples e incluyen solo datos estándar. Cualquier desviación del "denominador común" supondrá un desafío para una herramienta ya preparada.
Esta misma situación le ocurrió a uno de nuestros clientes: las soluciones para procesar dibujos de ingeniería existentes en el mercado no responden a las necesidades de procesamiento de dibujos complejos o no estándar, por lo que los resultados de reconocimiento de datos son deficientes.
Las anotaciones de GD&T contienen mucha información muy importante que es vital extraer del dibujo para su posterior procesamiento, pero su posición en la página, en nuestro caso, al estar ubicadas en un ángulo, dificulta el proceso de análisis de dibujos mediante una herramienta de IA prefabricada.
Aquí es donde entra en juego el desarrollo de IA personalizado: los modelos de IA entrenados para detectar y extraer información de su documento específico pueden resolver (casi) cualquier desafío que una herramienta ya preparada pueda enfrentar.
Así es como hemos resuelto uno de los desafíos del procesamiento de dibujos de ingeniería con el desarrollo de modelos de IA personalizados: la extracción de anotaciones GD&T colocadas en ángulo.
El primer paso es localizar la posición de las anotaciones en el dibujo. Los modelos de IA pueden entrenarse para detectar la ubicación de las anotaciones independientemente de su posición o ángulo de rotación.
Nota: Los documentos de varias páginas requieren un paso adicional: dividir el documento en páginas y diferenciar entre distintos dibujos de ingeniería. Lo mismo ocurre con los documentos que incluyen varios dibujos en cada página: primero debe ejecutar un modelo para detectar cada dibujo y extraerlos del documento.
Esta es la parte importante: detectar cómo se gira la anotación. El modelo de IA debe calcular el ángulo de rotación y girar la anotación para que quede horizontal. Luego, los PNG recortados se pasan para su posterior procesamiento:
Una vez que se han detectado, rotado y extraído todas las anotaciones del dibujo, se las pasa por un motor de detección de símbolos. Tesseract es una buena opción para esto, ya que ofrece una alta precisión de reconocimiento y puede trabajar con texto de varias líneas y símbolos de diferentes alturas.
En primer lugar, es necesario encontrar el área exacta donde se encuentra el texto para mejorar el proceso de reconocimiento de símbolos. Recomendaría utilizar OpenCV, ya que maneja estas tareas muy bien y es relativamente fácil trabajar con él. A continuación, el área de texto detectada se entrega al motor de OCR para extraer todo el texto y los símbolos.
Es necesario interpretar una serie de letras, números y símbolos para proporcionar datos “digeribles” que los seres humanos (o un sistema de gestión de datos) puedan comprender y procesar. Los símbolos detectados se separan en grupos que forman las dimensiones, tolerancias, ajustes y radios de las piezas.
Los datos extraídos por un sistema de IA deben extraerse según sus necesidades:
Si bien el mercado está repleto de herramientas de inteligencia artificial para procesar documentos, estas solo manejan bien archivos simples. Cualquier desviación de la “norma” se procesa mejor con una solución personalizada.
Los modelos de IA personalizados pueden manejar prácticamente todas las tareas de extracción de datos, siempre que se utilice el enfoque adecuado y las habilidades del desarrollador.
Los dibujos de ingeniería no son los únicos dibujos técnicos sobre los que he escrito, consulte