티스토리 뷰
[Deep Learning] DETR 전처리 과정(padding, bounding box normalization)에 생긴 의문점
developer0hye 2023. 5. 6. 11:12제목에서 언급한 전처리 과정이란 학습과정에서 이미지를 배치데이터로 만들어주는, PyTorch 식 표현으로 collate 하는 과정을 의미한다.
학습 과정시에 transforms를 확인해보면, RandomResize Augmentation이 포함됨을 알 수 있다. 입력 이미지들을 하나의 배치 데이터로 만들어주기 위해서는 사이즈(c, h, w)가 같아야한다. 그런데 RandomResize가 들어가게되면 이 h, w 가 달라질 수 있다.
그래서, DETR에서는 배치 데이터로 만들어줄때, 하나의 배치내에서 가장 큰 h, w를 갖는 이미지를 찾고 그 이미지에 맞게 zero filled image 를 생성하고 거기에 이미지를 top-left 부터 복사한다. 그럼 max size보다 작은 이미지들은 right 과 bottom 부분이 padding된 이미지로 재생성되고 이 이미지가 모델로 들어간다.
여기서 생각해야할 부분이있다. DETR의 Bounding Box Regression Groudn Truth는 Normalized Bounding Box 이다. 이 Normalized Bounding Box는 padding되기전에 해상도를 기준으로 계산된다. 근데, padding되면 이미지의 해상도가 바뀌고 Normalized Bounding Box의 값도 재조정돼야 하는게 맞지 않나 싶었다. 근데 아무리 찾아봐도 padding 후에 Normalized Bounding Box를 후처리 해주는 부분이 없어보였다.
이슈를 찾아보니 나와 같은 생각을 한 사람들이 이미 있었다.
https://github.com/facebookresearch/detr/issues/286
https://github.com/facebookresearch/detr/issues/70
이슈에서 트랜스포머의 특성을 살려 masking된 부분(=padded area)을 연산에 포함시키지 않게 하여 패딩된 부분을 어차피 모델이 보지않아서 큰 문제될게 없다고 말하고 있다. 그치만 앞에 Convolutional Layer를 포함하는 ResNet을 백본으로 쓰는이상 padded area에 의한 영향이 있는게 아니냐고도 누군가 의견을 제시했다. 영향은 있는게 맞는 거 같다.
좀 만 더 봐보고 DETR의 후속 연구로 나온 모델들은 이러한 처리를 어떻게 해줬는지도 확인해봐야겠다.
'Deep Learning' 카테고리의 다른 글
Hockey Fight Detection Dataset (0) | 2023.05.21 |
---|---|
[Deep Learning] Vanilla DETR의 수렴 속도를 확실히 체감할 수 있는 그래프 (0) | 2023.05.08 |
[Deep Learning] COCO pre-trained YOLOv8 모델의 최적의 confidence threshold 탐색 (0) | 2023.04.29 |
[Deep Learning] Windows 에서 COCO Pretrained DINO Object Detector Inference 방법 (2) | 2023.04.17 |
[OnnxRuntime C++] GetInputNameAllocated 와 GetOutputNameAllocated (0) | 2023.02.28 |
- Total
- Today
- Yesterday
- 자료구조
- 백트래킹
- PyCharm
- 위상 정렬 알고리즘
- 인공지능을 위한 선형대수
- 파이참
- MOT
- 백준
- 가장 긴 증가하는 부분 수열
- cosine
- LCA
- 백준 11437
- C++ Deploy
- 이분탐색
- 문제집
- 순열
- Lowest Common Ancestor
- 조합
- 백준 1766
- ㅂ
- FairMOT
- 백준 11053
- 단축키
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |