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) : 입력 영상의 화소에 대응하는 가중치
123
456
789

(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도 마스크의 예

-100
000
001

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

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

3) 블러링

(1) 저주파 통과 필터링

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

(2) 블러링

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

(3) 블러링 마스크 특징

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

(4) 마스크 효과

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

4) 샤프닝

(1) 샤프닝 마스트

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

(2) 고주파 통과 필터링

-1/9-1/9-1/9
-1/98/9-1/9
-1/9-1/9-1/9

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

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

5) 잡음제거

(1) 가우시간 잡음

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

(2) 임펄스 잡음

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

(3) 미디언 필터링

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

(4) 평균간 필터링

123
456
789
  • 임펄스 잡음 제거가 힘들다
  • 경계를 흐리게 한다
  • 융통성이 적다

(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로 결정 된다
1/321/321/161/321/32
1/321/161/81/161/32
1/321/81/41/81/16
1/321/161/81/161/32
1/321/321/161/321/32
  • 가우시안 스무딩 마스크
    • 가우시안 분포함수에 의한 값을 마스크로 표현한 것으로 가우시간 분포 생성 시간을 단축 한다.

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 마스크

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

(4) Prewitt 마스크

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

(5) Robert 마스크

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

(6) 라플라시안

  • 2차미분
    • 너무 많은 에지 추출 방지
    • 수평,수직,대각선 에지에 민감반응 감소
    • 점진적인 밝기값 변화 부분에 반응 둔화
    • 에지 2차 미분에서 값이 0인 부분(1차 미분의 볼록한 부분의 꼭지점)
  • 4방향 라플라시안 마스크1
0-10
-14-1
0-10
  • 4방향 라플라시안 마스크2
010
1-41
010
  • 8방향 라플라시안 마스크1
-1-1-1
-18-1
-1-1-1
  • 8방향 라플라시안 마스크2
1-21
-24-2
1-21
  • $$ \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) $$

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

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

  • (ab)c = a(bc)

  • 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 = G1f - G2f

(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