Paper review/Computer Vision

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks (NeurIPS'15)

언킴 2022. 4. 29. 18:07
반응형

Fatser R-CNN은 기존 R-CNN이 속도가 느린 것을 개선한 모델로 Fast R-CNN 다음 등장한 모델이다. 기존의 2 stage detection에서는 SPP-net이나 Fast R-CNN이 많이 활용되고 있었는데, Faster R-CNN은 속도를 개선하여 Real-Time으로 이미지 처리를 가능하게 했다는 것이다. 

 

제일 처음 나온 R-CNN의 경우 입력받은 이미지에 대해서 2000개의 Region Proposal을 생성하고, 생성된 Proposal을 NMS(Non-Maximum Suppression)을 수행하여 가장 IoU가 높은 하나의 Bbox를 추출하는 형태로 진행하였기 때문에 Region Proposal 단계에서 엄청난 시간이 소요되고 있었다. 이를 개선하기 위해 Fast R-CNN이 등장했다. Fast R-CNN은 그러한 단점을 해결하기 위해 전체 이미지에 대해서 단 한번만 Convolution Networks에 넣어도 성능이 발휘되도록 했다.

 

그러나 이 때 까지도 Region Proposal은 CPU에서 연산을 수행하는 selective search 방식을 사용하기 때문에 여전히 속도가 느렸다. SPP-net, Fast R-CNN과 같이 Faster R-CNN이 나오기 이전 SOTA 성능에 도달한 모델들 역시 Region Proposal 단계에서 엄청난 시간을 소요하게 되는 문제가 존재했지만 본 논문에서는 Region Proposal Networks를 제안하여 RPN이 CPU가 아닌 GPU에서 연산이 가능하도록 하여 엄청난 속도 개선을 보여주었다. Faster R-CNN은 기존의  Fast R-CNN에 Region Proposal Networks (RPN)을 결합하여 수행되기에 RPN이 어떤 것인지 알아보자.

 

Region Proposal Networks

RPN은 하나의 이미지를 입력으로 받아 Bounding box를 출력한다. 각각의 Bbox는 해당 영역에 물체가 존재하는지, 존재하지 않는지에 대한 정보를 가지고 있다. 먼저 이미지를 입력으로 넣고 VGGnet이나 ZF와 같은 CNN 기반 모델에 입력으로 넣고 이미지마다 Conv feature map을 추출한다. 추출된 feature map에 대해 9개의 anchor boxes를 sliding window 방식으로 각 위치에 대해 prediction을 수행하게 된다. 그 후 이러한 Feature를 기반으로 Regression layer와 Classification layer로 보내 물체의 유무와 Bbox의 좌표를 출력한다.