본문 바로가기

분류 전체보기43

A Heterogeneous Feature-based Image Alignment Method, ICPR(2006) 1. IntroductionImage alignment는 visual surveillance application(매칭 및 인식, 변화 감지 등)의 시작이 되는 중요한 단계전통적인 모션 추정(motion estimation) 방식 (JR Bergen et al., 1992)Direct method: 모든 픽셀의 기울기 및 변위 정보를 활용하여 모션을 추정하고, 모션이 작거나 초기값이 좋을 경우에 잘 작동Feature based method: 모션 추정을 위해 이미지의 특징이 두드러지는 sparse한 집합인 점이나 선을 사용Point는 적당한 원근 변화에서도 감지하기 쉽고 대응하기 때문에, feature-based 방식에서 가장 일반적으로 사용 → 그러나 항공 비디오 이미지, 특히 적외선 센서의 경우 점 .. 2023. 8. 1.
Deep Image Homography Estimation, arXiv(2016) 1. IntroductionSparse 2D feature는 일반적으로 코너로 알려져 있으며, 모든 geometric computer vision 작업에서 코너의 감지 방법의 오류와 geometric 추정 오류의 균형을 맞춰야 함한 쌍의 이미지에서 2D homography를 추정하는 것은 컴퓨터 비전의 기본 작업Homography : 카메라 중심을 중심으로 회전하는 두 이미지를 관련시키는 변환 → 파노라마를 만드는데 필수적 → 많은 평면 장면 처리를 위해 사용되는 ORBSLAM의 기본 조합이며, 증강 현실과 카메라 보정 기법 등도 homography를 사용기존 Homography의 추정Corner estimation: 완전한 point 집합을 가지고 강건화 함Robust homography estimat.. 2023. 7. 25.
파이토치(PyTorch) - Data Sets & Data Loaders Data Sets & Data Loaders PyTorch가 제공하는 데이터 형식 torch.utils.data.DataLoader torch.utils.data.Dataset Dataset은 샘플과 레이블을 저장하고, DataLoader는 Dataset을 감싸서 이를 iterable로 만들어 샘플에 쉽게 access할 수 있게 한다. PyTorch의 domain library들은 (ex. Fashion-MNIST) 사전에 로드된 데이터셋을 제공한다. 이 데이터셋들은 torch.utils.data.Dataset을 상속하며 특정 데이터에 대한 함수를 구현한다. 이러한 데이터셋은 모델을 프로토타입하고 벤치마킹 하는데 사용 할 수 있으며, Image, Text, Audio 등의 데이터셋들이 있다. Loadin.. 2023. 6. 27.
연속형 확률분포 - 지수 분포(Exponential Distribution) 지수 분포의 정의 지수 분포는 일정한 사건이 일어날 때까지 걸리는 시간을 나타낸다. 예를 들어 서비스 구간에서 두 고객 사이 걸리는 시간 다음 고장이 발생할 때까지 걸리는 시간 등이 있다. 지수 분포의 확률 밀도 함수 (pdf) $f(x)=\begin{cases}\lambda e^{-\lambda x}, \quad if\;x\geq0 \\ 0 \quad \quad \;, \: if \; x 2023. 6. 27.
가설 검정 (Hypothesis-testing) 가설 검정 체계 어떤 의료 연구 결과에서 여성의 심장질환 발병률은 10%이고, 남성은 12.5% 라는 결과가 나왔다. 여기서 우리는 남성이 여성보다 심장질환에 걸릴 가능성이 더 높다고 할 수 있을까? 연구 대상이 20명이라면 결과가 우연히 발생했다고 할 수 있지만 연구 대상이 20,000명이라면 남성이 심장질환에 걸릴 가능성이 더 높다고 할 수 있을 것이다. 이러한 직관을 더 정확하게 만드는 것이 가설검정이다. Null hypothesis(영 가설, 귀무 가설)는 우리의 추측이 틀렸다는 가설을 의미하며 $H_{0}$로 표시한다. 반면, 우리의 추측이 참이라는 가설은 Alternative hypothesis(대립 가설)이며 $H_{1}$으로 표시한다. Test(검정)는 데이터를 기반으로 영 가설을 reje.. 2023. 6. 27.
Rejection Sampling을 통한 Beta 분포 확률변수 생성 Rejection sampling을 사용하여 Beta (α, β); α=6, β=4 분포로부터의 확률변수 값 1000개를 모의 생성하여 평균, 표준편차 및 히스토그램을 나타내는 파이썬 코드 실습 import numpy as np import matplotlib.pyplot as plt from scipy.stats import beta # hyper parameters num_samples = 1000 a, b = 6, 4 x = np.linspace(0, 1, num_samples) # target / proposal distribution target_dist = beta.pdf(x, a, b) proposal_dist = [np.random.uniform(0,1)*3 for _ in range(nu.. 2023. 6. 8.
Rejection Sampling(기각 샘플링) Rejection sampling이란? Rejection sampling(기각 샘플링)은 어떠한 주어진 확률 분포에서 효율적으로 샘플을 생성하기 위해 많이 이용되는 알고리즘이다. Rejection sampling은 확률 밀도 함수를 알고는 있지만, 그 함수를 통해 샘플을 생성하기 어려울 때 활용할 수 있다. Rejection sampling의 기본적인 동작은 쉽게 샘플을 생성할 수 있는 $q$에서 샘플들을 생성한 뒤에 이 샘플들의 분포가 $p$(타겟 분포)를 따르도록 수정하는 것이다. 이를 통해 실제로는 $q$에서 샘플이 생성되었지만, 그 결과는 $p$에서 생성된 것처럼 만드는 것이다. 이때 쉽게 샘플을 생성할 수 있도록 임의로 설정한 $q$를 제안 분포 (proposal distribution) 이라고.. 2023. 6. 8.
파이썬(Python) - Iterator 사용하기 Iterator란? Iterator는 값을 차례대로 꺼낼 수 있는 객체(Object)이다. 예를 들어 for i in range(100): 구문에서는 0~99 까지의 연속된 숫자를 보여주는데, 사실 숫자를 모두 만드는 것이 아니라 0~99 까지 값을 차례대로 꺼낼 수 있는 iterator를 만든 후 이를 반복하면서 숫자를 하나씩 꺼내는 것이다. 만약 연속된 숫자를 미리 만들면 숫자가 적을 때는 상관 없지만, 아주 많을 때는 메모리를 많이 사용하게 되어 성능에 불리해진다. 그래서 파이썬에서는 iterator만 생성하고 값이 필요한 시점이 되었을 때 값을 만드는 방식을 사용한다. 즉, 데이터 생성을 뒤로 미루는 것이며 이러한 방식을 지연 평가 (lazy evaluation) 이라고 한다. Iterable이란.. 2023. 5. 30.
728x90