Feature Extraction Lecture 3 영상 개선

Slides:



Advertisements
Similar presentations
자동 제어 Sun Moon University 1 of 17 자동제어 목 차 강의 개요 Ch.10 주파수 응답 기법 Ch. 8 근궤적 기법.
Advertisements

중원대학교 의료공학과 신 진솔 (WED). 영상의 밝기 & 명암 조절 영상의 감마보정 영상의 잡음 감소.
Digital Image Processing
Multimedia Programming 07: Gamma Correction/ Neighborhood Processing
검출기 눈, 사진, Photoelectric device, Photomultipliers, Image intensifiers, Charged Coupled Device,
재료수치해석 HW # 박재혁.
MarkPhoto 서강대학교 전자공학과 3학년 김상우.
Multimedia Programming 04: Point Processing Departments of Digital Contents Sang Il Park.
화소 영역 처리의 개념 회선 처리의 원리 블러링 샤프닝 요약 연습문제
Maximum Flow.
Sources of the Magnetic Field
스테레오 비젼을 위한 3장 영상의 효율적인 영상정렬 기법
Multimedia Programming 05: Point Processing
Snake : Active Contour Model Computer Vision & Pattern Recognition
Dithering (금) SNUT 최 성 준.
색좌표 변환기의 설계 예 색좌표(Color Space) 색의 수학적인 표현 방법 RGB YIQ, YUV, YCbCr CMYK
신호처리 실험 (Signal Processing Lab)
축산 인식개선을 위한 농협의 추진 사례 ( ) 농협중앙회 축산지원단장 박인희.
Report #2 - Solution 문제 #1: 다음과 같이 프로그램을 작성하라.
4-4 Comparison of Standard Deviations with the F test
10장 랜덤 디지털 신호처리 1.
제 3 장 영역 기반 처리.
Multimedia Programming 05: Point Processing
Multimedia Programming 11: Histogram Equalization/ Image Halftoning
Sharpening Filter (High-Pass Filter)
Multimedia Programming 11: Point Processing 6
Multimedia Programming 06: Point Processing3
On the computation of multidimensional Aggregates
강원대학교 지구물리학과 이훈열 참고: PG Steamer User’s Guide
Additive White Gaussian Noise
디지털영상처리 및 실습 대구보건대학 방사선과.
Genetic Algorithm 신희성.
3D Vision Lecture 7 동작 이해 (광류).
Multimedia Programming 10: Point Processing 5
Cluster Analysis (군집 분석)
멀티미디어 시스템 (아날로그 이미지,신호를 디지털로 변환 방법) 이름 : 김대진 학번 :
Automatic Music Transcription
Multimedia Programming 06: Point Processing 2
CH 4. 확률변수와 확률분포 4.1 확률 확률실험 (Random Experiment, 시행, Trial) : 결과를 확률적으로 예측 가능, 똑 같은 조건에서 반복 근원사상 (Elementary Event, e) : 시행 때 마다 나타날 수 있는 결과 표본공간.
색의 인식 ~ 빛(light): 전자기파(electromagnetic wave)
Dongchul Kim / / OpenCV Tutorials Course Dongchul Kim / /
Chapter 4 The Von Neumann Model.
4-1 Gaussian Distribution
Opencv 이민권.
PCA Lecture 9 주성분 분석 (PCA)
Multimedia Programming 10: Unsharp Masking/ Histogram Equalization
군집 분석.
Initial Concepts for Modeling
Computer vision 정보과학부 최영준.
Fitting / Matrix / Excel
The normal distribution (정규분포)
영상의 개선 및 복원 화소 단위 처리 화소 단위 처리 영상 화소 집단 처리 주파수 영역처리 기하학적 변환 단일영상 대비강조
VHDL를 이용한 DES 설계 정보통신컴퓨터공학부 5조 김인옥, 백미숙
시각(Vision) 인지(Cognition)의 중요성 컴퓨터의 시각(Vision)
Week 3-2: 데이터분포 3_2장_1(백분율:Percentile)에서 동영상 1,2
MATLAB Image Processing Toolbox
Image Restoration Using MATLAB Image ToolBox Visual Communication Lab
이산수학(Discrete Mathematics)
PCA 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.
히스토그램 그리고 이진화 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'
상관계수.
2장. 페인트샵을 이용한 영상처리 맛보기 신라대학교 임은경 2주차 - 페인트샵을 이용한 영상처리 맛보기.
CH3. 데이터의 기초적 정리방법 모집단과 표본 모집단 (Population) , 표본 (Sample, 시료) 그림 3.1
CH3. 데이터의 기초적 정리방법 모집단과 표본 모집단 (Population) , 표본 (Sample, 시료) 그림 3.1
영역 기반 처리.
검출기 눈, 사진, Photoelectric device, Photomultipliers, Image intensifiers, Charged Coupled Device,
3D Vision 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.
아날로그 신호를 디지털 신호로 변환하는 A/D 변환기 A/D 변환 시 고려하여 할 샘플링 주파수 D/A 변환기
Ch12. Deep Learning (Backpropagation)
시각 (Vision) (Lecture Note #25)
Presentation transcript:

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.

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

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

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

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)

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

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

Point Transforms: Brightness

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

Point Transforms: Linear Stretch 255 OUTPUT INPUT 255

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

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

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

Examples Lighten Darken Emphasize Dark Pixels Like Photographic Solarization

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

Square Root Transfer: g=.5

g=3.0

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

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

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

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

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

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

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

Examples

Color Histograms

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

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

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

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

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

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 0 1 2 3 4 5 6 7 0 1 2 3 4 5 6 7

Example

Comparison Original >1 Histogram equalization

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)

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

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

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

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

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 

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

Two Dimensional Gaussian

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

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

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

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

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

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

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

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

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

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?

Convolution = I M *

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)

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

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

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

hmmmmm….. Image Blurred Image - =

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

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

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

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

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

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

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.