← 전체 프로젝트 목록

연구 · KCC 2025 우수논문상 · 정보과학회논문지 53(4) · 공학석사학위논문

강한 광원 주변의 3DGS 복원 왜곡 개선

광원 주변이 번지고 가우시안이 팽창하는 문제를 초기 구조 · 학습 비중 · 속성 안정성 세 단계로 나눠 각각 대응했습니다.

기간
석사과정 (2024.09 – 2026.08)
소속
인하대학교 미디어인공지능연구실
역할
제1저자 · 방법 설계와 실험
구성
지연 · 이은석 · 신병석 (지도교수)
  • Python
  • PyTorch
  • 3D Gaussian Splatting
  • COLMAP (SfM)
  • HSV · CIELAB

+1.09 dB

광원 ROI 평균 PSNR

DrJohnson 단일 장면, 3개 광원 ROI 평균, 표준 3DGS 대비 (21.60 → 22.69 dB)

3D Gaussian Splatting이 고휘도 광원 주변의 블룸·과포화를 장면 구조로 흡수하는 문제를 다뤘습니다. 밝기 중심 SfM, 광원 소프트 마스크 기반 가중 손실, 광원 가우시안의 불투명도·스케일 정규화를 설계했고, 표준 3DGS와의 비교와 구성요소 제거 실험으로 효과를 확인했습니다.

해결하려던 문제

고휘도 광원 주변의 블룸·렌즈 플레어·과포화는 시점에 따라 다르게 관측됩니다. 표준 3DGS는 이 변화를 장면의 구조와 외관으로 설명하려 하므로, 광원 경계가 번지고 일부 가우시안이 비정상적으로 팽창하거나 반투명해지며 부유물 형태의 아티팩트가 생깁니다.

정답 (GT)Case 3 정답: 샹들리에 금속 몸체와 전구
표준 3DGSCase 3 표준 3DGS: 전구 주변으로 바늘 모양 아티팩트가 퍼진 결과
원본 렌더러 결과Case 3 · 샹들리에. 표준 3DGS(오른쪽)에서는 전구 주변으로 바늘 모양 아티팩트가 퍼집니다.

오류가 시작되는 단계를 세 가지로 나눴습니다.

  • 초기 구조: 광학 효과가 섞인 RGB 영상에서 SfM을 시작하면 광원 주변 특징점이 흔들립니다.
  • 학습 비중: 광원은 영상에서 차지하는 면적이 작아, 그 영역의 오차가 전체 손실에 충분히 반영되지 않습니다.
  • 속성 안정성: 광원 주변 가우시안의 불투명도와 크기가 학습 중 불안정해집니다.

담당 범위와 협업

직접 한 일

  • 세 단계 문제 분해와 대응 방법 설계 (밝기 중심 SfM, 소프트 마스크 가중 손실, 광원 가우시안 속성 정규화)
  • 원본 3DGS 대비 수정 코드 전부 작성 (SfM 입력 준비, 소프트 마스크 생성, 가중 손실, 속성 정규화, 실험 플래그)
  • 표준 3DGS와의 정량·정성 비교, 구성요소 제거 실험
  • KCC 2025 발표, 정보과학회논문지·학위논문 집필 (제1저자)

공동연구자 · 기존 코드

  • 베이스 코드: Inria 3D Gaussian Splatting (Kerbl et al., 2023)
  • 공동저자(이은석)·지도교수(신병석): 연구 논의와 검토

주요 판단과 선택 이유

  • 오류를 세 단계로 나눠 단계마다 모듈 하나씩 대응했습니다. 광원 주변 번짐을 초기 구조·학습 비중·속성 안정성의 문제로 나눴습니다. 이렇게 나눠 두면 모듈을 하나씩 빼는 실험으로 각 단계의 효과를 따로 확인할 수 있습니다.
  • 추가한 연산은 모두 학습 단계에만 넣었습니다. 학습이 끝난 뒤의 렌더링은 표준 3DGS 파이프라인을 그대로 써서 3DGS의 실시간 렌더링 장점을 유지합니다.
  • 밝기 채널은 SfM에만 썼습니다. 색상 대비 대신 명암 중심으로 특징점을 잡아 조명에 따라 색이 크게 바뀌는 영역의 영향을 줄였습니다. KCC 2025에서 학습까지 밝기 채널로 하자 결과가 흑백이 되는 한계를 확인했기 때문에, 이후 학습은 RGB로 되돌렸습니다.
  • 광원 검출은 가벼운 규칙 점수로 했습니다. 딥러닝 분할 모델을 붙이면 학습 비용이 늘어나므로, 광원이 대체로 “밝고 채도가 낮다”는 성질을 점수로 썼습니다.
  • 이진 마스크 대신 소프트 마스크를 썼습니다. 이진 마스크는 경계에서 그래디언트가 불안정하고, 광원과 비슷한 물체를 잘못 잡았을 때 학습을 과도하게 끌고 갑니다.
  • 정규화는 광원 가우시안에만, 학습 중반부터 걸었습니다. 장면 전체에 걸면 광원이 아닌 영역의 표현까지 묶입니다. 학습 초기에는 위치·크기·불투명도가 아직 수렴하지 않아 강한 제약이 최적화를 늦추거나 발산시킬 수 있다고 판단했습니다.
  • 모든 모듈을 플래그로 켜고 끄게 만들었습니다. 플래그를 모두 끄면 원본 3DGS와 같은 학습이 되어, 비교 실험과 구성요소 제거 실험을 같은 코드로 재현할 수 있습니다.

방법과 실험 과정

다중 시점 영상에서 SfM, 가우시안 초기화, 렌더링으로 이어지는 3DGS 흐름 아래에 소프트 마스크 생성, 가중치 맵, 픽셀 손실, 기하 정규화 블록이 연결된 구성도
논문 구성도제안 방법 전체 구성. 위쪽은 표준 3DGS 학습 흐름이고, 아래쪽이 추가한 소프트 마스크·가중치 맵·속성 정규화입니다.

1. 밝기 중심 SfM — 초기 구조

RGB 영상을 HSV로 바꾸고 V(명도) 채널만으로 COLMAP SfM을 수행해 카메라 포즈와 초기 포인트 클라우드를 구합니다. 3DGS 학습 자체에는 원본 RGB 영상을 그대로 씁니다.

KCC 2025에서는 밝기 채널만으로 학습까지 진행해 결과가 흑백으로 렌더링되는 한계가 있었습니다. 학술지·학위논문에서는 SfM에만 밝기 채널을 쓰고 컬러 외관 복원은 RGB로 학습하도록 확장했습니다.

밝기 중심 SfM 선행 연구 (KCC 2025)
방법PSNR (dB)↑SSIM↑LPIPS↓
3DGS29.390.910.25
밝기 중심 SfM29.690.920.21
평가 조건과 출처
데이터
Deep Blending (논문에 장면명 미기재)
출력
제안 방법은 밝기 채널만 사용해 흑백으로 렌더링됨
색상 처리
정답·표준 3DGS·제안 방법을 모두 흑백으로 변환해 비교 (논문에 미기재, 저자 확인)
후속 연구와의 관계
평가 범위가 달라 학술지 ROI 수치와 이어서 비교하지 않음
출처
KCC 2025 논문집 · 표 1 · 128쪽

2. 광원 소프트 마스크와 가중치 맵 — 학습 비중

밝기와 채도로 광원 후보 점수를 계산합니다.

HSV(P) = (1 − S) · V · Sscore = HSV(P) · L*

점수가 임계값 τ 이상인 픽셀로 이진 마스크를 만든 뒤, 시그모이드·가우시안 블러·형태학 연산으로 경계를 부드럽게 해 소프트 마스크 M을 얻습니다.

샹들리에가 있는 실내 영상, 광원 점수 히트맵, 이진 마스크, 시그모이드 곡선, 부드러운 경계의 소프트 마스크가 순서대로 배치된 그림
논문 구성도소프트 마스크 생성 과정. 선형 색공간 변환 → HSV·LAB 점수 → 임계값 이진 마스크 → 시그모이드로 경계를 부드럽게 만든 소프트 마스크.

마스크는 픽셀별 L1 손실의 가중치로 들어갑니다. β = 0.8은 학위논문에서 실험적으로 정한 값입니다.

w(i,j) = 1 + β · M(i,j) · Lweight = (1/N) Σ w(i,j) · |Ir(i,j) − Igt(i,j)|

아래에서 β를 바꾸면 광원 픽셀의 가중치가 어떻게 커지고, 가중치 합에서 광원 영역이 차지하는 비중이 얼마나 늘어나는지 볼 수 있습니다.

소프트 마스크와 손실 가중치 맵 w = 1 + β·M브라우저에서 계산

β를 바꾸면 학습 손실에 쓰는 픽셀 가중치만 브라우저에서 다시 계산합니다. 학습된 3DGS 결과는 β = 0.8로 학습한 하나뿐이며, 이 슬라이더로 바뀌지 않습니다.

정답 영상Case 3 정답: 샹들리에 금속 몸체와 전구
소프트 마스크 MCase 3 소프트 마스크: 전구 영역이 흰색
가중치 맵 w
광원 픽셀(M ≥ 0.5) 면적
–
가중치 합에서 광원 픽셀 비중
–
광원 픽셀 가중치 (M = 1)
–
마스크는 학위논문 그림 8의 ROI 확대 마스크를 잘라 쓴 것이라 값은 근사치입니다. "광원 픽셀 비중"은 가중치의 분포를 보여줍니다.

3. 광원 가우시안의 속성 정규화 — 속성 안정성

광원으로 식별한 가우시안 집합 Glight에만 제약을 겁니다.

  • 광원 가우시안 식별: 반복마다 가우시안 밝기를 계산해 임계값을 넘는 가우시안을 G_light로 식별
  • 불투명도 정규화 Lo: 불투명도가 0 또는 1로 수렴하도록 유도해 반투명한 가우시안이 남지 않게 합니다.
  • 스케일 정규화 Ls: 크기의 L1 노름을 줄여 비정상적인 팽창을 억제합니다.
Lo = (1/|Glight|) Σ αk(1 − αk) · Ls = (1/|Glight|) Σ ‖sk‖1

적용 시점: 총 30,000회 중 15,000회 이후 속성 정규화를 활성화하고, 활성화 후 일정 구간 동안 가중치를 선형으로 높임.

통합 손실

Ltotal = Lweight + λSSIM · LSSIM + λo · Lo + λs · Ls (λSSIM = 0.2, λo = λs = 0.05)

원본 3DGS 대비 바꾼 부분

아래 수정은 모두 직접 작성했습니다.

모듈변경 내용관련 파일플래그
밝기 중심 SfMV 채널 영상으로 COLMAP 실행, 학습은 RGBprepare_luminance_sfm.py입력 경로 교체
가중치 맵 손실HSV+LAB 소프트 마스크 생성, 픽셀별 가중 L1generate_soft_masks.py, train.py, scene/dataset_readers.py–use_weight_map
속성 정규화Glight의 Lo, Ls와 적용 시점train.py, arguments/init.py–use_light_reg

공개 코드와 논문 실험 설정. 논문 수치는 이 페이지에 적은 설정(정규화 가중치 선형 증가, 밝기 임계값으로 Glight 식별)으로 얻었습니다. 공개 저장소는 이후 정리한 버전이라 기본값이 다릅니다. 선형 증가 구간 기본값이 0이고, Glight는 초기 포인트를 광원 마스크에 투영해 붙인 클래스로 정합니다. 논문 수치를 재현하려면 위 설정값으로 실행해야 합니다.

결과와 검증

광원 영역 정량 평가

광원 영역(ROI) 정량 평가
구분방법PSNR (dB)↑SSIM↑LPIPS↓
Case 1 · 천장 형광등3DGS20.330.8270.333
제안 방법21.320.8350.320
Case 2 · 창문 자연광3DGS25.500.9060.271
제안 방법27.260.9200.255
Case 3 · 샹들리에3DGS18.970.7040.314
제안 방법19.480.7210.286
평균 (3개 ROI)3DGS21.600.8120.306
제안 방법22.690.8250.287
평가 조건과 출처
데이터
Deep Blending · DrJohnson 단일 장면
비교 대상
표준 3DGS vs 제안 방법 (각 논문의 원본 평가 파이프라인)
ROI
Case 1 천장 형광등 · Case 2 창문 자연광 · Case 3 샹들리에
평균
3개 ROI 값의 산술평균 (표 값으로 재계산해 일치 확인)
ROI 산출 방식
학위논문 그림 7의 빨간 상자(그림 8 확대 영역)를 잘라 낸 사각형 전체 픽셀로 계산 (논문에 미기재, 저자 확인)
출처
공학석사학위논문 (2026.08) · 표 3 · 인쇄 37쪽 (PDF 45쪽)
정보과학회논문지 53(4) · 표 1 · 309쪽 (같은 수치)
  • 학위논문 본문에는 Case 1 PSNR 향상이 1.12 dB로 서술돼 있으나, 표 값으로 계산하면 +0.99 dB입니다. 이 페이지는 표 값을 사용합니다.
광원 ROI 확대 비교원본 렌더러 결과
Case 3 표준 3DGS: 전구 주변으로 바늘 모양 아티팩트가 퍼진 결과Case 3 제안 방법: 같은 영역Case 3 정답: 샹들리에 금속 몸체와 전구
표준 3DGS제안 방법

슬라이더나 이미지를 드래그하면 경계가 움직입니다. 키보드에서는 방향키를 쓰세요.

세 ROI는 위 표의 Case 1~3과 같은 영역입니다.

같은 영역을 확대해 보면 창문 프레임과 조명 경계의 번짐, 광원에 붙은 부유물이 줄었습니다. Case 3(샹들리에)은 PSNR 향상 폭이 가장 작지만(+0.51 dB) LPIPS는 0.314에서 0.286으로 낮아졌습니다.

전체 이미지 평가

전체 이미지 기준 PSNR 향상은 시점별 +0.17 ~ +0.38 dB로, 광원 ROI보다 작음. 광원 영역을 겨냥한 방법이라 개선이 광원 주변에 모였고, 전체 이미지에서도 세 시점 모두 PSNR이 올랐습니다.

전체 이미지 평가 (테스트 시점 3개)
구분방법PSNR (dB)↑SSIM↑LPIPS↓
View 13DGS25.980.9130.290
제안 방법26.280.9180.287
View 23DGS26.510.8910.277
제안 방법26.680.8970.272
View 33DGS26.170.8970.256
제안 방법26.550.9010.252
평가 조건과 출처
데이터
Deep Blending · DrJohnson 단일 장면
범위
광원 ROI가 아닌 전체 이미지, 시점(View) 3개
반복 실험
반복 실행 분산·통계 검정 없음
출처
공학석사학위논문 (2026.08) · 표 2 · 인쇄 36쪽 (PDF 44쪽)
전체 이미지 비교 (테스트 시점 3개)원본 렌더러 결과
View 1 표준 3DGS 렌더링: 빨간 상자 안 천장 조명 주변에 번진 밝은 얼룩View 1 제안 방법 렌더링: 같은 빨간 상자 영역View 1 정답 영상: 천장 조명이 비치는 흰 문과 녹색 벽
표준 3DGS제안 방법

슬라이더나 이미지를 드래그하면 경계가 움직입니다. 키보드에서는 방향키를 쓰세요.

빨간 상자는 각 시점의 광원 ROI입니다. 상자는 논문 그림에 표시된 것입니다.

구성요소 제거 실험

구성요소 제거 실험 (Ablation)
방법PSNR (dB)↑SSIM↑LPIPS↓
밝기 중심 SfM 제거22.520.8210.291
가중치 맵 손실 제거22.310.8200.294
속성 정규화 제거22.450.8190.292
전체 모델22.690.8250.287
평가 조건과 출처
데이터
Deep Blending · DrJohnson, 표 3과 같은 3개 광원 ROI
측정 조건
전체 모델과 모듈 하나씩 제거한 3개 조건만 측정 (그 밖의 조합은 측정하지 않음)
출처
공학석사학위논문 (2026.08) · 표 4 · 인쇄 38쪽 (PDF 46쪽)

모듈을 켜고 끄며 보기

측정한 조건은 5가지(전체 모델, 모듈 하나씩 뺀 3개, 표준 3DGS)입니다. 그 밖의 조합을 고르면 값 대신 "측정하지 않음"을 표시합니다.

적용할 모듈

전체 모델

PSNR ↑
22.69
전체 모델
SSIM ↑
0.825
전체 모델
LPIPS ↓
0.287
전체 모델

공학석사학위논문 (2026.08) 표 4 · 인쇄 38쪽 (PDF 46쪽)

  • 전체 모델이 모듈을 하나씩 제거한 3개 조건보다 PSNR·SSIM·LPIPS 모두 우수.
  • 가중치 맵 손실을 뺐을 때 PSNR이 가장 크게 떨어졌습니다(전체 모델 대비 −0.38 dB).
  • 속성 정규화를 뺐을 때 SSIM이 가장 낮았습니다(0.819).
  • 밝기 중심 SfM을 뺐을 때는 PSNR이 0.17 dB 낮아지고 LPIPS가 높아졌습니다.

측정은 전체 모델과 모듈을 하나씩 뺀 3개 조건, 모두 4가지로 했습니다.

렌더링 속도

렌더링 속도 (별도 실험)
방법평균 FPS↑
제안 방법135
평가 조건과 출처
환경
RTX 3090 (학위논문 학습 환경 RTX 4090과 다른 조건)
표현
논문 서술: 표준 3DGS와 대등한 수준의 실시간성 유지
출처
정보과학회논문지 53(4) · 4.3절 본문 · 309쪽

평가 범위와 다음 연구

  • 정량 평가는 DrJohnson 단일 장면에서 표준 3DGS와 비교한 결과이며, 렌더링 품질 개선을 다룹니다. 카메라 포즈 같은 기하 정확도는 평가 대상에 넣지 않았습니다.
  • 다음 단계로 여러 실내 장면과 반복 실행에서 개선 폭이 일관되는지 확인하고, 학습된 결과를 브라우저에서 직접 돌려 볼 수 있는 실시간 비교 뷰어를 실제 PLY로 검증한 뒤 공개하려 합니다.

연구 흐름과 발표

  1. KCC 2025 — 밝기 채널 기반 SfM. 구조가 안정되는 것을 확인했지만 결과가 흑백으로 렌더링되는 한계가 남았습니다. 우수논문상.
  2. 정보과학회논문지 (2026) — 컬러 외관 복원으로 확장하고, 가중치 맵 학습과 속성 정규화를 추가했습니다.
  3. MUE 2026 — 같은 연구축에서 내시경 정반사 분리로 문제를 옮겼습니다. 내시경 정반사 분리 연구 보기
  4. 학위논문 (2026.08) — 조명 복원 연구를 통합·정리했습니다.