[논문리뷰]RCNN-Rich Feature hieerarchies for accurate object detection and semantic segmentation

이영락·2024년 8월 20일

CV & NLP 논문 리뷰

목록 보기
4/14

Rich Feature hieerarchies for accurate object detection and semantic segmentation

Author: Joseph Redmon∗, Santosh Divvala∗†, Ross Girshick¶, Ali Farhadi∗† University of Washington∗, Allen Institute for AI†, Facebook AI Research¶
PDF: Rich%20Feature%20hieerarchies%20for%20accurate%20object%20dete%20ee4bd97191754c1a8bac550a018c82a1/Redmon_You_Only_Look_CVPR_2016_paper.pdf

참고자료


R-CNN 논문 리뷰

R-CNN 논문 리뷰

https://www.youtube.com/watch?v=W0U2mf9pf8o

이 영상이 야무짐

R-CNN Explained

C 6.0 | RCNN - Problem Statement | CNN | Machine Learning | Object Detection | EvODN

https://herbwood.tistory.com/5

0 | Abstract


📢 단순하고 확장 가능한 탐지 알고리즘을 제안(PASCAL VOC dataset에서 앙상블 모델이 젤 성능 좋았음)
  • 알고리즘은 CNN(Convolutional Neural Networks)을 하위 영역 제안(bottom-up region proposals)과 결합하여 객체를 국부화하고 분할한다.
  • 라벨링된 학습 데이터가 부족할 때, 보조 작업을 위한 지도 학습 전이(pre-training)를 통해 성능을 크게 향상시킬 수 있음을 보여준다.
  • 이 방법은 기존 최상위 결과보다 30% 이상 높은 mAP(Mean Average Precision)를 달성한다.

주요 아이디어(R-CNN의 2가지 인사이트)

  1. 고용량 CNN 적용: CNN을 하위 영역 제안에 적용하여 객체를 국부화하고 분할.
    • 객체를 localize and segment 하기 위해 bottom up 방식의 region proposal에 CNN을 적용
  2. 지도 학습 전이 및 세부 조정: 라벨링된 학습 데이터가 적을 때, 보조 작업을 위한 지도 학습 전이 후 세부 조정을 통해 성능 향상.
    • labeled training data가 부족하다면 보조 task에게 domain specific fine tuning을 통한 supervised pretraining을 적용
🫠 **labeled training data**

: 사진에서 이 객체는 무엇이다 라고 판별된 데이터라는 것을 의미

  1. 색상, 질감, 영역크기 등을 이용해 non-objective segmentation을 수행한다. 이 작업을 통해 좌측 제일 하단 그림과 같이 많은 small segmented areas들을 얻을 수 있다.
  2. Bottom-up 방식으로 small segemented areas들을 합쳐서 더 큰 segemented areas들을 만든다.
  3. (2)의 작업을 반복하여 최종적으로 2000개의 region proposal을 생성한다.

1 | Introduction


과거 : visual recognition task(10년간)는 주로 SIFT 와 HOG(radient 기반의 특징점 추출 알고리즘)이 많이 사용되었다.

변화 : SGD(Stochastic Gradient Descent)기반의 CNN(Convolutional Neural Networks)이 등장

  1. 객체 탐지 시스템 개요: 입력 이미지에서 2000개의 하위 영역 제안을 추출하고, CNN을 사용하여 각 제안의 특징을 계산한 다음, 각 영역을 클래스별 선형 SVM을 사용하여 분류.

    • PASCAL VOC 2010에서 53.7%의 mAP를 달성, OverFeat보다 큰 차이로 우수함.
  2. CNN의 부활: 1990년대에 CNN이 널리 사용되었으나, 서포트 벡터 머신의 등장으로 관심이 줄어듦.

    • 2012년에 Krizhevsky et al.은 ImageNet Large Scale Visual Recognition Challenge에서 높은 이미지 분류 정확도를 보여주며 CNN에 대한 관심을 재점화.
    • 120만 개의 라벨이 있는 이미지로 큰 CNN을 훈련시키고, LeCun의 CNN에 몇 가지 변형(예: max(x, 0) 정류 비선형성과 "dropout" 정규화)을 적용한 결과.
  3. ImageNet 결과의 중요성: ILSVRC 2012 워크숍에서 ImageNet 결과의 중요성에 대한 활발한 토론.

    • 중심 문제: ImageNet에서의 CNN 분류 결과가 PASCAL VOC Challenge의 객체 탐지 결과로 일반화될 수 있는 정도.
  4. RCNN 문제 해결: 이미지 분류와 객체 탐지 사이의 격차를 해소.

    • CNN이 PASCAL VOC에서 단순한 HOG와 같은 특징 기반 시스템보다 훨씬 높은 객체 탐지 성능을 제공할 수 있음을 처음으로 입증.
    • 이를 위해 깊은 네트워크를 사용한 객체 국부화와 소량의 주석된 탐지 데이터로 고용량 모델을 훈련하는 두 가지 문제에 집중.
      1. localizing objects with a deep network
      2. training a high capacity model with only a small quantity of annotated detection data.
  5. 탐지 문제 해결: 탐지는 이미지 내 여러 객체를 국부화하는 것을 요구.

    Sol1) 국부화(localizing)를 회귀 문제(regression)로 설정하는 것.

    → 실전에서 잘 작동하지 않을 수 있음을 보여줌.

    Sol2) 슬라이딩 윈도우 탐지기를 구축하는 것.(sliding-window detector)

    → large receptive field : 고해상도를 유지하기 위해 두 개의 합성곱 및 풀링 층만 가지며, 높은 공간 해상도를 유지하는 것이 어려움.

  6. R-CNN 접근: "영역을 이용한 인식 (recognition using regions)" 패러다임을 통해 CNN 국부화 문제 해결.

    • 테스트 시 입력 이미지에 대해 약 2000개의 범주에 구애받지 않는 영역 제안을 생성하고, CNN을 사용하여 각 제안에서 고정 길이의 특징 벡터를 추출한 다음, 클래스별 선형 SVM을 사용하여 각 영역을 분류.

    • 단순한 기법(아핀 이미지 왜곡)을 사용하여 영역 제안의 형태에 관계없이 고정 크기의 CNN 입력을 계산.

      → R-CNN과 OverFeat 비교: R-CNN이 ILSVRC2013 탐지 데이터셋에서 OverFeat를 큰 차이로 능가.

    • R-CNN의 mAP는 31.4%로 OverFeat의 24.3%보다 높음.

    R-CNN 작동 순서

    스크린샷 2024-08-14 오후 2.10.18.png

    1. 이미지를 입력한다.
    2. 약 2000개의 bottom-up region proposals를 추출한다.
    3. CNN을 이용해 각각 region proposal의 특징을 계산한다.
    4. linear SVMs를 이용해 각각의 label을 분류한다.

    Warped Region의 역할은?

    warped region은 각각의 region proposal의 크기가 다르므로 이를 CNN에 입력으로 넣어주기 위해 크기를 맞춰주는 역할을 한다.

    스크린샷 2024-08-14 오후 2.33.49.png

  7. 라벨링 데이터 부족 문제 해결: 탐지에서 직면하는 두 번째 문제는 라벨링된 데이터의 부족.

    • 일반적 해결책 : 비지도 학습 전이 후 지도 세부 조정.
    • 논문 해결책 : 대규모 보조 데이터셋(ILSVRC)에서 지도 학습 전이 후 작은 데이터셋(PASCAL)에서 도메인별 세부 조정을 통해 고용량 CNN을 학습하는 효과적인 패러다임 제시.

    → 세부 조정 후 탐지 성능이 8% 포인트 향상, VOC 2010에서 54%의 mAP 달성.

2 | Object detection with R-CNN


R-CNN 시스템 : 세 가지 모듈로 구성


  1. 첫 번째 모듈 : 범주에 구애받지 않는 영역 제안을 생성
  2. 두 번째 모듈 : 큰 CNN을 사용하여 각 영역에서 고정 길이의 특징 벡터를 추출
  3. 세 번째 모듈 : 클래스별 선형 SVM

2. 1 Module Design

  1. 영역 제안 : R-CNN에서는 선택적 검색(Selective Search)을 사용하여 이전 작업과의 비교

    Selective search란?

    : Selective search 알고리즘은 색상, 무늬, 명암 등의 다양한 기준으로 픽셀을 grouping하고, 점차 통합시켜 객체가 있을법한 위치를 bounding box 형태로 추천한다. 단일 이미지에서 2000개의 후보 영역을 추출한 뒤, CNN 모델에 입력하기 위해 227x227 크기로 `warp(=resize)`시켜준다.

    스크린샷 2024-08-14 오후 2.16.50.png

    1. 색상, 질감, 영역 크기 등을 이용해 non-object-based segmentation을 수행

    → 이 작업을 통해 small segmented areas들을 얻는다.

    1. Bottom-up 방식으로 small segmented areas들을 합쳐 더 큰 segmented area들을 만든다.

    2. 2번 작업을 반복해 최종적으로 2000개의 region proposal을 생성한다. (R-CNN에서)

    3. 2000장의 region proposals를 얻게 되면 warp를 통해 이미지를 227x227로 사이즈를 통합시켜준다.(CNN arichitecture는 고정된 227x227 pixel size의 입력을 요구한다.)

    Warped Region의 역할은?

    warped region은 각각의 region proposal의 크기가 다르므로 이를 CNN에 입력으로 넣어주기 위해 크기를 맞춰주는 역할을 한다.

    스크린샷 2024-08-14 오후 2.33.49.png

  2. Feature extraction(특징 추출)

    • Krizhevsky et al.의 CNN을 사용하여 각 영역 제안(Proposal Region)에서 4096차원의 특징 벡터를 추출.
    • 평균값이 제거된 227 × 227 RGB 이미지를 5개의 합성곱 층과 2개의 완전 연결 층을 통해 전달하여 특징 계산.
      • 이미지 데이터 변환
        • 영역 제안의 이미지를 CNN과 호환되는 형태로 변환.
        • 후보 영역의 크기나 종횡비에 관계없이 모든 픽셀을 고정된 크기(227 × 227 픽셀)로 왜곡.
        • 왜곡하기 전에 타이트한 바운딩 박스를 확장하여 원래 박스 주변에 16픽셀의 컨텍스트 포함.

https://blog.kakaocdn.net/dn/cUSozt/btqOle91Hyb/Okzo0U8Y6nLSFbCIS0P0eK/img.png

과정 요약

  • Input: 227x227크기의 2000개 영역 제안.
  • Process: Fine-Tuned AlexNet을 통한 특징 추출.
  • Output: 2000x4096크기의 특징 벡터.

Fine-Tuning Pre-Trained AlexNet

Fine-Tuning Pre-Trained AlexNet란?

https://blog.kakaocdn.net/dn/2ciLD/btqOjmN2tnS/DmKE8bDtwoVyPTbKO4kStk/img.png

  1. Fine-Tuned AlexNet 사용
    • 2000개의 후보 영역을 Fine-Tuned된 AlexNet에 입력.
    • 결과적으로 2000(후보 영역 수) x 4096(특징 벡터 차원) 크기의 특징 벡터 추출.
  2. 도메인 맞춤형 Fine-Tuning
    • 객체 탐지 시 도메인에 맞는 클래스를 예측하기 위해 ImageNet 데이터셋을 통해 사전 학습된 CNN 모델을 도메인에 맞게 Fine-Tuning.
    • Fine-Tuned된 모델을 사용하면 도메인에 맞는 적합한 특징 벡터 추출 가능.

Fine-Tuning Pre-Trained AlexNet의 단계

  1. 모델 설계
    • 예측하려는 객체 수가 N개일 때 배경을 포함하여 (N+1)개의 클래스를 예측하도록 모델 설계.
    • 객체와 배경을 모두 포함한 학습 데이터 구성.
  2. Selective Search 알고리즘 적용
    • PASCAL VOC 데이터셋에 Selective Search 알고리즘을 적용하여 후보 영역 추출.
    • 후보 영역(바운딩 박스)과 실제 박스(ground truth box)의 IoU 값 계산.
    • IoU 값이 0.5 이상인 경우 Positive Sample(객체), 0.5 미만인 경우 Negative Sample(배경)로 분류.
  3. Mini-Batch 구성
    • Positive Sample: 32, Negative Sample: 96로 Mini-Batch(128)를 구성하여 학습.
    • 학습을 통해 Fine-Tuned된 AlexNet을 사용하여 R-CNN 모델은 추론 시 특징 벡터 추출.

이 과정을 통해 R-CNN 모델은 객체 탐지 시 높은 성능을 발휘할 수 있다. Fine-Tuning된 AlexNet을 사용하여 도메인에 맞게 보다 적합한 특징 벡터를 추출함으로써 객체 탐지의 정확도를 높인다. Selective Search 알고리즘을 통해 후보 영역을 생성하고, 이를 Fine-Tuned된 모델에 입력하여 학습 및 추론을 수행하는 방식으로 동작한다.

2.2 Test-Time Detection

  1. 탐지 절차
    • 각 클래스에 대해 추출된 특징 벡터를 사용하여 SVM으로 점수 매김.
    • 높은 점수를 받은 영역 중 겹치는 영역을 제거하기 위해 비최대 억제(NMS) 적용.

비최대 억제 (Non-Maximum Suppression, NMS)?

: 비최대 억제는 객체 탐지 및 이미지 처리에서 겹치는 박스를 제거하여 최종 검출 결과를 얻기 위한 기법입니다. 주로 객체 탐지에서, 동일한 객체를 여러 번 검출한 결과를 하나로 통합할 때 사용됩니다.

동작 원리

  1. 예측 박스 점수화:
    • 모델이 객체를 탐지하면 각 예측 박스(바운딩 박스)에 대한 신뢰도 점수(confidence score)를 계산.
  2. 내림차순 정렬:
    • 모든 예측 박스를 신뢰도 점수에 따라 내림차순으로 정렬.
  3. 최고 점수 박스 선택:
    • 가장 높은 신뢰도 점수를 가진 박스를 선택하고, 이를 최종 검출 결과에 추가.
  4. 겹치는 박스 제거:
    • 선택된 박스와 겹치는 다른 모든 박스를 제거한다. 이때 겹치는 정도는 Intersection over Union (IoU) 값으로 측정된다.
    • IoU가 사전 정의된 임계값(threshold)보다 큰 경우, 해당 박스를 제거한다.
  5. 반복:
    • 남은 박스 중 다음으로 높은 신뢰도 점수를 가진 박스를 선택하고, 동일한 과정을 반복한다.
    • 더 이상 선택할 박스가 없을 때까지 이 과정을 반복.

예시

  1. 입력:
    • 모델이 여러 개의 객체를 탐지하여, 여러 개의 바운딩 박스와 신뢰도 점수를 반환
  2. 비최대 억제 적용:
    • 예를 들어, 3개의 박스 A, B, C가 있다고 가정하고, 신뢰도 점수는 각각 0.9, 0.8, 0.7이다.
    • 박스 A를 선택하고, 박스 A와 겹치는 박스 B와 C의 IoU를 계산한다.
    • 만약 IoU가 임계값 0.5보다 크다면, 박스 B와 C를 제거한다.
    • 박스 B와 C를 제거한 후, 다음으로 높은 점수를 가진 박스를 선택하여 과정을 반복한다.

장점

  • 중복된 검출 결과를 효과적으로 제거하여, 최종 결과의 정확도를 높인다.
  • 객체 검출의 신뢰성을 높여준다.

단점

  • IoU 임계값 설정에 따라 성능이 민감하게 변할 수 있다.
  • 임계값을 너무 높게 설정하면, 중복된 결과를 완전히 제거하지 못할 수 있으며, 너무 낮게 설정하면, 중요한 검출 결과를 놓칠 수 있다.

비최대 억제는 객체 탐지 시스템에서 중요한 후처리 단계로, 중복된 검출을 제거하고 최종 검출 결과의 품질을 향상시키는 데 필수적인 역할을 한다.

  1. 실행 시간 분석

    • 모든 CNN 매개변수는 모든 카테고리에서 공유되므로 효율적.
    • 특징 벡터는 저차원(4096차원)으로, 고차원의 특징을 사용하는 다른 방법들보다 효율적.
    • GPU에서 이미지당 13초, CPU에서 이미지당 53초 소요.
    • SVM 가중치와 특징 벡터의 내적 및 비최대 억제만 클래스별로 계산.
  2. 효율성 및 확장성

    • R-CNN은 수천 개의 객체 클래스에도 확장 가능.
    • 10만 개의 클래스에서도 현대적인 멀티코어 CPU에서 10초 이내에 계산 가능.

2.3 Training

  1. 지도 학습 전이
    • 대규모 보조 데이터셋(ILSVRC2012 분류)에서 CNN을 사전 학습.
  2. Domain-speicific Fine-Tuning

: 새로운 작업(탐지)과 도메인(왜곡된 제안 창)에 CNN을 적응시키기 위해 SGD 학습을 계속 진행.

  • ImageNet의 1000개 클래스 분류 계층을 (N+1)개 클래스 분류 계층으로 대체.
    • N은 객체 클래스 수, +1은 배경 클래스.
    • VOC에서는 N=20, ILSVRC2013에서는 N=200.
  • 모든 영역 제안 중 IoU 값이 0.5 이상인 경우 양성 예제로, 나머지는 음성 예제로 처리.
  • 학습률을 0.001로 설정하여 세부 조정 진행.
  • 각 SGD 반복에서 모든 클래스에 대해 32개의 양성 window와 96개의 배경 window을 샘플링하여 미니배치(크기 128)를 구성.
    • 양성 window이 배경 window보다 매우 드물기 때문에 양성 창에 대한 샘플링을 우선함.
  1. Object Category Classifiers

: 특정 객체를 탐지하기 위해 이진 분류기 훈련.

  • 클래스별로 독립적인 이진 분류기 학습.
  • IoU 임계값을 0.3으로 설정하여, 이 값 미만인 경우 음성 예제로 정의.(그리드 탐색 사용)
  • 양성 예제는 실제 바운딩 박스로 정의.
  • 특징 벡터 추출 후, 각 클래스에 대해 선형 SVM 최적화.
  • 훈련 데이터가 너무 커서 메모리에 적재할 수 없으므로, 표준 hard negative mining 방법을 사용하여 훈련.

참고!

Q1) 왜 AlexNet을 fine tune할 때와 linear SVM을 학습시킬 때와 양성/음성의 정의가 서로 다른가요?

논문의 저자는 AlexNet을 fine tune할시, 모델이 overfitting되지 않도록 많은 데이터가 필요하다고 말합니다. IoU 값이 0.5 이상인 경우를 positive sample로 정의할 경우, 오직 ground truth box만을 positive sample로 정의할 때보다 30배 이상 많은 학습 데이터를 얻을 수 있다고 합니다.

Q2) 왜 AlexNet 마지막 layer에 softmax 함수를 추가하는 대신 별도의 linear SVM 모델을 학습시켰나요?

Softmax 함수를 사용하여 class를 분류할 경우, mAP 수치가 54.2%에서 50.9%로 떨어진다고 합니다. 이러한 이유는 위에서 언급한 모델에 따른 서로 다른 양성/음성 정의에서 기인합니다. AlexNet을 fine tune할 때, 많은 데이터를 포함하는 과정에서 상대적으로 정확하지 않은 예측 bounding box(IoU 값이 0.5~1 사이, 논문의 저자는 jitered example이라고 언급함)를 positive sample에 포함시키게 됩니다.

이로 인해 상대적으로 엄밀한 학습 데이터를 사용하는 linear SVM 모델에 비해 성능 하락하게 됩니다. 논문의 저자는 만약 적절한 방식으로 AlexNet을 fine tune한다면 linear SVM 모델을 사용할 때와 비슷한 성능을 보일 것이라고 전망합니다.

학습된 linear SVM에 2000x4096 크기의 feature vector를 입력하면 class와 confidence score를 반환합니다.

Linear SVM을 사용한 분류

  1. SVM 훈련
    • 2000x4096 특징 벡터를 사용하여 클래스를 예측하고 신뢰도 점수를 반환.
    • 각 클래스에 대해 독립적인 이진 분류기 학습.
    • 각 클래스에 대해 양성 예제는 실제 바운딩 박스, 음성 예제는 IoU 값이 0.3 미만인 예측 바운딩 박스로 설정.
    • Hard negative mining 기법을 사용하여 모델을 재학습시킴.

Hard Negative Mining

  1. 어려운 음성 예제 수집
    • 모델이 예측에 실패한 어려운 예제를 수집하여 모델 재학습.
    • False Positive 샘플을 추가하여 모델의 강건성을 향상.

  • Input: 227x227 크기의 2000개 영역 제안
  • Process: Fine-Tuned AlexNet을 통한 특징 추출 및 Linear SVM을 사용한 클래스 예측
  • Output: 각 클래스와 신뢰도 점수를 포함한 2000개의 결과

이 과정은 객체 탐지 시 높은 정확도를 보장하며, R-CNN의 효율성과 확장성을 극대화한다. Fine-Tuning된 AlexNet을 사용하여 도메인에 맞는 적합한 특징 벡터를 추출하고, Linear SVM을 통해 클래스를 정확히 예측한다. Selective Search 알고리즘을 통해 후보 영역을 생성하고, 이를 Fine-Tuned된 모델에 입력하여 학습 및 추론을 수행하는 방식으로 동작한다.

2.4 PASCAL VOC 2010-12 결과

  • VOC 2010에서 R-CNN은 53.7%의 mAP를 달성.
  • 이전 작업과 비교하여 더 높은 성능을 보여줌.
  • VOC 2011/12 테스트에서도 유사한 성능(53.3% mAP) 달성.

2.5 ILSVRC2013 탐지 결과

  • ILSVRC2013 탐지 데이터셋에서 R-CNN을 실행한 결과, mAP 31.4%를 달성.
  • OverFeat의 결과(24.3%)보다 높은 성능을 보여줌.
  • 클래스별 AP 분포를 시각화하여 결과를 비교.

3 | Visualization, ablation, and modes of error


첫번째 층을 시각화하는것은 쉽다. (모서리나 색상등을 인식하기 때문)

그러나 subsequent 층을 이해하는것은 어렵다.

이를 해결하기 위해 논문에서는 region proposal을 selective search를 통해 찾아내면 그것을 sorting을 해서 non maximum suppression즉 스코어링을 한것에 대한 큰값을 빼고 중복된 값을 빼는 방식 후에 top-scoring regions 만 남겨둔다.

논문에서는 어떤 층이 critical한지 판별하기 위해 VOC 2007데이터셋의 각 CNN의 마지막 3개의 층을 분석하였다.

FC5는 9216차원으로 reshape된 pool5의 특징 맵이다.

FC6은 pool5의 fully connected layer이다.

FC7은 네트워크의 마지막 층이다.

여기서 놀라운점은 FC6이나 FC7이 없어져도 괜찮은 성능을 발휘한다는 점이었다. 즉 CNN의 표현의 힘은 CNN자체에 있지 FULLY CONNECTED LAYER에 의존하지 않는다는 점을 알 수 있다.

https://blog.kakaocdn.net/dn/db7P0C/btq1s3Bint2/qdnHe7K7lX3BjihhJcdRU0/img.png

테이블2를 보면 파인튜닝을 적용했을경우 성능이 향상되는 것을 볼 수 있다.

https://blog.kakaocdn.net/dn/cnmJ1f/btq1ov6DnSw/ClrUXNlzGGTD9EaKP4wAt1/img.png

테이블 3에서는 당시 좋은성능을 발휘하는 VGG16의 구조를 그대로 가져와서 R-CNN에 적용한것을 O-NET이라고 하고 기본이 된는 것을 T-NET이라고 정했다. 테이블에서 볼 수 있듯이 O-NET이 성능이 더 좋은것을 알 수 있다.

하지만, O-NET의 경우 T-NET에 비해 7배 오래걸린다는 단점이 있다.

3.1. Visualizing Learned Features

  1. 첫 번째 층 필터 시각화: 첫 번째 층 필터는 직접 시각화가 가능하고, 방향성 있는 가장자리와 대립색을 포착.
    • Zeiler와 Fergus의 deconvolutional 방법을 참고하여, 네트워크가 학습한 내용을 직접 보여주는 간단한 비모수적 방법 제안.
    • 네트워크의 특정 유닛(특징)을 객체 탐지기로 사용, 높은 활성화 값을 가진 상위 영역 제안을 시각화.
  2. 유닛 활성화 시각화: 각 유닛이 어떤 입력에 반응하는지 보여줌으로써 다양한 시각 모드를 확인.
    • 상위 16개의 활성화 값을 가진 영역을 표시하여 유닛의 불변성 및 시각 모드에 대한 통찰 제공.

3.2. Ablation Studies

  1. 세부 조정 없이 계층별 성능 분석: VOC 2007 데이터셋에서 CNN의 마지막 세 계층에 대한 성능 분석.

    • fc7에서의 특징이 fc6보다 일반화가 덜 됨을 발견.
    • fc7과 fc6을 제거해도 pool5의 특징으로 좋은 결과 도출.

    → CNN의 대표적인 성능은 합성곱 층에서 나오며, 밀집 연결 층은 덜 중요함을 시사.

  2. 세부 조정 후 계층별 성능 분석: 세부 조정 후 성능 향상.

    • 세부 조정 후 mAP가 8.0% 포인트 상승하여 54.2% 도달.

    → fc6와 fc7에서의 세부 조정이 pool5보다 큰 성능 향상 유발.

  3. 최근 특징 학습 방법과의 비교: DPM을 기반으로 한 두 가지 최신 방법과 비교.

    • R-CNN이 모든 DPM 기반 방법보다 높은 성능을 보임.
    • HOG만 사용하는 최신 DPM보다 20% 포인트 높은 성능.

3.3. Network Architectures

  1. 네트워크 구조 선택의 중요성: Krizhevsky et al.의 아키텍처(T-Net)와 Simonyan과 Zisserman의 16-레이어 아키텍처(O-Net) 비교.
    • O-Net이 T-Net보다 높은 성능(mAP 66.0%)을 보이나, 계산 시간은 더 오래 걸림.

3.4. Detection Error Analysis

  1. 오류 분석 도구 사용: Hoiem et al.의 오류 분석 도구를 사용하여 R-CNN의 오류 모드를 분석.
    • 세부 조정이 어떻게 오류를 변화시키는지 이해.
    • DPM과의 오류 유형 비교.

3.5. Bounding-Box Regression

  1. 경계 상자 회귀 방법 도입: DPM에서 영감을 받아 단순한 회귀 모델을 훈련시켜 위치 오류를 줄임.
    • 선택적 검색 영역 제안의 pool5 특징을 사용하여 새로운 탐지 창 예측.
    • 이 방법이 많은 오탐지를 수정하여 mAP를 3-4 포인트 상승시킴.

3.6. Qualitative Results

  1. 정성적 탐지 결과: ILSVRC2013에서의 정성적 결과를 제시.
    • val2 세트에서 무작위로 샘플링한 이미지를 사용.
    • 탐지기들의 실제 작동 모습을 보여줌.
    • 흥미롭고, 놀랍고, 재미있는 결과를 포함한 이미지 선택.

4 | The ILSVRC2013 detection dataset


요약

ILSVRC2013 탐지 데이터셋에 대한 결과를 제시한다. 이 데이터셋은 PASCAL VOC보다 더 이질적이며, val2 세트를 사용하여 검증 및 평가를 수행한다. 또한, 다양한 학습 데이터 양, 세부 조정 및 경계 상자 회귀의 효과를 평가한다.

주요 전략

  1. 데이터셋 분할: val1과 val2로 데이터셋을 분할하여 검증 및 학습 데이터로 사용.
  2. 영역 제안: 선택적 검색을 사용하여 영역 제안 생성.
  3. 학습 데이터 구성: val1과 trainN을 사용하여 학습 데이터 구성.

4. The ILSVRC2013 Detection Dataset

4.1 Dataset Overview

  1. 데이터셋 분할: ILSVRC2013 탐지 데이터셋은 세 가지 세트로 나뉨.
    • train: 395,918 이미지.
    • val: 20,121 이미지.
    • test: 40,152 이미지.
    • val과 test 세트는 같은 이미지 분포에서 추출, PASCAL VOC 이미지와 유사.
    • train 세트는 ILSVRC2013 분류 이미지 분포에서 추출되어 더 다양한 복잡성을 가짐.
  2. 주석: val과 test 세트는 모든 클래스에 대해 포괄적으로 주석이 달림.
    • train 세트는 포괄적이지 않음. 200개 클래스의 인스턴스가 주석되지 않을 수 있음.
    • 각 클래스에는 부정 이미지 세트도 포함됨(해당 클래스의 인스턴스가 없는지 수동으로 확인).

4.2 Region Proposals

  1. 선택적 검색: PASCAL 탐지와 동일한 방법 사용.
    • 각 이미지의 크기를 고정 너비(500 픽셀)로 조정한 후 선택적 검색 실행.
    • val에서 평균 2403개의 영역 제안을 생성, 0.5 IoU 임계값에서 91.6%의 리콜.

4.3 Training Data

  1. 훈련 데이터 세트: val1의 모든 선택적 검색 및 실제 박스를 포함하는 이미지와 train의 클래스별 최대 N개의 실제 박스로 구성된 세트(val1+trainN)를 생성.
    • CNN 세부 조정: val1+trainN에서 50,000 SGD 반복 실행.
    • SVM 훈련: val1+trainN의 모든 실제 박스를 사용하여 각 클래스의 양성 예제로 사용.
    • 경계 상자 회귀: val1에서 훈련.

4.4 Validation and Evaluation

  1. 결과 제출: 최적의 선택을 한 후 두 개의 결과 파일을 ILSVRC2013 평가 서버에 제출.
    • 첫 번째 제출: 경계 상자 회귀 없음.
    • 두 번째 제출: 경계 상자 회귀 포함.

4.5 Ablation Study

  1. 훈련 데이터의 양, 세부 조정 및 경계 상자 회귀의 영향 분석: 다양한 훈련 데이터 양, 세부 조정 및 경계 상자 회귀의 영향을 val2에서 mAP로 평가.
    • mAP가 test와 val2에서 매우 유사하여 val2의 mAP가 test 성능의 좋은 지표임을 확인.
    • 세부 조정과 경계 상자 회귀의 도입으로 성능이 크게 향상됨.

4.6 Relationship to OverFeat

  1. R-CNN과 OverFeat 비교: OverFeat는 R-CNN의 특수 사례로 볼 수 있음.
    • 선택적 검색 영역 제안을 다중 스케일 피라미드로 대체하고 클래스별 경계 상자 회귀기를 단일 경계 상자 회귀기로 변경하면 유사한 시스템이 됨.
    • OverFeat는 R-CNN보다 약 9배 빠름. 이미지 레벨에서 왜곡되지 않은 슬라이딩 윈도우를 사용하여 계산 공유 가능.
    • R-CNN의 속도 향상은 다양한 방법으로 가능하며 향후 작업으로 남겨짐.

5 | Semantic segmentation


요약

R-CNN을 사용하여 PASCAL VOC 분할 과제에서 의미적 분할을 수행한다. CPMC(Constrained Parametric Min-Cuts)를 사용하여 각 이미지에서 150개의 영역 제안을 생성하고, 각 클래스에 대해 SVR(Support Vector Regression)을 사용하여 영역의 품질을 예측합니다. 저자들은 R-CNN을 사용하여 의미적 분할 성능을 높일 수 있음을 보여준다.

주요 전략

  1. CNN 특징 사용: 전체 영역, 전경 마스크 영역 및 두 가지 결합 특징을 사용하여 CNN 특징을 추출.
  2. 결과 비교: R-CNN이 다른 최신 기법보다 높은 성능을 달성함을 보여줌.

6 | Conclusion


논문은 간단하고 확장가능한 object detection 알고리즘을 소개한것이고 이는 PASCAL VOC2012에서 가장 좋은 결과를 냈던 것보다 30%향상된 성능을 보인다.

이것은 두가지 인사이트를 통해서 가능했으며 두가지는 아래와 같다.

  1. The first is to apply high-capacity convolutional neural networks to bottom-up region proposals in order to localize and segment objects. (CNN의 적용)
  2. The second is a paradigm for training large CNNs when labeled training data is scarce. (supervised pretraining, domain specific fine funing을 적용)

요약

이 논문은 객체 탐지 성능이 정체된 상황에서 단순하고 확장 가능한 탐지 알고리즘을 제안합니다. 주요 통찰은 고용량 CNN을 하위 영역 제안에 적용하고, 라벨링된 데이터가 부족할 때 지도 학습 전이를 통해 성능을 향상시키는 것입니다. 이 방법은 PASCAL VOC 2012에서 30% 이상의 성능 향상을 달성합니다. 저자들은 이 방법이 데이터가 부족한 다양한 비전 문제에 효과적일 것이라 기대합니다.

profile
AI Engineer / 의료인공지능

0개의 댓글