Deep Learning

[Paper] Discovering Design Concepts for CAD Sketches (4)

ju_young 2023. 5. 18. 02:04
728x90

Cost matrix construction

  • generated element와 target element와의 비교를 위해 type 차이를 계산

  1. type과 parameter의 차이를 cross-entropy로 계산
  2. reference의 binary distance 계산

complete cost matrix

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