Presentation is loading. Please wait.

Presentation is loading. Please wait.

Feature Extraction Lecture 3 영상 개선

Similar presentations


Presentation on theme: "Feature Extraction Lecture 3 영상 개선"— Presentation transcript:

1 Feature Extraction Lecture 3 영상 개선
This course is a basic introduction to parts of the field of computer vision. This version of the course covers topics in 'early' or 'low' level vision and parts of 'intermediate' level vision. It assumes no background in computer vision, a minimal background in Artificial Intelligence and only basic concepts in calculus, linear algebra, and probability theory.

2 What are Image Features?
지역적이고, 의미를 갖는, 감지 가능한 영상의 일부분

3 Topics 영상 개선 수학적인 기법들 에지 (Edge)와 라인 (Line) 검출 및 추출
밝기 값 변환 대비 확대/개선 히스토그램 변환 잡음 제거 ……... 수학적인 기법들 회선 연산 (Convolution) 가우시안 필터링 (Gaussian Filtering) 에지 (Edge)와 라인 (Line) 검출 및 추출 영역 분할 (Region Segmentation) 윤곽선 추출 (Contour Extraction) 코너 검출 (Corner Detection)

4 Image Enhancement 목표 : 영상의 화질 (‘visual quality’) 개선 두 가지 유형의 접근 방법
질 좋은 영상이 보여지도록 하기 위해 차후의 처리를 효과적으로 진행하기 위해 두 가지 유형의 접근 방법 공간 영역에서의 처리 기법 픽셀에 직접적으로 연산 적용 주파수 영역에서의 처리 기법 영상을 퓨리어 변환 후에 연산 적용 화질 개선을 위해 일반적으로 적용되는 이론 부재 가정 (assumption) : if it looks better, it is better Often not a good assumption

5 Spatial Domain Methods
T(I(x,y)) neighborhood N I(x,y) I’(x,y) 변환 (Transformation) T : 픽셀 단위 (point) 변환 - pixel to pixel 영역 단위 (area) - local area to pixel 영상 단위 (global) - entire image to pixel 이웃 (Neighborhoods) typically rectangular typically an odd size: 3x3, 5x5, etc centered on pixel I(x,y) Many IP algorithms rely on this basic notion I’(x,y) = T(I(x,y)) O=T(I)

6 Point Transforms: General Idea
O = T(I) Transfer Function T I = 입력 픽셀 값 O = 출력 픽셀 값 T = 변환 함수 255 INPUT OUTPUT Usually a monotonic function, 1-1 mapping

7 Grayscale Transforms Photoshop ‘adjust curve’ command
Output gray value I’(x,y) Input gray value I(x,y)

8 Point Transforms: Brightness

9 Point Transforms:Thresholding
only information at I(x,y) used to generate I’(x,y) 이진화 (Thresholding) 255 Imax if I(x,y) > t Imin if I(x,y) ≤ t I’(x,y) = t 255 t=89

10 Point Transforms: Linear Stretch
255 OUTPUT INPUT 255

11 Linear Scaling 입력 영상이 가용한 픽셀 값 범위의 일부분만을 사용하는 경우를 생각하자 :
출력 영상은 가용한 픽셀 값 범위의 전구간을 사용하도록 하려면 … What's F? {just the equation of the straight line}

12 Linear Scaling F = 두 점 (Imin , 0) 와 (Imax , K) 을 연결하는 직선 방정식
입력 영상이 가용한 픽셀 값 범위를 다 채우지 못할 때 유용한 방법 룩-업 테이블 (lookup tables) 이용하여 구현 가능 Slope is m and the intercept is b

13 Scaling Discrete Images
앞에서 연속적인 픽셀 값 (grayscale)을 가정 했음 영상의 픽셀 값이 이산적인 경우에는 어찌되는 지 ?

14 Examples Lighten Darken Emphasize Dark Pixels
Like Photographic Solarization

15 Non-Linear Scaling: Power Law
O = I  < 1 to enhance contrast in dark regions  > 1 to enhance contrast in bright regions. 1 g<1 . 5 g=1 g>1 . 5 1

16 Square Root Transfer: g=.5

17 g=3.0

18 Examples 변환 함수는 컬러 영상에도 적용 가능 모든 컬러 채널에 같은 함수 적용 각 컬러 채널에 다른 함수 적용 :

19 Point Transforms:Thresholding
only information at I(x,y) used to generate I’(x,y) 이진화 (Thresholding) t 255 Imax if I(x,y) > t Imin if I(x,y) ≤ t I’(x,y) = t=89

20 Threshold Selection 임의 선택 select visually 히스토그램 이용하여 선택 Threshold

21 Histograms 영상 = 밝기 값의 공간적인 분포
히스토그램은 공간적인 정보는 무시하고, 영상에서 각 밝기 값의 상대적인 빈도수를 나타낸다

22 Image Histogram 히스토그램 = 밝기 값에 대한 빈도수 I max
For an image with dimensions M by N I max

23 Probability Interpretation
히스토그램 = 밝기 값에 대한 상대적인 빈도수 : 상대적 빈도수 = 확률 분포 : P(I(x,y) = i) = H(i)/(MxN)

24 Cumulative Density Function
상대적 빈도수 = 확률 분포 : 누적 빈도수 P(I(x,y) = i) = H(i)/(MxN) Gray Value

25 Examples

26 Color Histograms

27 Histogram Equalization
히스토그램은 통상적으로 피크 (peaks), 골 (valleys), 그리고 낮은 평원 (low plains)으로 구성됨 피크 = 좁은 밝기 값 범위에 많은 픽셀들이 모여 있음 낮은 평원 = 넓은 밝기 값 범위에 적은 수의 픽셀들이 분산되어 있음

28 Histogram Equalization
히스토그램이 평평한 형태를 갖도록 영상의 밝기 값을 조정 피크 구간의 픽셀 값들을 좀 더 넓은 범위로 확장 낮은 평원 구간의 픽셀 값들을 좀 더 좁은 범위로 축소 가용한 범위의 모든 픽셀 값들을 균등하게 활용 예제 히스토그램 : Note low utilization of small gray values

29 Desired Histogram 모든 픽셀 값들을 균등하게 사용 명암 대비를 높이는 효과

30 Brute Force 영상 개선을 위해 입력 영상의 픽셀 값을 조정하는 방법은 ? 많은 계산 시간 필요  근사화
Method 1. 임의로 픽셀 선택 Method 2. 이웃 픽셀의 픽셀 값을 고려하여 선택 많은 계산 시간 필요 근사화

31 Histogram Equalization
이상적으로는 각 픽셀 값에 대한 빈도수 Np : 위 원칙을 근사화하는 변환식 : CH = 누적 히스토그램 (see next slide) j = 입력 영상의 픽셀 값 i = 히스토그램 평활화된 영상의 픽셀 값 Np = M*N G i = MAX 0, round CH(j) Np -1

32 Example CH(j) = S H(i) G=8 MxN=2400 Np=300 ideal 0 1 2 3 4 5 6 7
100 100 900 1600 2100 2200 2300 2400 1 800 2 G=8 MxN=2400 Np=300 CH(j) = S H(i) i=0 j 2 700 4 3 500 6 4 100 6 5 100 7 6 100 7 7 7 800 600 400 200 800 600 400 200 ideal

33 Example

34 Comparison Original >1 Histogram equalization

35 Histogram Equalization Algorithm
For an NxM image of G gray levels, say 0-255 Create image histogram For cumulative image histogram Hc Set Rescan input image and write new output image by setting T(p) = round ( Hc (p)) G-1 NM gq = T(gp)

36 Observations 영상 획득 과정에서 영상 화질 저하될 수 있음
밝기 값 개선과 명암 대비 개선 작업은 픽셀 단위 연산으로 수행됨 특정 알고리즘이 모든 경우에 좋은 성능을 보이지는 않음  > 1 은 밝은 영상의 명암 대비를 높힘  < 1 은 어두운 영상의 명암 대비를 높힘 히스토그램 평활화를 수행하는 변환 함수는 누적 히스토그램에 의하여 결정됨

37 Noise Reduction 잡음이란 ? 잡음 제거 과정은 ? + = image noise ‘grainy’ image
주파수 영역에서 처리 마스크를 이용한 공간 영역에서 회선 연산 선형 필터 (저주파 통과, 고주파 통과) 비선형 필터 (미디언) + = image noise ‘grainy’ image

38 Noise 픽셀 밝기 값의 단면도 가산적인 잡음 잡음에 의해 픽셀 값의 변화가 심해짐 고주파 성분 Image Noise

39 Sources of Noise 잡음 소스 = 센서 (CCD chip)
센서 내에서 열 에너지에 의한 전기 신호의 변동 현상 발생 가능 적외선 센서에서 이러한 현상 더욱 심화됨 신호 전달 과정에서도 잡음 발생 가능 Radiation from the long wavelength IR band is used in most infrared imaging applications

40 Noise Model 2 1 1 (x-m) h(x) = exp - 2 s 2ps2  잡음 히스토그램
일반적으로 가우시안 분포 Mean(noise)  = 0 Standard deviation  2 1 2 1 (x-m) h(x) = exp - 2 s 2ps2 

41 Effect of s Integral under curve is 1 =10 =20 =30

42 Two Dimensional Gaussian

43 Noise 잡음은 원영상의 픽셀 값을 랜덤하게 높이거나 낮추는 효과 Image Image + Noise

44 Noise Reduction - 1 잡음 제거 방법은 ? 균일한 값을 갖는 1차원 영상과 가산적인 잡음을 가정하자
이웃 픽셀 값들을 평균하면 잡음 제거 효과 발생 – 특히, 잡음이 가산적인 가우시안 잡음인 경우 ( = 0) Ai-1 Ai Ai+1 Ci

45 Noise Reduction - 1 평균 연산이 요동치는 잡음을 부드럽게 하는 효과 픽셀 Ai+1 는 어떻게 ?
같은 과정 반복 Ai-1 Ai Ai+1 Ai+2 Ci+1

46 Neighborhood Operations
평균 연산은 영상 A를 마스크 B로 회선 연산을 수행하여 구현 평균 연산의 경우 마스크 B의 가중치는 모두 1의 값을 가짐 C = A * B B = [ B1 B2 B3 ] Ci = Ai-1 ´B1 + Ai ´B2 + Ai+1 ´B3 B = [ ] Ci = 1 3 Ai-1 + Ai + Ai+1 3

47 2D Analog of 1D Convolution
방법은 ? 2D 회선 연산은 ?

48 2D Blurring Kernel C = A * B B becomes B = 1 9

49 Convolution 회선 연산은 컴퓨터 비전, 영상 처리, 신호 처리 등에서 매우 매우 중요한 개념
수학적으로 유도 가능한 이론 (we won’t do it here) 개략적인 개념 : 필터링 연산을 마스크 (필터 커널)를 이용한 연산으로 구현 커널 (Kernel) = NxN 영상 패치 N = 홀수 회선 연산 알고리즘 (flip kernel) Align kernel center pixel with an image pixel Pointwise multiply each kernel pixel value with corresponding image pixel value and add results Resulting sum is normalized by kernel weight Result is the value of the pixel centered on the kernel

50 Example 커널을 영상 픽셀 위에 올려놓고, 대응되는 픽셀 값과 커널 가중치를 곱하여 더한 후, 적절히 정규화하여 결과 영상에 저장 영상을 좌에서 우로 위에서 아래로 스캔하며 모든 픽셀에 대해 위 과정 반복 커널이 영상의 경계 픽셀에 놓이는 경우 ? Result Image Kernel Image

51 Border Problem 없는 픽셀 값은 0으로 처리 없는 픽셀 값을
인접 경계 픽셀 값으로 반대 경계 픽셀 값으로 (mirror) 커널이 영상에 포함되는 경우만 고려하여 결과 영상의 크기를 줄임

52 Convolution Size Image size = M1 N1 Mask size = M2 N2 N1
M1- M2 +1 N1-N2+1 N1 N2 N1-N2+1 Typical Mask sizes = 33, 5 5, 77, 9 9, 1111 What is the convolved image size for a 128   128 image and 7  7 mask?

53 Convolution = I M *

54 Properties of Convolution
Commutative: f1(t) * f2 (t) = f2 (t) * f1 (t) Distributive: f1(t) * [f2(t) + f3 (t)] = f1(t) * f2 (t) + f1 (t) * f3 (t) Associative: f1(t) * [f2(t) * f3 (t)] = [f1(t) * f2(t)] * f3 (t) Shift: if f1(t) * f2(t) = c(t), then f1(t) * f2(t-T) = f1(t-T) * f2(t) = c(t-T) Convolution with impulse: f(t) *d(t) = f(t) Convolution with shifted impulse: f(t) *d(t-T) = f(t-T)

55 Noise Reduction - 1 Image + Noise Image + Noise - Blurred
Uncorrupted Image

56 Noise Reduction - 1 요동치는 잡음은 고주파 성분이므로 이을 잡기 위한 회선 연산은 저주파 통과 결과 영상은 영상 내의 세밀한 변화는 손상되며 부드럽게 스므딩됨 세밀한 변화 유지와 잡음 제거 간의 트레이드 오프 필요함

57 Noise Reduction - 1 Boat image contains fine detail
Noise reduced but fine detail also smoothed

58 hmmmmm….. Image Blurred Image - =

59 Noise Reduction - 2: Median Filter
비선형 필터 이웃 픽셀들의 중간 값을 선택 저주파 통과 필터보다는 세세한 변화가 덜 손상됨 스파크 형태의 잡음, 솔트-페퍼 (‘salt and pepper’) 형태의 잡음에 매우 효과적임 How does media filter work? Get data from a window centered at the to-be-processed pixel Sort the data (from min to max) Put the median value in the filtered image Original Low-pass Median

60 Low-pass: fine detail smoothed by averaging
Noise Reduction - 2 Low-pass Median Low-pass: fine detail smoothed by averaging Median: fine detail passed by filter

61 Edge Preserving Smoothing
Smooth (average, blur) an image without disturbing Sharpness or position Of the edges Nagoa-Maysuyama Filter Kuwahara Filter

62 Nagao-Matsuyama Filter
5x5 마스크 안에서 9개의 작은 마스크를 정의하고, 각 작은 마스크 안의 픽셀 값들의 분산 계산 가장 작은 분산 값을 갖는 작은 마스트 안의 픽셀 값들의 평균을 출력 9개의 작은 마스크 :

63 Kuwahara Filter 원리 : 필터 마스크를 4 개의 영역으로 나눈다 (a, b, c, d).
각 영역에서 평균 밝기 값과 분산을 구한다 가장 작은 분산을 갖는 영역의 평균 값을 마스크의 중심 픽셀 (abcd) 의 출력 값으로

64 Kuwahara Filter Example
Original Median (1 iteration) Median (10 iterations) Kuwahara

65 Summary Summary Conclusion
What is noise? Gaussian distribution Noise reduction first principles Neighbourhood low-pass median Averaging pixels corrupted by noise cancels out the noise. Low-pass can blur image. Median may retain fine image detail that may be smoothed by averaging.


Download ppt "Feature Extraction Lecture 3 영상 개선"

Similar presentations


Ads by Google