Notice
Recent Posts
Recent Comments
Link
«   2026/06   »
1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
Archives
Today
Total
관리 메뉴

망치블로그

5. CAD Representation Learning 본문

3D Data Preprocessing

5. CAD Representation Learning

망치임돠 2024. 11. 25. 18:23

CAD 표현 학습

CAD에서 Representation Learning이란 컴퓨터가 CAD 데이터의 핵심 정보를 추출하고 기계가 스스로 학습하는 것을 의미합니다 이러한 표현 학습은 인공지능 모델이 더 좋은 성능을 낼 수 있도록 합니다 예를 들어, 이미지 데이터를 다룰 때 원시 픽셀보다는 학습된 픽셀을 이용하면 더 효율적이죠.

그리고 광범위한 데이터를 연구하고 다양한 작업을 위해 데이터의 유사성을 발견하는 것은 AI분야에서 핵심 연구 분야 였습니다

논문에서 이 개념은 CAD데이터에도 확장이 된다고 말합니다

CAD 데이터에서 기하학적인 특성을 추출 하는 것은 매우 중요하며 저는 B-rep 데이터의 인코딩된 기하학적 속성을 추출하여 유사성을 평가 하고자 합니다

 

이 프로세스의 첫 번째 단계는 특정 분석 목표에 따라 CAD 모델의 기하학적, 위상적, 기능적 및 기타 속성의 하위 집합을 선택하여 수치 벡터, 행렬, 텐서 또는 그래프와 같은 적절한 형식으로 표현하여 인공지능으로 처리하는 것입니다. 그럼에도 불구하고 B-Rep 데이터를 표현하는 것은 연속적인 비유클리드 기하학적 특징과 불연속적인 위상적 속성이 공존하기 때문에 텐서나 고정 길이 인코딩과 같은 일반적인 구조화된 형식에 맞추기 어렵습니다.

 

해당 논문은 B-Rep 데이터를 활용하여 인공지능 아키텍처에 적합한 형식으로 인코딩하거나 토큰화하는 방법을 설명 해줍니다

CAD 데이터의 표현학습은 데이터로 부터 입력으로 받고 해당 주석을 고려하여 CAD 모델을 분류, 클러스터링, 분할 또는 재구성하는 방법을 학습합니다. 그러나 B-Rep 형식으로 제공되는 주석이 달린 CAD 데이터가 부족하고 각각의 데이터마다 주석이 다르기 때문에 적용하기가 매우 힘듭니다

 

결과적으로, 비지도 학습 및 자기 지도 학습과 같이 외부 주석에 의존하지 않는 접근 방식을 활용 해야합니다.

해당 논문에서는 GDL을 사용하여 CAD B-Rep에서 피처 표현을 추출하는 연구를 설명 합니다

 

분류 및 검색

B-Rep 어셈블리 내에서 3D 구성 요소를 인식 및 분류하기 위한 아키텍처 설계하는 것은 매우 중요 합니다

3D CAD 모델의 B-Rep 데이터 형식에서 직접 작동하도록 제안된 최초의 딥 러닝 방법 중 하나는 UV-Net입니다.

UV-Net은 인접 그래프로 토폴로지를 모델링하고 곡선 U와 표면 V 매개변수 도메인을 기반으로 그리드 형식에서 토폴로지를 모델링하고, B-Rep 데이터를 인접 그래프(adjacency graph)로 모델링하여 B-Rep 데이터에 대한 일관된 그래프 표현을 제안합니다.

B-Rep 데이터에서 그리드 구조화된 특징 표현을 생성하기 위해 이 접근 방식은 고정된 단계 크기(step sizes)로 표면 샘플링을 수행하여 각 3D 표면을 2D 그리드로 변환합니다.

유사한 방식으로 각 솔리드 곡선을 1D 그리드로 변환합니다. 결과 1D/2D 그리드 매핑을 UV 그리드라고 불립니다

표면의 2D 그리드에서 샘플링된 각 포인트들은 3가지 값은 7개의 채널을 통해 3 가지 서로 다른 값을 전달 합니다

  1. UV 좌표계에서의 3D 절대 점 위치(𝑥𝑦𝑧로 표현됨)
  2. 3D 절대 표면 법선(absolute surface normal)
  3. trimming mask (1: 가시영역, 0: 트리밍 영역을 나타냄)

곡선의 1D 격자에서 샘플링된 점의 경우, 인코딩에는 절대 점 UV 좌표와 선택적으로 단위 접선 벡터(unit tangent vector)가 포함됩니다.

다음으로 UV-Net 모델 아키텍처를 살펴보면, 우선 곡선과 표면을 각각 나타내는 1D 및 2D 그리드에서 피처를 추출한 다음 계층적 그래프 컨볼루션 계층(hierarchical graph convolution layers)을 사용하여 그래프로 인코딩된 3D 형상의 토폴로지 구조를 캡처하기 위해 CNN 및 GCN 계층으로 구성됩니다.

1D 곡선 및 2D 표면 UV 그리드는 1D 및 2D 컨볼루션 및 풀링 레이어에서 처리되는 반면 컨볼루션 레이어의 가중치는 B-Rep의 모든 곡선 및 표면에서 permutation-invariant 됩니다

CNN의 컨볼루션 계층에서 표면과 곡선으로부터 파생된 64차원 특징 벡터는 B-Rep의 면(face)을 나타내는 그래프 노드와 면 간의 연결을 나타내는 엣지로 구성된 면-인접 그래프(face-adjacency graph) 𝒢(𝒱, ℰ)의 노드 및 엣지 특징으로 사용됩니다.

이후 이 그래프는 다층 GCN(multi-layer GCN)에 도입되며, 그래프 컨볼루션 계층은 이러한 특징을 그래프 전체에 전파하여 형상에 내재된 국소 및 전역 구조를 모두 캡처할 수 있게 합니다.

UV-Net 아키텍처

CAD retrieval 같은 경우 지정된 데이터가 없기 때문에 UV-Net 인코더는 자기 지도 방식으로 학습 해야 합니다 이를 위해 Graph Contrastive Learning(GCL)이나 Graph AutoEncoder(GAE) 와 같은 자기 지도 학습을 위한 딥러닝 모델이 사용됩니다.

GCL같은 경우 B-Rep 샘플의 면-인접 그래프(face-adjacency graph)에 변환을 적용하여 각 B-Rep 샘플의 양성 쌍(positive pair)을 생성합니다.

변환 전후의 B-Rep 샘플은 양성 쌍(positive pair)으로 간주되며, UV-Net 인코더는 각 쌍의 형상 임베딩(shape embeddings)을 {hi, hj}로 추출합니다.

그리고 추출된 임베딩은 3계층 non-linear projection head에서 ReLU 활성화 함수를 통해 잠재 벡터(latent vector)로 변환 됩니다

 

목표는 각 샘플의 임베딩과 양성 쌍의 거리를 가깝게 만드는 것이며, 동시에 나머지2(N-1)개의 b-rep 샘플은 negative examples로 처리하며, 이를 양성 쌍으로부터 멀어지도록 학습합니다.

더불어, 기하학을 자기 지도 학습의 수단으로 사용하여 few-shot learning에 까지 적용 범위를 확장한 연구를 보여줍니다 이 방법은 인코더-디코더 구조를 활용하여 로컬 CAD 기하학을 레스터화 합니다

입력과 출력은 다음 데이터로 합니다 입력: B-rep 데이터, 출력: surface rasterization

 

더불어, 인코더와 디코더는 SB-GCN 기반으로 하며 인코더는 SB-GCN의 계층적 메시지 전달 아키텍처(hierarchical message passing architecture)를 채택하여 B-Rep 면의 경계 특징을 효과적으로 캡처하고 인코딩합니다

디코더는 표면 매개변수화( surface parameterization)와 표면 경계( surface boundary)를 동시에 디코딩하여 면을 재구성 합니다.

이 접근법은 복잡한 3D 기하학적 특징을 학습하는 데 있어서 미분 가능한 CAD 래스터화기(differentiable CAD rasterizer)의 효과를 강조합니다.

 

- 해당 글은 논문 Geometric Deep Learning for Computer-Aided Design: A Survey를 보고 정리한 글입니다.