- Weight initialization
- Convolution 종류
- SPP-Net
- Optimizer
- overfeat
- object detection
- image classification
- deep learning
- 딥러닝
- LeNet 구현
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Today
- Total
I'm Lim
[논문 정리] Overfeat 본문
Paper
Sermanet, P., Eigen, D., Zhang, X., Mathieu, M., Fergus, R., & LeCun, Y. (2013). Overfeat: Integrated recognition, localization and detection using convolutional networks. arXiv preprint arXiv:1312.6229.
Introduction
Overfeat 논문은 classification 문제와 detection 문제를 하나의 공유된 네트워크를 통해 학습시킵니다. 개인적인 생각으로 이 논문의 가장 핵심은 feature map을 sliding window의 관점으로 해석했다는 점입니다.
Classification
1. Feature extractor
Overfeat 모델도 R-CNN 모델처럼 feature extractor를 위해 ImageNet 데이터셋을 이용하여 사전 학습된 모델을 이용합니다. CNN 모델은 AlexNet에서 약간의 수정을 거친 모델을 사용합니다.
논문에서는 입력으로 221 pixels를 사용하였다는 것으로 미루어보아 Accurate model을 기준으로 설명하였음을 유추할 수 있습니다.
2. Mutli-scale Classification
AlexNet은 test 시에 [모서리 부분 4개, 중앙 부분 1개 + Horizontal Flip]을 사용하여 총 10개의 이미지를 테스트로 사용합니다. 하지만, 저자는 이것이 이미지의 많은 영역을 무시할 뿐 아니라, 한 가지 scale을 이용하기 때문에 CNN 모델의 성능을 최대화시키는 scale이 아닐 가능성이 있다고 주장합니다. 또한, Pooling이 많이 들어가게 되면 여러픽셀들이 하나의 값으로 압축됩니다 (Layer 5의 출력). 이는 성능저하를 일으킬 것이라 주장합니다.
위 문제들을 해결하기 위해서 6개의 scale을 입력으로 사용하고, Layer 5에 Pooling 적용 전 값을 추출합니다. (Layer 5 pre-pool)
이후, 아래와 같은 과정을 거칩니다.
- 3 x 3 max pooling을 overlap되지 않게 픽셀을 1칸씩 이동하면서 3 x 3번 추출합니다. ( Layer 5 post-pool )
- Layer 6의 입력 feature 크기는 5 x 5이고, sliding window방식으로 적용한다고 합니다. ( Classifier map pre-reshape)
- 2의 출력을 하나로 합칩니다. ( Classifier map size )
3. ConvNet and Sliding Window Efficiency
그림에서도 보이다시피, 이미지의 크기가 늘어나도 receptive field는 동일함을 알 수 있습니다. 이는 feature map의 한 픽셀이 window의 역할을 수행함을 암시합니다.
Localization
해당 논문은 Localization을 위해 ILSVRC 2012 데이터셋을 사용했기 때문에 R-CNN에서 domain-specific finetuning 부분을 진행하지 않은 것으로 보입니다.
1. Regressor Training
regressor를 학습시키기 위해, 위에서 설명한 Layer 5 post-pool의 출력을 사용합니다. 이후, 아래 그림과 같이 4096 채널과 1024 채널, 마지막으로 4개의 채널을 가지는 hidden layer를 사용하여 regression을 진행합니다.
학습을 위해 feature extractor 부분을 freeze 시켰다고 합니다 ( Layer 1 - 5 ). 또한, 실제 바운딩 박스와 IOU가 0.5 미만인 것은 regressor의 학습에서 제외시켰다고 합니다 ( 이 정도면 regression window가 객체를 포함하지 않는다고 판단 ).
2. Combining Predictions
위와 같이 학습을 진행하고, 결과를 추출하게 된다면 굉장히 많은 바운딩박스를 예측하게 됩니다. 기존의 방식은 NMS를 통해 bounding box를 merge 하였지만, 해당 논문은 다른 방식으로 bounding box merge를 진행합니다. 상세한 과정은 다른 블로그에 자세히 설명되어 있으므로 생략합니다.
Appendix & Question
1. R-CNN과의 차이점
Overfeat 논문은 R-CNN과는 달리 selective search 등을 통한 region proposal을 진행하지 않는다. 대신, 6가지 scale을 입력으로 사용하여 얻은 spatial location을 window처럼 취급한다.
'Object Detection' 카테고리의 다른 글
[논문 정리] Fast R-CNN (0) | 2023.02.19 |
---|---|
[논문 정리] SPP-Net (0) | 2023.02.09 |
[개념 정리] Non Max Suppression (0) | 2023.01.24 |
[논문 정리] R-CNN (0) | 2023.01.24 |
[개념 정리] Object Detection Region Proposal (0) | 2022.12.27 |