MOT 데이터셋은 MOT15, MOT16, MOT17, MOT20이 존재합니다. 여기서, MOT17은 MOT16과 동일한 Sequence들로 구성되어 있습니다. 하지만, Annotation이 보다 정확하게 돼 있으므로 MOT17을 사용하는 것을 권장합니다. MOT15 Directory Structure 2DMOT2015/ test/ ADL-Rundle-1 det img1 000001.jpg ... ADL-Rundle-3 AVG-TownCentre ETH-Crossing ETH-Jelmoli ETH-Linthescher KITTI-16 KITTI-19 PETS09-S2L2 TUD-Crossing Venice-1 train/ ADL-Rundle-6 det gt gt.txt img1 000001.jpg .....
본 글은 MOT20: A benchmark for multi object tracking in crowded scenes를 읽고 내용을 정리된 글입니다. MOT dataset에는 Task에 따라 2가지 Ground Truth Format이 존재합니다. Task는 Tracking, Detection으로 나뉩니다. Detection 다음의 Text는 Detection Task의 Ground Truth 예시입니다. 1, -1, 794.2, 47.5, 71.2, 174.8, 1, -1, -1 1, -1, 164.1, 19.6, 66.5, 163.2, 1, -1, -1 1, -1, 875.4, 39.9, 25.3, 145.0, 1, -1, -1 2, -1, 781.7, 25.1, 69.2, 170.2, 0, -1..
gpu: titan xp gpu driver version: Driver Version: 441.22(cuda 설치 시 설치되는 driver) cuda version: 10.2.1 cudnn version: 7.6.5.32 0. anaconda 설치(Python도 함께 설치됨) 1. conda 환경 생성 conda create -n FairMOT python=3.7 conda activate FairMOT 2. C/C++ 빌드 툴 설치 https://visualstudio.microsoft.com/ko/thank-you-downloading-visual-studio/?sku=BuildTools&rel=16 3. Cython 설치 pip install --upgrade cython 4. cython-bbo..
본 게시글은 해당 링크를 참고하여 작성된 게시글입니다. Multi GPUs를 사용하여 Model을 학습시키고 Weights을 저장하면 모든 Parameter의 Key값에 "module."이 붙은채로 저장됩니다. 그런데, 이렇게 되면 Model의 멤버 변수(self.*)를 클래스 외부에서 접근할때 코딩 시 객체명.* 으로 접근하지 못하고 객체명.module.*과 같이 "module"을 붙여주어야 접근이 가능해집니다. 이렇게 되면, 코드를 작성할때 항상 module의 존재를 신경써주어야 합니다. 문제를 파악해봅시다. module이 붙는 이유는 Model을 병렬화 시켰기 때문이고, Model을 병렬화 시켰던 이유는 Load하고자하는 Weights의 Key값에 'module.'이 붙었기 때문입니다. 해결 방법은..
import torch import torch.nn as nn import torchvision.models as models class CNN(nn.Module): def __init__(self, ): super(CNN, self).__init__() self.backbone = models.resnet18(pretrained=True) for p in self.backbone.parameters(): p.requires_grad = True self.fc = nn.Linear(512, 2) def forward(self, x): x = self.backbone.conv1(x) x = self.backbone.bn1(x) x = self.backbone.relu(x) x = self.backbone...
모델 학습 시, 작은 Batch Size로 학습 시키는 것이 Regularization 효과를 낼 수 있다고 합니다. [1] 작은 Batch Size로 학습 시킬 때, 유의할 점이 있습니다. 일반적으로 Batch Size가 작을 수록 학습 단계에서 Gradient의 Variance가 커집니다. 이에 따라 Learning Rate를 작게 설정하는 것을 권장합니다. 하지만, Batch Normalization Layer가 모델에 포함된 경우에 학습 시 극도로 작은 Batch Size(< 8) 는 오히려 성능을 크게 저하 시킬 수 있습니다. [2] 메모리의 한계로 큰 Batch Size로 학습 시키기 힘든 경우, Group Normalization Layer를 Batch Normalization Layer 대..
Loss Function, Cost Function, Error는 머신 러닝, 딥 러닝 공부를 하다보면 익히 들어봤을 용어일 것입니다. 그런데, Empirical Risk는 어쩌면 생소한 용어일 수 있습니다. Risk는 Error와 같으며, 여기서 Error는 Loss Function의 값을 의미합니다. 즉, 우리의 모델이 문제를 얼마나 잘풀어냈는지(낮을수록 좋음)를 정량적으로 나타낸 값입니다. Empirical Risk는 우리가 가진 전체 데이터 샘플에 대한 Loss Function 의 평균값입니다. 즉, Cost Function 의 값과 동일합니다. 즉, Empirical Risk Minimization은 Empirical Risk를 Minimization 한다는 것으로 Cost Function을 M..
- Total
- Today
- Yesterday
- 위상 정렬 알고리즘
- 자료구조
- Lowest Common Ancestor
- 이분탐색
- 조합
- 파이참
- 백준 11437
- PyCharm
- 문제집
- 백트래킹
- cosine
- 인공지능을 위한 선형대수
- LCA
- 가장 긴 증가하는 부분 수열
- FairMOT
- 순열
- MOT
- C++ Deploy
- 백준 11053
- ㅂ
- 단축키
- 백준 1766
- 백준
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |