[DIP] Nearest Neighbor Search: Locality Sensitive Hashing
·
Programming/DIP
1. Locality Sensitive Hashing (LSH)란 무엇인가?Locality Sensitive Hashing (LSH): 대규모 데이터셋에서 유사한 항목을 빠르게 찾기 위한 해싱 기법.개발 연도: 1998년대표 논문:Indyk, P., & Motwani, R. "Approximate Nearest Neighbors: Towards Removing the Curse of Dimensionality." Proceedings of the 30th Annual ACM Symposium on Theory of Computing (STOC), 1998.Andoni, A. and Indyk, P. (2008) Near-Optimal Hashing Algorithms for Approximate Near..
[DIP] Matching Strategies and Performance Evaluation
·
Programming/DIP
Object Recognition(물체 인식)이나 증강현실 (”장면영상”에서 model에 matching되는 객체를 찾음)의 경우 다음이 일반적.Model Image:key point가 적은 편. (적은 수의 feature vector를 가짐.)n개의 keypoints 를 가진다고 가정Scene Image(장면영상):매우 많은 objects 와 다양한 배경이 혼재. (많은 수의 feature vectors 를 가짐.)m개의 keypoints 를 가진다고 가정matching에서는 model image 와 scene image 간에 1:1 correspondance 여부 검사를 여러 차례 수행앞서 model image의 keypoints의 수를 n개라고 하고, scene image에서의 keypoints 의..
[ML] Nearest Neighbor Search: k-d Tree
·
Programming/ML
1. 소개1975년 Nearest Neighbor Search를 위해Binary Search Tree (BST)의 개념을 활용하여k-diemensional vector space에서 동작하도록Bently가 제안한 알고리즘.Lowe와 Muja가 2014년 제안한 FLANN 에서는보다 개선된 Multiple k-d Tree가 제안되었고,이 Multiple k-d Tree가 openCV에서 matching에서 가장 많아 사용되는 방법 중 하나임.https://github.com/flann-lib/flann GitHub - flann-lib/flann: Fast Library for Approximate Nearest NeighborsFast Library for Approximate Nearest Neighb..
[DIP] Least Square Method for Fitting
·
Programming/DIP
Matching에서 geometric alignment와 transform estimation이 중요한 이유는, 단순히 feature vector의 유사도만을 고려하는 것보다 더 신뢰도 높은 대응점을 찾기 위해서임.  Matching 과정에서 두 이미지 또는 두 데이터 세트 사이의 correspondence를 찾는 것은 첫 번째 단계에 불과하며,여기서 추가적인 geometric 정보를 활용하면 대응점의 정확도를 크게 향상시킬 수 있음.때문에 1차적으로 얻은 correpondence를 통해 geometric transform matrix를 구하는 다양한 fitting 기법이 사용됨.더보기일반적 Matching 과정 절차:Feature vector의 distance 계산하여 두 데이터 사이의 잠재적 corr..
[Math] Maximum Likelihood Estimator: M-Estimator
·
Programming/DIP
1. M-Estimator란M- Estimator는 Noise 에 Rubust 한 Statistical Estimator(통계적추정방법) 의 하나로서,Maximum Likelihood Estimatro (MLE)를 일반화한 방법임.이는 모델 parameter $\boldsymbol{\theta}$를 추정하기 위해residual $\mathbf{r}$에 대한 특정 object function을 정의하여 최소함.기존의 Least Square 에서 사용하는 object function인 $\|\mathbf{r}\|^2$ 대신에,outlier에 더 강건한 object function인 $\rho(\mathbf{r})$를 정의하여 사용함.2. Optimizer Problem으로 나타낸 M-Estimator일반적인..
[OpenCV] K-Means Tree Hyper-parameters: FLANN based Matcher
·
Programming/DIP
이 글은 OpenCV에서 K-Means Tree 를 중심으로FLANN based Matcher의 하이퍼파라미터를 정리한 글임.https://gist.github.com/dsaint31x/e06fee90d97dd177afe4e38c5b9db68c dip_kmeans_hyperparams.ipynbdip_kmeans_hyperparams.ipynb. GitHub Gist: instantly share code, notes, and snippets.gist.github.com1. K-Means Tree란K-Means Tree는OpenCV의 FLANN (Fast Library for Approximate Nearest Neighbors)에서사용 가능한 고속 근사 검색 알고리즘 중 하나.K-Means Tree는대..