Lucky Charms Rainbow > '자율주행 데브코스 4기 TIL/SLAM' 카테고리의 글 목록 — Hoon's Blog

자율주행 데브코스 4기 TIL/SLAM

    RANSAC

    RANSAC

    Type of data * Inlier data : 우리가 기대했던 값이며, 실제로도 맞는 값 * Outlier data : 우리가 기대하지않았던 값이며, 실제로도 틀린 값 이 식에 의해 왼쪽 포인터에 F (Fundamental matrix)를 곱하면 epipolar lane을 알 수 있습니다. Inlier data는 초록색, Outlier data는 빨간색으로 나타냈습니다. Outlier data 픽셀은 descriptor matching을 할 때 이것도 match다라고 평가가 되었을테지만 motion 정보를 기반으로 fundamental matrix를 가지고 추론했을 때는 부정확한 값이 됩니다. Outlier rejection Outlier data는 어떻게 생길까요? - 급격한 조명 변화, 회전, ..

    Epipolar Geometry

    Epipolar Geometry

    지난 시간엔 어떠한 3D point X가 World에서 표현이 되어있을 때, 이것을 카메라 프레임으로 옮겨오고 이미지 plane에 투영해서 2D point x를 만드는 과정에 대해 알아보았습니다. 반대로 2D->3D mapping을 알아보겠습니다. mono camera 기준 3D에서 2D point mapping은 한 장의 사진으로 가능하지만 2D에서 3D point mapping은 한장의 이미지만으로 할 수 없습니다. 최소 두 장의 사진이 필요 합니다. Epipolar geometry • 2-view geometry : 바라보는 시점은 다르지만 동일한 3D point를 바라보고 있는 2개의 이미지 Epipolar line이 중요한 이유는 epipolar line이 없다면 왼쪽 시점에서 바라보고 있는 3..

    카메라 센서의 구조

    카메라 센서의 구조

    컴퓨터 비전에서의 카메라 센서는 사진이 이쁘게 나오는 게 아닌 정확하게 빛의 밝기를 감지하는 게 좋은 카메라 입니다. 정확하게 빛을 감지한다는 건 어떤 걸까요? 정확하고 적은 노이즈의 진짜 신호만을 가지고 있는 센서 데이터를 얻기 위해서는 디지털 이미지, 사진 이미징 장비에 대한 이해가 좋아야 합니다. 모든 카메라 센서는 기본적으로 photodiode 센서를 통해서 빛을 받아들이고, 전압을 생성하고, 그 전압을 Analogue-to-Digital Converter를 통해서 디지털 신호로 변환합니다. 이때 저희가 많이 사용하는 Color Camera에는 Bayer Pattern이라는 형태의 빨간색, 초록색, 파란색 광필터를 배치해서 RGB 이미지를 얻어낼 수 있습니다. 보통 디지털 신호를 얻어내면 픽셀마다..

    Camera projection

    Camera projection

    Camera obscura(바늘구멍 사진기)는 인류가 projective geometry에 대해 수식적으로 연구를 할 수 있게 해준 계기가 되었습니다. Camera obscura가 있었기 때문에 정확한 2D 이미지를 구할 수 있었고 2D 이미지를 측량해서 3D 세상과 비교함으로써 3D to 2D 매핑관계에 대한 수식을 발전 시킬 수 있었습니다. x = P X x: 3D world coordinate points P: Projection matrix X: 2D image coordinate points Projection steps 1. World coordinate (3D) to Camera coordinate (3D) transformation Rotation - 3*3 Matrix -> SO(3) T..

    Projective geometry

    Projective geometry

    Projective geometry (사영 기하학) 3D Rigid Body Motion은 모두 유클리드 기하학을 따릅니다. 사영대수학은 기초적인 유클리드 기하학과는 달리 사영공간과 몇 가지 기본적인 기하학적인 개념들로 구성되어 있습니다. 실제 3D 공간에 물리적인 객체 정보를 2D 이미지로 투영하는 것이 projection입니다. 즉, projective geometry는 N + 1 차원을 N 차원으로 차원 축소를 할 때 통용되는 기하학입니다. Hierachies of geometries • Euclidean > Rotation + Translation 표현 가능 • Similarity > Euclidean transformation에서 uniform scaling 표현 가능 > Euclidean tr..

    3D Rigid Body Motion

    3D Rigid Body Motion

    Rigid Body (강체 ; 물리학에서 형태가 고정되어 변하지 않는 물체) > Position = { tx, ty, tz } > Orientation = { Rx, Ry, Rz } > Pose = Orientation + Position > 6 Degrees of Freedom = 3D Orientation + 3D Position = { tx, ty, tz, Rx, Ry, Rz } Coordinate transformation ( Camera -> World ) 카메라 좌표계 { tx, ty, tz, Rx, Ry, Rz}를 어떻게 월드 좌표계 {?, ?, ?, ?, ?, ?, ?}로 바꿀 수 있을까? Orientation{Rx, Ry, Rz}: Rotation(회전값) 이용 Position{tx, t..

    SLAM 이론 공부

    VSLAM을 잘 이해하려면 공부해야 할 3가지 1. Mathematics Linear algebra (선형대수) Probability & Statistics (확률과 통계) 2. Computer Vision Imaging Image processing 3. Optimization Optimization theory (최적화 이론) Numerical optimization (수치적 최적화) 선형대수 참고자료 https://www.youtube.com/watch?v=525w2Zqh13M&list=PL127T2Zu76FuVMq1UQnZv9SG-GFIdZfLg 소프트웨어 공부 TIP C++ 자율주행 : C++11, C++14 로보틱스/드론: C++14 AR: C++17, C++20 http://www.yes24..

    SLAM

    SLAM

    SLAM (Simultaneous Localization and Mapping) : 동시적 위치추정 및 지도작성 직역한 것 처럼 두 가지 목적의 작업을 수행하여야 합니다. 1. Localization (위치추정) -> 어떤 공간에 어느 좌표에 존재하는지, 시간이 흐르면서 로봇의 위치가 바뀌었을 때 변화하는 위치를 추정 즉, 모션추정을 해야합니다. 2. Mapping (지도작성) -> 어느 공간을 표현하는 방법 중 하나. 버드아이뷰 지도, 공간 속에 중요한 물체들의 위치를 모아둔 지도, 3D 가상공간으로 mapping한 지도 방법이 다양하게 존재합니다. 또한 물체를 2D로 표현할지, 3D로 표현할지도 있는데 3D 같은 경우 point cloud, point끼리 이어 선으로 표현, mapping surfac..