Abstract
본 논문에서는 2D 엔지니어링 drawing에서 feature extraction을 위한 OpenCV의 적용을 보여준다. 추출된 feature들은 SCAD 포맷의 3D CAD model로 재구성하거나 LIDAR scan data와 같은 3D point cloud data로 generation하는데 사용된다.
mechanical, aerospace, civil 등의 engineering 에서는 CAD 모델보다는 drawing을 설계 단계에서 이용한다. 따라서 본 논문에서는 camera capture 또는 스캔한 drawing data를 가지고 3D CAD와 BIM 모델로 쉽게 변환할 수 있는 것을 목적으로한다.
하지만 여기서 설명하는 방법은 간단한 shape에 대한 적용 가능성을 보여주며 실제 CAD 도면에서 hidden line과 같은 것들까지는 고려하지않는다. (하지만 이후 간단하게 개발 인터페이스에 추가할 수 있다고 한다.)
1. Introduction
가장 기본적이고 가장 간단한 방법으로 점, 선, 면과 같은 geometric entity를 3D component로 변환하는 것이다. 일반적으로 현재까지 제안된 방법들로는 크게 (a) pattern recognition (b) state transition (c) decomposition (d) graph-based approaches 로 분류할 수 있다
Lequette는 geometric primitive들을 사용하여 surface axes이 projection axes과 평행한 solid를 구성하는 알고리즘을 제안했다. (surface를 extrude하는 것을 말하는 것 같다. 논문을 확인하려고 했는데 유료인 것 같다.) 교차 곡선들은 직선 또는 원이다. (곡선을 여러 직선들을 연결해놓거나 원으로 표현한다는 말인 것 같다.)
Madurai 와 Lin은 CAD 파일에서 geometric entity를 식별하기위한 set of rules를 제안한다. (geometric entity 종류 별로 식별을 위한 어떤 rule을 지정해준다는 말인 것 같다. 간단히 말하면 rule-based)
Meeran 와 Pratt은 자동으로 2D drawing에서 feature extraction을 하고 3D CAD model을 만들기위한 idea를 discussion했다. 이 과정에서 2D drawing data를 읽기위해 DXF 파일을 사용한다. 그리고 간단한 gemetric을 가지고 증명한다.
3 view(front, top, side) 를 대체하기 위해 Geng 은 전체 geometry가 sub-space(hole, plate 등과 같은)로 나눠지고 이 각 sub-space는 각각 변환하여 전체 모델로 변환하는 human-like multi-view reconstruction 방식을 제안한다.
Cayiroglu은 세 가지 공간을 기반으로 feature extraction을 제안한다. object의 전체 모양을 추출하기위해서 base, top, sweep 세가지 surface가 사용된다. (base, top, sweep이 어떤 것을 말하는 것인지 모르겠다.) base는 bottom surface에서의 모든 feature들의 projection을 제공한다.
더 많은 discussion과 literature review는 Shi et al. 에서 확인 할 수 있다.
OpenCV는 복잡한 geometry를 식별하기위해 자율주행 차와 같은 다양한 application에서 폭 넓게 사용된다.
개발한 method는 DXF drawing 이나 PDF의 drawing과 카메라와 같은 다른 것들에 적용할 수 있다. 카메라에서 얻는 이미지에서 solid object를 re-create할 수 있는 이런 유연성은 다양한 object의 3D CAD reconstruction에 유용하다. (그냥 좋다는 말)
제안된 method의 한계는 boolean operation을 위해 SCAD format을 사용해야한다는 것이다. SCAD는 STEP, IGES 등과 같은 다른 format들로 모델을 변환할 수 있다.