ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • [논문 리뷰] Rich feature hierarchies for accurate object detection and semantic segmentation
    Paper Review/Computer Vision 2021. 12. 2. 14:20

    Abstract 

    이전 Object detection은 여러 개의 low-level image feature를 high-level context와 결합하는 앙상블 시스템이다. 이 논문에서 제안하는 알고리즘의 두 가지 핵심은 다음과 같다.  

     

    • 객체의 localization과 segmentation을 위해 high-capacity region proposal CNN을 적용한다. 
    • label이 지정된 훈련 데이터가 부족할때 보조 작업에 대한 supervised pre-training과 domain-specific fine-tuning로  성능 향상 

    Region proposal과 CNN을 결합하기 때문에 R-CNN이라고 부른다. 

    1. Introduction 

    Detection은 많은 객체들을 localize 해야 한다. 그러기 위해서 object detection과 semantic segmentation에서 모두 성공적이었던 region을 활용한 recognition을 실행함으로써 CNN의 localization 문제를 해결한다. 

    Test 과정에서 이 방법은 2000여 개의 region proposal을 입력이미지로부터 생성하고, CNN을 사용하여 각 proposal에서 고정된 길이의 feature vector를 추출한 다음 선형 SVM을 이용하여 카테고리 별로 각 region을 분류한다. 여기서 각 region proposal에서 고정된 사이즈의 CNN input을 region의 모양에 상관없이 계산하기 위해 affine image warping을 사용한다.  

     

    이 과정을 통해 R-CNN이 ILSVRC2013 detection 에서 이전 모델의 성능을 크게 능가하는 것을 보여준다. 

    또한, label이 지정된 데이터 부족 문제를 pre-training과 fine-tuning을 이용해 mAP을 8% 정도 향상시켰다. 

    2. Object detection with R-CNN

    Object detection system의 세 가지 모듈 

     

    • category-independent region proposal을 생성하여 이 detector에 사용할 수 있는 후보 detection 세트를 정의한다.
    • 각 region에서 고정 길이 feature vector를 추출하는 CNN 
    • 클래스별 선형 SVM의 집합 

    2.1 Module design 

    Region Proposal 

     Selective search

     object와 주변의 색감, 질감 등을 파악하여 bounding box들을 형성한다.

    1. 이미지의 초기 segment를 정해 많은 region 생성 
    2. 각 region을 기준으로 color, texture, size, fill을 통한 유사도가 높은 region 결합 
    3. 결합되어 커진 region을 최종 region proposal로 결정 

    Feature extraction

    CNN의 Caffe 구현(Krizhevsky)을 사용하여 각 region proposal에서 4096차원의 feature vector를 추출한다. Feature는 평균을 빼서 추출된 227 X 227 RGB 이미지를 5개의 컨볼루션 레이어와 2개의 FC 레이어를 통해 전달함으로써 계산된다. 

    여기서 region proposal의 feature를 계산하기 위해 고정크기의 vector가 필요하기 때문에 해당 region의 이미지 데이터를 CNN과 호환되는 형식으로 변환해야 한다. 후보 region의 크기나 비율에 관계없이, 모든 픽셀을 input 크기로 warp한다.

    2.2 Test-time detection

    Feature를 계산하기 위해 각 proposal을 warp하고 CNN을 통해 전파시킨다. 이후 각 클래스에 대해 해당 클래스 대한 훈련된 SVM을 사용하여 추출된 각 feature vector의 각 object의 확률인 score를 계산한다. 이미지에 대한 모든 scored regions가 주어지면, NMS을 이용하여 임계값 이상인 영역을 제거한다. 

       Non Maximum suppresion (NMS) 

    object detection에서 예측 결과가 겹치는 영역 중 정확도가 가장 높은 영역만 남기는 과정 

    • score를 기준으로 내림차순 정렬 후 object에 대해 가장 높은 영역을 제외한 IoU가 임계값 이상 영역을 제거한다. 

       Intersection over union (IoU)

     Ground-truth와 예측된 bounding box를 비교하는 지표로써 두 box가 겹치는 만큼을 수치로 나타낸다. 

    Run-time analysis 

    두 가지 속성이 detection을 효율적으로 만든다. 

     

    1. 모든 CNN 파라미터는 모든 카테고리에서 공유된다. 
    2. CNN으로 계산된 feature vector는 기존의 다른 접근 방식에 비해 저차원이다. 

    2.3 Training 

    Supervised pre-training 

    기존에 학습된 ILSVRC2012 분류 데이터셋을 pre-trained 된 CNN을 수행한다. 

    Domain-specific fine-tuning 

    Warped region proposal만 사용하여 CNN 파라미터에 대한 SGD 훈련을 수행한다. Object detection를 위해 classification layer를 (Object class 개수(N) + background(1))으로 바꾸고 무작위로 초기화한다. (object와 background를 모두 포함한 학습 데이터 구성)

     

    • Positive sample : ground-truth와 IoU값이 0.5 이상인 region
    • Negative sample : positive sample이 아닌 나머지 region (Background) 

    Object category classifiers

    클래스별로 해당 sample들을 나눠 SVM을 훈련한다. 

     

    • Positive sample : 각 클래스별 object의 ground-truth bouding boxes
    • Negative sample : 각 클래스별 object의 ground-truth와 IoU가 0.3 미만인 region 

    2.4 Results on PASCAL VOC 2010

    VOC 2007 데이터 세트에서 모든 설계 결정과 하이퍼 파라미터를 검증했다. VOC 2010-12 데이터 세트에 대한 최종 결과를 위해 VOC 2012 훈련 세트에서 CNN을 fine-tuning하고 SVM을 최적화했다. Bounding box regression을 추가한 경우 성능이 더욱 향상한다. VOC 2011/12 테스트에서 유사한 성능(53.3% mAP)을 달성한다.

    3. Visualization, ablation, and modes of error

    3.1 Visualizing learned features

    어떤 레이어가 성능에 영향을 미치는지 알기 위해 네트워크의 마지막 3개의 레이어들에 대한 VOC 2007 데이터 세트의 결과

    그림의 각 행은 VOC 2007 trainval에서 fine tuning을 마친 CNN의 pool5에 대한 상위 8개 activation을 표시한다.  각 filter 별로 activation을 내림차순으로 정렬한 후 NMS를 수행하여 top scoring region을 찾는다. 이 과정에서 정확하지 않은 object를 잘못 인식하게 될 수 있다. 따라서, CNN은 모양, 질감, 색상 등의 feature의 영향을 받을 수 있다. 이후의 FC레이어에서 이러한 feature의 구성 집합을 모델링한다. 

    3.2 Ablation studies    

    CNN의 마지막 3개의 레이어가 성능에 미치는 영향을 확인한다. 

    Performance layer-by-layer, without fine-tuning

    pool 5 레이어까지 진행되었음에도 높은 성능을 보인다. pool5 레이어는 FC6, FC7 레이어에 비해 더 높은 성능을 보인다. 이는 CNN의 표현능력이 컨볼루션 레이어에서 나온다는 것을 의미한다. 

    Performance layer-by-layer, with fine-tuning

    mAP가 상승하는 것을 확인할 수 있고 FC 레이어가 pool5 레이어보다 상승폭이 크다. 또한 기존의 최고 성능을 보여준 HOC기반 방법과의 결과보다 훨씬 좋은 성능을 보여준다. 

    3.3 Detection error analysis 

    Hoiem의 탐지 분석 도구를 적용하여 오류 유형에 대해 분석한다. 이에 따르면 background나 object class에 대한 confusion보다는 poor localization이 오류의 주요 원인이다. 또한 R-CNN이 이전의 방법론보다 더 나은 것을 확인할 수 있고, fine-tuning, bounding-box regression을 활용했을 때 더 좋은 성능을 보이는 것을 확인할 수 있다. 

    3.4 Bounding box regression 

    오류의 주된 원인인 localization 오류를 줄일 수 있는 방법을 제안한다. 정확한 bounding box를 예측하기 위해 선형회귀 모델을 훈련한다. 이를 통해 mAP를 3~4% 정도 향상시킨다. region proposal scoring 이후 새로운 bounding box를 예측하고자 할 때 사용한다. 

     

    Input = {(Pi, Gi)} (i = 1, ..., N)

    Predicted box = P = (Px, Py, Pw, Ph)

    Ground truth box = G = (Gx, Gy, Gw, Gh)

    (x, y, w, h) = (중심의 x좌표, 중심의 y좌표, 너비, 높이)

    Bounding box regression은 Predicted box가 Ground truth box와 유사하도록 학습시킨다. 여기서 P의 요소들을 G와 유사하게 이동시켜주는 함수 d(P)를 사용한다. 

    Φ : pool5에서 구한 feature vector 

    w : 학습 가능한 weight vector 

    weight를 학습시키기 위해 regularized least squares objective, 즉 ridge regression을 사용한다. 이 과정에서 regression targets인 t는 아래와 같다. 

    Bounding box regression은 모든 ouput bounding box에서 진행하지 않고 ground-truth box와 predicted box의 IoU가 0.6 이상인 값에 대해서만 진행했다. 

    3.5  Qualitative results 

    각 detection은 예측된 클래스와 detection의 정밀도 값으로 레이블이 지정된다. 0.5보다 큰 정밀도의 모든 detection을 볼 수 있다. 

    4. Conclusion

    크게 두 가지 측면을 통해 기존의 결과에 비해 30% 정도의 상대적 성능 개선을 보여준다. 

     

    • object를 localize하고 분할하기 위해 상향식 region proposal에 CNN을 적용
    • 훈련 데이터가 부족할 경우 pre-training 이후 fine-tuning이용

    결과적으로 아래 3가지 작업으로 구성되어 있다. 

     

    1. region proposal에 대한 CNN 학습 
    2. SVM classification
    3. Bounding box regression

    이 과정을 통해 이전에 비해 성능을 향상시켰다. 

     

     

     

     

    논문
    https://openaccess.thecvf.com/content_cvpr_2014/html/Girshick_Rich_Feature_Hierarchies_2014_CVPR_paper.html

    Selective search 
    https://go-hard.tistory.com/32

    SVM, NMS, Bounding box regression
    https://ratsgo.github.io/machine%20learning/2017/05/23/SVM/
    https://ctkim.tistory.com/98
    https://better-tomorrow.tistory.com/entry/Bounding-box-regression

     

     

Designed by Tistory.