Opitcal Flow 혹은 Direct Method로 구하는 Mappoints 및 Pose estimation
08 Jun 2021 | Visual SLAM
Optical Flow
- Feature Point를 찾는다.
- 디스크립터를 사용하지 않고
- 얻어진 Feature Point를 Optical Flow를 통해서 이미지 시퀀스간에 특징점 모션을 트래킹 한다.
- 즉 디스크립터를 사용하는 대신에 Optical Flow를 사용한 것이다.
- 이떄 3차원 공간에 특징점은 불변한다라는 과정하에
- 이미지 플래인에 투영을 하여서 실제 특징점과 3D 공간상으로 투영된 특징점의 오차를 최소화 한다.
- 이미지 NonConvexity 이유로 최적화 하는데 어려움이 있는데 이미지 피라미드를 이용하여서, 이미지 스케일 문제를 해결하고 최적화를 실행한다.
- 즉, 예를 들어 이미지에 20개의 특징점이 있는 픽셀에 모션이 생긴다면, 0.5로 이미지를 압축을 하여서 줄어든 픽셀 모션 5개를 통하여 최적화한다.
- Optical Flow를 통해 얻어진 것들은 Epiploar contraint, Triangularation, PnP알고리즘을 통해 맵포인트나, 자세를 추정한다.
Direct Method
- 특징점 없이, 픽셀로만 이용을 하여서 얻어지는 특징점(?)으로 Epipolar contraint, Triangularation, PnP알고리즘을 통해 자세와 맵포인트들을 추정하는 방법이다.
- Direct Method 같은 경우에는 이미지 플래인에 랜덤으로 픽셀을 고른다.
- 이떄 첫번째 이미지 플래인에서 랜덤으로 선택된 픽셀 p1의 위치와 값을 2번째 이미지 플래인에서 intensity오차를 통해 p2 위치를 찾는다.
- 이때 이미지 픽셀에 대한 intensity는 불변한다는 가정하에 Itensity 오차를 계산하여서 p2의 위치를 최적화 한다.
- 얻어진 p1, p2에 대한 오차 최적화에 대한 관계식으로 카메라 자세 T를 얻게 된다.
- 이를 통해 카메라좌표계와 T를 고려한 두번째 카메라좌표계에서 q를 구하고, 얻어진 q는 내부 카메라 파라미터로 부터 이미지 플래인에서의 카메라 자세를 얻게 된다.
- 카메라 좌표계 간의 변환을 얻는 걷은 구글이나, 유투브에 잘 나와있다(자코비안을 통해서 Hessian Matrix와 bias를 통해 정해진 iteration수만큼 리에대수를 통하여서 자세를 업데이트 추정한다.
- 이미지 NonConvexity 이유로 최적화 하는데 어려움이 있는데 이미지 피라미드를 이용하여서, 이미지 스케일 문제를 해결하고 최적화를 실행한다.
- 즉, 예를 들어 이미지에 20개의 특징점이 있는 픽셀에 모션이 생긴다면, 0.5로 이미지를 압축을 하여서 줄어든 픽셀 모션 5개를 통하여 최적화한다.
- 이를 통해 6,7 방법을 통해 자세를 추정한다.
Direct Method의 장단점
- 특징점과 디스크립터 계산하는데 사용되는 시간을 줄였다.
- 특징점이 없는 공간에서 사용 가능. inderect method는 특징점 이외에 장면들을 무시하지만, direct method는 모든 이미지 픽셀을 활용할 수 있음.
- density 한 map구축 가능
- Direct Method는 Gradient Descent에 의지를 하기 때문에 이미지는 NonConvexity의 특징을 가지고 있어, 오직 작은 모션 일때만 적용이 가능하다.
- 비슷한 픽셀의 intensity가 많기 떄문에 복잡성이 증가한다.
- 픽셀에 대한 Itensity가 불변한다는 가정하에 하는 작업이므로, 빛에 대해 약하다.
Optical Flow
- Feature Point를 찾는다.
- 디스크립터를 사용하지 않고
- 얻어진 Feature Point를 Optical Flow를 통해서 이미지 시퀀스간에 특징점 모션을 트래킹 한다.
- 즉 디스크립터를 사용하는 대신에 Optical Flow를 사용한 것이다.
- 이떄 3차원 공간에 특징점은 불변한다라는 과정하에
- 이미지 플래인에 투영을 하여서 실제 특징점과 3D 공간상으로 투영된 특징점의 오차를 최소화 한다.
- 이미지 NonConvexity 이유로 최적화 하는데 어려움이 있는데 이미지 피라미드를 이용하여서, 이미지 스케일 문제를 해결하고 최적화를 실행한다.
- 즉, 예를 들어 이미지에 20개의 특징점이 있는 픽셀에 모션이 생긴다면, 0.5로 이미지를 압축을 하여서 줄어든 픽셀 모션 5개를 통하여 최적화한다.
- Optical Flow를 통해 얻어진 것들은 Epiploar contraint, Triangularation, PnP알고리즘을 통해 맵포인트나, 자세를 추정한다.
Direct Method
- 특징점 없이, 픽셀로만 이용을 하여서 얻어지는 특징점(?)으로 Epipolar contraint, Triangularation, PnP알고리즘을 통해 자세와 맵포인트들을 추정하는 방법이다.
- Direct Method 같은 경우에는 이미지 플래인에 랜덤으로 픽셀을 고른다.
- 이떄 첫번째 이미지 플래인에서 랜덤으로 선택된 픽셀 p1의 위치와 값을 2번째 이미지 플래인에서 intensity오차를 통해 p2 위치를 찾는다.
- 이때 이미지 픽셀에 대한 intensity는 불변한다는 가정하에 Itensity 오차를 계산하여서 p2의 위치를 최적화 한다.
- 얻어진 p1, p2에 대한 오차 최적화에 대한 관계식으로 카메라 자세 T를 얻게 된다.
- 이를 통해 카메라좌표계와 T를 고려한 두번째 카메라좌표계에서 q를 구하고, 얻어진 q는 내부 카메라 파라미터로 부터 이미지 플래인에서의 카메라 자세를 얻게 된다.
- 카메라 좌표계 간의 변환을 얻는 걷은 구글이나, 유투브에 잘 나와있다(자코비안을 통해서 Hessian Matrix와 bias를 통해 정해진 iteration수만큼 리에대수를 통하여서 자세를 업데이트 추정한다.
- 이미지 NonConvexity 이유로 최적화 하는데 어려움이 있는데 이미지 피라미드를 이용하여서, 이미지 스케일 문제를 해결하고 최적화를 실행한다.
- 즉, 예를 들어 이미지에 20개의 특징점이 있는 픽셀에 모션이 생긴다면, 0.5로 이미지를 압축을 하여서 줄어든 픽셀 모션 5개를 통하여 최적화한다.
- 이를 통해 6,7 방법을 통해 자세를 추정한다.
Direct Method의 장단점
- 특징점과 디스크립터 계산하는데 사용되는 시간을 줄였다.
- 특징점이 없는 공간에서 사용 가능. inderect method는 특징점 이외에 장면들을 무시하지만, direct method는 모든 이미지 픽셀을 활용할 수 있음.
- density 한 map구축 가능
- Direct Method는 Gradient Descent에 의지를 하기 때문에 이미지는 NonConvexity의 특징을 가지고 있어, 오직 작은 모션 일때만 적용이 가능하다.
- 비슷한 픽셀의 intensity가 많기 떄문에 복잡성이 증가한다.
- 픽셀에 대한 Itensity가 불변한다는 가정하에 하는 작업이므로, 빛에 대해 약하다.
Comments