🐍Python/OpenCV

    [OpenCV] 05-8. ORB (Oriented FAST and Rotated BRIEF)

    이번 장에서는ORB의 기초에 대해서 알아볼 것이다.TheoryORB는 SIFT 또는 SURF의 효율적인 대안이다. 제목처럼, SIFT와 SURF의 연산 비용, 성능, 특허에 필적하는 좋은 대안이다. ORB는 그냥 사용가능하다! (SIFT,SURF와 달리!)ORB는 기본적으로 성능을 높이기 위해 많은 수정을 거친 FAST 키포인트 탐지기와 BRIEF 디스크립터의 통합본이다. 먼저 키포인트를 찾기 위해 FAST를 사용하고, 그 다음 Harris 코너 측정을 해서 상위 N개의 점들을 찾는다. 다중크기의 특성을 생성하기 위해 피라미드를 사용한다. 하지만 문제가 하나 있다! FAST는 방향을 계산하지 않는다는 것이다. 그러면 회전 불변성(회..

    [OpenCV] 05-7. BRIEF (Binary Robust Independent Elementary Features)

    이번 장에서는BRIEF 알고리즘의 기초에 대해 알아볼 것이다.TheorySIFT가 discriptor에 128차원 벡터를 사용한다는 것을 알고 있다. 이것이 부동소수점 숫자를 사용하기에, 512바이트가 소모된다. 비슷하게 SURF는 최소 256바이트(64차원에 대해)를 소모한다. 수 천개의 특징 벡터들을 생성하는 것은 매우 만흥ㄴ 메모리를 소모하기에 자원 한정적인 경우에 특히, 임베디드 시스템의 경우에 실현가능하지 않다. 메모리가 커질수록, 매칭을 위한 시간이 더 오래 걸리기 때문이다.하지만 이 모든 차원들은 실제 매칭에서 모두 필요로 하지 않는다. 우리는 PCA,LDA와 같은 여러 방법으로 압축시킬 수..

    [OpenCV] 05-6. FAST Algorithm for Corner Detection

    이번 장에서는FAST 알고리즘의 기본에 대해서 이해하고FAST 알고리즘을 이용하여 모서리를 찾을 것이다.Theory지금까지 여러가지의 특성 탐지법을 봤고 대다수가 괜찮았다. 하지만 실시간의 관점을 볼 때, 그 방법들은 충분히 빠르지 않다. 한 가지 가장 좋은 예시는 제한된 연산 자원을 가진 SLAM 모바일 로봇이다.이에 대한 해결책으로, FAST 알고리즘이 2006년에 등장했다. 알고리즘에 대한 간단한 요약을 아래를 참조하자. 해당 논문에 더 자세한 설명이 있다!Feature Detection using FAST관심이 있는 지점 혹은 아닌 이미지내의 픽셀 p를 고른다. 이 픽셀의 강도(intensity)를 Ip 라고 하자.적합한 임계값..

    [OpenCV] 05-5. Introduction to SURF (Speeded-Up Robust Features)

    이번 장에서는,SURF의 기본OpenCV에서 SURF의 기능위의 것들에 대해서 알아볼 것이다.Theory이전 장에서, 키포인트 검출과 디스크립션을 위한 SIFT를 봤다. 하지만 이는 상대적으로 느리기에 사람들은 더 빠른 버전을 필요로한다. SURF는 speeded-up version of SIFT이다.SIFT에서는, scale-space를 찾기 위해 Lowe는 가우시안의 차이로 가우시안의 라플라시안(LoG)을 근사했다. 하지만 SURF는 조금 더 가서 박스 필터로 LoG를 근사하는 방법을 취한다. 아래의 이미지는 이러한 근사의 과정을 보여준다. 이 근사의 가장 큰 장점으로, 박스 필터로 컨볼루션하는 것이 전체 ..

    [OpenCV] 05-4. Introduction to SIFT (Scale-Invariant Feature Transform)

    이번 장에서는SIFT 알고리즘의 개념에 대해서 알아보고SIFT의 요점과 기술자(descriptor)를 찾는 것에 대해서 알아볼 것이다.Theory이전 두 개의 챕터에서, Harris등과 같은 모서리 검출기를 봤다. 그들은 회전에 불변하다, 이는 이미지가 회적하더라고 같은 모서리를 찾을 수 있다는 것을 말한다. 이미지가 회전되도 모서리는 모서리라는 것이 명백하기 때문이다. 하지만 스케일링의 경우는 어떨까? 이미지가 스케일링된 경우 모서리는 모서리가 아닐 수도 있다. 예를 들어서, 아래의 이미지를 보자. 작은 창 안에 있는 이미지의 모서리는 같은 창으로 줌인해서 보면 평평해 보인다. 그래서 H..

    [OpenCV] 05-3. Shi-Tomasi Corner Detector & Good Features to Track

    이번 장에서는Shi-Tomasi Corner Detector라는 다른 모서리 탐지 기법cv2.goodFeaturesToTrack() 함수에 대해 배워 볼 것이다.Theory이전 장에서 Harris Corner Detector을 봤다. 그 이후에 조금의 수정을 더한 Good Features to Track은 Harris Corner Detector에 비해 결과가 좋았다. Harris Corner Detector의 스코어링 함수는 다음과 같았다.R=λ1λ2−k(λ1+λ2)2이 대신에, Shi-Tomasi의 스코어링 함수는 다음과 같다.R=min(λ1,λ2)이 값이 임계값보다 더 크다면, 모서리로 인식될 것이다...