본문 바로가기

전체 글

(124)
[논문 리뷰] HRNet - Human Pose Estimation Sun, Ke, et al. "Deep high-resolution representation learning for human pose estimation." Proceedings of the IEEE/CVF conference on computer vision and pattern recognition. 2019. Pose estimation$(W, H, 3)$ 이미지 $I$에서 $K$개의 키포인트를 예측하는 작업이다. 이를 위해 $W' \times H'$ 크기의 K개 히트맵 $H_1, H_2,...,H_K$을 추정하는 문제로 변환한다. 각 히트맵 $H_K$는 k번 째 키포인트 위치의 신뢰도를 나타낸다. 따라서 가장 값이 높은 픽셀을 키 포인트의 위치로 정한다.  Architecture다른 모델들아래..
[MATLAB] 1-2 신호의 에너지와 전력 계산하기 수치 적분 함수1. integral예제f = @(x) x.^2; % 적분할 함수Q = integral(f, 0, 1); % 구간 [0, 1]에서 적분disp(Q); % 결과 출력, 1/3 ≈ 0.3333 혹은 피적분 함수가 같은 경로내 다른 m파일에 정의된 경우에는 다음과 같이 사용한다.Q = integral(@new_f, 0, 1); % 구간 [0, 1]에서 적분disp(Q); % 결과 출력, 1/3 ≈ 0.3333 함수 핸들을 입력으로 받아 적응형 방법으로 수치적분을 수행복잡한 함수, 무한 구간, 특이점이 있는 함수에도 적합다양한 옵션 제공정밀한 계산을 위해 사용 2. trapz예제t = 0:0.01:1; % 시간 벡터y = t.^2; % y 값 벡터Q = trapz(t, y); % 사다리꼴 법을 사..
[MATLAB] 1-1 정현파 그리기 문제다음과 같이 표현되는 정현파에 대해 주어진 조건에 따라 각각의 파형을 그려라. $x(t) = A \cos(2\pi f_0 t + \phi )$ (a) 위상이 다른 정현파1. 초기화 및 환경 설정close all;clear;clc; close all; : 모든 열린 그래프 창을 닫는다.clear : workspace의 모든 변수를 삭제한다.clc : 명령 창을 지운다. 2. 시간 벡터 설정ti = -1;tf = 3;dt = 0.01;t = ti:dt:tf; t는 ti에서 tf까지 dt간격으로 생성된 시간 벡터 3. 신호 파라미터 설정A = 1;f0 = 1;phase = [0 -(pi/2) pi/2]; 4. 코사인 신호 생성x1 = A * cos(2 * pi * f0 * t + phase(1));x2 =..
[논문 리뷰] Swin Transformer V2 Swin Transformer V2: Scaling Up Capacity and ResolutionCVPR 2022  저자들은 large scale vision model의 훈련과 응용에서 세 가지 주요 문제점을 발견했다고 한다.훈련 불안정성pre-training과 fine-tuning 간 해상도 차이레이블된 데이터를 많이 필요로 하는 문제 이런 문제를 해결하기 위해 저자들이 제안한 기술은 다음과 같다.훈련 안정성을 향상시키기 위한 consine attention과 결합된 residual-post-norm저해상도 이미지를 사용하여 사전 훈련된 모델을 고해상도 입력을 사용하는 downstream으로 효과적으로 이전하는 log-spaced continuous position bias광범위한 레이블이 필요 없..
Bicubic Interpolation 이 보간법은 $(x, y)|0 \le x \le 1, 0 \le y \le 1$로 정의되는 $D$의 임의의 점 $x, y$로 부터 16개의 점의 값을 보간하는 방법이다. 보간 곡면 $f(x, y)$는 다음과 같이 $x, y$의 3차 함수로 정의된다. $f(x, y) = \sum_{i=0}^3 \sum_{j=0}^3 a_{ij} x^i y^j$ 보간하는 점이 16개인 이유는 위의 수식에서 미지수가 $a_{00}$ ~ $a_{33}$으로 16개이기 때문이다. 미지수가 16개이기 때문에 자명한 해를 구하기 위해서는 16개의 관계식이 필요하다. 따라서 계수를 추정하기 위해 $D$의 4개의 코너에 대한 함수값, x에 대한 편미분, y에 대한 편미분, 그리고 x, y에 대한 편미분을 사용한다. 먼저 4개의 코너에 ..
[PyTorch] LayerNorm 레이어 정규화는 색칠되어 있는 값을 가지고 평균과 분산을 계산해 정규화를 수행하는 방법이다.  N, C, H, W shape을 가진 4차원 입력에 대해 위의 그림과 동일하게 LayerNorm을 적용하는 방식은 다음과 같다.import torchimport torch.nn as nnN, C, H, W = 10, 3, 32, 32normalized_shape = [C, H, W]x = torch.randn(N, C, H, W)layer_norm = nn.LayerNorm(normalized_shape=normalized_shape)x_norm = layer_norm(x) LayerNorm은 D차원의 normalized_shape을 입력으로 받아 입력의 마지막 D차원에 대해 평균과 분산을 계산해 정규화를 수행..
[논문 리뷰] SRGAN Photo-Realistic Single Image Super Resolution Using a Generative Adversarial Network CVPR 2017 0.background PSNR Peak Signal-to-Noise Ratio의 약자로, 영상 및 음향 등 신호처리 분야에서 사용되는 평가지표이다. PSNR은 원본 신호와 압축된 또는 왜곡된 신호 간의 품질을 비교하는 데 사용된다. 수식은 다음과 같다. $PSNR = 10 \log_{10} ({{MAX}^2 \over {MSE}})$ MAX는 픽셀이나 샘플 값의 최대 가능 값이다. 예를 들어, 8비트 영상의 경우 MAX는 255이다. PSNR은 dB로 표시되며, 높은 PSNR 값은 더 좋은 품질을 나타낸다. 예를 들어, 30dB 이상인..
파이토치 재현성 import os import random import numpy as np import torch CFG = { 'IMG_SIZE':224, 'EPOCHS':5, 'LEARNING_RATE':3e-4, 'BATCH_SIZE':32, 'SEED':41 } def seed_everything(seed): random.seed(seed) os.environ['PYTHONHASHSEED'] = str(seed) np.random.seed(seed) torch.manual_seed(seed) torch.cuda.manual_seed(seed) torch.backends.cudnn.deterministic = True torch.backends.cudnn.benchmark = True seed_everything..