목록분류 전체보기 (159)
Priceless

Least Squares(최소자승법) SLAM 정의(복습) 동시적 위치 추정 및 지도 생성 Least Squares 정의 SLAM에서 사용하는 최적화 방법론 중 하나이다 최적화는 우리가 정답을 찾지 못하는 상황에서 모든 방정식에 대해 가장 적은 error 값을 찾는 수학적 기법이다 error 값을 제곱한다 비교적 높은 error 값들은 더 크게 다뤄지므로 제곱 값을 줄이는 기법이 최소자승법이다 최소자승법은 over-determined system의 해를 푸는 방법으로 미지수의 개수보다 방정식의 개수가 더 많을 경우를 나타낸다 SLAM은 항상 이러한 시스템에 있다 하나의 상태 x를 추정하기 위해 실제 측정 값 z를 통해 f(x)를 예측하고 이 값을 통해 상태를 예측한다 센서로부터 발생한 노이즈와 측정한 값..

Perspective N Points PnP Problem 정의 n개의 데이터에서 2D 데이터와 3D 데이터 간의 correspondence가 주어졌을 때 world-to-camera transformation을 추론하는 문제이다 카메라가 3D 맵을 바라볼 때 correspondence를 구했다면 이 정보를 가지고 현재 카메라 pose를 추정한다 이 중 몇 개의 correspondence를 사용하냐에 따라 n의 수가 달라진다 이미지로부터 feature를 뽑고 map과 매칭하면서 map에 대해서 나의 위치를 찾을 수 있다 Localization과 관련있다 pnp는 3D point x가 담고 있는 descriptor들과 현재 뷰에서 보이는 descriptor들을 매치해서 2D to 3D corresponde..

General Triangulation Motivation 개요 VSLAM을 통해 map 생성과 localization을 동시에 할 수 있는데 F 행렬과 E 행렬을 통해 두 이미지 간의 상대적인 이동치를 추정할 수 있다 위치 추정을 할 수 있다 3D 구조로 복원하기 위해서는 Triangulation이 필요하다 두 이미지 간의 상대적인 회전 값을 알고 feature 간의 correspondence를 알고 있을 때 실제 point가 있는 위치의 x,y,z 좌표 값을 알 수 있다 이를 통해 2d 에서 3d 로 매핑이 가능하다 서로 매치된 feature에서 나온 ray를 연결하면 하나의 3d 포인트에서 만난다 triangulation을 통해 두 쌍의 correspondence를 구해 두 개의 3d point를 ..

Outlier Removal Data Types of data - Inlier data: 정상 범위 내의 데이터 - outlier data: 정상 범위 밖의 데이터 두 데이터를 구분하기 위해 에러 값만으로는 판단할 수 없다 노이즈가 높을 수 있다 혹은 완전히 잘못된 과정으로 모은 데이터라도 올바르게 나타날 수 있기 때문이다 왼쪽 Point에 F 행렬을 곱하면 epipolar line이 나타난다 초록색 점은 유사도가 높으며, 빨간색 점은 유사도가 낮다 F를 통해 유사도를 검증할 수 있다 F를 통해 추론했을 때는 부정확할 수 있으므로 데이터만을 통해 어떤 매치가 옳은지 확인하기 위해 F 행렬을 통해 검증한다 이미지에서 Outlier가 나타나는 원인으로는 갑작스러운 밝기 변화, 움직임 등으로 깨끗한 이미지를 ..

2개 이상의 이미지가 필요한 이유 2D -> 3D mapping 3D를 2D로 매핑하는 과정은 사영을 통해 구현할 수 있다 하지만 3D로 매핑할 경우를 Depth 값을 고려해야 한다 새로운 차원(깊이)에 대한 정보가 필요하기 때문에 이미지가 한 장이 아닌 두 장이 필요하다 핵심 문제 Visual SLAM을 위해서 이미지 프레임마다 카메라가 얼마나 이동했는지 알아야 한다 이미지부터 이미지 사이에 얼마나 이동했는지 카메라 프레임의 rigid body motion, 즉 pose 이동을 구해야 한다 모션 정보가 있으면 알 수 있지만 VSLAM에서는 정보가 없기 때문에 영상정보로부터 모션 정보를 추론해야 한다 두 개의 이미지로부터 모션 정보를 추론하기 위해 두 이미지 간의 기하학적 상관 관계를 유추해야 한다 Ep..

feature-based SLAM을 공부하기 위해서는 특징점에 대해 잘 알아야 한다 Computer vision 핵심 문제 특징점을 어떻게 잘 찾느냐 당시의 효율성을 가진 컴퓨터를 가지고 Lines Detector Sobel operator Hough transform Canny edge detection Line detection research 라인을 검출할 수록 물체의 의미를 추론할 수 있는 단서가 생겼다 라인을 검출한 사진들의 시차, 각도가 크게 다를 때 어떻게 같은 객체인지 알 수 있을까 Feature Detector Point feature Keypoint detector keypoint는 관심을 가지는 지점이다 Descriptor extractor(특징 기술자) descriptor는 우리가 ..

카메라 빛을 정확하게 받아오는 카메라가 좋은 카메라이다 Steps to capture light 포토 다이오드 센서를 통해 빛을 받아들이고 발생한 전압을 통해 디지털 신호로 변환한다 Light -> Color filter -> Photodiode -> Voltage/Current -> Analog to digital convertor 이후 들어온 Intergrated Signal Processor(ISP)에서 원본 데이터 RAW 파일을 sRGB scale로 변환한다 사진사들의 작업 파이프라인으로 카메라에 들어오는 광량을 조절한 후 이미지 센서에 들어오는 값을 저장한다 이후 후보정을 통해 원하는 이미지를 만들 수 있다 카메라 내부 파이프라인으로 렌즈에 빛이 들어오면 센서를 통해 디지털 신호 값을 받아온다 ..

VSLAM과 Geometry 기반 컴퓨터비전을 하기 위해서 camera projection의 원리를 이해하는 것이 중요하다 Camera obscura to Modern camera 과거부터 현재의 카메라까지 Camera obscura(바늘 구멍 사진기) 빛이 통하지 않은 곳에 작은 구멍을 뚫어 투영시킨다 이를 통해 3D 공간을 2D로 변환할 수 있었다 사용된 원리는 두 가지이다 빛은 직선으로 이동한다. 그래서 상이 반대로 맺힌다 상맺힘. 3d 공간의 정보가 2d 이미지로 상이 맺힌다 Modern camera 직선으로 이동하는 빛을 모으기 위해 렌즈를 통해 빛을 모은다 조리개 값을 통해 빛을 모으는 정도를 조절하고 노출 시간을 통해 빛을 모으는 시간을 조절한다 상맺힘에 정보가 부족하다면 SW로 후처리가 가..

Projective Geometry 사영기하학 3D world vs Photo 3차원 세상은 무한의 개념을 숫자로 표현할 수 없다 기차길이 평행하다 하더라도 기차길 위에서 사진을 찍으면 멀어지면서 사라지는 곳에서 교차한다(vanishing point) 원근법 3차원 공간을 2차원에 투영하면서 깊이 정보가 소실된다(depth) 차원 변환 과정에서 3차원에서의 평행 조건과 수직 조건이 2차원의 투영 결과에서 사라진다(parallelism & orthogonality) 또한 범위와 단위도 사라진다(scale) 다만 직선이 그대로 직선으로 나오는 점은 동일하다 Vanishing Point 3차원의 평행선의 끝을 알 수 없지만 2차원에 투영하는 경우 끝 점을 관측할 수 있다 이 점을 vanishing point라..

3D Rigid Body Motion Rigid Body 강체 rigid body는 강체 특정 물체를 벡터로 표현할 수 있다 강체는 3차원 벡터와 방향성도 가지고 있다 카메라를 나타낼 때 위치와 방향을 나타낼 수 있다 pose = 방향 + 위치 Coordinate Transformation 강체의 움직임을 파악하기 위해 강체의 좌표계를 전체 좌표계에 변환하여 분석하기 위해 좌표계 변환이 필요하다 두 좌표계 간의 orientation과 position 값을 알면 변환할 수 있다 다양한 회전 표현법 1. Rotations Roll / Pitch / Yaw 각각의 축을 의미한다 차량의 좌우 운동이 심할 경우 롤이 심하다고 한다 3차원 회전을 표현하기 위해 차례로 변환해야 한다 이해하기 쉽지만 최적화하기 어려워..