Paper Reading
-
[리뷰] Focus On Details: Online Multi-object Tracking with Diverse Fine-grained Representation
이번에는 CVPR 2023에 게재된 논문인 ocus On Details: Online Multi-object Tracking with Diverse Fine-grained Representation를 읽고, 리뷰해보고자 합니다.Index1. Background 1.1. Triplet Loss2. Abstract3. Introduction4. Related Work5. Method 5.1. Overview 5.2. Flow Aligned FPN 5.3. Multi-head Part Mask Generator 5.4. Train and Inference6. Experiment7. Conclusion 1. Background1.1. Triplet Loss Triplet Loss1. ..
-
[리뷰] Target Detection Method using Lightweight Mean Shift Segmentation and Shape Features
이번에는 한국컴퓨터정보학회 2022 동계학술대회 논문집 제30권 1호에 발표된 논문인 Target Detection Method using Lightweight Mean Shift Segmentation and Shape Features를 읽고, 이전과 다르게 세세한 리뷰 보다는, 요약 및 논문에 대한 내 생각을 위주로 정리해보고자 합니다.Index1. Summary2. My Opinion1. Summary본 논문은 하드웨어 리소스가 제한된 장치에서 영상 분할 방법을 이용하여 small size object의detection을 하는 방법의 개선 방안에 대해 제안한다.영상 분할 방법은 region 기반 방법과, edge 기반 방법으로 나누어지며 대표적으로 FCM, Quickshift, Felzenszwal..
-
[리뷰] TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios
이번에는 VisDrone 2021 ICCV workshop에 발표된 논문인 TPH-YOLOv5: Improved YOLOv5 Based on Transformer Prediction Head for Object Detection on Drone-captured Scenarios를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. YOLO 1.2. Transformer 1.3. Convolutional Block Attention Model 2. Abstract 3. Introduction 4. Related Work 5. Method 5.1. Overview of YOLOv5 5.2. TPH-YOLOv5 6. Experiment 7. Conclusion 1. Background 1..
-
[리뷰] A Normalized Gaussian Wasserstein Distance for Tiny Object Detection
이번에는 ISRPS 2022에 발표된 논문인 A Normalized Gaussian Wasserstein Distance for Tiny Object Detection를 읽고, 이전과 다르게 세세한 리뷰 보다는, 새롭게 제시된 개념 위주로 간략하게 훑어보고자 합니다. Index 1. Background 1.1. Problem about tiny object detection 1.2. 다양한 IoU의 종류 2. Method 2.1. Wasserstein Distance 2.2. Gaussian Wassertein Distance 2.3. Normalized Gaussian Wassertein Distance 3. Experiment 1. Background 1.1. Problem about tiny obj..
-
[리뷰] Quo Vadis: Is Trajectory Forecasting the Key Towards Long-Term Multi-Object Tracking?
이번에는 NeurIPS 2022에 발표된 논문인 Quo Vadis: Is Trajectory Forecasting the Key Towards Long-Term Multi-Object Tracking?를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. Homography 1.2. Graph Neural Network 1.3. Bi-Partite Matching 2. Abstract 3. Introduction 4. Related Work 5. Method 5.1. Overview 5.2. Data-driven Homography Estimation 5.3. Forecasting 5.4. Tracking via Forecasting 6. Experiment 7. Conclusion..
-
[리뷰] KalmanNet: Neural Network Aided Kalman Filtering for Partially Known Dynamics
이번에는 IEEE Transactions on Signal Processing 2022에 발표된 논문인 KalmanNet: Neural Network Aided Kalman Filtering for Partially Known Dynamics를 읽고, 리뷰해보고자 합니다.Index1. Background 1.1. State Space Model 1.2. Data-Aided Filtering Problem Formulation 1.3. Extended Kalman Filter 1.4. Recurrent Neural Network 1.5. Back Propagation Through Time 1.6. Truncated BPTT 1.7. Gated Recurrent Uni..
-
[리뷰] Hard to Track Object with Irregular Motions and Similar Appearances? Make It Easier by Buffering the Matching Space
이번에는 WACV 2023에 발표된 논문인 Hard to Track Object with Irregular Motions and Similar Appearances? Make It Easier by Buffering the Matching Space를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. Generalized IoU 1.2. Distance IoU 1.3. Complete IoU 2. Abstract 3. Introduction 4. Related Work 5. Method 5.1. Tracking Pipeline 5.2. Buffered IoU 5.3. Simple Motion Estimation 5.4. Track Management 6. Experiment 7. ..
-
[리뷰] Observation-Centric SORT: Rethinking SORT for Robust Multi-Object Tracking
이번에는 2022년에 발표된 논문인 Observation-Centric SORT: Rethinking SORT for Robust Multi-Object Tracking를 읽고, 리뷰해보고자 합니다. 본 논문은 2023년에 발표된 논문인 Deep OC-SORT: Multi-Pedestrian Tracking by Adaptive Re-Identification의 baseline이 되는 논문입니다. Index 1. Background 1.1. Limitations of Simple Online and Realtime Tracking 2. Abstract 3. Introduction 4. Related Work 5. Method 5.1. Observation-centric Online Smoothing 5...
-
[리뷰] SMILEtrack: SiMIlarity LEarning for Multiple Object Tracking
이번에는 2022년에 발표된 논문인 SMILEtrack: SiMIlarity LEarning for Multiple Object Tracking를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. Seperate Detection and Embedding 1.2. ByteTrack 2. Abstract 3. Introduction 3.1. Previous Method 3.2. Proposed Method 4. Related Work 5. Method 5.1. Architecture Overview 5.2. Similarity Learning Module for Re-ID 5.3. The Image Slicing Attention Block 5.4. Image Slicing 5.5...
-
[리뷰] BoT-SORT: Robust Associations Multi-Pedestrian Tracking
이번에는 2022년에 발표된 논문인 BoT-SORT: Robust Associations Multi-Pedestrian Tracking를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. Extrapolaltion 1.2. Linear Kalman Filter 1.3. RANdom SAmple Consensus 1.4. Rigid Motion & Non-Rigid Motion 2. Abstract 3. Introduction 4. Related Work 5. Method 5.1. Kalman Filter 5.2. Camera Motion Compensation 5.3. IoU - Re-ID Fusion 5.4. Whole Architecture 6. Experiment 7. Con..
-
[리뷰] StrongSORT: Make DeepSORT Great Again
이번에는 IEEE 2023에 게재된 논문인 StrongSORT: Make DeepSORT Great Again를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. Mahalanobis Distance 1.2. Exponential Moving Average 1.3. High Order Tracking Accuracy 2. Abstract 3. Introduction 4. Related Work 5. Method 5.1. Review of DeepSORT 5.2. Stronger DeepSORT 5.3. Appearance-Free Link model 5.4. Gaussian-Smoothed Interpolation 6. Experiment 7. Conclusion 1. Backgr..
-
[리뷰] MOTR: End-to-End Multiple-Object Tracking with TRansformer
이번에는 ECCV 2022에 게재된 논문인 MOTR: End-to-End Multiple-Object Tracking with TRansformer를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. Tracking by Detection 1.2. Object Query 2. Abstract 3. Introduction 4. Related Work 5. Method 5.1. Revisiting Deformable DETR 5.2. Whole Architecture 5.3. Track Query 5.4. Continuous Query Passing 5.5. Query Interaction 5.5.1. Query Interaction Module 5.5.2. Temporal Aggre..
-
[리뷰] ByteTrack: Multi-Object Tracking by Associating Every Detection Box
이번에는 최근 MOT에서 SOTA를 달성한 ECCV 2022에 게재된 논문인 ByteTrack: Multi-Object Tracking by Associating Every Detection Box를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. Kalman Filter 1.2. Hungarian Algorithm 1.3. Simple Online Realtime Tracking 1.4. DeepSORT 2. Abstract 3. Introduction 4. Related Work 4.1. Object Detection in MOT 4.2. Data Association 5. Method 5.1. Overview 5.2. Algorithm 6. Experiment 7. Conc..
-
[리뷰] An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale
이번에는 최근 CV 분야에서도 SOTA를 달성하고 있는 Transformer에 관련된 ICLR 2021에 게재된 논문인 ViT(An Image is Worth 16x16 Words: Transformers for Image Recognition at Scale)를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. Attention, Self-Attention, Transformer 1.2. Inductive Bias 2. Abstract 3. Introduction 4. Related Work 4.1. Transformer 4.2. Attention in CV 4.3. On the relationship between self attention and convolutional la..
-
[리뷰] Attention Mechanisms in Computer Vision: A Survey
이번에는 Attention 기술이 Computer Vision 영역에서는 어떻게 쓰이고 있는지 소개를 하는 2020년에 게재된 논문인 Attention Mechanisms in Computer Vision: A survey를 읽고, 리뷰해보고자 합니다. 논문이 Article 성격에 가까운 Survey 논문이라, 어렵고 원리 및 아이디어의 내용이 주가 아닌, 소개 정도의 내용이어서 리뷰의 성격보다는 번역 및 요약의 성격이 될 것 같습니다. Index 1. Abstract 2. Introduction 3. Methods 3.1. Overview 3.2. Channel Attention 3.3. Spatial Attention 3.4. Temporal Attention 3.5. Branch Attention ..
Deep Learning
-
DDPM Implementation
Import Library¶In [1]:import torchimport torch.nn as nnimport torchvisionimport torchvision.transforms as transformsimport numpy as npimport mathimport matplotlib.pyplot as pltimport PILimport urllibdevice = torch.device("cuda:0")U-Net¶In [2]:class SinusoidalPositionEmbeddings(nn.Module): # position embedding def __init__(self, dim): super().__init__() self.dim = dim def for..
-
Denoising Diffusion Probabilistic Model
1. 배경 지식1.1. Variational AutoEncoder Auto Encoder 요약1. 개념어떠한 데이터 입력이 들어왔을 때, 해당 입력을 압축 시켜 latent vector로 만든 후, 해당 embedding vector를 다시 본래의 입력 데이터 형태로 복원 하는 신경망 2. 구조인코더와 디코더로 이루alstn59v.tistory.com1.2. KL Divergence KL Divergence0. 들어가기에 앞서본 게시글은 쿨백-라이블러 발산(Kullback–Leibler divergence, KLD)에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다.더욱 자세한 내용을 알고싶다면, 아래의 참고alstn59v.tistory.com1.3. Markov Chain Markov Ch..
-
Auto Encoder 요약
1. 개념어떠한 데이터 입력이 들어왔을 때, 해당 입력을 압축 시켜 latent vector로 만든 후, 해당 embedding vector를 다시 본래의 입력 데이터 형태로 복원 하는 신경망 2. 구조인코더와 디코더로 이루어짐인코더는 입력 데이터를 압축하여 latent vector로 만듬, recognition network 라고도 불림디코더는 latent vector를이용하여 원래의 입력 형태로 만듬, generative network 라고도 불림 3. 활용데이터에 대한 차원 축소, 이상 탐지, 노이즈 제거, 인식, 생성 등에 활용됨 4. VAE(; Variational AutoEncoder)기본적인 형태의 오토인코더와 다름확률적 오토인코더로, 학습이 끝난 이후에도 출력이 부분적으로 우연에 의해 결..
-
U-Net: Convolutional Networks for Biomedical Image Segmentation
0. 시작하기에 앞서본 게시물은 아래 참고링크의 게시글을 매우 적극적으로 활용하였으므로, 원 저작자에게 감사의 뜻을 남깁니다. 1. 개념U-Net은 오토인코더(autoencoder)와 같이 데이터의 차원을 축소했다가 다시 확장하는 방식의 모델로, Semantic Segmentation을 수행할 수 있다.그러나 오토인코더는 인코딩 단계에서 차원 축소를 거치면서 이미지 객체에 대한 자세한 위치 정보를 잃게 되고, 디코딩 단계에서도 저차원의 정보만을 이용하기 때문에 위치 정보 손실을 회복하지 못하는 단점이 존재한다.이러한 단점을 극복하기 위해 U-Net은 고차원 정보도 함께 이용하여 이미지의 특징을 추출함과 동시에 정확한 위치 파악을 하기위해 인코딩 단계의 각 레이어에서 얻은 특징을 디코딩 단계의 각 레이어..
-
학습 시 NaN 값 발생 원인
1. 발생 원인계산값에 0이 포함되거나 하여 미분이 불가능해지는 곳에서 발생할 가능성이 높음주로 sqrt, exp, norm 등에서 발생 2. 해결 방법매우 작은 값(1e-6 등)을 더해줘서 결과가 0이 안나오도록 해줌으로써 해결
-
Triplet Loss
1. 개념 무작위 dataset을 뽑은 후, positive pair와 negative pair들과 비교 positive는 가까이, negative는 멀리 배치 2. 계산 방법 \( L(A, P, N)=\max(\Vert f(A)-f(P) \Vert^{2}-\Vert f(A)-f(N) \Vert^{2}+\alpha, 0) \) \( A \)는 anchor input, \( P \)는 positive pair, \( N \)은 negative pair, \( f \)는 embedding, \( \alpha \)는 positive pair와 negative pair 사이의 margin 참고 링크 https://mic97.tistory.com/16 https://soobarkbar.tistory.com/43
-
Graph Neural Network
0. 들어가기에 앞서 본 게시글은 개념적으로 가볍게 GNN이 무엇인지 알아보기 위해 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. 개념 graph에 직접 적용할 수 있는 neural network 노드가 이웃과의 연결에 의해 정의 각 노드를 잘 표현할 수 있는 임베딩을 추출해서 이용 graph 구조를 활용하여 loss를 최적화 참고 자료 https://medium.com/watcha/gnn-소개-기초부터-논문까지-96567b783479 https://velog.io/@whattsup_kim/Graph-Neural-Networks-기본-쉽게-이해하기
-
Gated Recurrent Unit
0. 들어가기에 앞서 본 게시글은 다양한 GRU에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. 배경 지식 LSTM Long Short-Term Memory 0. 배경 지식 RNN Recurrent Neural Network 1. 개념 순차 데이터를 처리하는데 적합한 신경망 machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용 hidden layer의 neuron에서 출력 alstn59v.tistory.com 2. 개념 LSTM을 개선한 모델 forget gate와 input gat..
-
Long Short-Term Memory
0. 배경 지식RNN Recurrent Neural Network1. 개념 순차 데이터를 처리하는데 적합한 신경망 machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용 hidden layer의 neuron에서 출력된 값이 다시 그 neuron의 입력으로 사alstn59v.tistory.com 1. 개념기본적인 RNN의 단점을 보완gradient vanishing의 위험 때문에 멀리 떨어져 있는 정보 전달이 힘듬긴 길이의 시계열 데이터를 처리하는데 우수한 성능 2. 구조forget gate - 맥락을 고려하여 과거 정보의 필요성을 sigmoid를 이용해 결정input gate - 현재..
-
Recurrent Neural Network
1. 개념순차 데이터를 처리하는데 적합한 신경망\(\)machine translation, DNA analysis, voice recognition, motion recognition, sentiment analysis 등에 이용hidden layer의 neuron에서 출력된 값이 다시 그 neuron의 입력으로 사용됨학습된 neuron의 상태가 다음 학습에 사용되는 것이전에 수신한 정보를 계속 보유 = 일종의 단기 기억단기 기억은 hidden weight에 저장동일한 입력이어도 이전의 입력에 따라 다른 출력 결과 생성RNN의 필요 기능가변 길이의 입력에 대한 처리장기 의존성의 추적순서 정보의 유지시퀸스 전체의 파라미터 공유 2. 구조입력 벡터 : \( x_t \)출력 벡터 : \( y_t = f(W_{..
-
다양한 IoU 종류
0. 들어가기에 앞서 본 게시글은 다양한 IoU에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. Vanilla IoU Intersection of Union 1. 개념 줄여서 IoU라 하며, 영상에서 Ground Truth에 해당하는 bounding box와 model이 예측한 bounding box의 겹치는 정도를 계산한 값 즉, 예측한 결과가 얼마나 정답과 일치하는지를 나타냄 2. 계산 방법 alstn59v.tistory.com 2. Generalized IoU GT box와 bounding box를 모두 포함하는 최소 크기의 박스를 이용하는 방식 GT와의 overlap을 위해 box의 영역이 넓어지..
-
Seperate Detection and Embedding
1. 개념 detector와 re-identification model로 이루어진 object tracker 2. 작동 원리 detector를 이용하여 object를 찾은 후, re-ID moddel에서 detected bounding box의 feature에 대한 embedding을 생성 detection에 대해 기존의 track에 association하거나, 새로운 track 생성 3. 문제점 2 stage로 이루어지기 때문에, 실행 속도가 낮음 detector와 re-ID model은 서로 다른 feature를 이용 위의 문제점을 극복하기 위해, JDE 방식을 사용할 수 있음 참고 링크 https://velog.io/@mink7878/Object-Tracking-Towards-Real-Time-Mu..
-
Inductive Bias
1. 개념 어떤 모델이 지금까지 만나보지 못했던 상황에서, 입력값에 대한 예측을 정확하게 하기 위해 사용하는 추가적인 가정 예를 들어 CNN은 locality와 translation invariance가 있음 참고 링크 https://arxiv.org/pdf/1806.01261.pdf
-
re-identification
1. 개념 줄여서 re-ID라 하며, object를 재인식 하는 기술 영상에서 지속적으로 등장하는 object에 대해 재인식하여 동일한 ID를 부여할 수 있다면, tracking이 가능 유사한 object를 구분하거나, 다른 각도에서 본 동일한 object에 대한 구분이 필요 현재, 가려지거나 흐릿한 object에 identification를 하는 것에 대한 어려움이 있음 참고 링크 https://medium.com/modulabs/vital-연구실-논문소개-strdan-synthetic-to-real-domain-adaptation-network-for-vehicle-re-identification-2c8e8529e609
-
Object Tracking
0. 배경 지식Object Detection\(\) Object Detection1. 개념 영상 속에서 어떤 물체가 어디에 있는지 파악하는 것을 객체 탐지라고 합니다. 2. 예시 위 사진에서, 어떤 물체(사람, 버스, 자전거 등)가 어디(화면의 가운데, 우측 하단 등에 box 표시)에alstn59v.tistory.com 1. 개념영상에서 어떤 object가 \( frame^{t} \) ~ \( frame^{t-\tau} \) 사이에 등장한다고 했을 때, 그 object를 detection하고, 그 object의 시간에 따른 위치 변화를 추적하는 것 2. 예시아래 사진에서, 어떤 물체(사람 등)가 언제(\( frame^{t} \) ~ \( frame^{t-\tau} \)) 어디(화면의 가운데, 우측 하단 ..
Ubuntu
-
Wine 수동 빌드 설치
0. 기본 환경이 글은 아래의 환경 및 버전을 기준으로 작성 및 설명함Ubuntu : 20.04.6 LTS 1. 패키지 업데이트, 업그레이드터미널에 아래의 명령어를 입력sudo apt-get updatesudo apt-get upgrade 2. x86 아키텍처 추가터미널에 아래의 명령어를 입력sudo dpkg --add-architecture i386 3. 의존성 패키지 설치터미널에 아래의 명령어를 입력sudo apt-get install gcc-multilib g++-multilibsudo apt-get install xserver-xorg-dev:i386 libfreetype6-dev:i386sudo apt-get install flexsudo apt-get install bison 4. Wine..
-
SSH Tunneling을 이용한 원격 서버의 Jupyter Notebook 접속
0. 개요원격 서버에 허용된 포트가 SSH 포트밖에 없을 때, local 환경에서 원격 서버의 jupyter notebook에 접속하는 방법 1. SSH Tunneling 방법터미널에 아래의 명령어를 입력하여 원격 서버의 특정 포트를 local 환경의 특정 포트와 매칭 하는 것이 가능함# local 환경에서 실행한 터미널ssh -L [local에서 사용할 포트]:localhost:[원격 서버의 Jupyter Notebook 포트] [원격 서버 계정@원격 서버 주소] -p [원격 서버 SSH 포트]이 때, local에서 이미 사용하고 있는 포트를 사용하면 안됨 2. 원격 서버의 Jupyter Notebook 실행 및 접속 방법터미널에 아래의 명령어를 입력하여 원격 서버의 jupyter notebook 실행..
-
FFMPEG 설치 및 사용 방법
0. 개요ubuntu에 ffmpeg를 설치하고, 자주 사용하는 명령어에 대해 정리하기 위해 작성한 글1. FFMPEG 설치아래의 명령어를 터미널에 입력하여 설치sudo apt install ffmpeg # 우분투 환경brew install ffmpeg # 맥 환경아래의 명령어를 터미널에 입력하여, 설치된 버전을 확인할 수 있음ffmpeg -version 2. 자주 사용하는 명령어연구 및 프로젝트를 하면서 자주 이용했던 명령어들을 아래에 정리하였음2.1. 다수의 영상 파일을 하나의 파일로 합치기우선 영상 파일 합칠 준비를 위해 영상 파일이 존재하는 폴더로 이동 후, videolist.txt 파일을 생성하고 해당 파일에 아래의 내ㅐ용 입력file 'a.mp4'file 'b.avi'file 'c.mkv'...
-
우분투 영상 코덱 설치
0. 개요ubuntu를 설치하고, 처음 사용하면 코덱의 라이센스 관련 문제(MPEG-4 AAC, H.264, ... etc)로 영상이 재생되지 않는 경우에 대한 해결을 위한 글 1. 코덱 설치아래의 명령어를 터미널에 입력하여 코덱 설치sudo apt install ubuntu-restricted-extras
-
swap 메모리 크기 변경
1. swap 파일 존재 확인터미널에 아래의 명령어를 입력하여 swap 관련 내용 확인sudo free -msudo swapon -sswap 메모리가 작동 중인 경우, 터미널에 아래의 명령어를 입력하여 작동 중지sudo swapoff -a 2. swap 파일 생성swap 파일이 이미 존재하는 경우(크기 변경을 위해서이니, 대부분 존재할 것), 터미널에 아래의 명령어를 입력하여 파일 삭제sudo swapoff -v /swapfile # 스왑 비활성화sudo rm /swapfile # swap 파일 삭제터미널에 아래의 명령어를 입력하여 파일 생성sudo fallocate -l /swapfile # 예) sudo fallocate -l 4G /swapfile 3. swap 메모리 활성화터미널에 아래의 ..
-
root 계정 생성
0. 개요ubuntu를 설치하고, 처음 사용자 로그인을 하여 root 계정을 활성화 하고자 할 때를 위한 글 1. root 계정 생성아래의 명령어를 터미널에 입력sudo passwd root처음 나오는 암호를 묻는 질문은 현재 로그인한 계정의 암호, 두 번째와 세 번째에 나오는 질문은 root 계정의 암호를 입력
-
SCP를 이용한 원격지의 파일 전송 및 수신
1. SSH Client와 Server 설치기본적으로 ubuntu는 client가 설치되어 있으며, 터미널에 아래의 명령어를 입력하여 server 설치sudo apt install openssh-server설치가 완료되면, 아래의 명령어를 입력하여 설치 및 실행 상태 확인sudo systemctl status ssh서비스가 실행 중이 아니라면, 아래의 명령어를 입력하여 실행 가능sudo systemctl enable sshsudo systemctl start ssh 2. SCP를 이용한 파일 전송 및 수신scp는 ssh 프로토콜을 이용하여 파일을 전송 및 수신하므로, ssh의 기본 포트인 22번 포트를 이용하며, 아래와 같은 기본 명령어 형태를 가짐scp [보내는 파일 or 폴더 경로] [저장될 폴더 경..
-
딥러닝을 위한 Ubuntu에서 CUDA, CUDNN 환경 구축
0. 기본 환경이 글은 아래의 환경 및 버전을 기준으로 작성 및 설명함Ubuntu : 20.04.6 LTSConda : Anaconda3-2020.11CUDA : 11.7cuDNN : 8.4.1 1. 패키지 업데이트, 업그레이드터미널에 아래의 명령어를 입력sudo apt-get updatesudo apt-get upgradereboot # 재부팅 2. 한글 입력 설치터미널에 아래의 명령어를 입력sudo apt upgrade ibus-hangulreboot # 재부팅위의 명령어를 통해 설치가 완료되면, 설정(Settings) -> 지역 및 언어 (Location and Languages) -> 입력 소스(Input source) -> '+' (추가 버튼) 에 들어가서 '한국어'에서 '한국어(Hangul..
-
Terminal에서 커서가 안보이게 될 경우
1. 발생 원인이전 프로세스 비정상 종료 등 2. 해결 방법터미널에 아래의 명령어를 입력setterm -cursor on
최신 글
-
[BAEKJOON ONLINE JUDGE 2816번] 디지털 티비
디지털 티비 in Python문제2012년 12월 31일 새벽 4시부터 지상파 아날로그 TV방송이 종료되었다. TV를 자주보는 할머니를 위해서, 상근이네 집도 디지털 수신기를 구입했다.원래 상근이네 집에는 KBS1과 KBS2만 나왔다. 할머니는 두 방송만 시청한다. 이제 디지털 수신기와 함께 엄청난 양의 채널을 볼 수 있게 되었다. 하지만, 할머니는 오직 KBS1과 KBS2만 보려고 한다. 따라서, 상근이는 채널 리스트를 조절해 KBS1을 첫 번째로, KBS2를 두 번째로 만들려고 한다.티비를 켜면 디지털 수신기는 시청 가능한 채널 리스트를 보여준다. 모든 채널의 이름은 서로 다르고, 항상 KBS1과 KBS2를 포함하고 있다. 상근이는 이 리모콘을 이용해서 리스트의 순서를 바꾸는 법을 알아냈다. 리스트의..
-
[BAEKJOON ONLINE JUDGE 1157번] 단어 공부
단어 공부 in Python문제알파벳 대소문자로 된 단어가 주어지면, 이 단어에서 가장 많이 사용된 알파벳이 무엇인지 알아내는 프로그램을 작성하시오. 단, 대문자와 소문자를 구분하지 않는다.입력 데이터첫째 줄에 알파벳 대소문자로 이루어진 단어가 주어진다. 주어지는 단어의 길이는 1,000,000을 넘지 않는다.입력 예MississipizZazbaaa출력 데이터첫째 줄에 이 단어에서 가장 많이 사용된 알파벳을 대문자로 출력한다. 단, 가장 많이 사용된 알파벳이 여러 개 존재하는 경우에는 ?를 출력한다.출력 예?ZZA해결 방법등장하는 문자열에 대해 모두 대문자로 변환하여 dictionary를 이용해 count 해줌딕셔너리에 대해 문자의 발생 빈도를 기준으로 내림차순 정렬딕셔너리 첫 번째 문자와 두 번째 문자..
-
[BAEKJOON ONLINE JUDGE 4659번] 비밀번호 발음하기
비밀번호 발음하기 in Python문제좋은 패스워드를 만드는것은 어려운 일이다. 대부분의 사용자들은 buddy처럼 발음하기 좋고 기억하기 쉬운 패스워드를 원하나, 이런 패스워드들은 보안의 문제가 발생한다. 어떤 사이트들은 xvtpzyo 같은 비밀번호를 무작위로 부여해 주기도 하지만, 사용자들은 이를 외우는데 어려움을 느끼고 심지어는 포스트잇에 적어 컴퓨터에 붙여놓는다. 가장 이상적인 해결법은 '발음이 가능한' 패스워드를 만드는 것으로 적당히 외우기 쉬우면서도 안전하게 계정을 지킬 수 있다.회사 FnordCom은 그런 패스워드 생성기를 만들려고 계획중이다. 당신은 그 회사 품질 관리 부서의 직원으로 생성기를 테스트해보고 생성되는 패스워드의 품질을 평가하여야 한다. 높은 품질을 가진 비밀번호의 조건은 다음과..
-
[BAEKJOON ONLINE JUDGE 2292번] 벌집
벌집 in Python문제위의 그림과 같이 육각형으로 이루어진 벌집이 있다. 그림에서 보는 바와 같이 중앙의 방 1부터 시작해서 이웃하는 방에 돌아가면서 1씩 증가하는 번호를 주소로 매길 수 있다. 숫자 N이 주어졌을 때, 벌집의 중앙 1에서 N번 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나가는지(시작과 끝을 포함하여)를 계산하는 프로그램을 작성하시오. 예를 들면, 13까지는 3개, 58까지는 5개를 지난다.입력 데이터첫째 줄에 N(1 ≤ N ≤ 1,000,000,000)이 주어진다.입력 예13출력 데이터입력으로 주어진 방까지 최소 개수의 방을 지나서 갈 때 몇 개의 방을 지나는지 출력한다.출력 예3해결 방법1에서 시작하여 4시 방향으로 대각선의 수를 나열해보면 아래와 같음1, 7, 19,..
-
[BAEKJOON ONLINE JUDGE 5073번] 삼각형과 세 변
삼각형과 세 변 in Python문제삼각형의 세 변의 길이가 주어질 때 변의 길이에 따라 다음과 같이 정의한다.Equilateral : 세 변의 길이가 모두 같은 경우Isosceles : 두 변의 길이만 같은 경우Scalene : 세 변의 길이가 모두 다른 경우단 주어진 세 변의 길이가 삼각형의 조건을 만족하지 못하는 경우에는 "Invalid" 를 출력한다. 예를 들어 6, 3, 2가 이 경우에 해당한다. 가장 긴 변의 길이보다 나머지 두 변의 길이의 합이 길지 않으면 삼각형의 조건을 만족하지 못한다.세 변의 길이가 주어질 때 위 정의에 따른 결과를 출력하시오.입력 데이터각 줄에는 1,000을 넘지 않는 양의 정수 3개가 입력된다. 마지막 줄은 0 0 0이며 이 줄은 계산하지 않는다.입력 예7 7 76 ..
-
[리뷰] Focus On Details: Online Multi-object Tracking with Diverse Fine-grained Representation
이번에는 CVPR 2023에 게재된 논문인 ocus On Details: Online Multi-object Tracking with Diverse Fine-grained Representation를 읽고, 리뷰해보고자 합니다.Index1. Background 1.1. Triplet Loss2. Abstract3. Introduction4. Related Work5. Method 5.1. Overview 5.2. Flow Aligned FPN 5.3. Multi-head Part Mask Generator 5.4. Train and Inference6. Experiment7. Conclusion 1. Background1.1. Triplet Loss Triplet Loss1. ..
-
Pandas Tutorial
Introduction to Pandas¶Pandas provide two convenient data structures for storing and manipulating data--Series and DataFrame. A Series is similar to a one-dimensional array whereas a DataFrame is more similar to representing a matrix or a spreadsheet table.In [1]: import numpy as npfrom pandas import Seriesfrom pandas import DataFrameimport pandas as pd%matplotlib inline Series¶A Series ..
-
Numpy Tutorial
Introduction to Numpy¶Numpy, which stands for numerical Python, is a Python library package to support numerical computations. The basic data structure in numpy is a multi-dimensional array object called ndarray. Numpy provides a suite of functions that can efficiently manipulate elements of the ndarray.To see the reference manualHelp → Numpy Referenceor https://docs.scipy.org/doc/num..
-
Visualizing Data
Visualizing Data¶Two primary uses for data visualization:¶To explore dataTo communicate dataData visualization is a rich field of study that deserves its own book.In [1]: import numpy as npfrom collections import Counterimport randomimport matplotlib.pyplot as plt%matplotlib inline matplotlib¶Widely usedGood for simple bar charts, line charts, and scatterplotsmatplotlib.pyplot moduleIn [..
-
Crash Cource in Python
A Crash Cource in Python¶The Basics¶Whitespace Formatting¶Many languages use curly braces to delimit blocks of code. Python uses indentation:In [1]: for i in [1, 2, 3, 4, 5]: print(i) for j in [1, 2, 3, 4, 5]: print(j) print(i + j) print(i)print("done looping") 1122334455612132435465723142536475834152637485945162738495105done loopingWhitespace is ignored in..
-
Ch06. Eigenvalues
1. 개요Linear Algebra with Applications (8th Edition)의 Chapter 6. Eigenvalues 부분을 정리한 내용입니다. 악필인부분 양해 부탁드립니다. 2. 내용
-
Ch05. Orthogonality
1. 개요Linear Algebra with Applications (8th Edition)의 Chapter 5. Orthogonality 부분을 정리한 내용입니다. 악필인부분 양해 부탁드립니다. 2. 내용
-
Ch04. Linear Transformations
1. 개요Linear Algebra with Applications (8th Edition)의 Chapter 4. Linear Transformations 부분을 정리한 내용입니다. 악필인부분 양해 부탁드립니다. 2. 내용
-
Ch03. Vector Spaces
1. 개요Linear Algebra with Applications (8th Edition)의 Chapter 3. Vector Spaces 부분을 정리한 내용입니다. 악필인부분 양해 부탁드립니다. 2. 내용
-
Ch02. Determinants
1. 개요Linear Algebra with Applications (8th Edition)의 Chapter 2. Determinants 부분을 정리한 내용입니다. 악필인부분 양해 부탁드립니다. 2. 내용
인기 글
-
티스토리 BGM 넣기 (feat.스킨 수정)
1. 준비물본인이 마음에 드는 mp3 파일 링크를 활용하는 플레이어 소스코드를 구함필자는 아래 링크의 코드를 수정하여 이용함 Music Player | Audio Player 🎵Simple Beautiful Fully Functional Music | Audio Player. Design inspired by: https://dribbble.com/shots/4240318-Made-with-InVision-Studio-Music-Player...codepen.io 2. 스킨 수정티스토리 스킨 수정 메뉴로 들어가서 필요한 부분을 수행필자는 아래의 과정을 수행함2.1. (스킨 등록) index.xml 파일 수정필자가 사용중인 TriplexLab 스킨에 미넴 스킨의 코드를 참조하여 BGM과 관련된 정보를 ..
-
Error: metadata-generation-failed
1. 에러 화면error: metadata-generation-failed2. 발생 원인python의 pip, setuptools, wheel 의 버전이 낮아 발생3. 해결 방법pip, setuptools, wheel 업데이트pip install --upgrade pippip install --upgrade setuptoolspip install --upgrade wheel
-
ImportError: cannot import name 'A' from partially initialized module 'B' (most likely due to a circular import) (~~~/A.py)
1. 에러 화면ImportError: cannot import name 'ft_net' from partially initialized module 'model' (most likely due to a circular import) (/ubuntu/home/model.py) 2. 발생 원인A.py 에서는 B.py의 B를 import 하고, B.py에서는 A.py의 A를 import 하여 (즉, 서로를 순환 참조 하여) 발생하는 오류 3. 발생 위치모듈을 import하는 부분에서 발생 4. 해결 방법순환 참조를 하지 않도록, 코드 재 구성
-
우분투 영상 코덱 설치
0. 개요ubuntu를 설치하고, 처음 사용하면 코덱의 라이센스 관련 문제(MPEG-4 AAC, H.264, ... etc)로 영상이 재생되지 않는 경우에 대한 해결을 위한 글 1. 코덱 설치아래의 명령어를 터미널에 입력하여 코덱 설치sudo apt install ubuntu-restricted-extras
-
Wine 수동 빌드 설치
0. 기본 환경이 글은 아래의 환경 및 버전을 기준으로 작성 및 설명함Ubuntu : 20.04.6 LTS 1. 패키지 업데이트, 업그레이드터미널에 아래의 명령어를 입력sudo apt-get updatesudo apt-get upgrade 2. x86 아키텍처 추가터미널에 아래의 명령어를 입력sudo dpkg --add-architecture i386 3. 의존성 패키지 설치터미널에 아래의 명령어를 입력sudo apt-get install gcc-multilib g++-multilibsudo apt-get install xserver-xorg-dev:i386 libfreetype6-dev:i386sudo apt-get install flexsudo apt-get install bison 4. Wine..
-
FFMPEG 설치 및 사용 방법
0. 개요ubuntu에 ffmpeg를 설치하고, 자주 사용하는 명령어에 대해 정리하기 위해 작성한 글1. FFMPEG 설치아래의 명령어를 터미널에 입력하여 설치sudo apt install ffmpeg # 우분투 환경brew install ffmpeg # 맥 환경아래의 명령어를 터미널에 입력하여, 설치된 버전을 확인할 수 있음ffmpeg -version 2. 자주 사용하는 명령어연구 및 프로젝트를 하면서 자주 이용했던 명령어들을 아래에 정리하였음2.1. 다수의 영상 파일을 하나의 파일로 합치기우선 영상 파일 합칠 준비를 위해 영상 파일이 존재하는 폴더로 이동 후, videolist.txt 파일을 생성하고 해당 파일에 아래의 내ㅐ용 입력file 'a.mp4'file 'b.avi'file 'c.mkv'...
-
IsADirectoryError: [Errno 21] Is a directory: 'A/B/C'
1. 에러 화면IsADirectoryError: [Errno 21] Is a directory: 'A/B/C' 2. 발생 원인A/B/ 폴더에 있는 C 파일이 이미 해당 경로에서 폴더로 존재하기 때문 3. 발생 위치본인의 파이썬 실행파일의 해당 파일에 접근하는 부분 4. 해결 방법C 폴더를 삭제 하거나 폴더 이름을 바꾸고, C 파일이 생성되도록 파이썬 코드를 수정하거나 비어있는 C 파일을 생성하여 이용
-
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 1
1. 에러 화면ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 1 (pid: 2762685) 2. 발생 원인컴퓨터의 자원(cpu, ram, gpu 등) 한계보다 더 큰 모델의 크기나, 데이터가 한 번에 들어온 경우 3. 발생 위치본인의 파이썬 실행 파일 중, 모델을 구성하는 부분 혹은 데이터를 로드하는 부분 4. 해결 방법모델의 크기 축소, 배치 크기 축소 등
-
[리뷰] StrongSORT: Make DeepSORT Great Again
이번에는 IEEE 2023에 게재된 논문인 StrongSORT: Make DeepSORT Great Again를 읽고, 리뷰해보고자 합니다. Index 1. Background 1.1. Mahalanobis Distance 1.2. Exponential Moving Average 1.3. High Order Tracking Accuracy 2. Abstract 3. Introduction 4. Related Work 5. Method 5.1. Review of DeepSORT 5.2. Stronger DeepSORT 5.3. Appearance-Free Link model 5.4. Gaussian-Smoothed Interpolation 6. Experiment 7. Conclusion 1. Backgr..
-
[리뷰] Attention Mechanisms in Computer Vision: A Survey
이번에는 Attention 기술이 Computer Vision 영역에서는 어떻게 쓰이고 있는지 소개를 하는 2020년에 게재된 논문인 Attention Mechanisms in Computer Vision: A survey를 읽고, 리뷰해보고자 합니다. 논문이 Article 성격에 가까운 Survey 논문이라, 어렵고 원리 및 아이디어의 내용이 주가 아닌, 소개 정도의 내용이어서 리뷰의 성격보다는 번역 및 요약의 성격이 될 것 같습니다. Index 1. Abstract 2. Introduction 3. Methods 3.1. Overview 3.2. Channel Attention 3.3. Spatial Attention 3.4. Temporal Attention 3.5. Branch Attention ..
-
딥러닝을 위한 Ubuntu에서 CUDA, CUDNN 환경 구축
0. 기본 환경이 글은 아래의 환경 및 버전을 기준으로 작성 및 설명함Ubuntu : 20.04.6 LTSConda : Anaconda3-2020.11CUDA : 11.7cuDNN : 8.4.1 1. 패키지 업데이트, 업그레이드터미널에 아래의 명령어를 입력sudo apt-get updatesudo apt-get upgradereboot # 재부팅 2. 한글 입력 설치터미널에 아래의 명령어를 입력sudo apt upgrade ibus-hangulreboot # 재부팅위의 명령어를 통해 설치가 완료되면, 설정(Settings) -> 지역 및 언어 (Location and Languages) -> 입력 소스(Input source) -> '+' (추가 버튼) 에 들어가서 '한국어'에서 '한국어(Hangul..
-
[리뷰] KalmanNet: Neural Network Aided Kalman Filtering for Partially Known Dynamics
이번에는 IEEE Transactions on Signal Processing 2022에 발표된 논문인 KalmanNet: Neural Network Aided Kalman Filtering for Partially Known Dynamics를 읽고, 리뷰해보고자 합니다.Index1. Background 1.1. State Space Model 1.2. Data-Aided Filtering Problem Formulation 1.3. Extended Kalman Filter 1.4. Recurrent Neural Network 1.5. Back Propagation Through Time 1.6. Truncated BPTT 1.7. Gated Recurrent Uni..
-
Computer Vision영역에서의 Attention과 Self-Attention 간략 개념
원래 attention은 NLP 분야에서 먼저 사용되었지만, 요즘은 다양한 영역에 접목시켜 사용한다고 한다. 목차1. 기본적인 Neural Network2. Convolutional Neural Network3. Attention 3.1. 등장 배경 3.2. Attention 3.3. Self-Attention4. 끝으로1. 기본적인 Neural Network Fully Connected neural Network에서 전체 input에 대해 input값 마다 weight를 적용시켜 feature를 추출하는 방식 2. Convolutional Neural NetworkFCN과 다르게 2차원(rgb channel이 있는 경우라면 3차원) input에 대해 filter를 이용하여 인접 픽셀에만..
-
[리뷰] Observation-Centric SORT: Rethinking SORT for Robust Multi-Object Tracking
이번에는 2022년에 발표된 논문인 Observation-Centric SORT: Rethinking SORT for Robust Multi-Object Tracking를 읽고, 리뷰해보고자 합니다. 본 논문은 2023년에 발표된 논문인 Deep OC-SORT: Multi-Pedestrian Tracking by Adaptive Re-Identification의 baseline이 되는 논문입니다. Index 1. Background 1.1. Limitations of Simple Online and Realtime Tracking 2. Abstract 3. Introduction 4. Related Work 5. Method 5.1. Observation-centric Online Smoothing 5...
-
HOTA: High Order Tracking Accuracy
1. 등장 배경MOTA와 IDF1의 아래와 같은 문제점을 보완하기 위함detection과 association을 지나치게 강조predicted box와 GT box 사이의 detection similarity threshold를 0.5로 고정시켜서 값을 측정 2. 개념detection score와 association score의 조합으로, accurate detection과 association의 균형을 맞춘 것detection similarity threshold를 0.05 부터 0.95까지 0.05 intervals로 값을 바꿔가면서 측정localization accuracy를 더 잘 고려 3. 계산 방법\( \text {HOTA}_{\alpha } = \sqrt{\frac{\sum _{c \in ..
- 방문자수
전체 방문자
오늘 방문자
어제 방문자