- 다양한 크기의 물체를 탐지하기 위해 이미지 자체의 크기를 변경하는 방법으로 작업했는데
- 이런 작업은 메모리 및 시간 측면에서 비효율적이기 때문에 Feature Pyramid Network (FPN) 이라는 방법이 등장
- 같은 이미지를 보더라도 Window의 Scale에 따라 정확도가 달라질 수 있다.
논문에선 이러한 Scale 문제에 대해서 4가지로 구분할 수 있다고 얘기하고 있음
1. Feature Image Pyramid
-이미지를 여러개의 scale로 분석하는 가장 기본적인 방법
2. Single Feature Map
- 한 가지 이미지의 salce을 인풋으로 받음
- 컨볼류션 레이어를 통해 특징을 압축하는 방식
- 마지막에 압축된 특징만을 사용하여 성능이 떨어짐
- 우리가 흔히 아는 cnn 모델
- 가장 대표적인 방법이 yolo
- 모델 학습 시 여러 개의 스케일 된 이미지 마다 연산을 수행하지 않기 때문에 추론 속도가 빨라지지만, 성능 자체는 떨어진다
3. Pyramidal Feature Hierarchy
-cnn에서 각각 나온 피쳐맵들을 마지막 테스트에서만 진행시키는 것이 아니라,
- 각각 지정해준 컨볼루션 레이어에서 피쳐맵들을 가져와 테스트 하는 방법
- 즉, 서로 다른 스케일의 특징맵을 이용해 멀티 스케일 특징을 추출하는 방식
- 가장 대표적인 예는 ssd
- 이는 멀티스케일 피쳐맵을 사용하여 성능이 높지만
- 피쳐맵 간 해상도 차이로 인해 세멘틱 갭이 발생
4. Feature Pyramid Networks
- 먼저 신경망을 통과하여 피쳐맵들을 생성
- 상위 레이어 부터 거꾸로 내려오면서 피쳐를 다음 피쳐맵에 합쳐줘서 object detetion 사용
- 상위 레이어에 있었던 추상화된 정보를 하위 레이어에도 공유하게 되면서
- 하위 레이어에서 인식하지 못했던 물체들에 대해서 더 잘 인식하게 됨
- bottom - up 부분이 Backbone/ top-down 하는 부분이 neck
- Backbone 에서 나온 피쳐맵들을 neck에 전달할 때두 배를 subsampling(두 배를 키운 것) 해준다
5. Object Detection 모델 아키텍처
- vggnet, resnet 등의 모델들을 Backbone 이라고 칭함
- 사실상 FPN등을 Neck이라고 칭함
6.FPN을 활용한 Faster RCNN RPN
'AI > ai' 카테고리의 다른 글
Lecture 6,7 | Training Neural Networks (1) | 2023.08.02 |
---|---|
Faster RCNN (0) | 2023.07.24 |
Fast R-CNN 정리 (0) | 2023.07.21 |