Introduction
오늘날 Parametric CAD modeling이 mechanical CAD 설계의 표준이다. Parametric CAD modeling 이란 직접 치수를 계산하고 입력하여 drawing하거나 3D modeling을 한다는 것을 의미한다. 이때 drawing한 CAD sketch는 다양한 3D를 만들어 낼 수 있도록 사용된다.
위 사진처럼 CAD sketch는 서로 다른 relationship(일치, 평행, 접선 등)에 의해 구속된 primitive geometric elements(선, 호, 점 등)으로 구성되어 있다. (a)에 나와있는 것처럼 arc와 line은 tangent되어 있고 각 끝점들은 coincident(일치)되어있다고 한다. 하지만 실제로 autodesk inventor에서의 sketch를 사용해보면 tangent는 필요없다.
(a)와 같이 나온 sketch graph은 설계 의도를 발견할 수 있고 개작하거나 parameter를 변경하면 관련된 모든 elements들이 자동으로 업데이트되어 재사용할 수 있다. 그렇기 때문에 설계자들은 이런 sketch graph과 같이 꼼꼼하게 설계한다.
이 논문에서 sketch concepts라고 불리는 meta-structure는 반복적인 설계 패턴을 발견하고 더 효율적인 구성과 커뮤니케이션으로 프로세스를 만들어낸다. 구체적으로, 각 sketch concept는 특정 primitive elements와 constraints를 캡슐화(그룹화)한 하나의 structure이다.
sketch graph에서 자동으로 modular concepts를 찾아내기위한 task는 sketch generation에 대한 DSL(domain specific language)로 공식화하여 program library induction problem(다양한 library를 탐색하여 가장 적합한 함수를 선택하는 문제)으로 가져왔다. sketch generation에서 sketch graph는 하나의 program으로 공식화되고 sketch concept는 program을 구성하는 modular function이다. 즉, sketch concept 하나당 function 하나가 만들어지고 이것이 모여서 sketch graph가 된다고 이해하면 될 것 같다.
여기서는 간단한 end-to-end deep learning을 적용하여 sketch concepts의 implicit과 explicit representation으로 detection, generation을 한다.
CAD sketch concept formulation
- DSL에서 length, angle, coordinate, reference type을 포함한 기본 data type을 정의한다.
- primitives와 constraint types의 collection $\mathbb L^0$을 정의한다. 특히, constaints는 coincident 처럼 람다 함수로 표현된다. 또한 parallel distance와 같은 constraint는 distance라는 parameter를 추가로 가지기도한다.
- $\mathbb L^0$ types로 구성된 $\mathbb L^1$ types인 sketch concepts를 정의한다. $T_i^1$은 arguments $[\alpha_k]$와 members $t_{i,j}^0$를 가지는 하나의 function이고 composition operator $R_{T_i^1}$을 통해 연결된다. 예를 들어 coincident constraint $p$가 $\lambda(r_1, r_2).\{\}$라고 한다면 첫 번째 argumnet로 line primitive $q$를 가질 것이고 두 번째 argument인 composite type $\alpha_k$를 받아 composition operator가 $p(q, \alpha_k)$라고 할 수 있다.
- input sketch S는 composite types $t_i^1$의 collection으로 구성되고 이에 맞는 composition operator $R_S$에의해 연결된다.
Fig.1 (b)에서 인코딩한 sketch와 concept 예시를 볼 수 있다.
이렇게 DSL을 통해 CAD sketch를 명시적으로 공식화하면 sketch concept를 찾는 것은 program library $\mathbb L^1$을 학습하는 태스크가 된다.
structured concept 탐색과 detection 기반의 deep learning을 이용하기 위해 implicit dep representation과 explicit하고 interpretable한 structure를 이어줄 필요가 있었다고 한다. 그래서 다음 두 가지 주요 관점을 설명한다.
1. A concept has dual representation
latent space에서의 embedding인 implicit representation은 deep learning과 호환 가능하다. 반면에 explicit representation는 modularity와 같은 원하는 poperty를 가질 수 있는 structure를 제공한다.
2. A concept is a parameterized structure
하나의 concept는 해석 가능성을 위해 고정된 modular structure를 가진 composite type이지만 concept를 sketch에서 찾아낼때 primitive에 parameter를 주어 structure를 항상 인스턴스화한다.
Method overview
Fig. 2에서 보이는 것처럼 loss 계산 이전에 두 가지 주요 과정이 존재한다.
- concept의 implicit representation을 생성하는 detection step
- detection module D는 input으로 sketch S를 받는다.
- modular concept를 detection한다. i.e. $\{q_i\} = D(S, \{\bar{q}_i\})$
- latent code에 vector quantization(저차원 벡터로 변환)을 적용한다. i.e. $\{q_i^{\prime} = min_{p \in \mathbb L^1} || p - q_i ||_2\}$
- implicit concept를 구체적인 structure로 확장하는 explicit generation step (structure generation과 parameter instantiation으로 나누어짐)
- structure network는 quantization된 concept code $q_i^{\prime}$을 받고 explicit한 형태의 $T_i^1$을 생성한다.
- parameter network는 $T_i^1$의 각 component에 parameter value를 할당하여 concept structure를 인스턴스화한다.
- $\{t_i^1\}$를 결합하기위한 composition operator $R_S$는 D에서 나온 latent code $q_R$로부터 생성된다.
loss function은 생성된 것과 gt sketch graph간의 차이를 계산하도록 설계했다고 한다.
'Deep Learning' 카테고리의 다른 글
Library Induction Problem (0) | 2023.05.06 |
---|---|
[Paper] Discovering Design Concepts for CAD Sketches (2) (2) | 2023.04.30 |
[Paper] Link Prediction Based on Graph Neural Networks (0) | 2023.04.23 |
[Paper] Self-supervised Spatial Reasoning on Multi-View Line Drawings (0) | 2023.04.17 |
[Paper] CADTransformer: Panoptic Symbol Spotting Transformer for CAD Drawings (3) (0) | 2023.04.09 |