영상처리 10

[영상처리] Thresholding - Global Thresholding, Otsu's Method [컴공과고씨]

영상에서 Thresholding이란 어떤 이미지에서 기준을 정해서 그 값 이상이면 어떤 값, 낮으면 또 어떤 값 이런식으로 정해주는 것이다. 여기서 중요한 것은 기준 T를 어떻게 정할 것이냐가 가장 중요한 요소이다. 기본적인 Global thresholding은 임의의 T를 기준으로 클래스를 나눈 후 각 클래스의 평균의 평균을 구해서 그것을 다시 T로 잡고 다시 반복한다. 이런 식으로 해서 T를 최대한 클래스가 잘 구별되는 쪽으로 가도록 한다. 그러나 이 방법에는 문제가 있다. 한 쪽 클래스가 너무 몰려있고 구별하려는 곳이 너무 적을 경우 제대로 된 thresholding 안될 수 있다. 예를 들면 이럴 때 유용한 것이 바로 otsu's method 이다. Otsu's Method 이 방법은 평균과 분산..

CS/영상처리 2022.04.18

[영상처리] Marr-Hildreth Edge detector, Canny Edge Detector(캐니 디텍터) [컴공과고씨]

Marr-Hildreth Edge detector 이 방법은 LoG(Laplactian of Gaussian)라 볼 수 있다. 앞서 배운 것 처럼 gaussian은 거리에 따라 가중치를 다르게 두는 것이고 라플라시안은 2차 미분을 통해서 기울기의 변화량을 측정하는 것이다. 즉 LoG는 가오시안을 2차 미분을 한 것이다. 이 방법은 가오시안 안에 있는 σ를 통해 스케일을 컨트롤 할 수 있다. 가오시안을 통해 잡음을 제거 한 후 라플라시안을 씌우는 2 단계를 한번에 합쳐놓은 것이라고 생각하면 된다. LoG 필터를 적용한 후 zero-crossing 부분을 찾은 후 thresholding을 해주면 경계선을 찾을 수 있다. Canny Edge Detector 이 방법은 경계선을 찾을 때 대부분 사용하는 방법으로..

CS/영상처리 2022.04.11

[영상처리] Simple Detectors(Edge, Point, Line) - 경계, 선, 점 검출 [컴공과고씨]

앞에서 우리는 1D에 대한 미분을 공부했다. 이번에는 2D에 대한 미분을 공부할 것이다. 2D는 변수가 두 개 이기 때문에 편미분을 이용해주면 된다. X와Y 방향을 따로 미분하면 벡터 값이 나온다. 벡터의 크기를 구하면 얼마나 밝은지에 대한 값이고 아크 탄젠트를 구해주면 X축과 이루는 각 즉, gradiant의 방향을 알 수 있게 되는데 90도에서 이 방향을 빼주면 edge의 방향을 구할 수 있다. 예를 들면 프리윗 마스크를 씌워주는 예이다. Simple Edge Detection 그림과 같이 2차 미분을 이용한 경계값 추출은 엣지를 얇게 추출이 가능하다. 문제는 실제 세계에서는 잡음들이 많이 섞여져 있기 때문에 위와 같은 깔끔한 그래프는 없다. 이렇기 때문에 edge detection을 할 때는 꼭 s..

CS/영상처리 2022.04.06

[영상처리] Denoising(잡음제거) - (Mean filter, Order-Statistic Filters) [컴공과고씨]

오늘은 잡음제거를 하는 방법에 대해서 기록해 볼 것이다. Noise Models 먼저 노이즈 모델의 대해서 알아보자! 가오시안는 전기회로 Rayleigh는 거리 데이터 Exponential and gamma는 홀로 그래픽(레이저 이미지) Impulse는 스위칭이 잘못일어났을때 Uniform은 양자화 오차에서 일반적으로 발생한다고 알려져있다. Periodic Noise 위 같은 잡음은 주파수 도메인 필터로 제거하기 용이하다. 주파수 도메인 필터는 다른 글에서 다룰것이다. Denoising using Spatial Filtering 1. Mean filters 2. Order-Statistic Filters 필터의 특징은 정렬을 필요로 한다. 정렬이라는 알고리즘은 연산 시간을 요구하여 mean filter ..

CS/영상처리 2022.04.01

[영상처리] Highpass Spatial Filters - Laplacian filter, Unsharp Masking (윤곽선 추출 필터) [컴공과고씨]

오늘은 highpass spatial filters에 대해 볼것이다. highpass spatial filters는 고주파만 통과시키는 필터이다. 일단 이 필터에 대해 알아보기 위해서는 미분을 이용하는 것에 대해서 살펴봐야 이해를 할 수 있다. Derivatives & Finite differences derivatives는 미분값을 이용한 함수로 finite differences(함수값의 차를 이용한 미분계수에 근사시킴)의 용어로 정의가 될 수 있다. First derivatives of digital function (1차 미분을 이용 -> 기울기) Second derivatives of digital function (1차 미분을 이용 -> 기울기의 변화량) 위 그래프를 이용하여서 1차 미분, 2차..

CS/영상처리 2022.03.30

[영상처리] LowPass Spatial Domain Filter [공간 도메인 필터] [컴공과고씨]

오늘은 공간 도메인 필터링에 대해서 알아볼것이다. 1. 선형 공간 필터링(Linear Spatial Fitering) 위 방법은 마스크를 이용하여 필터링을 하는 방법이다. 마스크는 필터라고 보면 된다. 예를 들면 3*3 마스크가 있다고 하자. 이렇게 이미지 픽셀 마다 마스크를 씌워가며 값을 구해주는 것이다. 연산 방법은 우리가 앞에서 배운 컨볼루션(convolution)과 비슷한 correlation을 사용할 것이다. convolution에서 우리는 h[n]을 영점 대칭을 시켜준후 연산 진행했는데 correlation은 그냥 원점대칭하지 않고 그냥 곂치는 것대로 연산을 해주면된다. 예를 들면 이런식의 연산이 나오는 것이다. 이렇게 보면 correlation 과 convolution의 차이를 명확히 이해할..

CS/영상처리 2022.03.25

[영상처리] LTI 시스템 & Convolution [컴공과고씨]

convolution을 이해하기 위해서는 앞 포스트 내용을 이해하고 오는 것이 좋다. LTI 시스템이 중요한 이유는 LTI 시스템을 만족하면 Convolution Sum으로 나타낼 수 있다. impulse response를 나타내면 이것이 LTI 시스템을 만족하게 되면 이런식으로 변한다 이 식의 의미는 하나의 입력 가지고 모든 출력을 알 수 있다는 뜻이다. 그래서 LTI시스템이 중요한 것이다. 우리가 모든 입력을 넣어보지 않아도 하나의 입력으로 모든 출력을 알 수 있기 때문이다. 그래서 LTI 시스템은 convolution sum(*)으로 표현 될 수 있다. Computing Convolution 예시 h[n]에서 h[-n] 즉, 원점 기준으로 대칭이동해주는 것이 포인트이다. y[0] = h[-n]을 x..

CS/영상처리 2022.03.24

[영상처리] signal 과 systems, LTI systems, impulse response [컴공과고씨]

signals : A sequence of information or data system : 시그널을 입력으로 받아서 또 다른 시그널을 출력. system function (system operator) H Linear system 선형시스템이란 scaling 과 superposition(additivity)를 만족하는 것이다. scaling(homogeneity)은 스칼라 값을 곱한후 시스템 함수에 넣은 거나 시스템 함수에 넣은 후 스칼라 값을 곱한 값이 같다는 것이다. superposition(additivity)는 먼저 두개의 입력을 더한 후 시스템 함수에 넣은 것이랑 각각의 입력을 시스템 함수에 넣은 후 더한 값이랑 같다는 것이다. 그래서 이 두개를 만족하면 선형 시스템이라고 한다. Time-i..

CS/영상처리 2022.03.24

[영상처리] Intensity Transformations(2)[Histogram Equalization][컴공과고씨]

저번 글에서 기본적이 intensity transformations에서 공부했습니다. 이번에는 histogram equalization에 대해서 알아보겠습니다. unnormalized histogram 위 그림 처럼 m*n의 픽셀들이 나열되어있을 때 각 픽셀이 나타내는 밝기가 0~n까지 있다면 밝기가 0인 칸의 개수 1인 칸의 개수 쭉쭉 세어서 옆의 그래프 처럼 나타낸 것이다. 히스토그램의 bin을 이용해서 범위를 지정해 그 범위 밝기에 속한 칸의 개수를 세어 그래프를 만들어준 것이다. 이 때 이 범위를 bins라고 합니다. unnormalized histogram가 있으니 normalized histogram도 있다. normalized histogram는 unnormalized histogram에서 ..

CS/영상처리 2022.03.22

[영상처리] Intensity Transformations(밝기 값 변환)(1) [컴공과고씨]

오늘은 영상처리에서 intensity transformations에 대해 알아보겠습니다. 밝기 값 변환에는 spatial domain processing(공간 도메인)이 있습니다. 이것의 정의는 픽셀 하나하나의 밝기 값을 변경해 주는것을 말합니다. 왼쪽 그림은 contrast strectching의 예시이고 오른쪽 그림은 Thresholding의 예시입니다. Contrast strectiching로 k의 왼쪽에 있는 빨간 점선의 점들은 더 어둡게 바꾸어주고 k 오른쪽에 있는 빨간 점선의 점들은 더 밝게 바꾸어 주어 대비를 늘리는 모양입니다. 반면, Thresholding은 k점을 기준으로 왼쪽은 검은색으로 오른쪽은 제일 밝게 바꾸어 주고 있습니다. Remarks 1. point processsing이다 ..

CS/영상처리 2022.03.21