분류 전체보기
-
[openCV] Object height 알아내기(python)Computer Vision 2022. 7. 25. 15:57
카메라의 focal length, principal points, height이 주어졌다는 가정하에, 객체의 지면과의 contact point와 head point를 알고있다면 객체의 높이를 알 수 있다. 수식은 다음과 같다. 카메라의 외부, 내부 파라미터는 calibration을 수행해서 알아낼 수 있다. calibration을 통해 알아낸 카메라 파라미터를 통해 객체의 높이를 알아내는 파이썬 코드는 다음과 같다. p_x, p_y = pt[0] p_x1, p_y1 = pt[1] point_p = [p_x, p_y] point_p1 = [p_x1, p_y1] point_n = cv.undistortPoints(np.array([point_p], dtype=np.float64), K, distort).sq..
-
MonoDTR: Monocular 3D Object Detection with Depth-Aware Transformer 논문 공부Computer Vision 2022. 7. 12. 11:28
시작하기 전에 1. Transformer란? Transformer는 구글이 2017년에 발표한 논문인 “Attention is all you need"에서 나온 모델로 기존의 seq2seq의 구조를 따르지만 내부적으로 RNN 레이어 없이 어텐션으로만 구현한 모델이다. 2. seq2seq와 Attention이란? sequence-to-sequence 모델은 말 그대로, 아이템(예를 들어 사진) 시퀀스를 인풋으로 받고 또다른 아이템 시퀀스를 아웃풋으로 출력하는 모델이다. seq2seq 모델은 내부적으로 인코더와 디코더로 이루어져있다. 인코더는 input sequence를 받아 각각의 아이템을 처리하고 알아낸 정보를 벡터(context)로 바꾼다. 모든 아이템에 대해 처리를 마친 후에 이를 디코더에 보낸다. ..
-
핸즈온 머신러닝[6] 결정 트리핸즈온머신러닝 2022. 7. 6. 15:36
https://www.youtube.com/watch?v=h9PRMril20M&list=PLJN246lAkhQjX3LOdLVnfdFaCbGouEBeb&index=19 결정 트리 학습과 시각화 from sklearn.datasets import load_iris from sklearn.tree import DecisionTreeClassifier iris = load_iris() X = iris.data[:, 2:] # 꽃잎 길이와 너비 y = iris.target tree_clf = DecisionTreeClassifier(max_depth=2, random_state=42) tree_clf.fit(X, y) 붓꽃 데이터셋에 DecisionClassifier를 훈련시키는 코드 from graphviz i..
-
[투포인터] 같이 눈사람 만들래?(20366)(C++)BOJ C++ 알고리즘 공부 2022. 7. 6. 10:25
https://www.acmicpc.net/problem/20366 20366번: 같이 눈사람 만들래? 높이가 (2, 5), (3, 5)로 구성된 눈사람 둘을 만드는 것이 최적의 경우 중 하나이다. |7-8| = 1 다른 경우로는 (2, 9), (5, 5)로 두 눈사람을 만드는 경우가 있다. |11-10| = 1 www.acmicpc.net 1. 문제 개요 엘자와 안나는 눈덩이 N개 중 서로 다른 4개를 골라서 눈사람을 각각 1개씩, 총 2개를 만들려고 한다. 두 자매는 두 눈사람의 키의 차이가 작을수록 두 눈사람의 사이가 좋을 것이라고 믿는다. 우리는 엘자와 안나가 가장 사이좋은 두 눈사람을 만들기 위해서 도와주려고 한다. 주어진 N개의 눈덩이를 이용하여 만들 수 있는 두 눈사람의 키 차이 중 최솟값을..
-
핸즈온 머신러닝[5] 서포트 벡터 머신(3)핸즈온머신러닝 2022. 7. 5. 18:24
https://www.youtube.com/watch?v=pIq527ZHiAE&list=PLJN246lAkhQjX3LOdLVnfdFaCbGouEBeb&index=18 SVM 이론 결정 함수와 예측 w는 가중치 벡터로, w^Tx + b = w1x1+w2x2+...+wnxn+b 이다. 음수일때 양성 클래스인지 양수일때 양성 클래스인지는 라이브러리마다 차이가 있다. iris = datasets.load_iris() X = iris["data"][:, (2, 3)] # 꽃잎 길이, 꽃잎 너비 y = (iris["target"] == 2).astype(np.float64) # Iris virginica 특성은 꽃잎 길이, 꽃잎 너비 두가지를 사용하고 타깃은 이진 분류기로 Iris virginica인지 아닌지로 분..
-
핸즈온 머신러닝[5] 서포트 벡터 머신(2)핸즈온머신러닝 2022. 7. 3. 17:51
https://www.youtube.com/watch?v=gjxQo4KwFxQ&list=PLJN246lAkhQjX3LOdLVnfdFaCbGouEBeb&index=17 비선형 분류 X1D = np.linspace(-4, 4, 9).reshape(-1, 1) X2D = np.c_[X1D, X1D**2] y = np.array([0, 0, 1, 1, 1, 1, 1, 0, 0]) plt.figure(figsize=(10, 3)) plt.subplot(121) plt.grid(True, which='both') plt.axhline(y=0, color='k') plt.plot(X1D[:, 0][y==0], np.zeros(4), "bs") plt.plot(X1D[:, 0][y==1], np.zeros(5), "g..
-
[투포인터] 두 수의 합(3273)(C++)BOJ C++ 알고리즘 공부 2022. 6. 29. 22:09
https://www.acmicpc.net/problem/3273 3273번: 두 수의 합 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 www.acmicpc.net 1. 문제 개요 n개의 서로 다른 양의 정수 a1, a2, ..., an으로 이루어진 수열이 있다. ai의 값은 1보다 크거나 같고, 1000000보다 작거나 같은 자연수이다. 자연수 x가 주어졌을 때, ai + aj = x (1 ≤ i < j ≤ n)을 만족하는 (ai, aj)쌍의 수를 구하는 프로그램을 작성하시오. 2. 입출력 3. 문제 ..