[CV] Color Image(5) - Color Image Filtering

Yeontachi·2025년 8월 7일

Computer Vision Note

목록 보기
15/47
post-thumbnail

컬러 이미지 필터링은 컬러 영상의 품질을 향상시키거나 특정 특성을 추출하기 위해 사용하는 기술이다. 일반적으로 컬러 영상은 RGB 세 채널로 구성되어 있기 때문에, 필터링은 각각의 채널에 대해 독립적으로 적용되거나, 색 공간을 변환 후 적용될 수도 있다.

Color Image Smoothing

Color Smoothing은 영상의 잡음을 제거하거나 부드럽게 만드는 처리 기법이다. 고주파 성분(세부, 경계, 노이즈 등)을 줄이는 방향으로 필터링을 수행한다. 특히 컬러 영상에서는 RGB 각 채널을 독립적으로 평활화하는 방식이 일반적이다.

아래 그림은 컬러 이미지(RGB)를 각 R,G,B 컴포넌트로 분리해 보여주는 구조이다.

(a)는 원본 이미지이며 (b),(c),(d)는 각각 R,G,B 채널만 추출한 그레이스케일 영상이다. 이들 각각은 단일 채널만 갖고 있어, 해당 색상이 강할수록 더 밝게 표현된다.

즉, 컬러 영상의 각 채널을 독립적으로 다룰 수 있으며, 각 채널에 별도로 필터링(Smoothing)을 적용할 수 있는 기반이된다.

채널별로 따로 처리하는 이유?

RGB 채널은 각각 독립적인 밝기 성분을 가지고 있으며, 세 채널이 조합되어 최종 색상을 구성한다. 따라서 각 채널별로 노이즈를 제거하는 것이, 색상 왜곡을 최소화하면서 부드러운 컬러 이미지를 생성하는 데 효과적이다.

단, 이 방식은 색공간간 관계를 무시하므로 색상 보존에 민감한 경우, HSI나 Lab의 색공간에서 I 또는 L 채널만 평활화하는 것이 더 나은 결과를 보여준다.

아래 수식은 공간 필터링 기반의 평균화 연산(Mean Filtering)을 RGB 채널에 각각 적용하는 형태이다.

핵심 수식 및 설명

일반화된 벡터형 컬러 평균화

cˉ(x,y)=1K(x,y)Sxyc(x,y)\bar{c}(x, y) = \frac{1}{K} \sum_{(x, y) \in S_{xy}} c(x, y)
  • cˉ(x,y)\bar{c}(x, y): 위치 (x,y)(x, y)에서의 평활화된 컬러 벡터 (즉, R, G, B의 평균값)
  • c(x,y)c(x, y): 컬러 벡터 [R(x,y),G(x,y),B(x,y)]T[R(x, y), G(x, y), B(x, y)]^T
  • SxyS_{xy}: 필터 커널(예: 3×3, 5×5 등)의 이웃 좌표 집합
  • KK: 필터 커널 안에 포함된 픽셀 수, 예: 3×3=93 \times 3 = 9

RGB 각 채널별로 나눈 수식

cˉ(x,y)=[1K(x,y)SxyR(x,y)1K(x,y)SxyG(x,y)1K(x,y)SxyB(x,y)]\bar{c}(x, y) = \begin{bmatrix} \frac{1}{K} \sum_{(x, y) \in S_{xy}} R(x, y) \\ \frac{1}{K} \sum_{(x, y) \in S_{xy}} G(x, y) \\ \frac{1}{K} \sum_{(x, y) \in S_{xy}} B(x, y) \end{bmatrix}

위 수식은 컬러 이미지의 각 채널(R, G, B)에 대해 별도로 평균 필터링을 수행하고, 이를 벡터 형태로 다시 조합한다는 의미이다.

Examples

아래 그림은 RGB 이미지를 HSI 색공간으로 변환하고, 그 각각의 컴포넌트를 보여준다.

(a)는 Hue, (b)는 Saturation, (c)는 Intensity 이며, 위 이미지를 보면, 색상의 정보(Hue)는 그대로 유지하면서도, 밝기 정보(Intensity)에만 연산을 가하면 색조는 손대지 않고 명암만 조절 가능하다. 즉, 색상 보존 필터링이 가능하다.

아래 그림은 스무딩 마스크(5x5, averaging filter)를 이용해 RGB 또는 HSI 영역에서 각각 smoothing을 적용한 결과를 비교한 것이다.

(a)는 RGB 각각의 채널(R,G,B)에 직접 스무딩을 적용한 후 결합한 이미지이며, (b)는 RGB 이미지를 HSI 로 변환한 뒤, Intensity(명도)만 스무딩하고 다시 RGB로 변환한 결과이다.

(c)는 (a)와 (b)의 차이 이미지(Difference Image)로 RGB와 HSI 처리 결과의 차이점이 시각적으로 강조되어 있다.

핵심 차이점으로는 RGB 방식은 각 색상에 직접 영향을 주기 때문에 색조(Hue)가 왜곡될 수 있다. 반면, HSI 방식은 Intensity만 조절하여 색상 왜곡 없이 부드러운 효과가 가능하다.

실제 적용 예시
영상의 노이즈를 줄이고자 할 때, RGB 채널 각각에 평균 필터를 적용하면 잡음이 부드러워진다.

예를 들면, 의료 영상, 위성 이미지 등에서 노이즈가 섞인 컬러 영상의 전처리로 자주 사용된다.

Color Image Sharpening

컬러 이미지 샤프닝(Color Iimage Sharpening)은 이미지의 경계(edge)나 세부 정보(detail)를 강조하는 기술로, 영상 내 중요한 구조나 윤곽을 뚜렷하게 만들어 시각적 인식을 향상시킨다. 이 과정은 일반적으로 Laplacian 연산자를 이용한 2차 미분 기반 필터링으로 수행된다.

컬러 이미지에서는 RGB 각 채널에 별도로 샤프닝을 적용하거나, HSI에서 Intensity 성분만 샤프닝하는 두 가지 접근이 있다.

Key Equations

Laplacian 연산을 RGB 각 채널에 적용

2[c(x,y)]=[2R(x,y)2G(x,y)2B(x,y)]\nabla^2 [\mathbf{c}(x,y)] = \begin{bmatrix} \nabla^2 R(x, y) \\ \nabla^2 G(x, y) \\ \nabla^2 B(x, y) \end{bmatrix}

여기서 2\nabla^2는 Laplacian 연산자이며, 각 채널별로 두 번째 공간 미준을 적용함을 의미한다.

이 연산은 경계 근처의 변화가 큰 픽셀 값을 강조함으로써, 이미지의 날카로움(Sharpness)을 증가시킨다.

필요 배경 지식
1. Laplacian 연산자
라플라시안은 두 번 미분을 수행하는 연산자로, 영상의 에지나 고주파 성분을 강조한다. 대표적인 필터 커널은 다음과 같다.

[010141010]또는[111181111]\begin{bmatrix} 0 & 1 & 0 \\ 1 & -4 & 1 \\ 0 & 1 & 0 \end{bmatrix} \quad \text{또는} \quad \begin{bmatrix} 1 & 1 & 1 \\ 1 & -8 & 1 \\ 1 & 1 & 1 \end{bmatrix}
  1. 샤프닝 방식
    단순히 라플라시안을 적용하는 것뿐만 아니라, 원본 이미지에 라플라시안 결과를 더하는 방식으로 샤프닝을 구현한다.
    Sharpened Image=f(x,y)2f(x,y)\text{Sharpened Image} = f(x, y) - \nabla^2 f(x, y)

Practical Example


가장 왼쪽에 있는 영상은 RGB 각각의 채널에 직접 Laplacian을 적용한 영상이다. RGB 각각에 라플라시안 연산자를 적용하고 그 결과를 결합하여 RGB 이미지로 복원시킨다. 이 방식은 각 색상 채널의 세부 특징이 유지되는 장점이 있지만, 색상 왜곡(color artifact)이 발생할 수 있다.

가운데 영상은 HSI 색 공간에서 Intensity 성분만 처리하는 방식이다. HSI 색 공간으로 변환 후, I(Intensity) 성분에만 Laplacian을 적용하고, 다시 RGB로 변환하여 시각화한다. 이 방식은 색상(Hue)과 채도(Saturation)을 그대로 유지하면서 밝기 정보만 샤프닝할 수 있다

가장 오른쪽 영상은 두 방법 간의 차이를 나타내는 영상이다. 차이 이미지를 보면, RGB 채널 직접 처리에서는 색상 경계에 노이즈가 더 생기는 반면, Intensity 기반 처리에서는 더 부드러운 결과를 얻을 수 있다.

References

Images from Rafael C. Gonzalez and Richard E.
Wood, Digital Image Processing, 2nd Edition.

profile
기초를 다지는 중입니다.📚🧑‍💻

0개의 댓글