참고 자료 : [1] Deep Learning for Generic Object Detection : A survey, https://arxiv.org/pdf/1809.02165.pdf
2. Unified Pipelines (One-stage pipelines)
영역기반 접근법은 저장 및 계산 메모리가 제한적인 모바일, 웨어러블 시스템에서 계산비용이 많이 들수 있다. 따라서, 지역기반 파이프라인의 과정을 최적화하려는 시도 대신 통합탐지 전략을 사용하기 시작했다. 통합된 파이프라인은 One-stage pipelines CNN을 사용하여 전체 이미지에서 Class Probabilities 및 Bbox offset을 직접 예측하는 구조이다. 이 접근방식은 region proposal 생성 및 feature resampling 단계를 완전히 제거하여, 모든 계산을 캡슐화하였다.
DetectorNet : Szegedy et al은 객체 bbox mask에 대해 회귀문제로 정의하였다. Alexnet을 기반으로, 마지막 계층인 Softmax 분류기를 회귀 계층으로 대체하였다. 이미지 Window가 주어지면, 하나의 네트워크를 이용하여 bbox의 offset을 예측한다. 그 후, 예측된 mask는 탐지된 bbox로 변환시키고, 객체 유형 및 마스크 유형별로 여러개의 네트워크를 각각 훈련시킨다.
OverFeat : Sermanet et al가 제안한 최초의 One-stage detection 방식 중 하나이다. OverFeat는 최종 분류와 회귀 계층을 제외한 컨볼루션 계층만으로 이루어져 있다. 또한, Multi-scale feature를 입력으로 활용하여 CNN 네트워크를 통해, 최대 6개의 Feature를 전달하고 이를 반복적으로 집계하여 전체 성능을 향상시켰다. 게다가, FC 레이어를 1X1 컨볼루션으로 바꾸어 입력사이즈가 서로 다르더라도 컨볼루션을 수행할 수 있게된다. OverFeat은 RCNN 보다 속도가 훨씬 뛰어나지만, 학습이 어렵기 때문에 정확도가 다소 떨어진다.
YOLO : Redmon et al.은 이미지 픽셀 내에서 공간적으로 분리된 바운딩 박스 및 관련된 클래스 확률에 대한 회귀 문제로서의 Unified Detector인 Yolo를 제안하였다.
Region Proposal 단계를 제거하였으며, 작은 후보 영역 집합을 사용하여 탐지를 직접 예측한다. Fast RCNN과 같이, Local 특징들을 기반으로 탐지하는 Region Proposal 기반 접근방식과 달리 Yolo는 이미지 전체 특징 정보들을 사용한다. 특히, S x S 격자 크기로 나누고, 각각의 격자는 특정 클래스 확률(C)과 바운딩 박스의 위치(B) 및 신뢰 점수를 예측한다. 이러한 예측은 S x S x (5xB+C) 텐서로 인코딩 되며, RPN 과정을 생략함으로써 45FPS에서 155FPS(Fast Version)에 이르기까지 속도가 향상되었다.
yolo는 예측할때 전체 이미지를 확인하기 때문에, 객체 클래스에 대한 Context 정보를 암시적으로 인코딩 합니다. 이에, 배경에 대한 오 탐지 비율이 적지만 바운딩 박스 위치, 크기, 종횡비의 거친 분할로 인해 작은 객체에 대한 오 탐지 비율은 크다.
YOLO V2, YOLO9000 : Redmon and Farhadi는 yolo의 개선된 버전인 V2를 제안했다. 여기에서 맞춤형 GoogleNet 네트워크는 더 단순한 Dark-Net19로 대체되고 배치 정규화, FC-Layer 제거, K-means 및 멀티 스케일 학습을 통해 우수한 Anchor Box 사용과 같은 향상된 전략을 사용하였다.
YoloV2는 PASCAL VOC, MS COCO와 같은 데이터 셋에서 높은 성능을 보였으며, 최적의 성능을 발휘하기 위해 ImageNet, COCO를 동시에 훈련하는 최적화 방법을 제안하였다. 그 결과, 9000개 이상의 객체 범주를 실시간으로 탐지할 수 있게 되었다.
SSD : 탐지 정확도를 크게 저하시키지 않으면서, 실시간 속도를 높이기 위해 Liu et al 은 Yolo보다 빠른 SSD를 제안하였다. SSD는 RPN의 아이디어를 Faster RCNN, YOLO 및 다양한 크기의 Conv 특징에 효과적으로 결합하여 빠른 탐지속도를 달성하면서도 높은 탐지율을 유지하게 되었다. Yolo와 마찬가지로 고정된 크기의 바운딩 박스와 객체 클래스 인스턴스가 있는지에 대한 점수를 예측한 다음 NMS 단계를 거쳐 최종 탐지를 생성합니다.
SSD의 CNN 네트워크는 VGG를 백본으로 채택하였다. 또한, 크기가 점차 줄어드는 보조 Conv 레이어가 추가되어있으며, 해상도가 낮은 마지막 레이어의 정보는 공간적으로 Coarse하기 때문에 정확한 위치를 찾을 수 없다. 이에, SSD는 작은 물체를 탐지하기 위해 더 높은 해상도의 얕은 레이어를 사용하게 된다. 크기가 다른 객체의 경우, 여러 Conv 특징 맵에서 작동하여 여러 스케일에서 탐지를 수행합니다. 각 특징맵은 적절한 크기의 바운딩 박스에 대한 카테고리 점수 및 상자 offset을 예측합니다.
300x300 입력의 경우, SSD는 Nvidia Titan X에서 59FPS로, VOC2007 테스트에서 74.3%를 달성하였다.
'Image processing > Object Detection' 카테고리의 다른 글
[객체 탐지] Two-stage Detection (0) | 2020.03.09 |
---|---|
[객체 탐지] Deep Learning for Generic Object Detection: A Survey (0) | 2020.03.04 |
[객체 탐지] Focal Loss for Dense Object Detection (0) | 2020.01.29 |
[객체 탐지] Selective Search for Object Recognition (0) | 2020.01.28 |
[객체 탐지] Feature Pyramid Networks for Object Detection (0) | 2020.01.20 |