1. 이미지란?
Intensity values를 사용하여 매트릭스 혹은 격자의 형태로 표현.
2. 이미지 특성
이미지는 제한된 수만큼 픽셀을 보유한다.
픽셀 값
- grayscale은 0~255.
- 컬러는 RGB같은 경우, 각 채널당 0~255까지 각 1바이트로 총 3바이트로 표현 가능.
수학적 함수로 표현하면,
3. 이미지 변환
수학적인 함수를 이용해서 operator를 적용하면, 이미지 변환을 얻을 수 있음.
오늘날, 특별한 종류의 operator에는 convolution이 있다.
대표적으로 노이즈제거하는데 이용.
4. 왜 이미지는 노이즈를 가지는가?
이미지 획득하는 과정
카메라 자체 문제 (Dead pixels)
인화 단계 문제
5. 노이즈 제거
가장 그럴싸한 방법은 제일 근사한 값들이 비슷한 컬러를 가질 가능성이 크므로, 주변값을 보는 것.
현재 픽셀을 주변 픽셀들과 평균을 내서 대치를 하게 되면 조금더 원래값에 가까이 가지 않을까?
- 위에서 설명한 방법이 다음처럼 계산하는 Mean filtering
- Mean filtering을 적용하면, 노이즈들이 제거되고, 디테일 부분은 블러링으로 사라진다.
6. 필터
필터링 - 새로운 이미지를 만드는 것.
왜 필요한가?
- 새로운 유용한 정보를 얻기 위해서 (edges나 contours (shape이해를 위한) )
- 이미지 enhance (노이즈 제거를 위한 블러링, enhance image를 위한 sharpen 등)
- Convolutional Neural Networks의 key operator
7. Linear filtering
가장 간단한 필터링으로 cross-correlation, convolution이 있음.
- 주변 값의 weighted sum으로 픽셀의 대체할 값을 찾는다.
그 값을 찾아내기 위해서 매트릭스를 주게 되는데 이를 Kernal 혹은 mask 혹은 filter라고 함.
8. Mean filtering
주변의 평균으로 pixel값을 대체
9. A more general version
정확한 Linear filtering의 수식이 된다.
최종적으로, 수식은 다음과 같이 정리가 가능하다.
10. Convolution과 cross-correlation
Cross correlation
- 수식
Convolution
- 수식
- Convolution은 좌우 아래위로 바뀌기때문에 커널자체를 바꾸는 것도 방법이다.
아래위로 미러링하고, 좌우로 미러링하면 다음과 같이 새로운 커널이 되고, Convolution 효과를 낼 수 있다.
11. 특징 : 선형성
12. 특징 : Shift invariance
선형적으로 이동했을 때, convolution도 Shift가 된다.
13. Filters: examples
- Linear filters: examples
- Mean filters: examples
14. Sharpening
어떤 필터를 써야 이 효과를 가질 수 있는가?
-> 블러링 이미지는 오리지널에서 디테일이 없다는 특징을 이용!
- 수식
- Sharpening filter
15. Gaussian filter
Mean filter - 모든 픽셀들이 같은 가중치를 가짐.
Gaussian filter - 주변의 픽셀들이 멀리있는 픽셀보다 관련성이 높다, 가까운 픽셀에 더 많은 가중치!
Gaussian filter는 디테일한 부분(High-frequency)을 없애게 된다.
따라서, low-pass filter라고도 부른다.
16. Sharpening revisited
오리지널 - (low-pass 필터) = High-pass 필터
오리지널 + α(High-pass 필터) = Sharpening Image
17. Convolution이 중요한 이유?
1) Shift invariance때문에. -> 시프트가 된다하여도, convolution에는 영향이 없다.
2) Linearity때문에. -> 인풋이 변하게될 때 우리가 예상할 수 있는 방향으로 간다.
18. Non-linear filter
선형성이 아닌 대표적인 예시.
대표적인게 Thresholding 필터
Rectification
- 함수가 주어지면, 양수만 출력한다.
Mean filtering
- Speckle noise는 평균값이 굉장히 달라져서 Mean filtering 사용 못함.
(Median filter는 평균값이 아니라, 중간값이므로, 사용 가능!)
18. 요약
2가지 일반적인 기법
- convolution과 cross-correlation
특징
- Shift-invariant과 Linearity
Smoothing과 Sharpening에 사용되는 필터
- Low-pass filter과 high-pass filter
CNNs의 주요 요소가 된다!