Paper Reading
-
[리뷰] 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..
-
[리뷰] 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 ..
-
[리뷰] Track to Detect and Segment: An Online Multi-Object Tracker
이번에는 Multi-Object Tracking에 관련된 CVPR 2021에 게재된 논문인 TraDeS(Track to Detection and Segment: An Online Multi-Object Tracker)를 읽고, 리뷰해보고자 합니다. 사실, 교수님이 처음으로 읽으라고 주신게 이전 포스팅인 YOLOv1 이었는데, 바로 다음 읽을거리로 이걸 주셔서...ㅎㅎ (이하생략) 암튼 열심히 찾고 공부한 기분이었다. Index 1. Background 1.1. Object Tracking 1.2. TBD 1.3. JDT 1.4. Cost Volume 1.5. DCN 1.6. CenterNet 1.7. re-ID 2. Abstract 3. Introduction 4. Preliminary 5. TraDeS..
-
[리뷰] You Only Look Once: Unified, Real-Time Object Detection
처음 해보는 티스토리 블로그 포스팅이라 레이아웃이 많이 어색할 수 있지만, 내용만큼은 열정을 다해서 써봅니다. 아직은 졸업 직전인 학부생이지만, 3월부터 Lab에 출근을 해서 기초지식을 공부하다가 지금에서야 처음으로 Object Detection에 관련된 hot한 논문을 첫 논문으로 읽고, 리뷰해보고자 합니다. 목차 1. 배경 지식 1.1. Object Detection 1.2. IoU 1.3. NMS 1.4. Classification Evaluation Metrics 1.5. mAP 2. Abstract 3. Introduction 3.1. YOLO 3.2. Overview 4. Unified Detection 4.1. Object Detection Process 4.2. Network Design ..
Deep Learning
-
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 Network 1. 개념 순차 데이터를 처리하는데 적합한 신경망 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 g..
-
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..
-
다양한 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 Detection 1. 개념 영상 속에서 어떤 물체가 어디에 있는지 파악하는 것을 객체 탐지라고 합니다. 2. 예시 위 사진에서, 어떤 물체(사람, 버스, 자전거 등)가 어디(화면의 가운데, 우측 하단 등에 box 표시)에 alstn59v.tistory.com 1. 개념 영상에서 어떤 object가 \( frame^{t} \) ~ \( frame^{t-\tau} \) 사이에 등장한다고 했을 때, 그 object를 detection하고, 그 object의 시간에 따른 위치 변화를 추적하는 것 2. 예시 아래 사진에서, 어떤 물체(사람 등)가 언제(\( frame^{t} \) ~ \( frame^{t-\tau} \)) 어디(화면의 가운데, 우측 하단..
-
mean Average Precision
1. 개념 줄여서 mAP라 하며, 각 class에 대해 예측한 것의 average precision에 평균을 취해준 것 값이 클수록 성능이 좋음 Precision-Recall curve의 아래 면적과 같은 값
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
최신 글
-
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..
-
KL Divergence
0. 들어가기에 앞서본 게시글은 쿨백-라이블러 발산(Kullback–Leibler divergence, KLD)에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다.더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. 배경 지식아무래도 수학적인 내용이기 때문에, 잘 설명되어있는 블로그 링크로 대체하였음1.1. 엔트로피 초보를 위한 정보이론 안내서 - Entropy란 무엇일까딥러닝을 공부하다 보면 KL-divergence, cross-entropy 등에서 entropy라는 용어를 자주 접하게 됩니다. 이번 글을 통해서 정보이론의 아버지라 불리는 Shannon이 주창한 기초 개념인 entropy를 정리해봅니다.hyunw.kim 정보 엔트로피(information e..
-
Mine Sweeper Game
Minesweeper using Reinforcement Learning¶Import Libraires¶In [1]: import pandas as pdimport numpy as npfrom itertools import productimport randomfrom random import choicefrom collections import namedtuplefrom scipy.signal import convolve2dfrom tqdm import trangefrom time import sleepimport matplotlib.pyplot as pltfrom IPython.display import clear_outputimport ipywidgets as widgets%matplotlib..
-
Last Card Game
1. Game ruleThere are 100 cardsTwo playersplayer-0 (AI), player-1 (human)Player-turn sequence: player0-player1-player0-player1- ….Each player will draw up to 3 cards in his turnThe player who draws the 100th card (the last card) wins! 2. Gameplay# of drawn cards = 0, Player-0 draws 3 cards# of drawn cards = 3, Player-1 draws 1 card# of drawn cards = 4, Player-0 draws 1 card# of drawn cards = 5, ..
-
Solving Maze using Reinforcement Learning
1. DP using greedyfrom pyamaze import maze, agentimport numpy as np# Load the Mazesize = 5m=maze(size,size)m.CreateMaze(loadMaze="maze.csv")# create the environment modelstates = list(m.maze_map.keys())actions = ['E','N', 'W', 'S']# define how an action changes a statedef step(state, action): x, y = state if action=='E': y += 1 elif action=='W': y -= 1 elif action=='N':..
-
AutoEncoder Implementation
Import Library¶In [1]: import numpy as npfrom sklearn.datasets import load_breast_cancerfrom sklearn.decomposition import PCAimport matplotlib.pyplot as pltimport tensorflow as tf%matplotlib inline /home/pmi-minos-3090-single/anaconda3/lib/python3.9/site-packages/scipy/__init__.py:146: UserWarning: A NumPy version >=1.16.5 and ={np_minversion} and Data Load¶In [2]: data = loa..
-
Markov Decision Process Example
MDP example¶State Value Function Changes in Policy Iterations¶Import Library¶In [1]: import numpy as np Grid World¶In [2]: BOARD_ROWS = 3 # grid world 세로BOARD_COLS = 3 # grid world 가로GAMMA = 1.0POSSIBLE_ACTIONS = [0, 1, 2, 3] # 좌, 우, 상, 하ACTIONS = [(-1, 0), (1, 0), (0, -1), (0, 1)] # 좌표로 나타낸 행동REWARDS = [] Environment¶In [3]: class Env: def __init__(self): self.heig..
-
[리뷰] 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..
-
LSTM을 이용한 주식 가격 예측
Import Library¶In [1]: import FinanceDataReader as fdrfrom sklearn.preprocessing import MinMaxScalerimport torchimport timeimport matplotlib.pyplot as plt%matplotlib inline Define LSTM model¶In [2]: class LSTM(torch.nn.Module) : def __init__(self, num_classes, input_size, hidden_size, num_layers, seq_length, device) : super(LSTM, self).__init__() self.num_classes = n..
-
Python with Numpy
Python with numpy¶Variables and Literals¶= means assign.a=5 means assign the numeric literal 5 to the variable a.a="Five" means assign the string literal "Five" to the variable a.In [1]: a = 5print("a =", a)a = "Five"print("a =", a) a = 5a = FiveOperators¶In [2]: x = 14y = 4# Add two operandsprint('x + y =', x+y) # Output: x + y = 18# Subtract right operand from the leftprint..
-
Exploratory data analysis and visualization
탐색적 데이터 분석과 데이터 시각화 실습¶In [1]: !pip install -q --upgrade matplotlib /bin/bash: pip: command not found들어가기¶‘통계학자’ 나이팅게일의 ‘로즈 다이어그램’In [2]: from packaging import versionimport matplotlib as mplimport matplotlib.pyplot as pltimport matplotlib_inline.backend_inlineimport numpy as npimport pandas as pdassert version.parse(mpl.__version__) >= version.Version("3.5"), ( "에러가 난다면 첫..
-
IBM HR data Binary Classification
hr_data_binary_classification¶IBM HR data¶https://www.kaggle.com/datasets/pavansubhasht/ibm-hr-analytics-attrition-dataset구글 드라이브 연동¶In [ ]: from google.colab import drivedrive.mount('/content/drive') Mounted at /content/drive1. 문제 파악 및 목표 설정¶2. 데이터 수집 및 전처리¶In [ ]: import numpy as npimport pandas as pdimport matplotlib.pyplot as pltimport seaborn as snsimport missingno as ms..
- 글 작성 예정 입니다.
-
Face Recognition
Implement CNN Model¶Import Library¶In [1]: import scipy.io as sioimport matplotlib.pyplot as pltimport tensorflow as tfimport numpy as np%matplotlib inline 2022-12-07 17:52:14.633420: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To tur..
-
Image Prediction
Import Library¶In [1]: import tensorflow as tfimport numpy as npimport matplotlib.pyplot as plt%matplotlib inline 2022-11-23 17:10:00.971077: I tensorflow/core/util/util.cc:169] oneDNN custom operations are on. You may see slightly different numerical results due to floating-point round-off errors from different computation orders. To turn them off, set the environment variable `..
인기 글
-
subprocess.CalledProcessError: Command '['git', 'describe']' returned non-zero exit status 128
1. 에러 화면subprocess.check_output(["git", "describe"])))subprocess.CalledProcessError: Command '['git', 'describe']' returned non-zero exit status 128. 2. 발생 원인무언가 subprocess를 check 하는 알고리즘과, 설치된 라이브러리의 버전 차이에 따른 오류로 파악 3. 발생 위치본인의 파이썬(아나콘다) 설치경로(.../pythonX.X) 폴더의 subprocess.py 파일 4. 해결 방법파일의 내용 중, ~, check=True, ~ 부분을 ~, check=False, ~로 수정
-
KL Divergence
0. 들어가기에 앞서본 게시글은 쿨백-라이블러 발산(Kullback–Leibler divergence, KLD)에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다.더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. 배경 지식아무래도 수학적인 내용이기 때문에, 잘 설명되어있는 블로그 링크로 대체하였음1.1. 엔트로피 초보를 위한 정보이론 안내서 - Entropy란 무엇일까딥러닝을 공부하다 보면 KL-divergence, cross-entropy 등에서 entropy라는 용어를 자주 접하게 됩니다. 이번 글을 통해서 정보이론의 아버지라 불리는 Shannon이 주창한 기초 개념인 entropy를 정리해봅니다.hyunw.kim 정보 엔트로피(information e..
-
우분투 영상 코덱 설치
0. 개요ubuntu를 설치하고, 처음 사용하면 코덱의 라이센스 관련 문제(MPEG-4 AAC, H.264, ... etc)로 영상이 재생되지 않는 경우에 대한 해결을 위한 글 1. 코덱 설치아래의 명령어를 터미널에 입력하여 코덱 설치sudo apt install ubuntu-restricted-extras
-
[리뷰] 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. ..
-
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'...
-
[리뷰] 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...
-
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. 해결 방법모델의 크기 축소, 배치 크기 축소 등
-
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 실행..
-
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..
-
Last Card Game
1. Game ruleThere are 100 cardsTwo playersplayer-0 (AI), player-1 (human)Player-turn sequence: player0-player1-player0-player1- ….Each player will draw up to 3 cards in his turnThe player who draws the 100th card (the last card) wins! 2. Gameplay# of drawn cards = 0, Player-0 draws 3 cards# of drawn cards = 3, Player-1 draws 1 card# of drawn cards = 4, Player-0 draws 1 card# of drawn cards = 5, ..
-
inotify_add_watch(/home/ubuntu/.config/ibus/bus/f548ca9829174c86875fb96977812812-unix-1) failed: (No space left on device)
1. 에러 화면inotify_add_watch(/home//.config/ibus/bus/) failed: (No space left on device) 2. 발생 원인/dev/loop* 의 공간이 모두 100%로 가득 차서 발생 3. inode 용량 확인 방법터미널에서 $ df -h 를 입력하여 확인 4. 해결 방법아래의 명령어를 터미널에 입력하여 /dev/loop* 의 공간을 모두 삭제할 수 있음$ sudo apt autoremove --purge snapd
-
[리뷰] 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..
-
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 ..
-
Kalman Filter
0. 들어가기에 앞서 본 게시글은 Kalman Filter에 대해 쉽게 이해할 수 있도록 최대한 간략하게 작성한 글입니다. 더욱 자세한 내용을 알고싶다면, 아래의 참고 링크 부분의 링크를 참고 바랍니다. 1. 개념 noise가 존재하는 센서 측정값으로부터, noise가 제거된 정확한 값을 확률적으로 추정하는 방법 예측한 값과 실제 측정값을 이용하여 더 잘 추측하기 위해 상태를 업데이트 predict와 update(correct) 과정을 반복 matrix 기반의 연산으로, 실행속도가 빠름 object의 정보(위치, 속도 등)로 데이터를 처리 2. 계산 방법 보통 인터넷에 검색을 해보면 아래 그림을 보여주면서, 수식에 겁을 먹어 이해를 포기하게 만든다. 그러나 여러 링크를 통해 공부하고 보기좋게 직접 정리한..
-
Mine Sweeper Game
Minesweeper using Reinforcement Learning¶Import Libraires¶In [1]: import pandas as pdimport numpy as npfrom itertools import productimport randomfrom random import choicefrom collections import namedtuplefrom scipy.signal import convolve2dfrom tqdm import trangefrom time import sleepimport matplotlib.pyplot as pltfrom IPython.display import clear_outputimport ipywidgets as widgets%matplotlib..
- 방문자수
전체 방문자
오늘 방문자
어제 방문자