본문 바로가기

분류 전체보기

(16)
Anaconda - Vscode - OpenCV - Torch 설치 22.11.19 1. 아나콘다 설치 아나콘다 프롬프트에서 설치 conda update --all conda info --envs conda create -n "campus" python=3.10 -> 그냥 설치하면 3.11 설치되며 torch가 conda 명령으로 정상설치 안됨. 잘못된 경우 삭제 conda remove -n "campus" --all 활성화 conda activate campus --> 가능하면 conda로 설치해야 아나콘다에서 관리함으로 충돌안남. ​ 2. pytorch 설치 conda install pytorch torchvision torchaudio cpuonly -c pytorch ​ 3. opencv 설치 conda install -c conda-forge opencv ​ 4. 라이브러리 설..
4. 기계학습 문제 해결 순서 1. 해결할 일에 대해 입/출력이 무엇인지 분석한다. - 분류? 회귀 분석? 군집화?, 우리가 가지고 있는 데이터와 상호호환 가능한가? 2. 관련된 데이터의 이해 (Exploratory data analysis EDA) 한다. 전략을 수립하기 위해 주의할 점 등을 분석한다. step1 : 데이터를 로딩한 후 그래프로 플로팅한다. 각 성격을 분류하기 위해 step2 : 1개 fature 로 분석한다. step3 : 2 또는 여러개의 feature를 섞어서 분석한다. step4 : 없어진 값등을 보간 등으로 채우거나 사용안한다. step5 : outlier를 제거한다. 또는 최상위 90%이상, 최하위 10%이하를 사용하지 않는 등. 3. Train 과 Test 데이터를 대표성을 가지도록 임의로 나눈다. 모델..
2. 기계학습의 분류 fastCampus 딥러닝 강의내용임. 지도 학습과 비지도 학습 지도 학습 p(y|x) 비지도학습 p(x) 그러나 지도 학습과 비지도 학습의 구분은 사실은 명확히 구분되지 않으며, 변환 표현이 가능하다. 기타 준지도 학습/자가 지도학습도 있음. 준지도 학습 : 레이블 된것(Gold Label)과 아닌것 모두 학습 자가지도학습 : 데이터 일부분을 은닉하여 모델이 그 부분을 예측하도록 학습 강화학습 환경에서 나온 상태에 따른 Action 을 실행하고 보상을 받아, 가장 큰 보상이 되도록 스스로 학습한다.
1 ML기초 머신러닝 표현학습이란 표현은 잘 몰랐는데, 활성화 함수를 통해 차원(좌표계)의 변경을 말하는 의미였다. Feature(눈에 보이는 데이터)가 아닌 표현(Representation)을 다르게(차원변환) 해서 그 내용을 학습해보자. (은닉층이 하나인 경우까지 한함) 분류 인공지능 : 선형 분류만 가능 여러가지 조건(룰)을 hand로 만들어놔야 함. 머신러닝 : feature를 잘 만들어 놔야 함. 가공 필요 표현학습 : feature를 그냥 넣어도 학습됨. 어느정도 hand-disign 필요없다. 딥러닝 : 표현을 다층의 활성화 함수로 인해 복잡한 featuer로 만들어 사용, 그냥 때려 넣음. 신경망에 학습 분류를 모두 맡김.
OpenCV 함수 : Camera Calibration and 3D Reconstruction Camera Calibration and 3D Reconstruction cv2.triangulatePoints Camera Calibration and 3D Reconstruction — OpenCV 2.4.13.7 documentation Parameters: objectPoints – In the new interface it is a vector of vectors of calibration pattern points in the calibration pattern coordinate space (e.g. std::vector >). The outer vector contains as many elements as the number of the pattern views. If th docs.op..
Stereo Vision : Rectification 1. Rectification이란? 하나의 물체를 찍은 2영상에서 depth를 계산할 수 있을까? 계산을 위해 1) 충분한 baseline이 필요하다. 2) 2영상은 Rectified 되어야한다. Rectification 이란 2영상의 epipolar line을 수평하게 만드는 것을 말한다. 즉 위와 같은 배치를 강제로 다음과 같이 일렬로 만들어주는 것이다. 그렇다면 왜 이런 배치를 만드는 것일까? 두 영상의 관계가 다음과 같이 단순화 되기 때문이다. R=I, t=(T,0,0) 2. Stereo Rectification 을 수행하는 개념 두 카메라 center, O, O' 사이의 선에 대해 평행한 공통 plane 으로 영상을 Reproject 한다.!! 이를 위해 2개의 homographies 를 이용하..
Assign 3 : 3D Reconstruction Sparse Reconstruction You now have all the pieces you need to generate a full 3D reconstruction. Write a test script python/test temple coords.py that does the following: import numpy as np from numpy.lib.arraysetops import in1d import helper as hlp import skimage.io as io import submission as sub import matplotlib.pyplot as plt import cv2 as cv import numpy.linalg as la import skimage.color as ..
Homography : 2D-2D 평면 변환 비전에서 가장 중요한 변환이 Homography 2D-2D 변환, 카메라 행렬 구하기 : 3D-2D 변환 스테레오 변환 행렬 E : 2D Point - 2D line 변환이다. 1. Homography 수식 유도 여기서 첫번째 Homography를 정리해보자. 먼저 이 H 변환은 2D에서의 변환이다. 즉 하나의 평면을 유지하는 가정이 중요하다. 여기서 x1과 x2가 homogenous 좌표계로 나타나 있다고 하면, X1 = [xi yi zi] - homogenous 좌표계 X1 = [xi/zi yi/zi] - inhomogenous 또는 heterogenous 좌표계 로 나타낼 수 있다. 위 그림과 같이 2D-2D 변환은 여러가지가 존재하는데 PP3 평명을 2개의 카메라로 투영(Projective)하여 ..