개발차
[알고리즘] 41. Append and Delete
You have a string of lowercase English alphabetic letters. You can perform two types of operations on the string:Append a lowercase English alphabetic letter to the end of the string.Delete the last character in the string. Performing this operation on an empty string results in an empty string.Given an integer, , and two strings, and , determine whether or not you can convert to by performing e..
[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를 근사하는 방법을 취한다. 아래의 이미지는 이러한 근사의 과정을 보여준다. 이 근사의 가장 큰 장점으로, 박스 필터로 컨볼루션하는 것이 전체 ..
[알고리즘] 40. Extra Long Factorials
The factorial of the integer , written , is defined as:Calculate and print the factorial of a given integer.For example, if , we calculate and get .Function DescriptionComplete the extraLongFactorials function in the editor below. It should print the result and return.extraLongFactorials has the following parameter(s):n: an integerNote: Factorials of can't be stored even in a long long variable...