본문 바로가기

728x90

ComputerScience/ImageProcessing

(25)
Computer Vision - Human detection 1. object detection - 탐색하려는 물체의 gradient histogram을 가지고 template matching을 수행하면된다. - 인풋으로 사람 영상이 들어왔다 - 영상의 그라디언트를 구한다. - bin의 개수를 정해서 block들의 oriented gradient를 구한다. - normalize한다. - 이렇게 만들어진 feature vector가 human을 나타낸다. - feature vector의 차원 공간에서 사람과 사람이 아닌 물체를 구분하는 경계를 만들면 분류기가 만들어진다. 2. Support vector machine - binary classification을 수행한다. - fecture vector 차원의 공간에서 두 클래스의 분류를 수행한다. - 두 공간을 잘 ..
Computer vision - Motion 1. motion field - 영상의 모션은 벡터로 나타낼수 있다. 시간에 따른 픽셀들의 x의 변화, y의 변화를 나타내기 때문이다. - 오른쪽으로 큐브가 회전하고 있다. - 이를 모션 field라고 한다. 2. optical flow - 물체가 움직이면 밝기 변화가 생긴다. - 2d영상에서 시간에 따라 물체가 이동할 때, 밝기가 변하는 패턴을 통해 motion을 인식하는 것을 optical flow라고 한다. - 화면을 block으로 나눈다. - 영상에서 사람이 문 쪽으로 다가가면 생기는 block단위의 밝기 변화 패턴을 감지하면 이렇게 이동 방향을 벡터로 나타낼 수 있다. - corner 등의 feature가 시간에 따라 어디로 이동했는지 탐지하면 그게 feature tracking이다. - mot..
Computer vision - Image segmentation 1. Segmentation - 이미지를 구성하는 성질들을 분리해 내는 것을 말한다. - 공간, 색 거리가 가까운 픽셀들을 묶어서 superpixel을 구분지을 수 있다. - 대상과 배경의 분리, 영상에서 교통 표지판, 사람, 자동차 의미 객체를 분리 등이 segmentation이다. - 사람의 인지 능력에 다가가기 위한 노력의 중간 단계라고 볼 수 있다. 2. clustering - 픽셀의 특징에 따라 군집을 이루도록 해서 segmentation을 수행한다. (K-means, Mean shift) - 특징 공간은 RGB 색일 수도 있고 x,y좌표일 수 있다. 이 특징에 따라 관련도가 높은 영역끼리 군집화한다. 3. K-means clustering - high similarity를 갖는 묶음들을 to..
Computer vision - Homography 1. Alignment 응용 - alignment의 응용이다. corner, edge처럼 중요한 feature에 대해서 alignment를 수행해서 한장의 사진으로 합칠 수 있다. - 실제로 샘플 포인트들을 다 넣어서 변환 행렬식을 찾아낸다. 2. Homography - 이렇게 view point의 차이를 탐지할수도 있다. - 이런 porjective 변환은 어떻게 align할 수 있을까? - 이렇게 카메라 각도에 따라 변환행렬을 우측처럼 정의할 수 있다. - K : 3*3 카메라 내부 파라미터 - Rt : 3*4 짜리 변환 행렬 - X : (x,y,z,1) - 그럼 X를 소거하면 x' = Hx 를 구할 수 있고 이 말은 영상으로 부터 view point를 찾아내던가 view point가 바뀌었을 때, ..
Computer vision - Alignment 1. Alignment 개념 - 그림의 모든 지점 P에 대해 행렬 변환 T하여 transformation을 수행할 수 있다. - alignment는 T를 구하는 과정이다. 1. Scaling 2. Rotation - 참고로 회전 변환 R에 대해서, Inverse(R) = transpose(R) 이다. 3. Translation - 이동은 2*2 행렬로 표현이 불가능하다. 동차좌표계로 확장하여 행렬곱으로 나타낸다. 4. Sheer - 기울이기, 축을 기울이는 변환이다. 5. Affine - 이 모든 선형 변환을 조합해서 만들어지는 변환을 말한다. - alignment는 저 a,b,c,d,e,f를 찾는 일이라고 했다. 이 모든 값을 알아내려면 최소 3개의 point 변환 결과를 알고 있어야 한다. - 일반적..
Computer vision - RANSAC (line fitting) 1. Fitting - 데이터에 잘 맞는 모델의 파라미터를 찾는 것. - 그림처럼 n개의 데이터를 대표하는 line을 fitting한다고 해보자. - 그럼 cost 함수를 정의하고 그 값이 최소가 되도록 fitting이 수행될 것이다. - 위 예시에서는 y값과 Line의 함수값 차이를 loss로 정의했고 이 값이 최소가 되는 m,b를 찾는다. 이게 fitting이다. - 행렬식을 풀면 m,b가 나온다. - 이번에는 cost function을 점과 직선의 거리의 합으로 정의했다. - E가 최소가 되는 지점을 구하는 것이 fitting이다. - 저 행렬식은 SVD를 통해 구할 수 있다. - 하지만 이런 방법들은 outlier의 영향을 크게 받는다. - 얘는 outlier가 있어도 robust한 fitting..
Computer Vision - SIFT(Scale Invariant Feature Transform) SIFT (Scale Invariant Feature Transform)의 원리 늦게나마 SIFT에 매료된 후 2004년에 나온 논문[2]을 비롯한 여러 자료들을 살펴보던 와중에, [1]에 포스팅 된 글과 [3]에 한글로 한 대학생이 SIFT에 대해 정리한 PDF 파일이 개인적으로 이해하는데 bskyvision.com - 이분 설명이 기가막히다 내꺼 말고 다 여기가서 sift공부해라. 1. SIFT - 그림처럼 두 영상이 동일한 물체를 담고 있다는 걸 어떻게 하면 찾을 수 있을까? - 영상의 크기, 회전, 조명은 다르지만 크기, 회전에 불변하는 특징들을 찾아서 매칭시켜주는 것이 SIFT이다. 2. Scale Space - 영상의 크기에 불변하는 특징을 찾아내는 방법이다. - 일단 이미지에 가우시안 필터를..
Computer Vision - Edge Detection - gradient가 변하는 부분은 사실 한 Line이 아니라 영역이다. 그래서 이렇게 굵게 굵게 나온다. 사실상 edge라고 보기에는 좀 부족하다 - 그렇다면 일반적인 edge point를 결정하고 연결해서 curve를 만드는 방법을 알아보자. - 최적의 edge검출기는 false postive(아닌데 맞다고 찾은 녀석), false negative(진짜 edge를 못찾음)를 줄이고, localization, single response를 조건을 만족해야 한다. 1. noise smoothing : 가우시안 활용 2. edge에 반응하는 필터 설계 (matched filter를 만든다고 한다) 라플라시안 처럼 gradient의 극점을 찾을 수 있는 필터를 설계한다. 3. edge의 위치를 결정한다. (..

728x90