SPP-Net 논문 리뷰

Mini's Place·2022년 2월 13일
0

먼저 읽어보면 좋아요


갈아먹는 Object Detection [2] Spatial Pyramid Pooling Network

→ 보통 R-CNN 이후 개선된 모델로 Fast R-CNN을 많이 얘기하지만 Spatial Pyramid Pooling이라는 개념 때문에 간단히 언급

SPP-Net Paper

Spatial Pyramid Pooling in Deep Convolutional Networks for Visual Recognition.pdf

등장 배경

  • 기존 CNN 구조가 고정된 입력 이미지 크기를 입력으로 취하는 데에서 발생한 문제점을 개선하기 위해 고안

    • 고정된 이미지의 입력이 왜 문제?

      • 기존 CNN에서는 고정된 입력 크기를 맞춰주기 위해 Crop, Warp을 적용

      • 문제점

        • Crop : Crop된 구역만 CNN을 통과시켜 전체 이미지 정보가 손실됨
        • Warp : 기존의 가로세로비를 유지하지 못하고 이미지에 변형이 생김
  • CNN은 Convolution Layers와 Fully-Connected Layers로 구성되어있음

    • Convolution Layers - Sliding Window 방식으로 작동 → 입력 이미지 고정 필요 x

    • Fully-Connected Layers - 고정된 크기의 입력이 필요한

      → 고정된 입력은 fc layers를 위한 제약일 뿐임

핵심 아이디어

입력 이미지의 크기에 관계없이 conv Layer들을 통과시키고, fc Layer 통과 전에 피쳐 맵들을 동일한 크기로 조절해주는 Pooling을 적용하자!

전체 알고리즘

  1. 전체 이미지를 미리 학습된 CNN을 통과시켜 Feature Map 추출
  2. 각기 크기와 비율이 다른 RoI들에 SPP를 적용시켜 고정된 크기의 Feature Vector를 추출
  3. fc layer들을 통과시킴
  4. 앞서 추출한 Feature Vector들을 이미지 Class 별로 Binary SVM Classifier를 학습시킴.
  5. 앞서 추출한 벡터로 Bounding Box Regressor 학습

장점

  1. 기존 R-CNN이 모든 RoI에 대해서 CNN Inference를 한다는 문제점을 획기적으로 개선

    → 기존 R-CNN과 정확도는 비슷하지만 속도는 20~300배 가까이 빠름

  2. 입력 이미지의 scale, size 등에 영향을 받지 않음.

단점(한계점)

  1. End-to-End 방식이 아니라 학습에 여러 단계가 필요(Fine-Tuning, SVM, BBR)

    • End-to-End 방식이란?

      • 입력에서 출력까지 파이프라인 네트워크 없이 한 번에 처리한다는 뜻

      • 어떻게 다른가?

        • 기존 음성 파이프라인의 구조

        • End-to-End 방식의 구조

          → 수동적으로 생성되는 지식이 없음

          → 학습 데이터 군이 적을 때 더 안 좋게 동작할 수 있다.

          → 충분한 학습 데이터가 있을 시 정보로 인해 걸리는 제한에 방해받지 않는다.

  2. 여전히 최종 Classification에는 Binary SVM을, Region Proposal에는 Selective Search를 이용한다.

  3. Fine-tuning 시에 SPP를 거치기 이전의 Conv Layers를 학습시키지 못한다 → Back-Propagation이 안됨

참고


[논문 리뷰] SPPnet (2014) 리뷰, Spatial Pyramid Pooling Network

갈아먹는 Object Detection [2] Spatial Pyramid Pooling Network

0개의 댓글