SURF를 사용한 이미지 ㅇ매칭을 한다.
매칭 이미지를 보면 엉뚱한 곳이 매칭 포인트라며 집어주기도 하고
한 곳에 여러 매칭 포인트가 모여있기도 한다.
엉뚱한 매칭 포인트를 줄이는 방법을 찾아봤다. 소스는 아직 없지만 일단 내용정리만 해보려고 한다.
http://cafe.naver.com/opencv/27179
- 유클라디언 거리를 이용하는데 실제로 모두를 매칭하게 되면 시간이 너무 오래 걸린다.
-> k-트리를 이요해서 트리에서 디스크립터를 넣어두고 비교한다.
(k-트리는 가장 유사한 노드끼리의 검색을 손쉽게 할 수 있다.)
- 매칭 후에 missmatching딘 것을 inlier와 outlier로 걸어내서 inlier부분만 매칭되게 해야 한다.
-> RANSAC , StarSAC 등을 이용
- 보통 특징점 추출은 sift , surf등을 이용한다.
1차 검색은 kd-tree , spiil-tree 를 이용한다.
정확도를 높이기 위해 1차에서 검색된 후보특징점을 모아서 ransac를 돌린다.
(검색 이미지가 많으면 트리 구성싱 메모리 문제가 생긴다.)
KD Tree - 다차원 트리 (k-dimension tree)
- 바이너리 서치 트리를 다차원 공간으로 학장.
- 기본키 필도가 없거나 범위 검색이 많은 응용분야에 적합하지만
밸런스 트리가 아니므로 데이터의 입력 순서나 분포에 따라 트리의 높이가 높아질 수 있으며 검색 성능이 떨어짐
(검색 필드값이 균등하게 분포되어 있지 않을 경우에)
http://wisdomworker.tistory.com/22
http://blog.daum.net/pg365/140
http://action713.tistory.com/272
RANSAC (RANdom SAmple Consensus)
- 무작위로 샘플을 뽑아서 최대로 컨센서스(의견일치, 합의)가 형성된 것을 선택한다.
- 가장 많은 수의 데이터들로 부터 지지를 받는 모델을 선택
- inlier , outlier(이상점)
http://darkpgmr.tistory.com/61
(* 매칭속도를 줄이려면 PCA이용)
'차근차근 > OpenCV' 카테고리의 다른 글
RANSAC의 이해와 영상처리 활용 (0) | 2014.12.24 |
---|---|
k-d tree (0) | 2014.12.24 |
window8 + openCV 설치 (0) | 2014.12.05 |
[VS2010]LPCTSTR에서 char*로 형 변환하기 (0) | 2014.12.03 |
opencv 배경 제거 알고리즘 (0) | 2014.10.07 |