topic
-기울기가 가파른 곳 edge라 한다!
edge detector중에 가장 linear한 곳
frequency domain에서 center에서 멀어질 수록 high frequency이다!
- images and filtering in the frequency domain - Fourier analysis
이미지 => Feature Detection (:특징찾기,뽑아내기) => Feature Description (:하나의 Vector형태로 표현,) => Matching/Indexing/Detection (feature techinique...)..local descriptor로 부터
MATCHING-> 꽃이다! INDEXING-> SEARCH할 때 미리 INDEXING해놓고 빨리찾는것... detection...가장 단순한 것...!!!! =>EDGE DETECTION
EDGE 와 BOUNDARY의 차이점은 무엇인가?->
visual edge상에 causes는 무엇인가? (이때 cause가 뭐말하는거지....)
-> edge는 어떻게 구분이 될까??
: surface normal discontinuity (top vs side) / depth discontinuity(side of an object..시점에서의 거리가 다르다) / surface color discontinuity(text,ink) / illumination discontinuity(shadows)
vanishing point? vanishing line?
vanishing point-> 물리공간에서 평행한 모든 직선들은 모두 동일한 소실점을 갖는다. 서로 방향만 같으면 영상에서는 모두 동일한 소실점...
평행하지않은 직선은 서로 다른 소실점을 가지게 된다.
vanishing line-> 동일 평면에 속한 직선들의 소실점들은 모두 일직선 상에 존재하게 된다. 이 선을 소실 선이라고 한다, 즉 소실 점들이 모여서 이루어진 직선
https://darkpgmr.tistory.com/157
edge는 image intensity function에서 급격하게 변화하는 공간이다.
-> image(image상에서 일차원적으로 직선 그어서 intensity 변화 감지...) intensity function(along horizontal scanline,수직 scan line을 따라서...)이 만들어진다 first derivative(1차 미분)을 하면 다음과 같이 함수가 나온다. [기울기]를 구하면 극대와 극소값을 구할 수 있고...
모든 미분 값에서 값이 나타나게 된다...!
가우시안 noise: 정규분포를 가지는 잡음
difference filter(edge를 구하기 위한)는 noise에 강하게 반응한다.
-영상에서 노이즈는 이웃 픽셀 값에 변화를 주게 된다.
-반응하여 노이즈는 강하게 된다
sol->smooth first
가우시안 함수 g를 잡음있는 f에 convolution해준다. 그리고 미분 취하고, edge 찾기 위해 peak를 찾으면 된다!
convolution은 교환 법칙이 성립한다. [1 -1] <- 미분한 것과 같다.
smoothing은 선명한 edge를 구하는데 방해가 된다!
smoothed derivative은 edge를 blur시킨다!!
=> THINK
edge detection 단서들:
-color,intensity, or texture across the boundary의 차이점들
-edge는 연속적이고 폐쇄되어야한다.
-고 수준의 지식을 사용할 수 있다.
"ALL REAL EDGES"
-모든 잠재적인 edge들을 검출할 수 있어야한다. 유용한지 판단해야한다.
-EDGE를 모두 찾을 수 없으면, 우리는 선택할 수 없다!!
-> Is this possible?
step edge(계단)에 gaussian noise 사용해서 손상시킨다!
가우시안의 1차 미분이 signal-to-noise ratio와 위치정확성 측면에서 가장 최적화된 연산이다.
우선 이미지를 흑백으로 만든다. rgb2gray('img.png')
canny edge detector => https://ctkim.tistory.com/98, skimage.feature.canny()
동일한 object에 대해 여러개의 bbox가 있으면, 가장 스코어가 높은 박스만 남기고 나머지를 제거하는 것이다!
At pixel q: 값이 p와 r중에서 더 큰 값만 남기고, 작은 값은 삭제!? 주변 pixel의 값은 interpolation해서 구한다!
이진화 오류를 최소화하기 위해 자신의 값 뿐만 아니라 주변의(공간적 또는 시간적으로) 값을 같이 참조하는 것이 효과적, 자신의 분류 결과에 따라서 자신의 분류 결과가 달라질 수 있다. 과거 또는 주변의 값에 의존하는 현상...
high 임계치보다 높으면 = strong edge
low 임계치보다 낮으면 = noise라고한다
그 사이는 weak edge
thresholding: 임계치 이상 값일때는 1 미만일때는 0과같이 해석하여서, 이진화하는 과정을 말한다.
시그마 값에 따라 가우시안 커널의 값이 결정된다. 또한 큰 scale edge와 작은 scale edge를 구분해 낼 수 있다!