콘텐츠로 이동

통합 연구 보고서

물리적 정합성 확보를 위한 고해상도 HDR 파노라마 생성 모델 (Rev. 1.2)


1. 서론 및 문서 통합 전략

1.1 프로젝트 배경

본 프로젝트는 제한된 시야(Narrow-Field-of-View, NFoV)를 가진 단일 HDR 이미지로부터 물리적으로 정확한 180도 광각 HDR 파노라마를 생성하여, 신뢰할 수 있는 주광 눈부심 확률(Daylight Glare Probability, DGP) 시뮬레이션을 수행하는 것을 목표로 한다.

1.2 문서 통합 구조

이 통합 보고서는 향후 프로젝트 진행의 단일 진실 공급원(Single Source of Truth) 역할을 수행하며, 이론적 배경부터 구체적인 코드 구현 레벨의 전략까지 포괄한다.

통합된 내용:

출처 문서 통합 위치
이론 및 아키텍쳐 정의서 제2~3장
조도 적응형 마스크(DTAM) 연구 제4장 손실 함수
마일스톤 제7장 로드맵
S2R-HDR 및 Laval 데이터셋 스펙 제6장 데이터 파이프라인

2. 이론적 배경

2.1 주광 눈부심 확률(DGP)의 물리적 메커니즘

DGP는 단순한 시각적 불쾌감을 넘어, 조명 환경의 물리적 에너지가 인간의 생리적 반응에 미치는 영향을 정량화한 지표이다.

DGP 수식:

\[DGP = 5.87 \cdot 10^{-5} \cdot E_v + 9.18 \cdot 10^{-2} \cdot \log_{10} \left( 1 + \sum_{i} \frac{L_{s,i}^2 \cdot \omega_{s,i}}{E_v^{a_1} \cdot P_i^{a_2}} \right) + 0.16\]

2.1.1 수직 조도(\(E_v\))와 순응(Adaptation)의 관계

수식에서 \(E_v\)로그 항의 분모에 위치한다는 점이 중요하다.

  • 인간의 눈은 주변 환경의 밝기(\(E_v\))에 순응(Adaptation)
  • 순응 레벨이 높을수록 동일한 강도의 광원에 대해 덜 민감하게 반응
  • 이는 베버-페히너 법칙(Weber-Fechner Law)을 반영

핵심 문제점

생성 모델이 벽면이나 창문의 확산광을 실제보다 어둡게 생성하면 (예: 300 → 100 \(cd/m^2\)), \(E_v\) 값이 급격히 감소하고 DGP가 폭발적으로 증가하여 거짓 양성(False Positive) 결과를 초래한다.

2.2 기존 컴퓨터 비전 모델의 한계

현재 주류 생성형 AI 모델들(Stable Diffusion, Midjourney 등)은 8-bit RGB 이미지(LDR)를 기반으로 학습된다.

문제점 설명
클리핑(Clipping) 고휘도 영역(수십만 \(cd/m^2\))이 255(흰색)로 잘려나감
물리적 선형성 결여 감마 보정/톤 매핑으로 \(Pixel \propto Energy\) 관계가 파괴됨
LDM VAE 트랩 VAE 압축 과정에서 작은 광원의 피크 휘도가 평탄화(Smoothing)됨

2.3 23mm 협각 렌즈의 한계

건축 현장에서 흔히 사용되는 23mm 광각 렌즈는 약 63°의 시야각(FoV)을 가진다.

문제 영향
누락된 데이터 전체 반구 면적의 약 80% 이상 누락
광원 누락 창문이나 조명이 프레임 밖에 위치할 경우 주요 눈부심 원인 놓침
\(E_v\) 과소평가 누락된 영역의 빛 에너지가 적분에서 제외되어 실제의 1/5 수준

3. 아키텍처 정의

3.1 기반 모델 선정: StyleGAN2

최근 Diffusion Model이 트렌드이지만, 본 연구에서는 StyleGAN2 (StyleLight 변형)를 채택한다.

장점 설명
픽셀 공간 직접 연산 VAE 없이 픽셀 공간으로 직접 매핑, HDR 동적 범위 손실 없음
고해상도 안정성 \(1024 \times 1024\) 이상에서 검증된 안정성
GAN Inversion NFoV 이미지를 잠재 공간에 역투영하여 Outpainting에 구조적 적합

3.2 목표 해상도

\(512 \times 1024\) (Equirectangular Format) Native 출력

  • 기존 StyleLight (\(256 \times 512\))보다 상향
  • 1:2 비율의 비정사각형 데이터

3.3 Full FP32 정밀도 정책

본 프로젝트의 가장 중요한 기술적 차별점이다.

FP16(Mixed Precision)의 문제

문제 설명
Overflow FP16 최대값 65,504 < 태양 휘도(수백만 \(cd/m^2\)). 강제 클리핑 발생
Underflow 어두운 그림자(\(10^{-3} cd/m^2\))에서 그래디언트 소실

해결책

데이터 로딩, 모델 가중치, 활성화 함수, 손실 계산 등 전 과정을 float32로 통일

3.4 출력층 활성화 함수 변경

기존 StyleGAN2는 Tanh (\([-1, 1]\))를 사용하지만, 물리적 휘도는: - 음수일 수 없음 (\(L \ge 0\)) - 상한선이 없음

해결책: Softplus 활성화 함수

\[y = \text{Softplus}(x) = \ln(1 + e^x)\]
특성 설명
비음수성 항상 양수 출력
무한 동적 범위 상한 없음, 고휘도 직접 회귀 가능
미분 가능 ReLU와 달리 0 근처에서 부드러움

4. 핵심 방법론

4.1 2-Stage 하이브리드 학습 전략

데이터 편향 문제를 해결하고 물리적 정확도를 확보하기 위한 전략이다.

단계 데이터셋 목표 학습 방식 DTAM
Stage 1 S2R-HDR (24k, 합성) 구조적 일반화 Scratch Training 미적용
Stage 2 Laval Indoor (1.7k, 실측) 물리적 도메인 적응 S2R-Adapter 적용

Stage 1: 구조 학습

  • 데이터셋: S2R-HDR (Unreal Engine 5로 생성된 24,000장 합성 HDR)
  • 전략: 물리적 휘도 정확성보다 인페인팅/아웃페인팅 능력 배양에 집중
  • DTAM: 미적용 (합성 데이터의 물리량이 실제와 다를 수 있음)

Stage 2: 물리 보정

  • 데이터셋: Laval Photometric Indoor HDR (색차계 보정된 1,700장 실측 데이터)
  • S2R-Adapter: Stage 1의 \(G\) 가중치 동결, 2-브랜치 어댑터만 학습
  • r1=1 (미세 조정)
  • r2=128 (광범위 적응)
  • scale1, scale2: 학습 가능 파라미터로 자동 최적화

Test-Time Adaptation (TTA) - 선택적 기능

  • 목적: 새로운 도메인 데이터에 대한 추론 시 동적 적응
  • 작동 원리:
  • 입력에 N개 증강(ExpAug, WBAug, FlipAug, PermAug) 적용
  • 출력들의 분산으로 불확실성 \(U(x)\) 계산
  • 스케일 동적 조절: \(\alpha_1 = 1 - U(x)\), \(\alpha_2 = 1 + U(x)\)
  • 사용 시나리오:
  • Laval 파인튜닝 후: TTA 불필요 (기본 off)
  • 새 도메인 추론 시: TTA 선택적 활성화

4.2 구조적 일관성 손실 (\(\mathcal{L}_{Consist}\))

Stage 2에서 Laval 데이터에 과적합되어 Stage 1의 구조 지식이 무너지는 것을 방지한다.

\[\mathcal{L}_{Consist} = \text{LPIPS}( \text{ToneMap}(G_{Stage1}(z)), \text{ToneMap}(G_{Stage2}(z)) )\]
  • Stage 1 모델 = Teacher
  • Stage 2 모델 = Student
  • 물리적 휘도 스케일은 변경하되, 내용과 구조는 Stage 1 지식을 따르도록 강제

4.3 DTAM (이중 임계값 적응형 마스킹)

Stage 2 학습의 핵심 손실 함수 전략이다.

가중치 함수 \(W(L)\)

\[W(L) = \begin{cases} 1.0 & \text{if } L < 300 \\ 1.0 + 9.0 \cdot \left( \frac{L - 300}{1000 - 300} \right)^2 & \text{if } 300 \le L < 1000 \\ 10.0 & \text{if } L \ge 1000 \end{cases}\]
휘도 구간 (\(cd/m^2\)) 가중치 역할
0 ~ 300 1.0 배경/텍스처 학습
300 ~ 1,000 1.0 → 10.0 전이 구간, \(E_v\) 정합성 보장
1,000+ 10.0 광원 피크 정밀 복원

최종 물리 손실 함수

\[\mathcal{L}_{Phys} = \| W_{DTAM} \odot (\text{PU21}(Y_{pred}) - \text{PU21}(Y_{gt})) \|_1\]
  • PU21: 인간의 시각적 인지 특성 반영
  • \(W_{DTAM}\): 조명 공학적 중요도 반영
  • 적용 대상: Generator 가중치 업데이트에만 사용

5. 계산 인프라

5.1 GPU 및 VRAM 요구사항

\(512 \times 1024\) 해상도의 Full FP32 학습을 위해 NVIDIA RTX 5090을 사용한다.

항목 스펙
GPU NVIDIA RTX 5090
VRAM 32GB GDDR7 (예상)
배치 사이즈 1~2 (FP32 기준)
정밀도 amp 비활성화, 전 과정 float32

5.2 학습 안정화: Gradient Accumulation

배치 사이즈 제약을 극복하기 위해 16~32 스텝 동안 그래디언트를 누적한 후 역전파를 수행한다.


6. 데이터셋 구성 및 전처리

6.1 S2R-HDR (Synthetic to Real HDR)

항목 내용
장수 24,000장
해상도 \(1920 \times 1080\)
포맷 EXR

전처리 과정:

  1. \(1024\) 폭에 맞춰 다운샘플링 (Lanczos 필터)
  2. pytorch360convert로 \(512 \times 1024\) Equirectangular 변환
  3. float32 변환 (톤 매핑 없이 선형 휘도 유지)

6.2 Laval Photometric Indoor HDR

항목 내용
장수 1,719장
특징 물리적 휘도 보정 완료
포맷 HDR

전처리 과정:

  1. .hdr 파일 헤더의 노출 값(Exposure) 반영
  2. 절대 휘도(\(cd/m^2\))로 변환
  3. FP32 텐서화

7. 연구 개발 로드맵

Milestone 1~3: 기반 구축 및 Stage 1

마일스톤 내용
M1 데이터셋(S2R/Laval) 확보, pytorch360convert 파이프라인 구축
M2 출력층 Softplus 변경, Full FP32 로더 구현
M3 S2R-HDR로 구조 학습 (DTAM 미적용) → Checkpoint-Stage1

Milestone 4: Stage 2 학습

세부 활동:

  1. Checkpoint-Stage1 로드 및 \(G\) 동결
  2. S2R-Adapter 적용
  3. \(\mathcal{L}_{Phys} + \mathcal{L}_{Consist}\) 복합 손실 함수로 학습
  4. Checkpoint-Final

Milestone 5: 검증 파이프라인


8. 검증 방법론

8.1 검증 파이프라인 (Validation Workflow)

단계 작업 출력
1 생성 \(512 \times 1024\) Equirectangular HDR (FP32)
2 크롭 전방 180° 영역 (\(512 \times 512\))
3 초해상도 (SR) \(1024 \times 1024\) (SwinIR 등)
4 투영 변환 Angular Fisheye (-vta) 포맷
5 헤더 주입 VIEW= -vta -vv 180 -vh 180
6 DGP 산출 evalglare 실행

8.2 평가 지표

지표 설명 목표
\(\Delta E_v\) 수직 조도 오차율 < 10%
\(RMSE_{trans}\) 전이 구간(300~1,000 \(cd/m^2\)) 오차 최소화
DGP Class Accuracy 눈부심 등급 분류 정확도 최대화

9. 결론 및 기대 효과

본 연구 보고서는 다음의 핵심 기술을 통해 이론적 완성도를 높였다:

기술 역할
S2R-Adapter 2-브랜치 도메인 적응으로 효율적 물리 보정
스케일 학습 파인튜닝 시 scale1, scale2 자동 최적화
TTA (Test-Time Adaptation) 불확실성 기반 동적 스케일 조절 (선택적)
구조적 일관성 손실 (\(\mathcal{L}_{Consist}\)) Stage 1 지식 보존
Softplus 활성화 함수 무한 동적 범위 지원
Full FP32 파이프라인 물리적 휘도 정밀도 확보
DTAM 전이 구간 학습 강화
SR 후처리 작은 광원 소실 방지

S2R-Adapter 구현 상세

S2R-Adapter의 핵심 구성요소:

구성요소 파일 설명
S2R-Adapter 코어 training/s2r_adapter.py 2-브랜치 어댑터, 스케일 조절 함수
TTA 증강 training/tta_augment.py ExpAug, WBAug, FlipAug, PermAug
TTA 통합 training/coaches/my_coach.py train_with_tta() 메서드

스케일 조절 전략:

  1. 파인튜닝 시 (Stage 2):
  2. make_scales_learnable() 호출
  3. 역전파를 통해 최적 scale1, scale2 자동 학습

  4. 추론 시 (TTA 활성화):

  5. 불확실성 \(U(x)\) 계산
  6. \(\alpha_1 = 1 - U(x)\), \(\alpha_2 = 1 + U(x)\) 적용
  7. 새로운 도메인에서만 선택적 사용

기대 효과:

RTX 5090 기반 Full FP32 연산과 SR 후처리 파이프라인의 결합은 물리적 휘도 정보의 손실을 극소화하여, 23mm 협각 사진 한 장만으로도 신뢰할 수 있는 수준의 조명 시뮬레이션을 가능하게 할 것이다.

이는 건축 및 조명 설계 분야에서 고가의 장비 없이도 정밀한 환경 분석을 수행할 수 있는 혁신적인 도구가 될 것이다.