Post List

2020년 10월 3일 토요일

R-CNN(Rich feature hierarchies for accurate object detection and semantic segmentation)

convolution, CNN이 중요하고 많이 쓰인다는 것은 알겠지만 최근 네트워크가 왜, 어떤 방향으로 발전되어오고 있는지에 대해 알려고 하지 않았던 것 같다. 따라서 YOLO에 다다르기 까지 여러 논문을 리뷰하고자 한다. 리뷰할 논문은 R-CNN이다.

R-CNN 구조
R-CNN
Object detection with R-CNN

R-CNN의 obect tetection은 3개의 모듈로 구성되어있다.

  • generates category-independent region proposals
  • large CNN extracts a fixed-length feature vector from region
  • set of class specific SVMs
  • Region proposals

    Region proposal 이란 이미지에서 object가 있을 만한 영역을 찾는 것이다. 가장 Naive 하게 접근한다고 하면 sliding window 방식으로 이미지를 탐색하는 것이다.

    Sliding Window
    하지만 딱 보면 알 수 있듯이 굉장히 오래 걸릴것이라고 예상할 수 있다. 따라서 이미지의 모든 영역에 대해 탐색하는 것이 아닌, object가 있을만한 '후보 영역'을 탐색 빠르게 하기위해 제안된 것이 region proposal이다.
    Region Proposal
    Region proposal의 방법으로는 objectness, selective search, category-independent object proposals 등등 다양한 방법이 있으나 R-CNN은 selective search를 이용한다고 한다. Selective Search 도 알면 좋겠지만 논문에서 말하고자 하는 것은 아니니 일단 넘어간다.

    Feature extraction

    Feature Extraction
    Region Proposal 이후, 후보 영역에 대해 4096-dimensional feature vector를 추출한다. 이 부분은 이해가 잘 되지 않았는데 깔끔하게 정리된 블로그가 있어서 참고했다. 링크 Region proposal에서 2천개 정도의 후보 영역을 모두 227x227(fixed-size CNN)로 warp한 후, 4096 차원의 feature vector를 추출한다.

    Classification

    추출된 feature vector는 SVM에 통과시켜 각 영역에 점수를 매긴다. 각 영역에 Score가 나오면 greedy non-maximum suppression을 진행한다 Non-Maximum Suppression이란 1)동일한 object에 대해 여러개의 box가 겹쳐있을 때, 2)가장 스코어가 높은 박스를 제외하고 IoU(Intersection-over-Union)가 일정값을 넘어가면 나머지 박스들을 제거하는 작업이다.

    IoU
    논문에선 IoU가 0.5보다 클 경우 동일 object로 결정한다.

    R-CNN Limitations

    R-CNN의 한계는 무엇일까?

  • 후보 영역의 크기, 비율에 상관없이 fixed-sized CNN에 맞추기 위한 warping 으로 localization에 취약
  • 많은 후보 영역에 대한 CNN inference로 시간이 오래걸림
  • Selective Search, SVM 은 GPU에 적합하지 않음
  • 수행한 Computation Share이 없음
  • 이정도가 R-CNN의 큰 틀이라고 한다. 정리하자면 R-CNN은 CNN을 이용한 최초의 Object Detection 방법이고 정확도, 속도를 크게 향상시켰다 이후 많은 후속 연구들이 진행되어 많이 발전되었다고 한다.

    댓글 없음:

    댓글 쓰기