ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 0910-Mask R-CNN논문 리뷰
    프로젝트/catholic 2021. 9. 10. 14:03
    728x90

    플젝한다고 바쁘다 바뻐

    동생이 드라이브를 드디어 공유해줘서 데이터셋을 수집완료했다!

    7146개의 괭이들 사진을 모았다 희희 행벅 긔여워,,,

    여튼 이제는 모델을 뭘 쓸지 공부해야한다

    instance segmentation을 검색하니까 젤 많이 뜨는게 Mask R-CNN이길래 Mask R-CNN 논문 리뷰부터 할 것

    쪼랩이 너무 빡센 것부터 시작하는 느낌인데,,,모르는 거 계속 검색하고 파고파고파다보면 어떻게든 되지 않을까?^p^

     

    Mask R-CNN

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

    Abstract

    bounding box recognition을 위한 branch+object mask를 예측하기 위한 branch추가함으로써 Faster R-CNN에서 확장

    github주소 : 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

    1. Introduction

    object detection과 semantic segmentation에 Fast/Faster R-CNN, Fully Convolutional Network(FCN)같은 짱짱한 baseline system이 있움

    더보기

    나중에 읽어볼 것

    R. Girshick. Fast R-CNN. In ICCV, 2015

    S. Ren, K. He, R. Girshick, and J. Sun. Faster R-CNN: Towards real-time object detection with region proposal networks. In NIPS, 2015

    J. Long, E. Shelhamer, and T. Darrell. Fully convolutional networks for semantic segmentation. In CVPR, 2015

    Mask R-CNN의 목표는 instance segmentation을 위한 framework개발

    instance segmentation의 어려움 : 모든 물체를 정확하게 감지+각 instance를 정확하게 분리

    instance segmentation을 하기 위해선

    • object detection : 개별 객체를 분류, bounding box를 이용해 loacalize
    • semantic detection : 각 픽셀을 object instances 구별없이 고정된 카테고리의 집합으로 분류

    abstract에서 말했듯이 Mask R-CNN은 bounding box 회귀와 분류를 위한 branch와 더불어 각각의 RoI(Region of Interest)에 segmentation mask를 예측하는 branch를 추가함으로써 Faster R-CNN을 확장한 것

    mask branch는 pixel to pixel 방법의 segmentation mask를 예측하는 각각의 RoI에 적용된 FCN

    Faster R-CNN은 pixel to pixel방식이 아님->특징 추출을 위한 공간 양자화가 별로임->1. RoIAlign으로 해결

    더보기

    RoIPool이란?

    정확한 물체 감지 및 의미 분할을위한 풍부한 기능의 계층 구조

    관심 풀링의 지역 , 또는 RoIPool이 작은 기능 맵을 추출하는 작업입니다 (예를 들면,7×7) 탐지 및 세분화 기반 작업에서 각 RoI. 각 후보 상자에서 특징을 추출한 후 Fast R-CNN과 같은 모델에서 분류하고 경계 상자 회귀를 수행합니다.예를 들어, 7×7, 영역 제안을 동일한 크기의 섹션으로 나누고 각 섹션에서 가장 큰 값을 찾은 다음 이 최대값을 출력 버퍼에 복사하여 발생합니다. 본질적으로 RoIPool 은 상자를 기반으로 하는 개별 그리드에서 최대 풀링입니다.

     

    RoIPool과 관련된 논문

    https://paperswithcode.com/method/roi-pooling

     

    Papers with Code - RoIPool Explained

    Region of Interest Pooling, or RoIPool, is an operation for extracting a small feature map (e.g., $7×7$) from each RoI in detection and segmentation based tasks. Features are extracted from each candidate box, and thereafter in models like Fast R-CNN, are

    paperswithcode.com

     

    2. 마스크와 클래스 예측을 분리하여 클래스 간 독립적으로 각 클래스에 대한 마스크를 예측하고 RoI분류 branch에 의존하여 카테고리를 예측

    FCN은 픽셀마다 multi class 카테고리화를 수행해서 segmentation과 classification을 동시에 진행해서 성능이 별로였음

    2. Related Work

    R-CNN

    bounding box object detection은 object regions의 관리가능한 숫자에 주의+각각의 RoI독립적으로 convolutional network를 평가

    RoIPool을 사용하여 특징맵을 빠르고 정확하게 추출

    Faster R-CNN은 Region Proposal Network(RPN)에서 더 발전

    instance segmentation

    이전 방법은 bottom up segments방식

    DeepMask와 이후 방법들은 segment 후보들을 제안하고 Fast R-CNN에 의해 분류하는 방법을 학습, 이 방법은 segmentation이 recognition보다 우선->느리고 덜 정확

    bounding box로부터 segment 예측 후 classification하는 복잡한 multiple stage cascade 제안

    Mask RCNN은 mask, class label을 병렬 예측을 기반->simple, flexible

    최근에는 fully convolutional instance segmentation(FCIS)을 위한 object detection시스템과 segment시스템을 결합하여 position sensitive output channels를 완전히 convolutionally하게 예측하는 아이디어를 제안

    ->object class, boxe, mask를 동시에 처리하고 빠르게 동작하지만 FCIS는 중복되는 instance에 시스템적인 에러와 가상 edge를 생성해서 instance segment하는 것에 어려움을 가지고 있음

    다른 instance에 대한 같은 카테고리의 픽셀을 자르는 픽셀 별 분류 결과 방법 시도->segment우선

    Mask R-CNN은 instance 우선기반

    3. Mask R-CNN

    Faster R-CNN은 각각의 후보 개체에 대해 두 가지 결과를 가졌음 : class label+bounding box offset

    여기에 object mask를 출력하는 branch추가한 게 Mask R-CNN

    추가된 mask ouput은 class와 box output과는 구분됨

    Faster R-CNN은 두 가지 단계를 가졌음

    1. object bounding box 후보를 제안하는 Region Proposal Network(RPN) 단계

    2. 각각의 후보 box로부터 RoIPool을 이용하여 추출을 뽑고 분류와 bounding box 회귀를 수행하는 단계(essence)

    Mask R-CNN은 위의 두 가지 단계를 그대로 들고가되, 두번째 단계에서 각각의 RoI에 대한 binary mask를 출력해서 class와 box offset을 예측하는 걸 병렬적으로 수행

    RoI의 multi task loss를 L(class)+L(box)+L(mask)로 정의

    L(class)와 L(box)는 R.Girchick. Fast R-CNN In ICCV, 2015에 정의

    L(mask)는 픽셀 당 시그모이드를 적용하고 average binary cross entropy loss로 정의

    mask branch는 k클래스 각각에 대해 m*m의 해상도의 K개의 이진 mask로 인코딩된 RoI에 대해 Km^2의 차원 output을 가지기 때문

    L(mask)는 클래스 간 독립적으로 수행되는데 이는 mask와 class predict를 분리->instance segment 성능 향상

    Mask Representation

    하나의 mask는 하나의 object의 공간적 레이아웃 입력을 인코딩

    fully connected layer에 의한 짧은 출력 벡터로 축소되는 class label, box offset과는 다르게 convolution이 제공하는 pixel to pixel에 대응해서 자연스럽게 mask의 공간적 구조가 추출됨

    pixel to pixel은 RoI 특징이 잘 정렬되어야함->RoIAlign layer 개발

    RoIAlign

    RoIPool은 RoI로부터 추출된 작은 특징맵

    1. 부동 숫자형 RoI를 특징 맵의 discrete granularity(이산 세분성)으로 양자화

    2. 양자화된 RoI는 자체 양자화된 공간적 bins로 세분화

    3. 각각의 bin에 포함된 특징값이 집계

    양자화할 때 특징 간 정렬에 불량을 유발하여 픽셀 정확도 mask를 예측하는데 부정적인 영향

    이걸 해결하기 위해 RoIPool의 복잡한 양자화를 제거한 RoIAlign layer를 제안

    Network Architecture

    1. 전체 이미지에서 특징 추출을 위해 사용된 convolutional backbone 아키텍처

    ResNet, 깊이 50/101 ResNeXt, FPN

    더보기

    FPN(Feature Pyramid Network)?

    측면 연결이 있는 top-bottom 아키텍처를 사용하여 단일 규모 입력에서 네트워크 내 feature pyramid구축

    FPN backbone을 사용한 Faster R-CNN은 규모에 따라 특징 피라미드의 다른 레벨들로부터 RoI 특징을 추출

    2. 각각의 RoI에서 독립적으로 적용된 mask 정확도와 bounding box recognitnition을 위한 network head

    Faster R-CNN box head확장

    3.1. Implementation Details

    Fast/Faster R-CNN에 따라 기존 하이퍼 파라미터를 설정

    4. Experimetns : Instance Segmentation

     

     

    '프로젝트 > catholic' 카테고리의 다른 글

    0824-라벨링  (0) 2022.08.24
    0920-모델 선정 중, YOLOR 리뷰  (0) 2021.09.20
    0917-detect  (0) 2021.09.17
    0912-unsupervised image segmentation  (0) 2021.09.12
    0829-아이디어, 진행 계획  (0) 2021.08.29

    댓글

Designed by Tistory.