NeurIPS 2025. [Paper] [Page]
Hyunjin Kim, Kunho Kim, Adam Lee, Wonkwang Lee
KRAFTON AI | NC AI | UC Berkeley | Seoul National University
28 Nov 2025

Introduction

메쉬 텍스처링에서 내부 표면 텍스처링은 여전히 ​​중요한 과제이다. 멀티뷰 unprojection에 의존하는 기존 방법들은 가려진 부분이나 내부 geometry에 접근할 수 없어 텍스처가 적용되지 않은 영역이 종종 발생하기 때문이다. Voronoi 기반 채우기 기법을 통해 이러한 문제를 해결하려는 시도가 있었지만, 눈에 띄는 이음새와 일관성 없는 표면 텍스처가 나타나는 경우가 많았다.

최근 연구에서는 UV space 정제 및 diffusion model fine-tuning을 통한 inpainting 기법이 주목받고 있다. 이러한 접근 방식들은 내부 표면 영역에 텍스처를 적용할 수 있지만, 명확한 기하학적 맥락이 부족한 UV space 표현에 의존하고, 고품질 내부 표면 텍스처를 포함하는 다양한 UV map 구조를 포착하는 학습 데이터의 부족으로 인해 고품질의 자연스러운 내부 표면을 구현하는 데에는 한계가 있다.

본 논문에서는 내부 표면 텍스처링을 명시적으로 해결하는 최초의 occlusion-aware 메쉬 텍스처링 방법인 GOATex를 제안하였다. 핵심 아이디어는 메쉬를 계층 구조로 간주하고 ray 기반 visibility 분석을 통해 외부에서 내부로 표면을 점진적으로 드러내는 것이다. 먼저 멀티뷰 ray casting을 통해 hit level을 계산한다. Hit level은 메쉬 영역의 상대적인 깊이를 정량화하고 표면을 순서대로 정렬된 visibility layer로 분할하여, 가려진 geometry를 점진적으로 드러내는 렌더링 파이프라인 프로세스를 용이하게 한다.

이러한 진행 과정 전반에 걸쳐 object의 전체적인 shape과 identity를 유지하기 위해, residual face clustering과 normal flipping & backface culling을 결합한 2단계 visibility 제어 전략을 도입하였다. 이를 통해 메쉬의 전체 구조를 왜곡하지 않고 새로운 내부 표면을 드러낼 수 있다. 각 layer는 사전 학습된 깊이 조건부 diffusion model을 사용하는 MVD 모듈을 통해 독립적으로 텍스처링된다. 이러한 텍스처를 매끄럽게 병합하기 위해, 시점에 따른 visibility 가중치를 기반으로 하는 UV space 블렌딩 방식을 제안하여 이음새와 스타일 불일치를 방지한다.

GOATex는 보이는 영역과 가려진 영역 모두에서 고품질 텍스처를 생성하는 동시에 외부 및 내부 표면에 대한 별도의 프롬프트를 통해 외형을 세밀하게 제어할 수 있다.

Method

1. Ray-Based Hit Level Assignment for Layered Geometry Decomposition

본 논문의 방법은 메쉬의 다양한 영역의 상대적 visibility depth를 추정하는 것으로 시작하며, 이를 통해 후속 텍스처링 단계에서 외부 표면에서 내부 표면으로 점진적으로 노출 및 렌더링할 수 있다. 이는 두 가지 핵심 단계를 통해 달성된다.

  1. 메쉬 면을 superface라고 하는 구조적으로 일관된 영역으로 그룹화
  2. Ray casting을 기반으로 각 superface에 hit level을 할당
Superface 구성

개별 면에 직접 hit level을 할당하면 파편화가 발생할 수 있다. 동일한 평면 영역에 속하는 인접한 면들이 수많은 작은 면들로 구성된 메쉬 구조 때문에 서로 다른 hit level이 할당되는 현상이 발생하여, 후속 단계에서 semantic하게 일관되고 타당한 텍스처 생성이 어려워진다. 이러한 문제를 해결하기 위해 Xatlas 라이브러리를 사용하여 메쉬를 atlas로 분할한다. 각 atlas는 superface로 간주되어 hit level 할당의 기초가 된다.

Hit level 할당

다음으로, 여러 시점에서 ray casting을 하여 광선과 표면의 intersection order 및 방향별 영향을 기록한다. 이러한 정보는 모든 광선에 걸쳐 종합되어 superface에 대한 가장 대표적인 hit level을 결정한다. 각 광선의 영향은 광선의 방향과 면의 normal 벡터 사이의 코사인 유사도에 따라 가중치가 부여되며, 직접적인 교차일수록, 즉 -1에 가까울수록 더 큰 중요도를 부여하고 hit level 할당에 더 큰 영향을 미친다.

Intersection order가 $k$인 광선 $r$이 면 $f$에 미치는 영향 가중치 $W(f, k)$는 다음과 같이 정의된다.

\[\begin{equation} W(f, k) = \sum_{r \in R_k (f)} \max (-n(f) \cdot d(r), 0) \end{equation}\]

(\(R_k (f)\)는 intersection order $k$로 면 $f$와 교차하는 광선들의 집합, $n(f)$는 면 $f$의 normal 벡터, $d(r)$은 광선 $r$의 방향)

마지막으로, 이러한 방향 가중치를 종합하여 hit level $H(SF_i)$, 즉 superface $SF_i$에 대한 가장 지배적인 intersection order를 결정한다.

\[\begin{equation} H(SF_i) = \underset{k}{\arg \max} \sum_{f \in SF_i} W(f, k) \end{equation}\]

2. Visibility Control for Structurally Coherent Layered Texturing

각 면에 visibility depth에 따라 고유한 hit level이 할당되면, 가장 바깥쪽 면(hit level이 가장 낮은 면)부터 시작하여 안쪽 면(hit level이 가장 높은 면)까지 hit level별로 면을 독립적으로 렌더링하고 텍스처링하는 간단한 텍스처링 방식을 사용할 수 있다. 즉, 각 hit level $k$에서 해당 hit level에 할당된 면들의 집합 \(F_k^\textrm{init}\)를 구성하고, depth map을 렌더링한 다음, 깊이 조건부 2D diffusion model을 적용하여 텍스처를 생성할 수 있다.

하지만 이러한 단순한 전략에는 치명적인 단점이 있다. 높은 hit level과 관련된 면 클러스터는 점점 더 sparse해지고 파편화된다. 이는 렌더링된 depth map에서 불완전하고 단절된 geometry를 초래하여 일관된 구조에서 벗어나게 한다. 결과적으로 diffusion model은 out-of-distribution (OOD) 입력을 받게 되어 내부 영역에 대한 그럴듯한 텍스처를 생성하는 능력이 저하된다.

저자들은 2단계 visibility 제어 전략을 통해 이러한 문제를 해결하였다.

  1. 더 dense하고 점진적으로 드러나는 geometry를 구성하기 위한 residual face clustering
  2. 글로벌 shape을 보존하기 위한 backface culling을 통한 normal flipping

이러한 구성 요소들이 함께 작용하여 각 depth map이 robust한 텍스처 생성에 필요한 구조적 충실도와 문맥적 일관성을 모두 보존하도록 보장한다.

Residual Face Clustering

저자들은 sparsity 문제를 해결하기 위해, residual face clustering 전략을 채택하여 각 단계에서 렌더링되는 면 집합을 재정의하였다. 즉, hit level $k$에 고유하게 할당된 면만 렌더링하는 대신, 이전 hit level에서 남은 텍스처가 적용되지 않은 모든 면을 렌더링한다. 결과적으로 얻어지는 residual face 집합 \(F_k^\textrm{res}\)는 다음과 같이 정의된다.

\[\begin{equation} F_k^\textrm{res} = F - \bigcup_{i=1}^{k-1} F_i^\textrm{init} \end{equation}\]

($F$는 메쉬 면 전체 집합)

양파 껍질을 벗기는 것과 유사하게, 이 공식은 텍스처링이 적용되지 않은 더 깊은 geometry를 점진적으로 드러내어 후속 텍스처링을 가능하게 한다.

Normal Flipping & Backface Culling

Residual clustering은 sparsity를 완화하지만, 더 깊은 hit level에서 보이는 면의 수가 단조롭게 감소하는 것을 막지는 못한다. 이로 인해 구조적 단서가 부족한 점점 더 sparse한 depth map이 생성되어 diffusion model에 OOD 입력이 제공되고 텍스처 품질이 저하된다.

저자들은 이를 위해 normal flipping과 backface culling에 기반한 기법을 도입하였다. 각 hit level $k$에서 모든 메쉬 면은 유지하되, 이전 hit level에서 이미 텍스처링된 면의 normal을 반전시켜 현재 광선에 대해 앞면을 뒷면으로, 또는 그 반대로 바꾼다. Backface culling으로 인해 시점 방향의 90° 이내에 있는 normal을 가진 면은 제거된다. 따라서 이전에 카메라를 향했던 면은 반전된 후 마치 장면에서 제거된 것처럼 일시적으로 숨겨진다. 한편, 이전에 뒷면을 향했던 면은 이제 카메라를 향하게 되어 보이게 된다. 결과적으로 이러한 시점에 따른 동작은 object의 구조를 보존하고 시점별 visibility를 향상시키면서 텍스처링되지 않은 내부를 드러낸다.

Hit level $k$에서 렌더링되는 면은 다음과 같다.

\[\begin{equation} F_k = F_k^\textrm{res} \cup (\overline{F} - \overline{F_k^\textrm{res}}) \end{equation}\]

($\overline{F}$와 \(\overline{F_k^\textrm{res}}\)는 각각 $F$와 \(F_k^\textrm{res}\)의 뒤집힌 버전)

3. Weighted UV-Space Blending for Layered Texture Synthesis

마지막으로, 각 hit level $k$에 대해 visibility가 제어된 면 클러스터 $F_k$를 사용하여 멀티뷰 depth map을 렌더링함으로써 하나의 텍스처를 생성한다. 이러한 depth map은 사전 학습된 텍스처 생성 모듈인 MVD 모듈을 컨디셔닝하는 데 사용되어 각 hit level에 대한 고유한 텍스처 맵 \(\textrm{UV}_k\)를 생성한다.

Hit level별 텍스처를 결합하는 간단한 방법은 hit level 전체에 걸쳐 덮어쓰거나 평균을 내는 것이다. 그러나 이러한 단순한 접근 방식은 종종 눈에 띄는 시각적 오류를 초래하거나 내부와 외부 표면 사이의 경계가 명확하지 않게 된다.

이 문제를 해결하기 위해 저자들은 UV space 텍스처 병합 방식을 도입하였다. Hit level $k$의 각 뷰 $v$에 대해, 뷰 방향과 면의 normal 사이의 코사인 유사도를 기반으로 UV 공간 가중치 $W_k^{(v)}$를 계산한다. 이 가중치는 주어진 뷰가 최종 텍스처의 각 texel에 얼마나 기여하는지를 반영한다.

각 hit level $k$에 대한 총 visibility 가중치 $W_k$는 뷰 전반에 걸친 기여도를 집계하고 수정된 softmax function을 사용하여 hit level별로 정규화하여 계산된다.

\[\begin{equation} \overline{W_k} = \frac{e^{W_k} \odot \mathcal{M}_k}{\sum_{j=1}^H e^{W_j} \odot \mathcal{M}_j}, \quad W_k = \sum_v W_k^{(v)} \end{equation}\]

(\(\mathcal{M}_k\)는 hit level $k$에서 유효한 texel을 나타내는 binary UV mask, H는 전체 hit level 수)

정규화된 가중치 \(\overline{W_k}\)는 각 texel에 대한 hit level $k$의 상대적 영향력을 나타낸다.

최종 병합된 텍스처의 \(\textrm{UV}_F\)는 다음과 같이 계산된다.

\[\begin{equation} \textrm{UV}_F = \sum_{k=1}^H \overline{W_k} \odot \textrm{UV}_k \end{equation}\]

(\(\textrm{UV}_k\)는 hit level $k$에서 생성된 텍스처)

이 소프트 블렌딩 방식은 급격한 전환이나 독립적으로 텍스처링된 영역에 대한 단순한 평균화로 인해 발생하는 아티팩트를 효과적으로 억제한다.

Experiments

  • 데이터셋: Objaverse, Objaverse-XL
  • 구현 디테일
    • 멀티뷰 이미지 생성
      • Stable Diffusion 1.5 + depth-based ControlNet
      • 뷰 개수: 16 (적도 상에 45° 간격으로 8개, 45° 고도로 8개)
      • latent 해상도: 96$\times$96
      • RGB 해상도: 768$\times$768
    • 텍스처 생성 (MVD)
      • latent UV map 해상도: 512$\times$512
      • RGB UV map 해상도: 1024$\times$1024
    • 최대 hit level: $H = 4$

1. Analysis on Visibility Control & UV Texture Merging

다음은 두 visibility 제어 기법에 대한 분석 결과이다.


다음은 UV 텍스처 병합에 대한 분석 결과이다.

2. Comparison with Baselines

다음은 다른 텍스처링 방법들과 비교한 결과이다.


다음은 인간과 GPT의 선호도 평가 결과이다.

3. Ablation Study

다음은 ablation study 결과이다.

4. Separate Prompt Conditioning for Inner and Outer Surfaces

다음은 내부 표면과 외부 표면에 다른 프롬프트를 사용하여 텍스처링한 결과이다.