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이므로 경계가 튀어나와 보인다.
양각효과 알고리즘
- 양각 효과 마스트에 대해 Convolution한다.
- 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
- MM의 크기를 가진 마스크에서 마스크 내의 계수 : 1/(MM)
(4) 마스크 효과
- 마스크 내 계수의 값은 똑같이 때문에 주변 화소들과 평균한 결과
- 잡음(돌출되어 나온 값)을 제거하는 기능
- 단점 : 영상이 부드러워지고 희미해지기 때문에 영상 대비가 약화 된다
- 마스크의 크기가 커질 수록 주변 화소의 기여도가 높아져 큰 효과를 나타내지만, 계산할 양이 많아져 수행시간이 증가 된다.
- 가우시안 잡음은 잡을 수 있지만 임펄스 잡음에 취약하다. 임펄스 잡음은 미디언 필터링을 사용한다.
1/9 | 1/9 | 1/9 |
---|---|---|
1/9 | 1/9 | 1/9 |
1/9 | 1/9 | 1/9 |
4) 샤프닝
(1) 샤프닝 마스트
- 샤프닝 마스크
- 모든 계수의 합 = 1
- 중심 계수는 양의 값
- 주변 화소는 음의 값을 가지고 있기 때문에 Convolution시 주변에 있는 화소값을 약화 시킨다. 따라서 경계선이 두드러져 보인다.
- 고주파 필터링의 한 종류이다.
- 잡음을 증가시키기 때문에 남용하면 안된다.
- 잡음에 민감한 영상인 경우 전처리 과정을 거쳐야 한다.
- 명암대비 개선 시킬 수 있는 특별 마스크
1 | 1 | 1 |
---|---|---|
1 | 7 | 1 |
1 | 1 | 1 |
(2) 고주파 통과 필터링
-1/9 | -1/9 | -1/9 |
---|---|---|
-1/9 | 8/9 | -1/9 |
-1/9 | -1/9 | -1/9 |
(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가 커질수록 더 또렷해진다.
- 고주파지원 필터링의 절차
- 원영상에 밝기값을 곱하면 더 밝아진 영상 A를 얻는다.
- 원 영상에 젖파 필터링한 영상 B를 얻는다.
- A-B를 수행하여 결과 영상을 얻는다
- 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로 결정 된다
1/32 | 1/32 | 1/16 | 1/32 | 1/32 |
---|---|---|---|---|
1/32 | 1/16 | 1/8 | 1/16 | 1/32 |
1/32 | 1/8 | 1/4 | 1/8 | 1/16 |
1/32 | 1/16 | 1/8 | 1/16 | 1/32 |
1/32 | 1/32 | 1/16 | 1/32 | 1/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 마스크
- 모든 방향의 에주 추출
- 잡음에 강함
- 대각선방향 민감 반응
- 수평 마스크
-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) $$
잡음에 약함(주변 밝기화의 차이값을 이용하므로)
영상내 가는 선이나 고립점에 강하게 반응
(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