핵심 요약
이미지 복원 모델 학습 시 정답 이미지와의 미세한 밝기나 색상 차이가 학습 에너지를 독점하여 정작 중요한 질감 복원을 방해하는 문제를 해결했다. 추가 연산 비용이 거의 없으면서도 다양한 복원 작업에서 성능을 일관되게 향상시킨다.
왜 중요한가
이미지 복원 모델 학습 시 정답 이미지와의 미세한 밝기나 색상 차이가 학습 에너지를 독점하여 정작 중요한 질감 복원을 방해하는 문제를 해결했다. 추가 연산 비용이 거의 없으면서도 다양한 복원 작업에서 성능을 일관되게 향상시킨다.
관련 Figure

데이터셋에 존재하는 무작위한 색상 변화(a)가 학습 그래디언트의 70% 이상을 차지하여 복원을 방해함을 보여준다. PAL을 적용하면 이 불필요한 그래디언트를 40% 가량 줄여(b) 다양한 작업에서 평균 0.45dB의 PSNR 이득을 얻을 수 있음을 나타낸다.
광도 불일치 문제와 PAL의 해결 효과를 보여주는 요약 다이어그램
핵심 기여
광도 불일치로 인한 최적화 병리 현상 규명
학습 데이터셋의 이미지 쌍 간에 존재하는 전역적 광도 차이가 그래디언트 신호를 지배하여 구조적 세부 사항 학습을 저해함을 이론적, 실험적으로 증명했다.
Photometric Alignment Loss (PAL) 제안
예측값과 정답 사이의 광도 차이를 폐쇄형 어핀 색상 정렬을 통해 제거하고, 구조 복원에 유리한 그래디언트를 제공하는 새로운 손실 함수를 개발했다.
범용적인 성능 향상 입증
저조도 강화, 안개 제거, 비 제거 등 6가지 작업, 16개 데이터셋, 16개 아키텍처에서 일관된 성능 향상과 일반화 성능 개선을 확인했다.
핵심 아이디어 이해하기
딥러닝 기반 이미지 복원은 주로 예측값과 정답 사이의 픽셀 단위 차이를 줄이는 MSE나 L1 손실 함수를 사용한다. 하지만 실제 데이터셋에서는 촬영 조건에 따라 정답 이미지가 입력보다 단순히 더 밝거나 색온도가 다른 경우가 많다. 이러한 전역적인 광도 차이는 이미지의 모든 픽셀에서 발생하므로(Dense), 특정 경계선이나 질감에서만 발생하는 구조적 차이(Sparse)보다 훨씬 큰 그래디언트 에너지를 생성한다. 결과적으로 모델은 세부 질감을 복원하는 법을 배우기보다 단순한 색상 맞추기에 대부분의 학습 용량을 소모하게 된다.
이 논문은 예측값과 정답 사이의 잔차를 광도 성분과 구조 성분으로 분해했을 때 두 성분이 서로 직교함을 수학적으로 증명했다. 이를 바탕으로 예측값을 정답의 색상 분포에 맞춰 전역적으로 정렬(Alignment)한 뒤 손실을 계산하면, 모델이 색상 차이라는 노이즈에 휘둘리지 않고 실제 복원해야 할 구조 정보에 집중할 수 있게 된다.
결과적으로 PAL을 적용하면 모델은 데이터셋에 존재하는 무작위한 색상 변화에 둔감해지며, 이는 단순히 수치적인 성능(PSNR) 향상을 넘어 실제 시각적으로 더 자연스럽고 세부 묘사가 뛰어난 결과물을 생성하는 결과로 이어진다.
관련 Figure

데이터 포인트들이 y=x 직선상에 모이지 않고 넓게 퍼져 있는 것은 이미지 쌍마다 서로 다른 광도 변환이 필요함을 의미한다. 특히 채널별(R,G,B)로 분포가 다른 것은 단순 밝기 조절이 아닌 복잡한 색상 정렬이 필요함을 시사한다.
LOL-V2 Real 및 RESIDE-SOTS 데이터셋의 입력과 정답 간 채널별 평균 분포 산점도
방법론
전체적인 접근 방식은 예측 이미지와 정답 이미지 사이의 전역적인 광도 차이를 12개의 파라미터를 가진 어핀 변환 모델(3x3 행렬 C와 3x1 바이어스 b)로 모델링하는 것이다. 이 변환은 채널별 이득, 채널 간 결합, 가산적 색상 편향을 모두 캡처할 수 있다.
핵심 메커니즘은 최소제곱법을 통해 최적의 어핀 파라미터를 폐쇄형(Closed-form)으로 구하는 것이다. [예측 이미지의 공분산과 정답 이미지와의 교차 공분산을 입력으로] → [릿지 회귀가 적용된 행렬 연산을 수행해] → [최적의 변환 행렬 C와 바이어스 b를 얻고] → [이 값들은 예측 이미지를 정답 이미지의 광도 프로필로 변환하는 데 사용된다].
최종 손실 함수는 기존의 픽셀 손실(L_pixel)에 정렬된 이미지 기반의 PAL 손실(L_PAL)을 가중치 alpha로 더하여 구성된다. 학습 시 C와 b는 상수로 취급하여 그래디언트가 이들을 통해 흐르지 않게 함으로써 모델이 구조적 복원에만 전념하도록 유도한다. 연산 비용은 256x256 이미지 기준 백본 모델 연산량의 0.1% 미만으로 매우 효율적이다.
주요 결과
저조도 이미지 강화(LLIE) 작업에서 Retinexformer 모델에 PAL을 적용했을 때 LOLv1 데이터셋에서 PSNR이 1.13dB 향상되는 등 4가지 백본 모델 모두에서 성능이 개선되었다. 특히 구조적 품질을 나타내는 SSIM과 LPIPS 지표도 함께 좋아져 질감 복원 능력이 강화됨을 입증했다.
안개 제거(Dehazing) 및 비 제거(Deraining) 실험에서도 NAFNet과 Restormer 등의 모델에서 일관된 성능 향상을 보였다. 야간 안개 제거 작업(NHR 데이터셋)에서는 NAFNet의 PSNR이 0.85dB 상승했다. 또한 여러 기상 조건이 섞인 All-in-one 복원 작업에서도 더 깨끗하고 색상 왜곡이 적은 결과를 생성했다.
Ablation study를 통해 하이퍼파라미터 alpha=0.6과 릿지 규제항 epsilon=0.001이 최적의 균형을 제공함을 확인했다. 또한 학습에 사용되지 않은 미지의 데이터셋(DICM, LIME 등)에 대한 테스트에서도 더 높은 시각적 품질 점수(IQA, IAA)를 기록하여 일반화 성능이 우수함을 증명했다.
관련 Figure

기존 CIDNet 결과에 비해 PAL을 추가했을 때 색상이 더 자연스럽고 정답(GT)에 가까운 결과물을 생성함을 보여준다. 특히 확대된 영역에서 노이즈가 적고 세부 질감이 더 잘 보존된 것을 확인할 수 있다.
저조도 강화 작업에서 CIDNet 모델에 PAL을 적용했을 때의 시각적 비교 결과
기술 상세
본 연구는 MSE 손실이 광도 항과 구조 항으로 정확히 분해되며, 두 항 사이의 교차항이 0이 됨을 수학적으로 증명했다. 광도 오차는 이미지 전체에 밀집(Dense)되어 있어 N개 픽셀에 비례하는 에너지를 갖는 반면, 구조 오차는 경계선 등 일부(Sparse)에만 집중되어 M/N^2 비율로 에너지가 작아지는 '그래디언트 지배' 문제를 지적했다.
제안된 PAL은 예측 이미지 I_hat을 정답 I_gt에 맞추는 어핀 변환 I_PAL = CI_hat + b를 정의한다. 여기서 C는 Ridge Regression 솔루션인 Cov(I_gt, I_hat)(Cov(I_hat, I_hat) + epsE)^-1로 계산된다. 이는 단순 밝기 비(Ratio)만 맞추는 기존 GT-Mean 방식보다 채널 간 상관관계를 더 정밀하게 모델링한다.
구현 측면에서 C와 b 계산 시 stop-gradient를 적용하는 것이 핵심이다. 만약 그래디언트가 변환 파라미터를 통해 흐르게 되면, 네트워크가 구조를 복원하는 대신 변환 파라미터를 조작하여 손실을 줄이려는 퇴행적 솔루션(Degenerate solution)에 빠질 수 있기 때문이다.
그림자 제거(Shadow Removal)와 같이 국소적인 광도 변화가 있는 경우에는 마스크를 사용하여 영역별로 어핀 정렬을 수행하는 확장 방식을 제안하여 공간적으로 변하는 광도 불일치 문제도 해결 가능함을 보여주었다.
한계점
전역적인 어핀 모델을 사용하므로 비네팅(Vignetting)이나 국소적인 조명 변화와 같이 공간적으로 변하는 광도 효과를 완벽하게 캡처하지는 못한다. 또한 감마 보정이나 톤 매핑과 같은 비선형 변환을 선형 어핀 모델로 근사하므로 매우 극단적인 비선형 왜곡이 있는 경우에는 한계가 있을 수 있다.
실무 활용
기존의 모든 픽셀 기반 이미지 복원 파이프라인에 손실 함수만 교체하여 즉시 적용 가능하며, 추가적인 학습 파라미터나 큰 연산 부하 없이 성능을 높일 수 있다.
- 스마트폰 카메라의 저조도 사진 자동 보정 알고리즘 개선
- 자율 주행 시스템을 위한 악천후(안개, 비) 영상 전처리 복원
- 해저 탐사 로봇의 수중 영상 색상 보정 및 선명도 강화
- 다양한 조명 조건에서 수집된 의료 영상 데이터의 정규화 및 복원
코드 공개 여부: 공개
키워드
코드 예제
def pal_loss ( pred , gt , alpha =0.6 , eps =1e -3) :
B , C , H , W = pred . shape
P = pred . permute (0 ,2 ,3 ,1) . reshape (B , -1 ,3)
T = gt . permute (0 ,2 ,3 ,1) . reshape (B , -1 ,3)
X = torch . cat ([P , P. new_ones (B ,P . shape [1] ,1) ], -1)
XtX = X. transpose (1 ,2) @ X
XtT = X. transpose (1 ,2) @ T
I4 = torch . eye (4 , device = pred . device ). unsqueeze (0)
W = torch . linalg . solve ( XtX + eps * I4 , XtT )
M = W. transpose (1 ,2)
M = M. detach ()
Xf = torch . cat ([ pred . reshape (B ,3 , -1) , pred . new_ones (B ,1 , H*W )], 1)
aligned = (M @ Xf ). reshape (B , 3, H , W)
return alpha * F. l1_loss ( aligned , gt )PyTorch를 이용한 Photometric Alignment Loss(PAL)의 핵심 구현 예시
AI 요약 · 북마크 · 개인 피드 설정 — 무료
출처 · 인용 안내
인용 시 "요약 출처: AI Trends (aitrends.kr)"를 표기하고, 사실 확인은 원문 보기 기준으로 진행해 주세요. 자세한 기준은 운영 정책을 참고해 주세요.