연구에서 사용된 전체 코드가 포함되어 있지 않습니다.
이로 인해 본 저장소의 코드만으로는 프로젝트 전체를 실행할 수 없고,
GPU 연산 및 관련 서브 모듈만 포함되어 있음을 알려드립니다.
High-Boost Mesh Filtering의 문제점인 Aliasing(계단현상)과 Mesh irreguralization(불규칙화)을 개선하기 위해
Mesh 형상을 강화하는 데 사용하는 Boosted Normal에 Bilateral Filter를 적용한다.
Figure 1. Horse model. (a) Original one, (b) Enhanced by the high-boost mesh filtering, (c) Enhanced by the high-boost mesh filtering With Bilateral Filter
- 기존 기술의 문제점 개선 및 안정적인 Mesh 강화
- GPU 기반 병렬화로 6배 이상 고속화
2D 이미지 처리에서 사용되는 샤프닝 알고리즘을 3D Mesh에 적용하도록 고안된 알고리즘
Figure 2. Stanford Bunny model. (a) Original one, (b) Enhanced by the high-boost meshltering.
장점 : Mesh의 Triangle Face가 뒤집히는 현상 방지.
단점(1) : Mesh의 irregularization(불규칙성)과 Figure 2처럼 특정 영역에서의 aliasing(계단현상) 발생
단점(2) : 고해상도 Mesh일수록 CPU 기반 연산 시간 증가
Figure 3. Aliasing of (b)
Hirokazu Yagou 외 2인은 필터링이 적용된 결과물에 Laplacian Smoothing으로 후처리를 하여 문제 개선 시도함
따라서, High-Boost Mesh Filtering에서 자체적으로 문제 현상을 방지 또는 개선하는 기능이 필요함
Aliasing 발생 원인 : Mesh 형태 강화 시, 잡음(noise)도 함께 과장됨
- 2D 이미지의 잡음 제거에 사용되는 알고리즘
- 픽셀 간 거리, 픽셀 값 차이 두 가지를 고려하여 필터링
- Edge는 보존하고, Edge가 아닌 부분은 블러링
- High-Boost Mesh Filtering이 2D 기반 알고리즘을 3D로 확장한 기법이므로,
2D에서 사용하는 잡음 제거 방법을 적용하는 것이 효과적일 것이라 판단 - 잡음 제거 알고리즘 중 Edge 보존 가능 여부를 중점으로 비교 후, Bilateral Filter 선정
Mesh 강화를 위해 Normal Vector를 k번의 Smoothing하여 계산한 Boosted Normal Vector에 Bilateral Filter 적용
- 픽셀 간 거리 ➡️ Face의 중심 좌표 간 거리
- 픽셀 값 차이 ➡️ Face의 Boosted Normal 차이
Figure 4. Proposed Method Overview and Bilateral Filtering Integration Point
- 알고리즘 단계 중 Gradient Descent 연산에서 가장 큰 병목이 발생
- CUDA는 정적으로 GPU 메모리를 할당하므로 CPU에서 사용하던 동적 배열 방식으로 인접 정보를 표현핟기 어려움
- 인접 행렬 사용 시의 메모리 낭비와 특정 행 전체 순회로 인한 성능 저하 우려
✅ CSR 기반 데이터 구조로 병렬 처리에서 인접 정보를 효율적으로 탐색
- 양방향 필터를 통한 잡음 제거로 전체적인 강화를 억제해 Mesh가 더 자연스러운 형태로 강화
- 기존 방법에서 High-Boost Mesh Filtering 적용 후 별도의 smoothing 후처리의 필요성이 감소
- face 34만개 기준, 6배 이상 성능 개선
- face 크기가 커질수록 성능 차이가 커짐

