4. 화소값 기본 처리

1) 공간영역의 정의

(1) 공간 영역

  • 화소들의 집단 또는 공간적 배열

(2) 주파수 영역

  • 저주파 또는 고주파

(3) 마스크 기반 처리

  • 마스크의 다른 이름
  • 템플릿, 윈도우, 필터, 커널 등

  • Convolution(회선)

    • 공간 영역 내에 있는 입력 화소값들과 마스크 내의 값을 곱하여 새로운 출력 화소값을 얻는 것이다.
    • 공간 필터링이라 표현됨
    • $$Output(i,j) = \sum_{s=-k}^k \sum_{t=-k}^k m(s,t)p(i+s,j+t)$$
    • output(i,j) : Convolution(회선) 처리로 출력한 화소
    • p(i,j) : 입력 영상의 화소
    • m(i,j) : 입력 영상의 화소에 대응하는 가중치
1 2 3
4 5 6
7 8 9

(4) Convolution(회선)

  • Convolution
    • $$ f*g(t) = \int_{-inf}^{+inf}f(τ)g(t-τ)dτ $$

(5) Spatial Convolution(공간 회선)

  • Convolution과정 유무에 따라 선형/비선형으로 구분된다.
  • 선형 공간 필터링(출력:y=m1x1+m2x2+ ~~~ mnsx)
    • Embossing:양각효과를 만드는 것
    • Bluring : 영상을 부드럽게
    • Shparpening : 세세한 부분을 두드러지게 또는 강조
    • Edge Detection : 방향성 검출
  • 비선형 공간 필터링
    • Convolution 과정 대신 블록 내 일정 값만 추출하여 출력하는 형식
    • 미디언, 평균값, 최대/최소 필터링

2) 양각 효과

(1)양각 효과

  • 중앙값이 0이고, 마스크 내의 핪이 0인 마스크를 이용
  • 중앙이 0이므로 경계가 튀어나와 보인다.
  • 양각효과 알고리즘
    1. 양각 효과 마스트에 대해 Convolution한다.
    2. Convolution한 값에 해당 영상의 평균값을 더한다.
  • 평균값을 더하는 이유

    • 명암도 영상의 범위가 0~255인 관계로 그 범위 안에 들기 위해
  • 45도 마스크의 예

-1 0 0
0 0 0
0 0 1

(2)컬러 영상에서 엠보싱 효과 구현 방법

  • RGB 컬러 공간 -> 각 채널로 분리 -> 각 채널에 양각효과 수행 -> 합성 -> 결과 영상 생성
  • RGB -> HSI 컬라 공간 변환후 밝기(I)채널에 양가 효과 -> RGB -> 합성 -> 결과 영상 생성
    • I부부만 건드리기 때문에 HIS 컬러 공간의 요소인 H가 원영상의 색상 부분을 그대로 보존하므로 더 명확하게 구분할 수 있다.

3) 블러링

(1) 저주파 통과 필터링

  • 처리항 영상 성분 중 화소값의 변화율이 작은 저주자 성분을 유지하고 화소값의 변화율이 큰 고주파 성분을 없애는 결과 영상을 얻어내는 것

(2) 블러링

  • 저주자 통과 필터링을 거친 영상은 윤곽선 부분을 이루는 고주파 성분이 제거되어 전체 영상이 부드러워지게 되는 현상
  • 예) 영상에서 대상만 또려하고 나머지 부분은 흐리게 나오는 경우

(3) 블러링 마스크 특징

  • 마스크 내의 계수의 합 = 1
  • M*M의 크기를 가진 마스크에서 마스크 내의 계수 : 1/(M*M)

(4) 마스크 효과

  • 마스크 내 계수의 값은 똑같이 때문에 주변 화소들과 평균한 결과
  • 잡음(돌출되어 나온 값)을 제거하는 기능
  • 단점 : 영상이 부드러워지고 희미해지기 때문에 영상 대비가 약화 된다
  • 마스크의 크기가 커질 수록 주변 화소의 기여도가 높아져 큰 효과를 나타내지만, 계산할 양이 많아져 수행시간이 증가 된다.
  • 가우시안 잡음은 잡을 수 있지만 임펄스 잡음에 취약하다. 임펄스 잡음은 미디언 필터링을 사용한다.
19 19 19
19 19 19
19 19 19

4) 샤프닝

(1) 샤프닝 마스트

  • 샤프닝 마스크
    • 모든 계수의 합 = 1
    • 중심 계수는 양의 값
    • 주변 화소는 음의 값을 가지고 있기 때문에 Convolution시 주변에 있는 화소값을 약화 시킨다. 따라서 경계선이 두드러져 보인다.
    • 고주파 필터링의 한 종류이다.
    • 잡음을 증가시키기 때문에 남용하면 안된다.
    • 잡음에 민감한 영상인 경우 전처리 과정을 거쳐야 한다.
  • 명암대비 개선 시킬 수 있는 특별 마스크
1 1 1
1 7 1
1 1 1

(2) 고주파 통과 필터링

-19 -19 -19
-19 89 -19
-19 -19 -19

(3) 고주파 지원 통과 필터링

-a/9 -a/9 -a/9
-a/9 w/9 -a/9
-a/9 -a/9 -a/9
  • W=9a-1, 만약 a가 1이면 고주파 통과 필터링을 위한 마스크와 일치한다
  • a가 커질수록 더 또렷해진다.
  • 고주파지원 필터링의 절차
    1. 원영상에 밝기값을 곱하면 더 밝아진 영상 A를 얻는다.
    2. 원 영상에 젖파 필터링한 영상 B를 얻는다.
    3. A-B를 수행하여 결과 영상을 얻는다
    4. a*(원 영상) - (저주파 통과 필터링된 결과)
  • 언샤프닝기법
    • 원 영상에서 저주파 필터링을 거쳐 영상을 뺀 것으로 샤프닝과 마찬가지로 경계선을 강조한 영상을 얻어도 강조의 폭이 좁아 잘 두드러지지 않는다.
    • (원 영상)-(저주파 토과 필터링된 결과)

5) 잡음제거

(1) 가우시간 잡음

  • 가우시안 분포를 따르는 잡음으로 블러링으로 제거 가능하다

(2) 임펄스 잡음

  • 임의의 난수 잡음으로 미디언 필터링으로 제거 가능 하다.

(3) 미디언 필터링

4 2 3
2 3 6
7 8 9
  • 특징
    • Uniform noise 제거가 잘 안된다
    • 큰 마스크를 사용할 경우 수행 시간이 증가한다
    • 마스크의 형태가 필터링에 크게 영향을 미친다
    • HSI공간, 명암도 영상에 효과가 좋다. RGB의 경우 3번을 거쳐야 함으로 속도가 떨어진다
    • salt-papper 잡음 제거 효율이 좋다.

(4) 평균간 필터링

1 2 3
4 5 6
7 8 9
  • 임펄스 잡음 제거가 힘들다
  • 경계를 흐리게 한다
  • 융통성이 적다

(5) 가우시안 스무딩 필터링

  • 정규확률 분포에 의한 잡음 제거를 목적을 한다.
  • 1차원
  • $$ G(x) = \frac{1}{a\sqrt{2\pi}}exp(\frac{-x_2}{2a_2}) $$
  • 2차원
  • $$ G(x,y) = \frac{1}{2\pi a^2}exp(\frac{-(x_2+y_2)}{2a_2}) $$
  • 특징
    • 2차원 가우시안 분포함수는 circular symmetry(순환 대칭)
    • 가우시안 분포함수는 단일돌출 부분이 있다
    • 푸리에변화을 해도 단일돌출 부분이 있다
    • 스무딩의 정도인 가우시안 분포 마스크폭은 a로 결정 된다
132 132 116 132 132
132 116 18 116 132
132 18 14 18 116
132 116 18 116 132
132 132 116 132 132
  • 가우시안 스무딩 마스크
    • 가우시안 분포함수에 의한 값을 마스크로 표현한 것으로 가우시간 분포 생성 시간을 단축 한다.

6) 에지 추출

(1) 에지 개념

  • 경계선, 윤곽선, 밝기가 변하는 지점
  • 영산 안에 있는 객체의 경계
  • 모양(Shape), 방향성(direction)을 탐지

(2) 1차 미분

  • 밝기의 변화율을 통해 검출하는 방법
  • $$\frac{\partial f(x,y)}{\partial x} = \Delta x = \frac{f(x+dx,y)-f(x,y)}{dx}$$
  • $$\frac{\partial f(x,y)}{\partial y} = \Delta y = \frac{f(x,y+dy)-f(x,y)}{dy}$$
  • 두 픽셀 사이를 1 이라고 가정 하면, dx=dy=1
    • $$ \Delta x = f(x+1,y) - f(x,y) $$
    • $$ \Delta y = f(x,y+1) - f(x,y) $$
  • $$ Gradient magnitude measure, Mag = \sqrt{\Delta x^2 + \Delta y^2} \approx |\Delta x| + |\Delta y| $$
  • $$ Gradient durectuib measure, $$ Θ = \tan^{-1}(\Delta y/\Delta x)
  • 수평방향미분(x방향) : Gx(x,y) = f(x+1,y)-f(x-1,y)
  • 수직방향미분(y방향) : Gy(x,y) = f(x,y+1)-f(x,y-1)
  • 1차미분에 의한 에지추출 : |Gx(x,y)| + |Gy(x,y)|
  • 절대값, 제곱근 중 편의성 위해 절대값이 주로 이용됨
(x-1,y-1) (x,y-1) (x+1,y-1)
(x-1,y) (x,y) (x+1,y)
(x-1,y+1) (x,y+1) (x+1,y+1)

(3) Sobel 마스크

  • 모든 방향의 에주 추출
  • 잡음에 강함
  • 대각선방향 민감 반응
  • 수평 마스크
-1 0 1
-2 0 2
-1 0 1
  • 수직 마스크
1 2 1
0 0 2
-1 -2 -1

(4) Prewitt 마스크

  • 에지가 덜 부각
  • 수직,수평에 민감 반응
  • 수평 마스크
-1 0 1
-1 0 1
-1 0 1
  • 수직 마스크
1 1 1
0 0 2
-1 -1 -1

(5) Robert 마스크

  • 빠른 속도
  • 주변과 관계 없이 경계가 확실한 에지추출
  • 잡음에 민감
  • 에지가 가늘어 지지만 확실한 추출 가능
  • 수평 마스크
0 0 -1
0 1 0
0 0 0
  • 수직 마스크
-1 0 0
0 1 0
0 0 0

(6) 라플라시안

  • 2차미분
    • 너무 많은 에지 추출 방지
    • 수평,수직,대각선 에지에 민감반응 감소
    • 점진적인 밝기값 변화 부분에 반응 둔화
    • 에지 2차 미분에서 값이 0인 부분(1차 미분의 볼록한 부분의 꼭지점)
  • 4방향 라플라시안 마스크1
0 -1 0
-1 4 -1
0 -1 0
  • 4방향 라플라시안 마스크2
0 1 0
1 -4 1
0 1 0
  • 8방향 라플라시안 마스크1
-1 -1 -1
-1 8 -1
-1 -1 -1
  • 8방향 라플라시안 마스크2
1 -2 1
-2 4 -2
1 -2 1
  • $$ \Delta^2 f(x,y) = \frac{\partial^2 f(x,y)}{\partial x^2} + \frac{\partial^2 f(x,y)}{\partial y^2} $$
  • $$ \frac{\partial^2 f(x,y)}{\partial x^2} = f(x,y) - f(x+1,y) + f(x,y) - f(x-1,y) $$
  • $$ \frac{\partial^2 f(x,y)}{\partial y^2} = f(x,y) - f(x,y+1) + f(x,y) - f(x,y-1) $$
  • $$ \Delta^2 f(x,y) = f(x,y+1) + f(x-1,y) + f(x+1,y) + f(x,y-1) -4f(x,y) $$

  • 잡음에 약함(주변 밝기화의 차이값을 이용하므로)

  • 영상내 가는 선이나 고립점에 강하게 반응

  • (a*b)c = a(b*c)

  • Convolution operator is commutative

    • $$\frac{d}{dx} \left[ g*I \right] = \left[ \frac{dg}{dx} \right] *I $$
    • $$\frac{d^2 g}{dx^2} \approx \left[ \frac{x^2}{\alpha^2} - 1 \right] e^{\frac{-x^2}{2\alpha^2}} $$
    • $$\frac{d^2}{dx^2} \left[g*I \right] = \left[ \frac{d^2g}{dx^2} \right] * I $$
    • $$ g(x) \approx e^{\frac{-x^2}{2\alpha^2}} $$
    • $$ g(x)’ \approx \frac{-x}{\alpha^2} e^{\frac{-x^2}{2\alpha^2}} $$
    • $$ g(x,y) \approx e^{\frac{-x^2 + y^2}{2\alpha^2}} $$
    • $$ \Delta g(x,y) -> vector $$
    • $$ \Delta^2 g -> scalar $$

(7) LoG(Laplacian of Gaussian)

  • 실행방법
    • 가우시안 스무딩 필터링 - > 라플라시안 $$ \delta^2 G*f $$
    • LoG 공식 직접 적용 - > 마스크 생성
    • $$ LoG(x,y) = \left[ 1 - \frac{x^2 + y^2}{2\alpha^2} \right] e^{\frac{-(x^2+y^2)}{2\alpha^2}} = \left[ 1 - \frac{xr^2}{2\alpha^2} \right] e^{\frac{-r^2}{2\alpha^2}} $$
    • 알파에 의해 마스크 크기가 달라짐
    • 알파가 크면 스무딩 효과 상승, 뚜렷한 에지 추출, 작으면 스무딩효과 저하, 미세한 에지 추출

(8) DoG(Difference of Gaussian)

  • LoG가 많은 시간이 걸리는 단점을 보완
    • 알파의 값을 조절하여 결과를 다르게 얻음
    • 알파의 크기에 따른 가우시안 ㅡ무딩 필터링의 차를 의미
    • 실행방법 : 공식에 이한 것
    • $$ DoG(x,y) = G1 -G2 = \frac{e^{\frac{-(x^2+y^2)}{2\alpha_1^2}}}{2\pi\alpha_1^2} - \frac{e^{\frac{-(x^2+y^2)}{2\alpha_2^2}}}{2\pi\alpha_2^2} $$
    • 가우시간 마스크의 중복 적용
    • Dog(x,y)*f = (G1-G2)*f = G1*f - G2*f

(9) Canny 에지 추출

  • 잡음에 민감하지 않도록 강한 에지 추출
  • 에지추출기의 세 가지 기준(John Canny)
    • 탐지성 : 모든 에지 탐지
    • 국부성 : 실제 에지와 탐지된 에지의 차이 최소화
    • 응답성 : 각 에지에 대한 단일한 대답

7) 모폴로지

  • morphology : 영상 내의 형태들을 분석하고 처리하는 형태학
  • 적용 예:
    • OCR 전처리, 지문 영상에서 잡음 제거 및 융선 명확히
    • 컬러 지도 내에 있는 객체 추출
  • morphological processing
    • 영상의 기본적인 특징을 유지하면서 형태에 변화를 주는 것을 의미한다.

(1) 침식 연산

  • 침식 연산(Erosion Operator)
    • 배경을 확장, 객체의 크기를 축소
    • 객체 안이나 객체와 배경 사이에 있는 salt-papper 또는 임펄스 잡음 제거에 쓰인다
    • 영상의 돌출부는 감소 시키고 전체 영상에서 아주 작은 물체를 제거하는데 쓰인다.

(2) 팽창 연산

  • 침식 연산(Erosion Operator)
    • 배경을 축소, 객체를 확장
    • 객체 안의 빈 공간을 메우는 역할
    • 물체 내부에 발생한 구멍과 같은 공간을 채우거나 짧게 끊어진 영역을 연결하는데 사용됨

(3) 열림 연산

  • 열림 연산
    • 침식 연산과 팽창 연산을 순서대로 진행
    • 물체 밖의 점이 사라짐
    • 좁은 연결 점을 끊으며, 돌출 부분을 제거하는 성질을 가짐

(4) 닫힘 연산

  • 닫힘 연산
    • 팽창 연산과 침식 연산을 순서대로 진행
    • 물체 내부의 점이 사라짐
    • 좁은 연결 점을 융합하고 갈라진 틈을 좁히며 작은 홀을 제거한다

8) 모자이크 효과

(1) 모자이크 효과

  • 블록 형태로 영상을 변형하는 기법

(2) 모자이크 효과 알고리즘의 원리

  • 영상의 전체 내용을 완전히 제거하는 것이 아니라, 일부 영역만 남기고 제거하는 것
  • 영역 내 어떤 값을 선택 또는 생성하여 출력 영상 내 해당 영여글 완전히 채우는 것

5. 형태변환

1) 사상

  • 임의의 기하학적 변화에 의하여 화소들의 배치를 변경하는 것
  • 기하학적 처리 : 확대/축소(Scaling), 회전(Rotation), 이동(Translation), 감축(Reduction)
  • 기하학 기반 처리에서 전방향 사상(Forward mapping)은 오버랩 문제와 홀 문제가 발생할 수 있다. 이 문제를 해결하기 위한 방법이 역방향 사상이다.

2) 회전(Rotation)

  • 원 영상을 원하는 각도만큼 변화하는 것을 가리킨다.
  • 원점을 중심으로 이동
  • 전방향 사상의 경우
  • x’ = xcosΘ - ysinΘ
  • y’ = xsinΘ + ycosΘ
  • 역방향 사상의 경우
  • x = cosΘ(x’-Cx) + sinΘ(y’-Cy) + Cx
  • y = -sinΘ(x’-Cx) + cosΘ(y’-Cy) + Cy

3) 보간법

  • 최근접 화소 보간법(Nearest neighbor interpolation) : 가장 이웃한 인접한 화소 값 사용
  • 양선형 보간법(Bilinear interpolation) : 인근 네 화소까지의 근접한 비례로 화소값 결정
  • BiCubic 보간법 : 16개의 화소를 이용하여 5번의 보간한 화소값을 사용

4) 영상내의 주파수

  • 고주파 : 영상 내에서 밝기 변화가 많은 부분(영상 내에서 관심 많음 부분)
  • 저주파 : 영상 내에서 밝기 변화가 적은 부분(영상 내에서 배경 부분)

5) Discrete Fourier Transform

  • 임의의 파형은 단순한 정현파의 조합으로 표현할 수 있다
  • 특정 주파수의 정현파는 진폭과 위상으로 표현된다.
  • 2차원 forward Fourier transform

    • $$H(k,l) = \int_{-inf}^{+inf} \int_{-inf}^{+inf} h(x,y) Θ^{-2j\pi(kx+ly)} dxdy $$
    • $$h(x,y) = \int_{-inf}^{+inf} \int_{-inf}^{+inf} H(k,l) Θ^{+2j\pi(kx+ly)} dkdl $$
    • $$ j = \sqrt{-1}$$
    • $$ Θ^{\pm_{jx}} = cos(x) \pm_{ } jsin(x) $$
  • 2차원 forward discrete Fourier transform

    • $$H(k,l) = 1/MN\sum_{s=}^{M-1} \sum_{l=0}^{N-1} h(x,y)Θ^{-2j\pi(kx/M+ly/N)} $$

6) Fast Fourier Transform(FFT)

(1) FFT의 발생 배경

  • N개의 1차원 신호, Nlog2N

(2) 일반 FT의 계산량(N-point) : N^2

(3) FFT의 주의점

  • 영상의 크기는 2의 지수 승이 되어야 한다. 아니라면 제로패딩을 한다.

7) FFT를 이용한 주파수 영역에서의 필터링

  • LPF
  • HPF