본문 바로가기

전체 글

(16)
Python 현재 위치 및 작업위치 설정 및 절대/상대 경로 이용하기 1. 파일 위치를 기준위치로 설정 Control + Shift + P로 메뉴를 부른후 launch.json 파일을 연다. configuration 에 다음을 추가한다. "cwd": "${fileDirname}" 2. 현재 절대 위치와 상대 위치 보기 현재 실행시킨 파일이 있는 절대 위치와 상대 외치는 다음과 같다. 파일의 폴더까지의 위치는 dirname을 이용한다. 먼저 os를 import한다. import os 1) 절대위치 path = os.path.abspath(__file__) dir_path = os.path.dirname(path) 2) 상대위치 pathS = os.path.relpath(__file__) dir_path = os.path.dirname(pathS) 3) 작업 위치를 변경해보자..
Anaconda 베이스로 Pytorch, openCV, numpy, 기타 라이브러리 및 Visual studio code 설치하기 1. 아나콘다를 설치한다. https://www.anaconda.com/products/distribution Anaconda | Anaconda Distribution Anaconda's open-source Distribution is the easiest way to perform Python/R data science and machine learning on a single machine. www.anaconda.com 2. 아나콘다 shell 에서 환경을 생성하고 활성화한다. (base) PS C:\Users\danci> conda create -n myactivate my (base) PS C:\Users\danci> activate my 버전을 확인해보자. (base) PS C:\Users..
Stereo Vision : Match Matching 기법은 기존의 hamming , sad, ssd 등이 있다. 여기서는 sad를 기준으로 설명한다. 1. Feature를 정규화한다. (hamming제외) Feature 점이 2차원일 경우, 각 열을 기준으로 norm을 계산한다. (sqrt 제곱합) 단 매우 작은 수는 0으로 치환한다. Xnorm = sqrt(sum(X.^2,1)) Xnormal = X/Xnorm
Stereo Vision : 8 Point Algorithm (Find Fundamental Mat) Fundamental Matrix를 구하는 방법 0. Point를 정규화 한다. 이미지 크기 width, and height 의 최대 크기인 M으로 데이터값을 나누어주어 scaling 하자. 이미지 크기 구하는 함수 [python] : size 이때 변환 행렬 T를 이용하자. 마지막에 F를 계산한 후에는 unscale 한다. x_norm = Tx F_unnorm = T'FT 1. 선형 시스템을 구성하자. M개의 점이 매칭되어 있을 때 에피폴라 제약에 따라 다음을 만족해야 한다. F는 3x3 행렬이므로 9개의 unknowns를 homogeneous 선형 시스템으로 풀자. F를 f1~f9 로 나타내고, 점을 homogeneous 로 표시하여 정리하면, 2-3. A에서 SVD로 X (=F)를 알아내자. [주의..
Stereo Vision : Rectification 예제 (Matlab) 출처 : Matlab example 1. Rectification 이란? 스테레오 비전에서 2개의 카메라를 이용하여 같은 높이(same raw)에서 영상을 찍을 경우 2D 문제가 1D 문제로 감소된다. (그러나 실제적으로 같은 높이가 아닐 확률이 높을 것이다.) Rectification 은 보통 dispatiry 를 계산하기 전의 전처리를 사용된다. 2개의 카메라로 동시에 찍었을 때 명백하게 방향 및 위치에 offset이 존재하는 것을 볼 수 있다. rectification 의 목표는 연관된 점(point)들이 두 영상에서 같은 열(Row)에서 위치하도록 영상을 변환(Transform) 하는 것이다. 2. 각 영상에서 관련된 특징점을 찾자. 기본적으로 2 영상에서 관련된 즉, 같은 점이라고 생각되는 점들..
Stereo Vision : Triangulation 1. Triangulation이란? 두개의 영상이 하나의 3D점을 찍어서 나온 결과라고 생각해보자. 먼저 영상 1의 한점 x가 3D점 X의 투영결과라고 보면, 카메라 행렬 P로 나타낼수 있다. 즉 x = P'X 그렇다면 X를 X= inv(P)x 로 구할수있을 것이다. 그러면, 3D 점 X 를 카메라에서 본 x과 x' 는 한점에서 만날것인가? 영상의 잡음 때문에 single solution은 불가할 것이다. 결론적으로 Triangulatio 문제는 다음으로 정의된다. 2d 점들과 카메라 행렬들을 이용, 원래 3D점을 찾는 문제. 2. 3D 계산하기 2D 점 x는 homogeneous coordinate 이다. 깊이를 모르기 때문에 정확하게 3D 점이 어디 있는지는 알수가 없다. (2개의 영상이 있어서 정의..
Camera matrix P 은 무엇인가? 우리가 보는 3차원 점은 월드좌표계를 기준으로 한다. 월드좌표계에서 얼마나 떨어져있나를 판단할 수 있다. 그러나 카메라에서 이점을 보기 때문에 다음 과 같이 카메라 좌표계와 월드좌표계를 일치화할 필요가 있다. 이를 위해서는 회전과 이동을 아는 것이 필요하다. 카메라 메트릭스는 다음과 같이 구성된다. P = 내부 파라메터 * 투영행렬 * 외부 파라메터 투영행렬과 외부 파라메터를 곱하면,
시작 시작