Robotics/Open CV python
-
Feature Matching + Homography to find ObjectsRobotics/Open CV python 2019. 7. 24. 16:09
Feature Matching + Homography to find Objects Goal 우리는 복잡한 이미지에서 알고 있는 객체를 찾기 위해 calib3d 모듈에서 feature matching과 findHomography를 섞을 것입니다. Basics 그래서 우리는 지난 단원에서 무엇을 했습니까? 우리는 queryImage를 사용하고, 거기에 몇 가지 feature points을 발견했으며, 또 다른 trainImage를 가져 와서 그 이미지의 feature을 발견했으며, 우리는 그 중에서도 가장 잘 맞는 것을 발견했습니다. 간략히 말하자면, 우리는 객체의 일부분이 다른 복잡한 이미지에서 존재하는 위치를 발견했습니다. 이 정보는 trainImage에서 정확하게 대상을 찾는 데 충분합니다. 이를 위해..
-
Feature MatchingRobotics/Open CV python 2019. 7. 24. 15:51
Feature Matching Goal 어떻게 features를 한 이미지에서 다른 이미지로 matching 시키는 지 알아볼 것입니다. 여기서 Brute-Force matcher 와 FLANN Matcher 를 open cv 에서 사용할 것입니다. Basics of Brute-Force Matcher Brute-Force matcher는 간단합니다. 첫 번째 세트에서 한 feature의 descriptor를 가져 와서 일부 거리 계산을 사용하여 두 번째 세트의 다른 모든 피쳐와 일치시킵니다. 그리고 가장 가까운 것이 반환됩니다. BF matcher의 경우 먼저 cv2.BFMatcher ()를 사용하여 BFMatcher 객체를 만들어야합니다. 두 개의 선택적 매개 변수가 필요합니다. 첫 번째는 normT..
-
ORB (Oriented FAST and Rotated BRIEF)Robotics/Open CV python 2019. 7. 24. 15:04
ORB (Oriented FAST and Rotated BRIEF) Goal ORB의 기초에 대해서 알아보겠습니다 Theory OpenCV 애호가로서 ORB에서 가장 중요한 점은 "OpenCV Labs"에서 나온 것입니다. 이 알고리즘은 Ethan Rublee, Vincent Rabaud, Kurt Konolige 및 Gary R. Bradski가 2011 년 그들의 논문 ORB: An efficient alternative to SIFT or SURF에서 제기했습니다. 제목에서 알 수 있듯이 SIFT 및 SURF 의 좋은 대안입니다. 계산비용, 매칭 성능 에서 대안으로써 좋으며 가장 중요한 것은 특허가 그렇습니다. SIFT와 SURF는 특허를 받아서 사용하기 위해 비용을 지불해야합니다. 하지만 ORB는..
-
BRIEF (Binary Robust Independent Elementary Features)Robotics/Open CV python 2019. 7. 24. 13:49
BRIEF (Binary Robust Independent Elementary Features) Goal BRIEF algorithm 의 기초에 대해서 알아볼 것이다. Theory 우리는 SIFT가 descriptors에 128-dim vector를 사용한다는 것을 배웠다. 부동 소수점 숫자를 사용하기 때문에 기본적으로 512 바이트를 사용합니다. 유사하게 SURF는 최소 256 바이트 (64-dim)를 취합니다. 수천 개의 피쳐를위한 그러한 벡터를 생성하는 것은 많은 메모리를 필요로하는데, 이는 특히 임베디드 시스템을위한 resouce - 제약 애플리케이션에 적합하지 않습니다. 메모리가 클수록 matching하는 데 걸리는 시간이 길어집니다. 그러나 이러한 모든 dimensions은 실제 matchin..
-
FAST Algorithm for Corner DetectionRobotics/Open CV python 2019. 7. 23. 16:29
FAST Algorithm for Corner Detection Goal 우리는 FAST algorithm의 기초를 알아볼 것입니다. 우리는 OpenCV 의 기능을 이용하여 corner 를 찾는 알고리즘인 FAST algorithm을 사용해 볼것 입니다. Theory 몇 가지 feature 감지기를 보았고 그 중 많은 것들이 정말 좋습니다. 그러나 실시간 응용 관점에서 보면 충분히 빠르지 않습니다. 가장 좋은 예는 계산 자원이 제한적인 SLAM (Simultaneous Localization and Mapping) 모바일 로봇입니다. 이에 대한 해결책으로 Edward Rosten과 Tom Drummond가 2006 년 고속 코너 감지를위한 기계 학습 (2010 년에 개정)에서 FAST (Features ..
-
SURFRobotics/Open CV python 2019. 7. 22. 18:21
Introduction to SURF (Speeded-Up Robust Features) Goal 이 단원에서는 SURF 의 기초에 대해서 알아볼 것이다. OpenCV 에서 SURF 의 기능 들에 대해서 살펴 볼 것이다. Theory 마지막 장에서는 키 포인트 탐지 및 설명을 위해 SIFT를 보았습니다. 그러나 SIFT 가 상대적으로 느린 편이어서, 사람들은 더 빠른 버전이 필요했습니다. 2006 년 Bay, H., Tuytelaars, T. 및 Van Gool, L의 세 사람이 SURF라는 새로운 알고리즘을 도입 한 또 다른 논문 "SURF : Speeded Up Robust Features"를 발표했습니다. 이름에서 알 수 있듯이, 그것은 SIFT의 빠른 버전입니다. SIFT에서 Lowe는 scale..
-
SIFTRobotics/Open CV python 2019. 7. 19. 17:27
Introduction to SIFT (Scale-Invariant Feature Transform) SIFT algorithm의 개념을 이해한다. 우리는 SIFT Keypoints 와 Descriptors를 찾는 법을 배울 것이다. Theory 이전 몇챕터에서 우리는 corner detector인 Harris 등 몇가지를 살펴보았다. 그것들은 회전 불변 (rotation-invariant)입니다. 즉, 이미지가 회전 되어도 같은 모퉁이를 찾을 수 있습니다. 그러나 스케일링은? 이미지의 크기를 조정하면 코너가 코너가 아닐 수도 있습니다. 예를 들어 아래의 간단한 이미지를 확인해보세요. 동일한 크기의 창에서 바라보는 이미지를 확대 / 축소 할 때 코너가 상대적으로 평평합니다. 이러한 문제점으로 Harris..
-
Shi-Tomasi Corner Detector & Good Features to TrackRobotics/Open CV python 2019. 7. 19. 15:36
Shi-Tomasi Corner Detector & Good Features to Track 또다른 corner detector: Shi-Tomasi Corner Detector 에 대해 학습합니다. function:cv2.goodFeaturesToTrack() 에 대해서 알아봅니다. Theory 이전 챕터에서 우리는 Harris Corner Detector에 대해서 살펴 보았습니다. 1994년도 후반, J. Shi and C. Tomasi 는 그들의 논문에서 Good Features to Track 라는 작은 수정을 했는데 이는 Harris Corner Detector에 비해서 더 좋은 성능을 나타내었습니다. Harris Corner Detector 의 scoring function 은 다음과 같습니다..