크크루쿠쿠

[논문리뷰] Mask R-CNN 본문

DeepLearning/논문 리뷰

[논문리뷰] Mask R-CNN

JH_KIM 2021. 8. 20. 13:46

 

Segmentation 

Segmentation이란 pixel 단위로 classifiacation을 수행하는 것

 

 

Semantic Segmentation vs Instance Segmentation

우선 논문을 보기 전에 이 두 가지를 구분하면 좋을 것 같다.

그림을 보면 이해가 편한데

- Semantic Segmentation: 같은 객체끼리는 한가지 색으로 Masking

- Instance Segmentation: 같은 객체라도 개별 Object별로 Masking을 수행하는것.

즉 Instance segmentation은 각 픽셀별로 어떤 카테고리 속하는지 계산X

-> 각 픽셀별로 object가 있는지 없는지만 계산

이번에 볼 논문 Mask R-CNN은 Instance Segmentation에 속합니다.

 

R-CNN

R-CNN은 CNN에 Region Proposal을 추가하여 object가 있을법한 곳을 제안 후 object detection 하는 것

R-CNN -> Fast R-CNN -> Faster R-CNN -> Mask R-CNN

구조를 비교한 사진

Mask R-CNN

Faster R-CNN과 다른점

Mask R-CNN은 Faster R-CNN에서 각 픽셀을 masking하는 CNN을 추가한 것이다.

다른점을 자세히 보자면

1. bounding box regression branch에 추가로 mask branch를 추가함.

기존 Faster R-CNN을 Object Detection역할을 하도록 하고 각각의 RoI에 Mask segmentation을 해주는 FCN을 추가함.

2. Resion Propsal Network 전에 Feature Pyramid Network가 추가됨

3. RoI align이 RoI pooling을 대신함

RoI pooling에서는 정확한 위치X  -> pixel단위로 하는 segmentation에서는 문제가 생긴다.

 

Architecture

1. Convolutional backbone architecture

이미지에서의 이미지 feature 추출

이 논문에서는 FPN 을 쓴 ResNet-FPN Backbone을 사용했다

FPN(Feature Pyramid Network)는 layer를 통과할 수록 중요한 feature를 제외한 나머지를 모두 잃어버리는 점을 극복한 방법이다. (설명 필요..)

2. Network head:

bounding-box recognition (classification and regression) and RoI를 통한 mask 예측

 

Mask R-CNN Loss Function

classification, bbox regression, masking 이 병행처리되는것을 생각하여 세가지를 전부 더한것

Loss= Lcls(Softmax Cross Entropy) + Lbox + Lmask(Binary Cross Entropy)

 

Comments