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

자율주행 데브코스 4기 TIL

    Ubuntu18.04 docker 환경에서 ROS 설치

    Ubuntu18.04 docker 환경에서 ROS 설치

    Ubuntu 18.04 docker in Ubuntu 20.04 ROS 설치 (로컬 환경이신 분은 문서 그대로 따라치시면 됩니다.) -Ubuntu18.04 http://wiki.ros.org/melodic/Installation/Ubuntu melodic/Installation/Ubuntu - ROS Wiki We are building Debian packages for several Ubuntu platforms, listed below. These packages are more efficient than source-based builds and are our preferred installation method for Ubuntu. Note that there are also packages a..

    파일 입출력 - 텍스트 파일 내용 공백으로 구분하기 c++

    파일 입출력 - 텍스트 파일 내용 공백으로 구분하기 c++

    textfile, yaml등 텍스트 파일 안에 다양한 텍스처 정보가 들어있을텐데 필요한 정보만 추출하고싶을 때 쓸 수 있는 방법 입니다. #include #include ifstream fTimes; //입력파일 선언 string tFile = "text.txt"; fTimes.open(tFile.c_str()); while(!fTimes.eof()) { string s; getline(fTimes,s); //텍스트 파일 내용 한줄씩 가져오기 if(!s.empty()) { stringstream ss; ss

    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..