Bilateral Filter Grid

1 개요

채널 별 Grid Cell 구조를 적용하여 이미지 경계를 보존하며 노이즈를 감소시키는 알고리즘

2 알고리즘 상세 설명

Source Image Destination Image
Source Image Destination Image
Fig. Source and Destination images of Bilateral Filter Grid.

해당 알고리즘은 채널에 대해 개별적으로 수행됩니다.
픽셀을 Grid 복셀 구조체에 삽입한 후, 마스킹된 5x5x5 가우시안 가중평균을 적용하여 구조체 상에서 평활화 합니다. 이후 3차원 선형 보간을 통해 삽입했던 채널 값 위치의 평활화 된 값을 얻는 알고리즘 입니다.

Source Image
Source Image
Fig. The Bilateral Grid Structure.

이미지 채널 값 경계인 경우, 두 픽셀은 Grid 복셀 구조체 상에서 물리적으로 떨어져 있기에 가우시안 가중평균에 의한 영향이 감소함을 활용하여 이미지 경계가 보존됩니다.

해당 알고리즘은 복셀이 적절히 Sparse 한 경우에만 경계가 보존되므로, 적절한 파라미터 설정이 요구됩니다. 과도하게 Sparse 한 경우 복셀간 거리가 멀어 가우시안 가중평균이 서로 간에 수행되지 않아 노이즈 감소 효과가 줄어들며, 반대의 경우에는 노이즈와 경계 모두 흐릿해집니다.

3 파라미터 설정 및 사용 방법

그리드 규격 설정

이미지 경계 패딩 방식 설정

4 예제 코드

CBilateralFilterGrid bilateralFilterGrid;

CFLImage fliSourceImage;
CFLImage fliDestinationImage;

bilateralFilterGrid.SetSourceImage(fliSourceImage);
bilateralFilterGrid.SetDestinationImage(fliDestinationImage);
bilateralFilterGrid.SetSamplingRateSpatial(16);
bilateralFilterGrid.SetSamplingRateRange(0.1);
bilateralFilterGrid.SetPaddingMethod(EPaddingMethod_DecreasingKernel);

bilateralFilterGrid.Execute();
CBilateralFilterGrid bilateralFilterGrid = new CBilateralFilterGrid();

CFLImage fliSourceImage = new CFLImage();
CFLImage fliDestinationImage = new CFLImage();

bilateralFilterGrid.SetSourceImage(ref fliSourceImage);
bilateralFilterGrid.SetDestinationImage(ref fliDestinationImage);
bilateralFilterGrid.SetSamplingRateSpatial(16);
bilateralFilterGrid.SetSamplingRateRange(0.1);
bilateralFilterGrid.SetPaddingMethod(EPaddingMethod.DecreasingKernel);

bilateralFilterGrid.Execute();
bilateralFilterGrid = CBilateralFilterGrid()

fliSourceImage = CFLImage()
fliDestinationImage = CFLImage()

bilateralFilterGrid.SetSourceImage(fliSourceImage)
bilateralFilterGrid.SetDestinationImage(fliDestinationImage)
bilateralFilterGrid.SetSamplingRateSpatial(16)
bilateralFilterGrid.SetSamplingRateRange(0.1)
bilateralFilterGrid.SetPaddingMethod(EPaddingMethod.DecreasingKernel)

bilateralFilterGrid.Execute()

5 기타 사항

Supported Feature

Supported Format