Image enhance technique

2024. 5. 24. 00:54Artificial Intelligence/Computer Vision

Color

Coding methods for humans

RGB CMY HSI YIQ
검정색에 색상들을 더하는
additive system
프린팅을 위한
subtractive system
Hue(색조),
Saturation(색 포화도),
Intensity(밝기)
압축에 적합함

 

Color histogram

  • 이미지 전체의 특징을 표현한다.
  • 사이즈를 정규화할 수 있으므로, 다른 이미지 히스토그램 간의 비교가 가능하다.
  • HSI는 Hue(색조), Saturation(색 포화도), Intensity(밝기) 각각에 대해 히스토그램을 그릴 수 있다.

Contrast enhancing

Point Processing

  • 픽셀의 정보만 이용해서 처리하며, 공간 정보를 활용할 수 없다.
  • 2차원 상의 좌표의 범위를 Transformation function인 T를 통해 변환
    G(x,y) = T(f(x,y))
  • 함수 T로 로그 함수, 역 로그 함수 등을 사용하여 비선형 변환을 할 수 있다.
  • Point Processing 기법 분류
산술 논리 연산 그레이 레벨 변환 히스토그램 프로세싱
+, - (영상 밝게 / 어둡게)
×, ÷ (영상 명암 높게 / 낮게)
평균
Image negative,
Log transformation,
Power-law transformation,
Thresholding,
Gray-level slicing, Bit-plane slicing,
Contrast stretching
Histogram equalization

 

Power-law transformations

    • Input gray level(r), Output gray level(s), γ(람다), 상수 c = 1
      s = c × r^γ (γ>1: 영상 어두워짐, γ<1: 영상 밝아짐)

 

Contrast

  • Contrast = (Imax - Imin) / (Imax + Imin)
  • Mach Band: 서로 다른 광도가 인접해 있으면 경계 부분을 강조하여 보는 경향
  • Contrast Stretching: 특정 부분이나 중앙에 명암값이 치우치는 히스토그램이 모든 범위의 화소값을 포함하도록 영상을 확장하는 것. 가우시안 분포를 가질 때 적용하기 좋음.
    new pixel = (old pixel - low) * 255 / (high - low)

  • 엔드인탐색: 일정한 양의 화소를 흰색 또는 검은색을 갖도록 지정하고, 치우친 화소들만 stretching.
    (모든 범위의 명암값을 갖지만 히스토그램의 특정 부분에 화소들이 치우친 경우 적용하기 좋음.)

 

Histogram Equalization

  • 2가지 조건
    1. 출력 이미지는 모든 구간의 gray level 값(0~255)을 사용해야 한다.
    2. 출력 이미지는 각각의 그레이 레벨에서 거의 동일한 픽셀 개수를 가져야 한다.
  • 단계
    1. 이미지의 히스토그램 생성
    2. 히스토그램의 누적합을 계산하여 look-up table 생성
    3. look-up table을 이용하여 히스토그램 및 입력 이미지를 변형 (히스토그램은 uniform 하게 바뀜.)
  • 보통 histogram equalization을 적용하면 Contrast가 개선되지만, 색상이 많이 변형되는 문제가 있음.
    → 이미지를 HSI로 변환한 후, Intensity(밝기)에 대해서만 equalization을 진행하면 됨.
    Contrast는 개선되고, Hue(색조)는 유지됨. 

Noise filtering

Noise

  • Salt and pepper noise: 흑백 픽셀이 무작위로 나타남.
  • Impulse noise: 백색 픽셀이 무작위로 나타남.
  • Gaussian noise: 가우시안 정규 분포 형태로 Intensity 변화가 나타남.

Smoothing

Smoothing

필터를 통해 노이즈를 필터링 함.

 

Filtering

  • Convolution Mask(=Kernel)를 이용하여, 가중치에 따라 결과를 생성함.

  • G = H * F

  • 커널의 가중치 조합에 따라 다양한 목적을 달성할 수 있음.
  • 3X3 Mean filter로 픽셀에 1/9씩 곱해서 평균을 계산하면, noise는 줄어들지만, 중요한 edge 정보가 손상됨.

  • Gaussian kernel은 중앙에서 멀수록 더 적은 가중치를 줌. 해당 커널은 가우시안 함수의 근사.

  • Mean filter는 윈도우 안에 들어오는 픽셀의 값들 중 중간값을 찾음.
  • Mean filter 장점: Max, Min에 대응하는 Salt and Pepper noise를 제거하는데 효율적이며, edge 정보의 손상을 막음.
  • Mean filter 종류: 필터 크기가 커질수록 sorting 비용이 커지므로, block 형태 외의 X 형태, 다이아몬드 형태도 사용함.

  • Color Space에 대해 median filtering을 적용하려면, R, G, B 각각의 요소에 median filter를 적용하고 3개의 출력을 결합하면 됨. 단점은 컬러 요소들 간의 상관관계가 손실됨.
  • High-Boost Filtering은 낮은 주파수를 가진 요소를 제거하지 않으면서, 높은 주파수를 가진 요소는 강조함.

Morphological operator

Gray level thresholding

foreground에 있는 물체를 background로부터 분리하는 것

 

Structuring element

형태학적 연산에서 사용되는 다양한 모양과 사이즈를 가진 mask

 

Dilation(팽창) ↔ Erosion(축소)

Dilation: growing 피처, 구멍이나 틈을 채움.

Erosion: shrinking 피처, 연결하는 부분을 제거하거나 크기를 축소함.

 

* 참고 자료

컴퓨터비전 강의자료(김은이 교수님)