일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 토끼와 경주
- 루돌프의반란
- 조합
- ICER
- 코드트리빵
- ISER
- 포탑부수기
- 순서대로방문하기
- 시뮬레이션
- 슈퍼컴퓨터클러스터
- 왕실의기사대결
- 소프티어
- 이진탐색
- 코드트리
- Calibration
- ros
- 나무박멸
- 마이크로프로세서
- 백준
- 삼성기출
- 수영대회결승전
- 마법의숲탐색
- 싸움땅
- DP
- BFS
- 3Dreconstruction
- ARM
- 구현
- DenseDepth
- dfs
- Today
- Total
목록AI (8)
from palette import colorful_colors
이번 포스팅에선 Opencv의 StereoSGBM을 이용해 disparity map을 구하고, meshlab 프로그램을 이용해서 3D reconstruction을 구하는 과정을 담았습니다. (사용한 left, right 이미지) cam0=[998.834 0 327.302; 0 998.834 245.534; 0 0 1] cam1=[998.834 0 368.275; 0 998.834 245.534; 0 0 1] doffs=40.973 baseline=203.047 width=701 height=487 ndisp=143 1. Disparity map 구하기: Code: import os import cv2 import numpy as np #left_image_path = './Newkuba/im0.png'#..
두 장의 이미지로 파노라마를 만드는 코드입니다. 특징점은 ORB로 잡고 opencv의 findHomography 함수를 이용해 파노라마를 만듭니다. (코드는 뒤쪽에 첨부!) 결과사진: # -- coding: utf8 -- import cv2 import numpy as np def warpImages(img1, img2, H): rows1, cols1 = img1.shape[:2] rows2, cols2 = img2.shape[:2] temp_points = np.float32([[0, 0], [0, rows2], [cols2, rows2], [cols2, 0]]).reshape(-1, 1, 2) list_of_points_2 = cv2.perspectiveTransform(temp_points, H) ..
correlation을 이용해 템플릿매칭을 하는 python code입니다.import numpy as np import cv2 # 소스, 템플릿 이미지 가져오기 img_path = "picture4.jpg" templete_path = "./templete2/heart2.png" img = cv2.imread(img_path,0) template = cv2.imread(templete_path,0) # correlation을 이용해 결과 찾기 cor_result = cv2.matchTemplate(img, template, cv2.TM_CCORR_NORMED) # 위치 찾기 min_value, max_value, min_location, max_location = cv2.minMaxLoc(cor_res..
Computer vision에서 calibration은 카메라나 센서와 같은 장치의 내부 파라미터와 외부 파라미터를 조정하는 과정을 말합니다. 이 과정을 위해선 실제 세상의 3D 좌표계에서 픽셀의 좌표계까지 변환이 먼저 필요합니다. 이러한 변환과정과 내부 파라미터(Intrinsic parameter를 먼저 소개하겠습니다. 1. 물체점 → 영상점 → 픽셀점 까지 이동과정 실제 세상을 카메라로 담는 과정에서 실제 세상의 3D 좌표가 픽셀의 2D 좌표로 이동하게 된다. 먼저 실제 세상(물체점), 영상점(ccd 이미지 센서에 맺히는 점), 픽셀점(이미지 픽셀의 점)을 각각 다음처럼 수식으로 정의한다. 이렇게 정의한 각 3 점의 벡터를, 후에 있을 행렬 계산 편의를 위해 homogenous로 바꿔주어 차원을 더해..
xor은 비선형이므로 한 층의 퍼셉트론으로 처리할 수 없기 때문에 다층 퍼셉트론을 사용합니다. 아래의 코드는 활성화함수로 시그모이드 함수를 사용한 다층 신경망을 구현한 코드입니다. import numpy as np # XOR 입력과 출력(정답) 데이터 준비 X = np.array([[0, 0], [0, 1], [1, 0], [1, 1]]) Y = np.array([[0], [1], [1], [0]]) # 가중치와 바이어스 초기화 W1 = np.array([[1.5 , -0.5],[-0.5, -1.0]]) b1 = np.array([0., 0.]) W2 = np.array([[0.5], [-0.5]]) b2 = np.array([0.]) # 활성화 함수 - 시그모이드 함수 def sigmoid(x): re..
1. Aperture(조리개) 렌즈가 열려있는 직경을 말한다. 조리개를 닫아서 들어오는 빛의 양을 줄이고 렌즈의 상대적인 크기를 줄이고, 조리개를 열어서 들어오는 빛의 양을 늘리고 렌즈의 상대적인 크기를 늘릴 수 있다. focal length와 분수 표현으로 표시하는데, 예를 들어 f/2.0, f/2.8, ..., f/32 mm 이런 식으로 표시한다. 이때 분모에 있는 숫자를 f-number라고 한다. f-number가 한 단계 커질수록 조리개(직경)가 1/sqrt(2) (sqrt는 루트라는 뜻) 만큼 감소하고, 총 렌즈 면적이 1/2만큼 감소한다. 또한 식에서 볼 수 있듯이 조리개(직경)는 focal length에 비례한다. focal length가 무엇인지 모른다면 참고! https://colorfu..
1. SLR (Single Lens Reflection)- 이름 그대로 단일 렌즈 카메라다. pinhole, thinlens 두 가지 종류가 있으며 조리개, 셔터 등 구성요소로 이루어져있다. - 상이 맺히는 부분은 실제 사물과 정반대의 상이 맺힌다. - 프리즘을 통해 사용자는 실제 물체와 동일한 상을 볼 수 있다. - 이미지 센서로는 ccd, 혹은 cmos를 사용한다.2. PinholeSLR에서 우리가 흔히 쓰는 렌즈가 있는 카메라를 thinlens 방식이라고 하고, 렌즈 대신 구멍을 뚫어 사용하는 방식을 pin hole 방식라고 한다. (초등학교때 바늘구멍 사진기처럼) 빛은 모든 방향으로 반사되고, 점과 같은 아주 미세한 입자라고 생각하자. 반면 구멍은 물리적으로 그만큼 작게 만들 수 없으므로, 빛이 ..
1. LeNet-5 Gradient-Based Learning Applied to Document Recognition(1988) YANN LECUN, MEMBER, IEEE, LEON BOTTOU, YOSHUA BENGIO, AND PATRICK HAFFNER 이미지 분류를 위한 신경망, CNN 계열의 원조격 모델이다. 합성곱 신경망이라는 개념을 얀 르쿤이라는 사람이(Yann LeCun) 최초로 개발한 구조다. 수표에 쓴 손글씨 숫자를 인식하는 딥러닝 구조이며, 합성곱(Convolutional)과 다운 샘플링(sub-sampling)을 반복한 후 마지막 완전연결층에서 분류를 수행한다. 합성곱층과 풀링층의 필요성 모델 구성을 알아보기 위해 합성곱층과 풀링층이 각각 무엇인지 소개하겠다. 이미지는 픽셀 하나..