-
0910-Mask R-CNN논문 리뷰프로젝트/catholic 2021. 9. 10. 14:03728x90
플젝한다고 바쁘다 바뻐
동생이 드라이브를 드디어 공유해줘서 데이터셋을 수집완료했다!
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
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
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