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 방법이고 정확도, 속도를 크게 향상시켰다
이후 많은 후속 연구들이 진행되어 많이 발전되었다고 한다.
댓글 없음:
댓글 쓰기