![Search icon](https://hackernoon.imgix.net/search-new.png?w=19&h=19)
Đã từng làm việc trên nhiều dự án xử lý bản vẽ kỹ thuật, chỉ còn là vấn đề thời gian cho đến khi một dự án tự động hóa bản vẽ kỹ thuật xuất hiện. Bạn có hỏi bản vẽ kỹ thuật có gì đặc biệt không?
Chú thích về kích thước hình học và dung sai (GD&T) chính là câu trả lời dành cho bạn. Những nhãn khó chịu này thường gây ra thách thức khi xử lý và trích xuất dữ liệu từ bản vẽ kỹ thuật do vị trí của chúng trên một trang và cấu trúc tổng thể. Nhưng đừng lo lắng — tôi ở đây để chia sẻ cách chúng tôi xử lý chú thích GD&T trên bản vẽ kỹ thuật bằng AI. Tuy nhiên, hãy bắt đầu từ đầu.
Tất cả các tài liệu số có thể được chia thành 2 loại: có cấu trúc và không có cấu trúc:
Như bạn có thể đoán, bản vẽ kỹ thuật là ví dụ điển hình của một tài liệu không có cấu trúc: mặc dù tuân thủ một bộ tiêu chuẩn nghiêm ngặt, mỗi bản vẽ lại khác nhau vì chúng thiếu cấu trúc cứng nhắc. Kết hợp với sự kết hợp giữa dữ liệu văn bản được đánh máy và viết tay, các ký hiệu đặc biệt, bảng tính phức tạp và nhiều chú thích khác nhau, bản vẽ kỹ thuật đặt ra một thách thức thực sự cho việc trích xuất dữ liệu tự động.
Bản chất phức tạp của bản vẽ kỹ thuật khiến chúng trở thành ứng cử viên hoàn hảo cho việc trích xuất dữ liệu AI. Trên thực tế, sử dụng các mô hình nơ-ron để phát hiện và trích xuất nhiều dữ liệu khác nhau từ bản vẽ là cách duy nhất để tự động hóa quá trình xử lý của chúng. Các mô hình thị giác máy tính hiện đại và cách tiếp cận thông minh đối với phát triển sản phẩm có thể tạo ra một công cụ mạnh mẽ để xử lý nhanh chóng bất kỳ bản vẽ kỹ thuật nào.
Một tìm kiếm nhanh trên Google sẽ cho bạn thấy ít nhất một vài giải pháp để xử lý bản vẽ kỹ thuật. Hầu như tất cả chúng đều cung cấp chức năng rộng và hứa hẹn xử lý nhanh chóng và chính xác dữ liệu phức tạp.
Thoạt nhìn, điều này có vẻ rất hứa hẹn: trả tiền thuê bao hàng tháng để xử lý bản vẽ kỹ thuật với độ chính xác cao. Tuy nhiên, trên thực tế, mọi thứ thường không suôn sẻ như vậy.
Các công cụ làm sẵn thường gặp khó khăn trong việc phát hiện và xử lý các phần tử xoay vì thuật toán của chúng chỉ được đào tạo để xử lý "mẫu số chung", trong trường hợp của chúng tôi, là bản vẽ kỹ thuật có nhãn và chú thích được đặt theo chiều ngang.
Do đó, sử dụng giải pháp làm sẵn chỉ phù hợp với những người có bản vẽ tương đối đơn giản và chỉ bao gồm dữ liệu chuẩn. Bất kỳ sự sai lệch nào so với “mẫu số chung” sẽ là thách thức đối với công cụ làm sẵn.
Tình huống chính xác này đã xảy ra với một trong những khách hàng của chúng tôi: các giải pháp xử lý bản vẽ kỹ thuật trên thị trường không đáp ứng được nhu cầu xử lý các bản vẽ phức tạp hoặc không chuẩn, khiến kết quả nhận dạng dữ liệu kém.
Chú thích GD&T chứa rất nhiều thông tin quan trọng cần trích xuất từ bản vẽ để xử lý thêm, nhưng vị trí của chúng trên trang, trong trường hợp của chúng tôi, được đặt ở một góc, lại gây trở ngại cho quá trình phân tích bản vẽ bằng công cụ AI được thiết kế sẵn.
Đây chính là lúc phát triển AI tùy chỉnh phát huy tác dụng: Các mô hình AI được đào tạo để phát hiện và trích xuất thông tin từ tài liệu cụ thể của bạn có thể giải quyết (gần như) mọi thách thức mà một công cụ làm sẵn gặp phải.
Sau đây là cách chúng tôi giải quyết một trong những thách thức khi xử lý bản vẽ kỹ thuật bằng cách phát triển mô hình AI tùy chỉnh — trích xuất chú thích GD&T được đặt ở một góc.
Bước đầu tiên là xác định vị trí chú thích trên bản vẽ. Các mô hình AI có thể được đào tạo để phát hiện vị trí chú thích bất kể vị trí hoặc góc quay của chúng.
Lưu ý: Tài liệu nhiều trang yêu cầu một bước bổ sung là chia tài liệu thành các trang và phân biệt giữa các bản vẽ kỹ thuật khác nhau. Tương tự đối với các tài liệu bao gồm nhiều bản vẽ trên mỗi trang: trước tiên bạn cần chạy một mô hình để phát hiện từng bản vẽ và trích xuất chúng từ tài liệu.
Đây là phần quan trọng: phát hiện cách chú thích được xoay. Mô hình AI cần tính toán góc xoay và xoay chú thích để làm cho nó nằm ngang. Sau đó, PNG cắt ra được chuyển tiếp để xử lý thêm:
Sau khi tất cả các chú thích được phát hiện, xoay và trích xuất từ bản vẽ, chúng sẽ được chạy qua một công cụ phát hiện ký hiệu. Tesseract là một lựa chọn tốt cho việc này vì nó cung cấp độ chính xác cao về khả năng nhận dạng và có thể hoạt động với văn bản nhiều dòng và ký hiệu có chiều cao khác nhau.
Đầu tiên, bạn cần tìm chính xác khu vực mà văn bản nằm để cải thiện quá trình nhận dạng ký hiệu. Tôi khuyên bạn nên sử dụng OpenCV vì nó xử lý các tác vụ này rất tốt và tương đối dễ sử dụng. Tiếp theo, khu vực văn bản được phát hiện sẽ được chuyển giao cho công cụ OCR để trích xuất tất cả văn bản và ký hiệu.
Một mảng các chữ cái, số và ký hiệu cần được diễn giải để cung cấp dữ liệu "có thể tiêu hóa" mà con người — hoặc hệ thống quản lý dữ liệu — có thể hiểu và xử lý. Các ký hiệu được phát hiện được chia thành các nhóm tạo thành kích thước bộ phận, dung sai, độ vừa vặn và bán kính.
Dữ liệu được trích xuất bởi hệ thống AI cần được trích xuất theo nhu cầu của bạn:
Trong khi thị trường có rất nhiều công cụ AI để xử lý tài liệu, chúng chỉ xử lý tốt các tệp đơn giản. Bất kỳ sự sai lệch nào so với "chuẩn mực" đều được xử lý tốt hơn bằng giải pháp tùy chỉnh.
Các mô hình AI tùy chỉnh có thể xử lý hầu như mọi tác vụ trích xuất dữ liệu — nếu có phương pháp tiếp cận phù hợp và kỹ năng của nhà phát triển.
Bản vẽ kỹ thuật không phải là bản vẽ kỹ thuật duy nhất tôi đã viết, hãy xem