아롱이 탐험대

Fast R-CNN 본문

study/paper reviews

Fast R-CNN

ys_cs17 2020. 3. 13. 11:09
반응형

Fast R-CNN

-Ross Girshick Microsoft Research-

 

 

1. Introduction

지난 시간 R-CNN논문에 이어 이번에는 더욱 향상된 network인 Fast R-CNN에 대해 분석을 하겠다. 우선 기존 R-CNN에서는 몇 가지의 단점들이 존재를 했는데 Fast R-CNN에서는 이 problems들이 존재했는지 한번 보자

 

1) 기존 R-CNN에서는 CNN part에서 Alex net을 그대로 사용했기 때문에 pixel size를 224*224로 warping하는 과정에서 이미지 손실이 생긴다.

2) Selective search를 통해 나온 2000개의 region image를 모두 CNN에 넣기 때문에 시간적인 측면에서 효율성이 아주 낮다.

3) Selective search와 SVM은 GPU에 적합하지 않은 기법들이다.

4) Backpropagation이 불가능하다.

과연 Fast R-CNN에서는 이 문제점들을 어떻게 해결하였는지 지금부터 살펴보자

 

2. Network

Fast R-CNN의 전체적인 model

1) CNN

우선 전체적인 모습을 보면 CNN 부분에서 크게 달라진 점이 보인다.

R-CNN과 fast R-CNN의 처리과정 비교

원래 R-CNN에서는 selective search를 통해 각각의 약 2000개의 feature map을 뽑아낸 후 Alex net에 input으로 넣는 구조였지만 Fast R-CNN에서는 selective search를 통해 region proposal을 나눈 단 1장의 image만 CNN을 통해 feature map을 뽑고 Roi projection (region of interest)을 하는 방법이다. 이를 통해 약 2000개의 input으로 들어갔던 CNN 구조를 단 1개의 input으로 들어가는 CNN구조로 변경하였다. 이 과정에서 시간적인 부분에 매우 향상되었다고 한다.

 

2) Roi pooling

다음은 CNN을 거치고 나온 여러 개의 Bounding 된 box들을 Roi pooling을 해주는 과정이다. 각 box들이 FCs(Fully Connected Layer)에 들어가려면 size가 같아야 되는데 이 problem을 Roi pooing 과정을 통해 모두 동일한 7*7 size로 변형시켜준다.

ROI pooling

이는 8*8 feature map을 roi pooling하는 과정을 보여준다. 각각의 size가 다른 bounding box들을 Max pooling을 stride를 다르게 하여 7*7 size인 Fixed Length Feature vector로 만들어준다.

 

3) soft max & bbox regressor

Roi pooling을 통해 나온 vector들을 FCs에 넣어 마지막엔 soft max를 통해 loss를 얻고, bbox를 통해 bound box의 영역을 조절한다.

multi loss

기존 R-CNN과는 다르게 Fast R-CNN에서는 Loss function으로 multi-task loss를 사용한다. 이를 통해 Fast R-CNN에서는 동시에 loss function을 학습할 수 있다.

 

Bound box loss
Smooth L1

Classification에서는 Log loss를 사용했고, Bounding box regression에서는 smooth L1이라는 loss를 사용했다. 이를 통해 Backpropagation을 가능하도록 했다.

 

3. result

Fast R-CNN은 우선 단 1장의 image를 CNN의 input으로 넣음으로써 기존 R-CNN에 비해 49초->2.3초로 매우 성능이 좋아진 모습을 보인다. 하지만 2.3초도 real time에는 적용할 수 없는 시간이다. 또한 2.3초에서 region proposal에 해당하는 시간이 2초씩이나 차지한다고 한다. 이 문제는 추후 faster R-CNN에서 기능을 향상했다고 한다. 또한 이 방식을 통해 저장 용량의 측면에서도 크게 향상되었다. 정확도 측면에서는 mAP기준으로 약 5% 성능이 더 좋아졌다. 이는 backpropagation이 가능해졌기 때문에 향상되어 보인다.

위에서 언급한 것처럼 많은 부분이 개선되었지만 중요한 부분 중하나인 시간을 줄이기 위해 이로부터 1년 뒤 faster R-CNN이라는 기술이 나온다. 이 논문은 다음 시간에 분석하겠다.

 

4. reference

Fast R-CNN (논문)       

https://nuggy875.tistory.com/33?category=860935

https://bskyvision.com/702?category=635506         

반응형
Comments