![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
여러 기술 도면 처리 프로젝트를 진행한 결과, 엔지니어링 도면 자동화 프로젝트가 우리에게 오는 것은 시간 문제였습니다. 엔지니어링 도면의 특별한 점이 무엇이냐고 물으시죠?
기하학적 치수 및 공차 주석(GD&T)이 답입니다. 이 성가신 레이블은 페이지에서의 위치와 전반적인 구조로 인해 엔지니어링 도면에서 데이터를 처리하고 추출할 때 종종 어려움을 겪습니다. 하지만 걱정하지 마세요. 저는 AI로 엔지니어링 도면에서 GD&T 주석을 처리하는 방법을 공유하기 위해 여기 있습니다. 하지만 처음부터 시작해 보겠습니다.
모든 디지털 문서는 구조화된 문서와 구조화되지 않은 문서의 두 가지 유형으로 구분할 수 있습니다.
짐작하셨겠지만, 기술 도면은 구조화되지 않은 문서의 전형적인 예입니다. 엄격한 표준을 준수하더라도 각 도면은 엄격한 구조가 없기 때문에 서로 다릅니다. 타이핑된 텍스트 데이터와 손으로 쓴 텍스트 데이터, 특수 기호, 복잡한 스프레드시트, 다양한 주석이 혼합되어 있어 기술 도면은 자동으로 데이터를 추출하는 데 있어 진정한 과제를 제시합니다.
기술 도면의 복잡한 특성으로 인해 AI 데이터 추출에 완벽한 후보가 됩니다. 사실, 신경 모델을 사용하여 도면에서 다양한 데이터를 감지하고 추출하는 것이 처리를 자동화하는 유일한 방법입니다. 최신 컴퓨터 비전 모델과 제품 개발에 대한 스마트한 접근 방식은 모든 기술 도면을 빠르게 처리하기 위한 강력한 도구를 만들어낼 수 있습니다.
간단한 Google 검색을 통해 엔지니어링 도면을 처리하기 위한 최소 두 가지 솔루션을 볼 수 있습니다. 거의 모든 솔루션이 광범위한 기능을 제공하며 복잡한 데이터를 빠르고 정확하게 처리할 것을 약속합니다.
언뜻 보기에, 이것은 매우 유망하게 들릴 수 있습니다. 고정밀로 프로세스 엔지니어링 도면을 월 구독료로 지불하는 것입니다. 그러나 실제로는 종종 순조롭지 않습니다.
기성 도구는 회전된 요소를 감지하고 처리하는 데 어려움을 겪는 경우가 많습니다. 그 이유는 알고리즘이 "공통 분모"만 처리하도록 훈련되었기 때문입니다. 우리의 경우, 공통 분모는 수평으로 배치된 레이블과 주석이 있는 엔지니어링 도면입니다.
따라서 기성 솔루션을 사용하는 것은 비교적 간단한 도면을 가지고 있고 표준 데이터만 포함하는 사람에게만 적합합니다. "공통 분모"에서 벗어나면 기성 도구에 어려움이 따릅니다.
이와 똑같은 상황이 우리 고객 중 한 명에게 발생했습니다. 시중에 나와 있는 엔지니어링 도면 처리 솔루션은 복잡하거나 비표준 도면을 처리하는 요구에 부응하지 못해 데이터 인식 결과가 좋지 않았습니다.
GD&T 주석은 추가 처리를 위해 도면에서 추출하는 데 필수적인 매우 중요한 정보를 많이 담고 있지만, 페이지에서의 위치(이 경우 각도에 따라 배치됨)로 인해 사전 제작된 AI 도구로 도면을 분석하는 과정에 방해가 됩니다.
바로 여기서 맞춤형 AI 개발이 등장합니다. 특정 문서에서 정보를 탐지하고 추출하도록 훈련된 AI 모델은 기성 도구가 해결하기 어려운 (거의) 모든 과제를 해결할 수 있습니다.
맞춤형 AI 모델 개발을 통해 엔지니어링 도면을 처리하는 과정에서 발생하는 과제 중 하나인 각도에 배치된 GD&T 주석을 추출하는 방법을 소개합니다.
첫 번째 단계는 도면에서 주석의 위치를 찾는 것입니다. AI 모델은 주석의 위치나 회전 각도에 관계없이 주석의 위치를 감지하도록 훈련될 수 있습니다.
참고: 여러 페이지 문서는 문서를 페이지로 나누고 다양한 엔지니어링 도면을 구별하는 추가 단계가 필요합니다. 각 페이지에 여러 도면이 포함된 문서도 마찬가지입니다. 먼저 모델을 실행하여 각 도면을 감지하고 문서에서 추출해야 합니다.
중요한 부분은 주석이 어떻게 회전하는지 감지하는 것입니다. AI 모델은 회전 각도를 계산하고 주석을 회전하여 수평으로 만들어야 합니다. 그런 다음 잘라낸 PNG가 추가 처리를 위해 전달됩니다.
모든 주석이 감지되고, 회전되고, 도면에서 추출된 후, 심볼 감지 엔진을 통해 실행됩니다. Tesseract는 높은 인식 정확도를 제공하고 여러 줄의 텍스트와 높이가 다른 심볼을 처리할 수 있으므로 이에 적합한 선택입니다.
먼저, 심볼 인식 프로세스를 개선하기 위해 텍스트가 있는 정확한 영역을 찾아야 합니다. OpenCV를 사용하는 것이 좋습니다. OpenCV는 이러한 작업을 매우 잘 처리하고 작업하기가 비교적 쉽기 때문입니다. 다음으로, 감지된 텍스트 영역은 OCR 엔진에 넘겨져 모든 텍스트와 심볼을 추출합니다.
문자, 숫자, 기호의 배열은 인간이나 데이터 관리 시스템이 이해하고 처리할 수 있는 "소화 가능한" 데이터를 제공하기 위해 해석되어야 합니다. 감지된 기호는 부품 치수, 허용 오차, 맞춤 및 반경을 형성하는 그룹으로 구분됩니다.
AI 시스템에서 추출한 데이터는 사용자의 요구 사항에 맞게 추출되어야 합니다.
시장에는 문서 처리를 위한 AI 도구가 가득하지만, 그들은 단순한 파일만 잘 처리합니다. "표준"에서 벗어나는 모든 것은 맞춤형 솔루션으로 처리하는 것이 더 좋습니다.
올바른 접근 방식과 개발자 기술이 있다면 맞춤형 AI 모델은 사실상 모든 데이터 추출 작업을 처리할 수 있습니다.
엔지니어링 도면은 내가 쓴 유일한 기술 도면이 아닙니다. 다음을 확인하세요.