SIFT 알고리즘
(영상 추적)
디지털 영상처리 개요
디지털 영상처리 기술은 영상 개선, 영상 복원, 영상 변환, 영상 분석, 영상 인식, 영상 압축으로 분류된다. 그리고 구현 알고리즘은 화소 점 처리, 영역 처리, 기하학적 처리, 프레임 처리로 분류할 수 있다.
디지털 영상의 내부
가로 및 세로의 크기가 M 및 N 픽셀로 이루어져 있다. 저장된 영상데이터는 차원 배열(array) 형태를 이룬다.영상 데이터의 값은 흑백 영상인 경우 각 픽셀이 0~255의 값을 가지게 되며 각 값들은 픽셀의 밝기값을 표현한다. 가장 어두운 픽셀은 0의 값을 가지며 255는 가장 밝은 데이터 값을 표현한다. 밝기를 가지는 이러한 픽셀들이 모여 한장의 그림을 구성하게 된다.
일반적인 물체 추적 시스템의 원리
- 카메라로부터 영상을 획득하고 필요한 전처리(processing)를 한다.
- 영상 속에서 물체(object)의 존재를 검출(detection)하고 물체가 존재하는 영역을 배경(background)으로부터 분할(segmentation)한다.(이때 분할된 영역은 대상이 되는 물체가 존재하는 영역과 반드시 일치하지는 않는다.)
- 이전 영상 프레임까지 얻은 정보로부터 추적중인 각 물체의 상태 정보에 근거하여 2단계에서 분할된 추정 영역에 속한 후보 영역과의 일치도(match)를 판정하고 현재 프레임에서의 각 물체의 상태를 갱신(update)하여 계속적으로 추적한다.
SIFT
David G. Lowe 는 Scale Invariant FeatureTransform(SIFT)라는 알고리즘을 제안했는데 이는객체의 모서리나 꼭지점 등에서 생성되는 특징 점을 벡터로 추출하여, 영상의 크기변화, 회전, 조명변화 등에 의한 변형에 대해 뛰어난 매칭 성능을 가진다. 하지만 SIFT 알고리즘은 영상을 반복적으로 연산하는 과정이 많아서 처리속도가 좋지 않다.
SIFT 서술자는 영상 변환, 크기, 회전, 노이즈 영향에도 일정한 특징 정합 성능을 유지한다. SIFT 를 이용한 특징 추출 과정은 아래 그림 처럼 크게 특징 점을 찾는 부분과 선택된 특징 점의 서술자(Descriptor)를 생성하는 두단계로 구분할 수 있다. 먼저, 특징 점 추출 단계에서는 스케일 공간상의 후보 특징 점을 추출하고 후보 특징 점의 안정성을 검사하여 안정된 특징 점의 위치를 세부 위치로 보정한다. 서술자 단계에서는 선택된 점들을 중심으로 주변 영역의 그레디언트를 통해 방향 성분을 얻게 되고, 얻어 진 방향 성분을 중심으로 관심 영역을 재설정하여 서술자를 생성하게 된다.
SIFT 알고리즘의 수행시간 및 성능을 좌우하는 요소
SIFT 알고리즘은 특징 점을 추출하기 위해 여러 가지단계를 거치는데, 첫 번째 단계는 같은 개체가 다른 관점에서라도 반복적으로 추출될 수 있는 크기와 위치의 후보 픽셀들을 뽑는 것이다. 각각의 후보픽셀에 대하여 더 세밀한 검사를 거쳐 특징 점으로 사용할지를 결정한다. 첫 번째 검사는 낮은 대비를 가지는 픽셀을 제거한다. 두 번째 검사는 모서리에 의해 추출된 특징 점을 제거한다.
'Programing > OpenCV' 카테고리의 다른 글
gray scale (0) | 2016.11.30 |
---|---|
Opencv c# 2 (0) | 2016.11.30 |
Opencv c# (0) | 2016.11.30 |
범위 강조 변환 (0) | 2016.11.30 |
이진화 (0) | 2016.11.30 |