
이 글에서는 Total Variation 알고리즘의 수학적인 측면을 살펴본다. 영상 처리에서 Total Variation (TV) denoising은 쉽게 말해 "이미지의 복잡함을 줄이되, 중요한 경계선(Edge)은 지키는 수학적 세탁기"라고 생각하면 쉽다.
1. '변동(Variation)'을 최소화한다는 의미
이미지에서 '노이즈'는 보통 아주 좁은 영역에서 픽셀 값이 급격하게 튀는 현상입니다. 수학적으로 보면 기울기(Gradient)의 절댓값이 불필요하게 커진 상태다. TV 기법의 핵심 아이디어는 "이미지 전체의 기울기 합(Total Variation)을 줄이자"는 것이다.
$\displaystyle TV(u) = \int_{\Omega} |\nabla u| \, dx dy$
이 식을 최소화하려고 하면, 픽셀 값이 들쭉날쭉한 노이즈들이 평탄하게 펴지게 된다.
2. 왜 하필 $L^2$가 아니라 $L^1$인가? (가장 중요한 차이)
보통 오차를 줄일 때 제곱을 하는 $L^2$ norm($|\nabla u|^2$)을 쓰기 쉬운데, 영상 복원에서는 그냥 절댓값인 $L^1$ norm을 사용한다. 이게 TV의 묘미다.
- $L^2$ norm (Tikhonov Regularization): 기울기가 큰 곳을 아주 강하게 응징한다.(제곱하면 값이 커지니까) 결과적으로 경계선(Edge)까지 뭉개버려서 이미지가 뿌옇게(Blurry) 된다.
- $L^1$ norm (Total Variation): 기울기가 큰 것보다 '자잘하게 많은 것'을 더 싫어한다. 그래서 노이즈 같은 미세한 요동은 제거하면서도, 값이 확 변하는 경계선(Step function 형태)은 보존하는 성질이 있습니다. 어쩌다 한번 튀는 경계보다는 자잘하게 튀는 노이즈들을 줄이는 것이 최소화에 더 유리하기 때문이다.
3. 수학적 최적화: 에너지 최소화 문제
실제 알고리즘은 아래의 에너지 함수(Energy Functional)를 최소화하는 $u$를 찾는 과정이다. 물리에서 안정적인 상태는 에너지가 가장 낮은 상태라고 하는 것에서 착안하여 에너지 함수라고 부른다. 여기서 Function이 아닌 Functional이라 하는 것은 수학 용어로서 별로 중요하진 않다.
$\displaystyle E(u) = \underbrace{\int (u - f)^2 \, dx}_{\text{Fidelity Term}} + \lambda \underbrace{\int |\nabla u| \, dx}_{\text{TV Regularization}}$
- Fidelity Term: "복원된 이미지($u$)는 원본 노이즈 이미지($f$)와 너무 달라지면 안 된다"는 제약
- TV Term: "이미지를 최대한 단순하게(평탄하게) 만들라"는 명령.
- $\lambda$: 두 목표 사이의 균형을 맞추는 파라미터
4. 변분법
우리가 보통은 주어진 함수의 최솟값이나 최댓값을 찾는 것은 미적분학에서 많이 다뤘지만 주어진 식을 최소화하는 '함수' 그 자체를 찾는 것은 수학적으로 어렵다. 이것을 다루는 분야를 변분법(Calculus of Variation)이라 한다. 필자도 학부 4학년 때, 응용수학 시간에 잠깐 배운 기억이 있다.
$\displaystyle E(u) = \underbrace{\int (u - f)^2 \, dx}_{\text{Fidelity Term}} + \lambda \underbrace{\int |\nabla u| \, dx}_{\text{TV Regularization}}$
이 식을 만족하는 함수 $u$를 찾기는 매우 어렵다. 그래서 일정한 조건 아래에서 Euler-Lagrange 방정식을 얻어야 한다.
$u - f - \lambda \nabla \cdot \left( \dfrac{\nabla u}{|\nabla u|} \right) = 0$
위 미분방정식을 만족하는 $u$를 찾으면 된다. 다만, closed form의 analytic solution을 구하는 것은 어렵고 애초에 수학을 하자는 것이 아니므로 코드로 구현해보면 된다.(물론 수학자들은 이런 류의 방정식의 해의 존재성 등을 연구한다)
하지만 위 Euler-Lagrange 방정식을 만족하는 $u$를 수치적으로 구하는 것도 어렵다. 따라서 다음 글에서는 이것을 알아본다,.
'단편 강의' 카테고리의 다른 글
| 엔트로피(Entropy) 이야기(1) - 클라우시우스 (1) | 2026.04.06 |
|---|---|
| 이미지 노이즈 제거 알고리즘 - TV method(3) (0) | 2026.04.06 |
| 이미지 노이즈 제거 알고리즘 - TV method(1) (0) | 2026.04.06 |
| 몇 개를 뽑아야 다 모을 수 있을까? - 확률형 수집 게임 이야기 (0) | 2026.04.03 |
| 녹색 함수!? - Green's Functions (0) | 2026.03.26 |