728x90
Cost matrix construction
- generated element와 target element와의 비교를 위해 type 차이를 계산
- type과 parameter의 차이를 cross-entropy로 계산
- reference의 binary distance 계산
Matching and reconstruction loss
- cost matrix C 가 주어지면 linear assignment를 적용
indices = [ linear_sum_assignment(c.detach().cpu()) for c in cost_matrixs]
- reference loss
reference_loss = self.NLLloss(ref_pred_logprob, ref_dest_cand_idx) * self.correspondance_reference_loss_ratio
Concept quantization loss
commitment_loss = F.mse_loss(structual_type_code,structual_selection_code.detach()) * self.commitment_ratio
Modularity enhancement loss
- 제한적으로 argument를 사용할때 soft bias loss를 추가하여 더 많은 argument를 필요로 하는 케이스를 보완
reference_regulate_loss = ref_pred_inscope_prob[...,-self.ref_out_argument_num:].sum(1) * self.ref_bia_ratio
Total loss
- 논문과 코드의 loss를 비교 확인 필요
Design intent interpretation
- sketch가 주어지면 concept들을 찾고 interpretaion
- 아래에서 concept에 따라 색상이 들어간 것이 restructured sketch(왼쪽), restructured graph(오른쪽)
Auto completion
- primitives와 constraints가 주어지면 부족한 primitives와 constraints를 추가하여 규칙적이고 잘 구성된 설계 형태를 가지게 한다.
- 왼쪽은 input sketch(black)과 gt completion(red)이고 중간은 autoregressive baseline의 결과, 오른쪽은 본 논문 모델의 결과
- 더 많은 결과 예시들은 논문의 supplementary에서 확인할 수 있다.
728x90
'Deep Learning' 카테고리의 다른 글
Autoconstrain Model (0) | 2023.05.24 |
---|---|
SketchGraphs (0) | 2023.05.19 |
[Paper] Discovering Design Concepts for CAD Sketches (3) (0) | 2023.05.14 |
Library Induction Problem (0) | 2023.05.06 |
[Paper] Discovering Design Concepts for CAD Sketches (2) (2) | 2023.04.30 |