1. 개요[편집]
| 양방향 필터 Bilateral Filter | |
|---|---|
| 이름 | Tomasi & Manduchi (1998), ICCV — 이름을 붙인 논문 |
| 핵심 | 공간 커널 $G_{\sigma_s}$ × 값역 커널 $G_{\sigma_r}$ |
| 성질 | 비선형 · 비반복 · 에지 보존 · 비분리 |
| 노브 | $\sigma_s$(얼마나 멀리) · $\sigma_r$(얼마나 다른 값까지) |
| 아티팩트 | 그래디언트 반전 · 계단화 · 값역 창 경계의 밴딩 |
| 가속 | 양방향 격자 · 순열면체 격자 · 상수시간 근사(PBFIC) |
가우스 블러는 이웃이 얼마나 가까운가만 본다. 여기에 얼마나 비슷한가를 곱하면, 필터가 경계를 알아본다.
양방향 필터는 공간 거리에 대한 가중치와 화소값 차이에 대한 가중치를 곱해 가중 평균을 내는, 반복 없는 비선형 에지 보존 평활 필터다. 정의가 곧 전부다.
를 떼면 그냥 가우스 평활이다. 이 한 항이 하는 일은 에지 건너편 화소의 표를 무효로 만드는 것이고, 그래서 경계는 살고 안쪽만 뭉개진다. 정규화 는 가중치 합이 화소마다 달라지므로 반드시 필요하며, 그 나눗셈 때문에 필터 전체가 입력에 대해 비선형이 된다.
토마시와 만두치(1998)가 이름을 붙였지만 발상 자체는 여러 곳에서 독립적으로 나왔다. 아우리히와 보일레의 “비선형 가우스 필터”(1995), 스미스와 브레이디의 SUSAN(1997)이 사실상 같은 커널을 다른 동기에서 제안했다.1 그럼에도 이 이름이 굳은 것은, “도메인 필터링과 값역 필터링의 곱”이라는 프레이밍이 이후 확장(결합형, 업샘플링, base/detail 분해)을 전부 자연스럽게 담아냈기 때문이다.
2. 두 개의 노브[편집]
- — 공간 반경. 커지면 더 넓게 평활한다. 실전에서는 이 이미 작업의 성격을 정해 놓기 때문에 이 값의 영향이 생각보다 밋밋하다.
- — 값역 반경. 이게 진짜 노브다. 면 값역 항이 상수가 되어 그냥 가우스 블러가 되고, 이면 자기 자신만 남아 아무 일도 일어나지 않는다. 대비가 보다 작은 구조는 “잡음”으로 지워지고, 큰 구조는 “에지”로 살아남는다.
즉 은 잡음과 신호를 가르는 대비 문턱이며, 페로나-말릭의 와 정확히 같은 역할을 한다. 실무 처방도 같다 — 잡음의 표준편차를 추정해 그 두어 배로 잡는다.
3. 왜 작동하는가 — 세 가지 해석[편집]
같은 식이 세 가지 언어로 설명되며, 셋 다 알아 두면 아티팩트를 예측할 수 있다.
1. 강건 통계. 양방향 필터는 국소 상수 모형에 대한 M-추정자의 한 스텝이다. 를 최소화하는 값을 반복 재가중 최소제곱으로 푸는데, 를 가우스형 재하강 함수로 두면 첫 반복이 정확히 위 식이다. 에지 건너편 화소가 이상점으로 기각되는 것이지, 필터가 에지를 “찾는” 것이 아니다. 블랙 등(1998)이 비등방성 확산에 대해 했던 해석과 같은 계보다.
2. 확산 PDE. 바라시(2002)는 양방향 필터를 반복 적용하면 특정 확산계수를 갖는 페로나-말릭형 확산의 이산 근사와 같아짐을 보였다. 하나는 “커널을 설계한다”, 다른 하나는 “PDE를 시간전진한다”는 관점이고 도착지가 같다. 실제로 양방향 필터를 여러 번 돌리면 결과가 조각별 상수로 수렴하는데, 이는 페로나-말릭·전변분 잡음제거가 도달하는 자리와 같다.
3. 고차원 공간의 선형 필터. 파리와 뒤랑(2006)의 재해석이 가장 실용적 파급이 컸다. 라는 3차원 공간에 밝기 를 올려놓으면, 양방향 필터는 그 공간에서의 평범한 선형 가우스 필터 + 나눗셈이 된다. 비선형 필터를 한 차원 높은 곳의 선형 필터로 들어 올린 것이고, 선형이 되는 순간 고속 푸리에 변환이든 다운샘플링이든 온갖 가속 도구를 쓸 수 있게 된다.
4. 계산량과 가속[편집]
원시 구현은 화소마다 창 안을 다 도니까 이다. 이면 화소당 수천 번, 4K 영상에서는 답이 없다. 가속의 계보는 위 세 번째 해석에서 갈라져 나온다.
- 양방향 격자(bilateral grid). 파리·뒤랑의 3차원 공간을 로 성기게 표본화한 격자에 화소를 흩뿌리고(splat), 격자에서 작은 3차원 가우스를 돌리고(blur), 다시 보간해 꺼낸다(slice). 격자가 성길수록 빨라지고 가 클수록 더 성기게 해도 되므로, 평활을 세게 걸수록 빨라지는 희한한 성질이 있다. 첸·파리·뒤랑(2007)이 GPU 실시간 구현으로 정리했고, 이후 실시간 톤매핑·HDR 파이프라인의 표준 부품이 됐다.
- 순열면체 격자(permutohedral lattice). 애덤스 등(2010). 값역 차원이 늘면(컬러면 5차원, 패치 특징이면 수십 차원) 정규 격자의 꼭짓점 수가 로 폭발한다. 순열면체 격자는 차원 공간을 단체(simplex)로 채워 꼭짓점을 개로 줄인다. 고차원 값역이 필요한 비국소 평균이나 컬러 결합 필터에서 특히 강하다.
- 상수시간 근사. 값역 커널을 값에 대한 다항식이나 코사인 급수로 전개하면, 각 항이 선형 공간 필터가 되어 적분 영상이나 재귀 필터로 와 무관한 상수 시간에 처리된다. 값역을 몇 개의 밝기 층으로 이산화해 층마다 선형 필터를 돌리고 보간하는 PBFIC(Yang 외, 2009) 계열이 대표적이다. 층 수가 부족하면 밝기 방향 밴딩이 생기는 것이 이 근사의 전형적 실패다.
5. 결합형, 그리고 업샘플링[편집]
값역 가중치를 다른 영상에서 계산해도 된다는 관찰이 응용의 폭을 크게 넓혔다. 이것이 결합형(joint / cross) 양방향 필터다.
평활 대상은 , 에지 정보는 안내 영상 에서 가져온다. 원조 응용은 플래시/노플래시 사진(2004)이다 — 플래시 사진은 잡음이 적지만 조명이 흉하고, 노플래시 사진은 분위기가 좋지만 잡음이 심하다. 노플래시 영상을 플래시 영상의 에지를 안내로 평활하면 둘의 장점만 남는다.
여기서 한 걸음 더 가면 결합형 양방향 업샘플링(Kopf 외, 2007)이다. 저해상도로만 계산한 결과(심도맵, 그림자, 전역 조명, 톤매핑 곡선)를 고해상도 컬러 영상을 안내로 삼아 키운다. 안내 영상의 에지에 결과가 착 달라붙기 때문에, 실시간 렌더링에서 비싼 효과를 1/4 해상도로 계산하고 올리는 표준 수법이 됐다. 초해상도와는 목적이 다르다 — 없는 디테일을 만드는 게 아니라 있는 에지에 정렬시키는 것이다.
6. 아티팩트 — 공짜는 없다[편집]
- 그래디언트 반전(gradient reversal). 디테일 강조에서 가장 악명 높다. 영상을 base = BF, detail = base 로 나눈 뒤 detail을 증폭하는 것이 표준 워크플로인데, 강한 에지 근처에서는 창 안에 그 에지 쪽 화소가 몇 개 없어 base의 기울기가 원 영상과 부호가 뒤집히는 일이 생긴다. 증폭하면 에지 옆에 밝은 후광과 검은 테두리가 나타난다. 사진 앱의 “선명하게” 슬라이더를 끝까지 올렸을 때 보이는 그 테두리다.
- 계단화(staircasing). 반복 적용하거나 을 크게 잡으면 부드러운 그라데이션이 여러 개의 평평한 단과 가짜 에지로 쪼개진다. 조각별 상수 해로 수렴한다는 위 2번 해석의 직접적 귀결이며, 비등방성 확산·전변분 잡음제거가 전혀 다른 경로로 도달하는 같은 아티팩트다.
- 잡음이 심하면 잡음을 보존한다. 고립된 잡음 첨두는 값역 커널이 보기에 “혼자 있는 진짜 값”이라 이웃의 표를 전부 기각한다. 페로나-말릭이 잡음 점을 정성껏 보존하는 사고와 같은 병이고, 처방도 같다 — 값역 가중치를 원 영상 대신 살짝 평활한 영상에서 계산하거나, 화소 대신 패치로 비교한다(비국소 평균이 바로 그 길이다).
7. 유도 필터라는 후계자[편집]
허·순·탕(2010)의 유도 필터(guided filter)는 발상이 다르다. 출력이 안내 영상 의 국소 선형 함수라고 가정한다.
창마다 를 릿지 회귀로 풀고, 겹치는 창들의 결과를 평균해 출력을 만든다. 얻는 것이 세 가지다.
- 정확히 . 필요한 것은 상자 평균 몇 개뿐이라 커널 크기와 무관하며 근사가 아니다.
- 그래디언트 반전이 없다. 출력이 안내 영상의 아핀 함수이므로 이고, 인 한 기울기 부호가 뒤집힐 수 없다. 구조적으로 막혀 있다.
- 미분 가능하고 행렬로 쓰기 좋다. 그래서 매팅 라플라시안 근사, 학습 파이프라인 안의 미분 가능한 층으로 그대로 들어간다.
대신 상자 창을 쓰는 탓에 매우 강한 에지 부근에서 후광이 남을 수 있고, “안내 영상이 있다”는 전제가 필요하다. 실무 요약은 이렇다 — 안내 영상이 있고 속도가 중요하면 유도 필터, 안내 없이 자기 자신만으로 강건하게 평활하려면 양방향 필터.
8. 이웃들 사이에서의 위치[편집]
| 기법 | 무엇으로 이웃을 재는가 | 형식 | 비용 |
|---|---|---|---|
| 가우스 평활 | 공간 거리만 | 선형 | (분리 가능) |
| 중간값 필터 | 순위 통계 | 비선형 | (히스토그램) |
| 양방향 필터 | 공간 거리 × 화소값 차 | 비선형, 1회 | → 가속 필요 |
| 비국소 평균 | 공간 무제한 × 패치 거리 | 비선형, 1회 | 매우 비쌈 |
| 비등방성 확산 | 국소 기울기 | 비선형 PDE, 반복 | 스텝 수만큼 |
| 유도 필터 | 안내 영상의 국소 선형 모형 | 준선형 | 정확 |
한 축은 “비슷함”을 무엇으로 재는가(값 하나 → 패치 → 학습된 특징), 다른 축은 한 번에 끝내는가 반복하는가(필터 대 PDE)다. 양방향 필터는 두 축 모두에서 가장 단순한 자리에 있고, 그래서 지금도 기본값으로 먼저 시도된다.
9. 실전 응용[편집]
- HDR 톤매핑. 뒤랑과 도시(2002)가 로그 휘도를 양방향 필터로 base(느린 조명 변화)와 detail(반사율·질감)로 나누고, base만 압축해 다이내믹 레인지를 줄였다. 전역 톤 곡선이 디테일까지 눌러 버리는 문제를 이 분해 하나로 해결했고, 이후 거의 모든 국소 톤 매핑 연산자가 같은 골격을 쓴다. 후광이 안 생기게 하는 것이 이 분야의 영원한 숙제다.
- 모바일 카메라 파이프라인. 디노이징, 피부 보정, 심도 기반 흐림(보케)의 경계 정리. 양방향 격자가 GPU/DSP에 잘 얹히는 것이 채택 이유다. 학습형 톤매핑망이 최종 출력을 저해상도 양방향 격자의 아핀 계수로 내놓고 고해상도에서 슬라이스하는 설계는 이 부품이 딥러닝 시대에도 살아남은 대표 사례다.
- 렌더링 디노이징. 몬테카를로 방법 기반 레이 트레이싱의 샘플 잡음을, 노이즈 없이 얻을 수 있는 보조 버퍼(법선·알베도·깊이)를 안내로 삼아 결합형으로 지운다. 안내 채널이 여럿이라 값역 차원이 높고, 그래서 순열면체 격자류가 실제로 필요해지는 자리다.
- 깊이·분할 결과 정리. 저해상도 심도맵이나 분할 마스크의 경계를 컬러 영상에 맞춰 스냅시키는 후처리. 이미지 분할 파이프라인 끝의 CRF 후처리도 내부적으로는 고차원 양방향 필터를 부른다.
한 줄 요약. 양방향 필터는 “이웃을 평균하되 나와 비슷한 이웃만” 이라는 문장을 곱셈 하나로 옮긴 것이고, 그 단순함 때문에 30년 가까이 대체되지 않았다. 다만 그 곱셈 하나가 선형성·분리 가능성·상수 시간을 전부 가져갔고, 이후 연구의 절반은 그것들을 되사 오는 과정이었다.23
10. 관련 문서[편집]
- 비등방성 확산 · 전변분 잡음제거 · 스케일 공간
- 비국소 평균 · 유도 필터 · 에지 검출
- 구조 텐서 · 이미지 피라미드 · 이미지 분할
- 톤 매핑 · 초해상도 · 웨이블릿 변환
- 레이 트레이싱 · 몬테카를로 방법 · 전역 조명
- 고속 푸리에 변환 · 최소자승법
11. Footnotes[편집]
-
SUSAN은 “Smallest Univalue Segment Assimilating Nucleus”의 약자다. 이름만 보면 무슨 소린지 알 수 없지만, 하는 일은 “중심 화소와 값이 비슷한 이웃의 집합”을 세는 것이고 그게 곧 값역 커널이다. 같은 아이디어가 세 번 독립 발명된 것은 그만큼 자연스러운 발상이라는 뜻이기도 하다. ↩
-
양방향 필터가 분리 가능하지 않다는 점은 구현할 때 꼭 걸린다. 로 한 번, 로 한 번 돌리는 편법이 실제로 널리 쓰이는데, 결과가 축 방향으로 비대칭이 되고 대각선 에지에 격자무늬가 남는다. 빠르고 대충 좋으면 되는 실시간 코드에서는 여전히 흔한 타협이다. ↩
-
논문에 “우리는 반복하지 않는다”고 자랑스럽게 적어 놓고, 실무 코드에서는 세 번쯤 돌리는 것이 국룰이다. 한 번으로는 잡음이 안 지워지고, 다섯 번 돌리면 사람 얼굴이 마네킹이 된다. 그 사이 어딘가가 정답이며, 그 어딘가를 정해 주는 이론은 없다. ↩