상세 컨텐츠

본문 제목

[7주차/논문리뷰/이서연] Mask R-CNN

2023 Summer Session/CV Team 1

by 쏘니냐 2023. 8. 17. 00:35

본문

Mask R-CNN


0. Abstract

- 본 연구진은 object instance segmentation을 위한 단순하고, flexible 하며 general한 프레임 워크를 구축하였다. 본 모델은 이미지의 object를 detect함과 동시에 각각의 인스턴스에 대하여 고퀄리티의 segmentation mask를 생성한다. 이 방법을 Mask R-CNN이라고 하며 Faster R-CNN의 bounding box recognition에 object mask를 예측하는 파이프 라인을 parallel하게 더한 것이다.  Mask R-CNN은 학습하기 쉬우며 다른 task에 일반화하기가 쉽다는 장점을 가진다. 이 방법은 COCO의 3개의 챌린지(instance segmentation, boundingbox object detection, person keypoint detection) 모두에서 좋은 결과를 보여주었으며, 동시대에 공존하는 모든 single-model에 대해 가장 좋은 성능을 보여주었다. 

1. Introduction

-object detection 분야에서 Fast/Faster R-CNN, FCN, semantic segmenation 3가지의 발전이 이루어졌다. 본 연구는 Instance segmentation에 적용 가능한 단순하고 flexible한 프레임워크를 개발하는 것이다.  Instance segmentation(이미지 내에 존재하는 모든 객체를 탐지하는 동시에 각각의 경우(instance)를 정확하게 픽셀 단위로 분류하는 task)의 경우 detection과 동시에 segmentation을 진행해야 하기 때문에, object detection과 semantic segmentation(이미에 있는 모든 픽셀을 해당하는 class로 분류하는 것)을 결합해야 했다. 

Mask R-CNN은 Faster R-CNN을 확장한 것으로 classification branch bounding box regression branch와 평행하게 각각의 RoI(Region of Interest))에 segmentation masks를 예측하는 branch를 추가한 구조(mask branch)를 가지고 있다. 

 

mask branch는 각각의 RoI에 작은 크기의 FCN(Fully Convolutional Network)가 추가된 형태입니다. 기존의 Faster R-CNN은 input과 output 사이의 pixel-to-pixel alignment를 위해 디자인 된 것이 아니므로 (RoI pooling: 사이즈가 제각각인 proposal region을 고정된 크기의 feature로 만들어 FC layer의 인풋으로 넣기위해서 수행하는 메소드) Mask R-CNN은  RoIAlign layer를 추가함으로써 misalignment를 막았다. 이를 통해 정확한 spatial locations를 보존할 수 있게 되었으며 mask accruacy를 높이게 되었다. 더불어 mask prediction과 class prediction을 분리함으로써 mask prediction을 할 때 다른 클래스를 고려할 필요 없이 binary mask를 예측하면 되 성능이 향상되었다고 한다.

 

2. Related Work 

- R-CNN: 

bounding-box object detection을 위한 regin based CNN

- Instance Segmentation:

이미지 내에 존재하는 모든 객체를 탐지하는 동시에 각각의 경우(instance)를 정확하게 픽셀 단위로 분류하는 task이다.

Semantic segmentation는 동일하게 분류된 카테고리의 instance를 구분하지 않는다는 점에서 차이가 있다. 즉 객체를 탐지하는 object detection task와 각각의 픽셀의 카테고리를 분류하는 semantic segmentation task가 결합된 것이다. 

3. Mask R-CNN

 

-Faster R-CNN :

https://kubig-2023-2.tistory.com/47#comment17235792

 

[6주차/논문리뷰/이서연] Faster R-CNN

Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks 1. Introduction -SOTA 모델은 region proposal 알고리즘을 사용해왔으며 이렇게 구현한 SPP와 Fast R-CNN은 객체 탐지 시간을 크게 줄였다. 다만 regi

kubig-2023-2.tistory.com

-Mask R-CNN :

2 stage procedure =

1 step : RPN (RoI 얻음)

2 step : Predict class, box offset, 각각의 RoI에 대한 binary mask 동시 수행

  • 1 step : Faster R-CNN과 동일
  • 2 step : multi task loss 함수 사용(서로 독립적)
  • L mask만 기존의 Faster R-CNN loss에 추가된 것 - 클래스 간의 비교 없이 모든 클래스에 대해 mask를 생성하도록 함. 
  •  :
    • 차원 (: class 개수,  : 이미지 해상도)
    • average binary cross-entropy loss 사용함. L mask는 k-th mask에 대해서만 정의
    • binary mask란 특정 클래스에 대해 instance가 있다고 생각되면 1, 없다고 생각되면 0으로 나타내는 것 의미함.

multi task loss

  • FCNs을 semantic Segmentation에 적용하는 경우, 픽셀마다 class와 mask를 예측해야 하므로 계산량이 많은데, 본 연구에서는 class 예측과 mask 예측이 독립적으로 이루어지므로 연산량이 줄어든다.

-Mask Representation 

  • mask는 input object의 spatial layout을 인코딩함. 각 RoI마다 FCN(Fully Convolution Network)을 적용하고 이로 인해 공간 정보를 잃어버리는 것 없이  x  크기의 mask를 예측 가능
  • 즉 mask는 convolution 연산에 의해 공간적 정보 손실을 최소화할 수 있다
  • 실험 결과 fc layer를 사용하는 것보다 파라미터의 수도 훨씬 줄고 정확도가 높게 나옴
  • RoIAlign layer를 만든 이유는 mask 정보를  x  형태로 보존하기 위해서는 RoI feature가 요구되기 때문. 기존의 RoI pooling의 경우 quantization(축소,줄어듦)되면서 pixel accurate masks에 부정적영향

RoI align : 

  • Faster R-CNN과의 차이점은 ROI pooling을 ROI align으로 대체 했다는 것이다. 
  • bilinear interpolation 연산을 사용하여 각 RoI bin의 샘플링된 4개의 위치에서 input feature의 정확한 값을 계산
  • 그 후 결과를 max 또는 평균낸다.
  • Faster R-CNN의 quantization은 사용되지 않음
  • 4.2에서 RoIPool, RoIWarp, RoIAlign의 실험 결과 비교함

Network Architecture :

  • BackBone
    • 이미지의 feature를 추출하기 위해 사용
    • ResNet과 ResNeXt의 50, 101 layer과 FPN(Feature Pyramid Network)을 backbone으로 사용
  • Head
    - Bounding Box Recognition (Classification and Regression)과 Mask Prediction을 위해 사용됨
    - Faster R-CNN의 Head(Classification and Regression)에 Mask branch를 추가
    - backbone(ResNet, FPN)에 따라 Head의 구조가 달라짐

 

Implementation Details

: 코드 구현 참조

4. Experiments : Instance Segmentation 

- coco data set을 사용하였으며 기존의 SOTA 네트워크보다 뛰어난 성능을 보였다.

5. Mask R-CNN for Human Pose Estimation

- human pose estimation으로의 확장 가능성 있음. 

6. Reference

https://arxiv.org/pdf/1703.06870.pdf

https://github.com/facebookresearch/Detectron

 

GitHub - facebookresearch/Detectron: FAIR's research platform for object detection research, implementing popular algorithms lik

FAIR's research platform for object detection research, implementing popular algorithms like Mask R-CNN and RetinaNet. - GitHub - facebookresearch/Detectron: FAIR's research platform for ob...

github.com

https://herbwood.tistory.com/20

 

Mask R-CNN 논문(Mask R-CNN) 리뷰

이번 포스팅에서는 Mask R-CNN 논문(Mask R-CNN)을 읽고 리뷰해보도록 하겠습니다. Mask R-CNN은 일반적으로detection task보다는 instance segmentation task에서 주로 사용됩니다. Segmentation 논문을 읽어본 경험이

herbwood.tistory.com

https://velog.io/@sksmslhy/Paper-Review-Mask-R-CNN

 

[논문 리뷰] Mask R-CNN

Mask R-CNN은 2017년 ICCV에 발표된 논문이다. Object Detection에 Segementation까지 가능하다. Mask R-CNN은 이미지 내에서 각 instance에 대한 segmentation mask를 생성한다.

velog.io

 

관련글 더보기

댓글 영역