오늘은 Mask R-CNN에 대한 간단한 리뷰이다.
Faster R-CNN은 RPN을 통해 candidate bounding box를 추론하고, 이후 classification과 bounding box regression을 수행한다. Mask R-CNN은 이와 병행하여 각각의 ROI에 대해 binary classification도 수행하여 segmentation을 한다.
특이한 점은 softmax를 활용한 classification이 아니라, 오직 하나의 class만 보는 binary classification을 사용한다는 점이다. 그 이유는 classification을 수행하는 branch가 따로 있기 때문이며, 이렇게 했을 때 segmentation 성능이 좋았다고 말한다.
segmentation을 할 때는 ROI에다가 FCN을 사용하여 수행한다. 이를 위해 ROIAling이라는 방법을 적용한다.
ROIAlign은 ROIPool에서 양자화 과정을 제외하고, bilinear interpolation을 통해 각 ROI bin의 4개의 location에서 feature를 뽑아내고, 이것을 합친다. 이 방식은 RoIWarp와 같은 다른 방식보다 성능이 잘 나왔다고 한다.
아키텍처는 논문의 접근 방식의 일반성을 입증하기 위해, ResNet과 FPN(Feature Pyramid Network) 아키텍처를 backbone으로 사용해 구성하였다. 또한 각각의 backbone에 맞는 head를 달아 mask를 predict할 수 있도록 하였다.
Instance segmentation에 대한 성능 표이다.
Ablation experiments에 대한 성능표이다. 눈에 띄는 점은 mask를 추론할 때 binary classification으로 했을 때가 성능이 훨씬 좋았다는 점이다.
이외에도 포즈 estimation, cityscape dataset에 대한 segmentation도 준수한 성능을 보여줬다.
오늘은 Mask R-CNN에 대해 정말 간단히 알아보았다. Fast R-CNN에 RoIAlign을 추가하고, mask를 binary classification을 통해 추론하는 모델이었다. instance segmentation이라는 task를 다룬 논문은 처음 읽어보는데, 확실히 인상깊었다. 다음주에는 아마 Attention과 transformer를 다룰 것 같다.