두 이미지간의 특징점을 매칭하기위해서는 distance function을 정의해준 후, 가까운 것을 매칭해주면된다. 하지만, 가까운 것이 여러개 나올 수도 있고, 아래에 오른쪽 사진과 같이 동일한 형상이 반복될때는 잘못 매칭될 수 있다. 최종적으로 특징점을 찾아 매칭하는 목적은 image stiching을 해보기 위함이므로, 두 이미지간의 모든 특징점을 빠짐없이 찾을 필요는 없다. 확실한 것만 고르면 된다. 따라서 Nearest Neighbor search, Ratio Test, Bi-directional consistency test와 같은 방식을 사용해 아닐거 같은 것은 제거한다. 본 글에서는 두 사진의 특징점을 찾은 후, 어떻게 Feature Matching을 수행하는지 알아본다. SIFT를..
Scale-Invariant Feature Transform (SIFT)들어가며: SIFT가 필요한 이유SIFT는 Scale-Invariant Feature Transform의 약자로, 이미지에서 크기 변화에 강인한 특징점을 찾고 기술하는 알고리즘입니다. Harris corner detection을 수행할 때 필터의 scale에 따라 corner 검출 여부가 달라지는 문제가 있었는데요, SIFT는 바로 이러한 문제를 해결하기 위해 David Lowe가 1999년에 제안한 알고리즘입니다.SIFT 알고리즘의 4단계 프로세스1단계: Scale-space Extrema Detection우리가 어떤 장면을 볼 때는 전체적인 틀과 세부적인 내용을 동시에 파악합니다. 성공적인 컴퓨터 비전을 위해서는 이런 다중 스케일..
DDPG는 Deep Deterministic Policy Gradient의 약자로 Stochastic Policy를 사용하지않고, Deterministic policy를 사용한 것이 특징입니다. DDPG는 DQN의 구조와 Deterministic policy를 사용함으로써 continuous action space를 가지는 에이전트도 학습할 수 있는 알고리즘입니다.그동안은 Stochastic policy는 상태가 정해지면 액션이 확률값에 의해 결정되지만, Deterministic policy는 상태가 정해지면 액션은 딱 하나로 정해집니다. 이런 다른 특징의 정책을 사용하기때문에 gradient를 계산하는 식도 달라집니다.자세한 증명과정은 오승상 교수님의 강의를 참고해주시고, 저는 Actor, Critic..
DQN 알고리즘은 Q-learning을 심층신경망을 이용해 근사하는 방식입니다. 하지만, 심층신경망만을 이용한다고해서 성능이 좋지는 않아서 target network와 experience replay를 사용해 뛰어난 성능을 높였습니다. $$Q(S_t, A_t) \leftarrow Q(S_t, A_t) + \alpha [R_{t+1} + \gamma \max_{a} Q(S_{t+1}, a) - Q(S_t, A_t)] $$target network와 experience replay를 사용하지않은 DQN을 naive DQN이라고합니다.두 기술을 사용하지 않았을 시에는 target이 계속 움직여 학습이 불안정하다는 문제와 temporal correlation의 문제가 있었습니다. 계속 움직여서 생기는 문제는 t..
안녕하세요. 오늘은 강화학습의 Policy Gradient 알고리즘 중 가장 기초가 되는 알고리즘인 REINFORCE에 대해서 공부해보겠습니다.이 글을 통해 REINFORCE 알고리즘의 원리와 어떻게 구현하는지를 아실 수 있습니다. 구현 코드는 Gymansium 공식문서에 있는 예제코드를 초심자들이 쉽게 접근할 수 있도록 수정하였습니다.재미있는 사실은 REINFROCE는 " ‘RE’ward ‘I’ncrement ‘N’on-negative ‘F’actor times ‘O’ffset ‘R’einforcement times ‘C’haracteristic ‘E’ligibility "의 줄임말이라고 합니다. 심층강화학습에서는 크게 두 가지 방식의 알고리즘이 있습니다.1. Value based (ex. DQN)2...