Main Content

가이드 영상 필터링이란?

가이드 영상 필터링은 가이드 영상이라고 부르는 별도 영상의 컨텍스트를 사용하여 영상 필터링의 출력에 영향을 줍니다. 다른 필터링 영상과 마찬가지로 가이드 영상 필터링은 이웃 연산입니다. 그러나 가이드 영상 필터링은 출력 픽셀의 값을 계산할 때 가이드 영상 내 대응되는 공간 이웃의 영역 통계량을 고려합니다. 가이드 영상은 그 영상 자체일 수 있고, 아니면 해당 영상의 다른 버전이거나 완전히 다른 영상일 수도 있습니다. 서로 다른 가이드 영상을 선택하여 채색, 영상 매팅(image matting), 플래시/노플래시 잡음 제거(flash/no-flash denoising), 경계 보존 필터링과 같은 다양한 영상 처리 연산을 수행할 수 있습니다.

A pixel in the output image is calculated using the neighborhood around the corresponding pixel in the input image and the same neighborhood in the guidance image.

알고리즘

가이드 영상 G를 사용하여 영상 A를 필터링하는 경우, 가이드 영상 필터링은 입력 영상 A의 픽셀 i의 값과 그 공간 이웃의 값, 그리고 가이드 영상 G에서 이에 대응하는 픽셀과 그 공간 이웃을 사용하여 출력 영상 B에서의 픽셀 i의 값을 결정합니다. 가이드 영상 G가 입력 영상 A와 동일하다면, 출력 영상 B의 구조는 입력 영상 A의 구조와 동일하게 유지됩니다. 가이드 영상 G가 입력 영상 A와 다르다면, 가이드 영상 G의 구조가 출력 영상 B의 구조에 영향을 미치게 되어, 사실상 그 구조가 입력 영상 A에 각인됩니다. 이 영향을 구조 전이라고 합니다.

출력 영상 B는 가이드 영상 G의 국소적인 선형 변환입니다.

bi=xkgi+yk,iωk

bi와 gi는 각각 BG의 i번째 픽셀입니다. xk와 yk는 정사각 윈도우 ωkE의 계수로서, 알고리즘은 이를 상수로 가정합니다.

imguidedfilter 함수는 선형 변환의 가중치를 최적화하여 입력 영상 A와 출력 영상 B 간의 오차 E를 최소화합니다.

E=iωk((xkgi+ykai)2+εxk2)

aiA의 i번째 픽셀입니다. ε은 가이드 영상 G가 출력 영상 B에 미치는 영향의 정도를 제어하는 정규화 파라미터이며, 평활화 정도와 비교할 수 있습니다.

ε의 값을 높게 지정하면, 계수 xk가 작아야 하며 yk는 입력 영상 A의 픽셀 ai 값과 유사해야 비용 함수를 최소화할 수 있습니다. 이러한 xk와 yk의 값은 가이드 영상 G의 영향력을 줄이고 출력 영상 B를 더 평활하게 만듭니다. 반면에 ε의 값을 낮게 지정하면, 계수 xk에 더 큰 값을 지정할 수 있으며, 그러면 가이드 영상 G의 영향력이 커지고 출력 영상 B는 덜 평활화됩니다. imguidedfilter 함수를 사용할 때 DegreeOfSmoothing 이름-값 인수를 조정하여 ε의 값을 제어할 수 있으며, NeighborhoodSize 이름-값 인수를 지정하여 이웃이 필터링에 미치는 영향의 정도를 제어할 수 있습니다. 이웃 크기는 윈도우 ωk의 반지름입니다.

응용 사례

서로 다른 가이드 영상을 선택하여 채색, 영상 매팅, 플래시/노플래시 잡음 제거, 경계 보존 필터링과 같은 다양한 영상 처리 연산을 수행할 수 있습니다.

  • 채색 — 사용자가 영상의 각기 다른 부분에 직접 원하는 색을 표식(scribble)한 회색조 영상이 있다면, 원하는 색을 사용하여 전체 영상을 채색할 수 있습니다. 영상의 색차 채널을 입력 영상 A로 사용하고, 휘도 채널을 구조에 영향을 주는 가이드 영상 G로 사용합니다.

  • 영상 매팅(Image Matting) — RGB 영상의 알파 매트 데이터를 개선하여 가는 구조(세밀한 구조)를 포착할 수 있습니다. 알파 매트를 입력 영상 A로 사용하고, RGB 영상을 구조에 영향을 주는 가이드 영상 G로 사용합니다.

  • 플래시/노플래시 잡음 제거(Flash/No-flash Denoising) — 플래시를 사용하지 않고 촬영된 영상에는 잡음이 포함되기 쉽습니다. 플래시를 사용하여 촬영된 해당 영상을 사용하여 플래시 없이 촬영된 영상의 잡음을 제거할 수 있습니다. 플래시를 사용하지 않은 영상을 입력 영상 A로 사용하고, 플래시를 사용한 영상을 구조에 영향을 주는 가이드 영상 G로 사용합니다.

    From left to right, a no-flash image, a corresponding image taken with a flash, and a flash/no-flash denoised version of the first image.

    가이드 필터를 사용한 플래시/노플래시 잡음 제거의 예제는 Perform Flash/No-flash Denoising with Guided Filter 항목을 참조하십시오.

  • 경계 보존 필터링 — 입력 영상 A와 동일한 영상과 가이드 영상 G를 사용하여 경계를 보존하면서 영상을 필터링할 수 있습니다.

    Edge-preserving filtering using guided image filter

    가이드 필터를 사용한 경계 보존 필터링의 예제는 Segment Thermographic Image After Edge-Preserving Filtering 항목을 참조하십시오.

참고 문헌

[1] He, Kaiming, Jian Sun, and Xiaoou Tang. “Guided Image Filtering.” IEEE Transactions on Pattern Analysis and Machine Intelligence 35, no. 6 (June 2013): 1397–1409. https://doi.org/10.1109/TPAMI.2012.213.

참고 항목

관련 항목