Engineering documents are more often than not processed manually due to their complex structure and lack of standardization. Due to how complex engineering drawings are, using ready-made AI solutions for extracting data may not always yield satisfactory results, especially when the drawings include rotated elements.
In this article we share our experience with developing an AI system for processing complex engineering drawings and how we solved an issue of detecting geometric dimensioning and tolerancing annotations placed at an angle.
Unstructured data extraction represents a critical frontier in the realm of information management, offering organizations the opportunity to unlock valuable insights from documents.
Unlike structured data, which adheres to predefined formats or schemas, unstructured data lacks a consistent organization, making it inherently challenging to extract insights manually.
Engineering drawings are a classic example of an unstructured document: despite adhering to a set of strict design standards, the drawings themselves differ from each other significantly and lack rigid structure, and include a mix of text, special symbols, and geometric shapes, making it challenging to extract relevant information manually.
Using AI-driven extraction techniques, engineering drawings can be easily analyzed to extract relevant details, like geometric dimensioning and tolerancing annotations, title blocks, measures, etc.
Despite the abundance of document processing solutions, even those geared specifically for processing engineering drawings, there is still a strong need for custom solutions as ready-made systems often can’t handle even slight deviations from a standard engineering drawing layout.
One of the main challenges that present a challenge to ready-made systems are diagonally positioned elements like geometric dimensioning and tolerancing annotations. Document processing solutions often have trouble processing diagonal text, let alone detecting special symbols. Engineering drawings often have interfering lines and elements, adding to the challenge.
Extracting engineering drawing features most often includes detecting geometric dimensioning and tolerancing annotations, which include both text and special symbols. Given their variable positioning, including rotation, and multiple data types, the process of detecting and extracting GD&T annotation includes multiple steps.
The first step is detecting the geometric dimensioning and tolerancing annotations on the drawing using OpenCV. Computer vision algorithms can be trained to detect objects irrespective of their position and angle.
Having had experience solving similar challenges, like in our architectural drawing recognition software project, we have a strong basis for building similar systems, which is what we did for our client:
For each GD&T annotation we calculate the rotation angle which is used to rotate the annotation to make it horizontal and cut it out from the drawing for further processing:
Each annotation is saved as individual raster images ready for text detection.
Next, each annotation is processed by a symbol detection engine. Our AI engine of choice is Tesseract as it provides highly accurate detection results and can handle text segmentation, i.e. text with different heights forming multiple lines.
First, we use OpenCV to detect the text area to increase text detection accuracy further down the line. Next, the image is passed on to the OCR engine to detect all text and symbols present in the annotation.
Extracted text and symbols need to be analyzed and interpreted to provide “digestible” data to use in the client’s systems. Symbols are separated into groups forming tolerances, fits, and radii.
In our smart document processing projects we usually go about data extraction in one of three ways:
The data extraction format fully depends on the needs of a client and can be adjusted and changed to better cover the client’s needs.
We build custom AI document processing systems
There are multiple steps you can take to make a well-informed decision when it comes to hiring a AI development company:
If you have a document processing project in mind and need help with implementation, contact our manager and they will be happy to help you.