1. Abstract
- R-FCN
- position-sensitive pooling과 RoI pooling을 통해 각 region의 위치정보를 보존하면서 연산을 공유
- global context를 사용하지 못한다는 단점이 존재
- R-FCN++
- Global Context Module
- RCM pooling
2. Introduction
- Faster R-CNN의 단점
- per-RoI computation이므로 proposal이 늘어나면 속도가 많이 느려짐
- 단순한 RoI pooling은 정보의 손실이 발생할 수 있음
- R-FCN의 단점
- position-sensitive score map과 position-sensitive RoI pooling을 통하여 위치 정보를 지켜주지만, 너무 지역적인 정보에 치중하여 global context를 반영하지 못함
- R-FCN++
- Global Context Module을 통해 kernel size의 크기를 키워 global context를 반영할 뿐만 아니라 kernel size를 키웠음에도 computation efficiency를 유지
- RCM pooling을 통하여, RoI에 포함된 background의 score noise를 제거하고 object의 score를 더 정확하게 추출
3. Related work
- Region-based CNN
- Proposal-free CNN
- Region-based FCN
4. Our approach
4.0 Architecture
- feature extraction by convolution
- region proposal using feature map of 1 by RPN
- Global Context Module using feature map of 1
- sibling 1x1 convolution using GCM feature map of 2
- position-sensitive score map 생성
- box regression을 위한 feature : channel 생성
- classification을 위한 feature : channel 생성
- = grid number
- position-sensitive RoI pooling
- RCM pooling
4.1 Global Context Module
- computation sharing을 위하여 RoI pooling을 score map에 적용
- 각 pixel의 score를 예측하는 것이 되는데, classification은 global context가 중요
- GCM
- separable convolution
- time efficiency를 유지하며 global context를 반영
- 값이 커질수록 더 넓은 context를 반영 가능
- Light-GCM
- separable convolution을 사용하더라도, 일반적인 convolution보다는 많은 연산량
- GCM의 규모를 줄이기 위하여 사용
4.2 Row-Column Max Pooling
- bounding box는 object로 꽉 채워져있지 않고, object와 background가 섞여있음
- 그냥 pooling을 해버리면 background가 예측한 class score 때문에 noise가 발생
- RCM pooling
- position-sensitive RoI pooling 결과에 적용
- 각 row/column 별로 max pooling을 해준 결과를 추출
- 실제로 object가 있는 부분의 score만 classification에 활용
5. Experiments
- a`trous alogritm
- OHEM
- pre-trained ResNet
5.1 Ablation Experiments
- Pascal VOC 2007+2012
- MS COCO
5.1.1 Global Context Module
5.1.1.1 Global context information Design Choice
- global context
- GCM의 kernel size 가 커질수록 global context를 잘 반영하기 때문에 좋은 성능을 보여줌
- GCM 대신 kernel size가 큰 일반적인 convolution을 적용해도 좋은 성능을 보여줌
- parameter 수가 영향을 미칠수도 있기 때문에 작은 kernel size의 filter를 stack했지만, 성능은 좋지 않음
- 즉, global context가 중요하다는 것을 알 수 있음
5.1.1.2 How does Global Context improve the performance
- 일반적인 kernel과 GCM을 비교했을 때, GCM의 feature map이 더 정확하다는 것을 알 수 있음
- IoU threshold를 낮췄을 때 더 좋은 효과
5.1.2 Row-Column Max Pooling
- RCM pooling이 voting에 사용되는 score를 더 잘 선택
5.2 Pascal VOC
5.2.1 Efficiency Study
5.3 MS COCO
6. Conclusion
- Global Context Module은 더 좋은 feature map을 추출하는 역할을 한다.
- RCMPooling은 object의 score를 더 정확하게 추출하는 역할을 한다.