728x90
반응형

MASK RCNN

instance segmentation의 대표적인 모델

- Faster RCNN과 FCN 기법 개선 및 결합

   * ROI-Align

   * 기존 bounding box regression과 classification에 binary mask prediction 추가

- 비교적 빠른 detection 시간과 높은 정확도

- 직관적이고 상대적이고 쉬운 구현

 

 

ROI align

segmentation에서 roi pooling 문제점 : masking을 해야해서 아주 정확해야 함

- roi pooling에서 quantization을 하면서 문제 발생

소수점이 생겨서 들어오는 사이즈가 정확하게 매칭이 되지 않음

 

- ROI를 소수점 그대로 매핑하고 roi의 개별 grid에 4개의 point를 균등하게 배열

- 개별 point에서 가장 가까운 feature map Grid를 고려하면서 포인트를 weighted sum으로 계산

- 계산된 포인트를 기반으로 max pooling 수행

 

 

영상처리 bilinear interpolation 예제

https://blog.naver.com/PostView.nhn?isHttpsRedirect=true&blogId=dic1224&logNo=220882679460&categoryNo=0&parentCategoryNo=207&viewDate=&currentPage=1&postListTopCurrentPage=1&from=search

Bilinear Interpolation을 이용한 ROI-align

확대하면 깨지게 됨, 대신 빈공간을 유추해서 보정함

 

거리에 맞게 계산해서 채워줌

그상태에서 pooling

 

 

mask rcnn Feature Extractor : Resnet + FPN

Loss function

- k개의 정해진 class에 대해서 그 class에 pixel이 속하는지 그렇지 않은지 sigmoid로 결정 binary-cross-entropy-loss

- mask rcnn에서 mask prediction

- prediction후 resize해서 원본 이미지에 적용

 

 

반응형

'Computer_Science > Mask RCNN' 카테고리의 다른 글

13-2. Semantic Segmentation FCN  (0) 2021.10.31
13-1. Segmentation  (0) 2021.10.27
728x90
반응형

FCN (Fully Convolutional Network for Semantic Segmentation)

평이한 느낌이지만 당시, classification에 flatten한 fully connected가 필수였지만 이 모델은 convolution만으로 이루어진 모델임.

 

Semantic Segmentation Encoder-Decoder Model

- 원본 이미지를 convolution으로 차원 축소하여 응축된 정보를 가지고, 이를 다시 복원하면서 필요한 정보를 학습

- 이렇게 학습된 정보를 기반으로 segmentation 수행

축소하면서 사이즈는 줄어들지만 채널 깊이는 깊어짐

응축된 상태에서 재창조, 재해석 추구

feature map 정보를 upsampling하면서 masking 정보를 하면서 prediction 모델의 weight를 채움

 

Fully connected layer vs Fully convolutional layer

imageNet은 classification할 object가 1000개 생김

그런데 가변적인 image size가 들어오기 때문에 좀더 융통성있는 convolution으로 하면 좋다.

grid by grid별로 cat의 정보가 있는 것

각 pixel에 확률값이 있고, 확률값이 우세하면 cat으로 classification

 

 

FCN (Fully Convolutional Network for Semantic Segmentation)

 

마지막의 fully connected를 fully convolution으로 설정

3번째로 32x32로 쭉 늘리면서 복원을 함

masking 정보와 gtbox 정보를 매칭하면서 학습시킴

 

개별 pixel을 학습 시키면서 weight도 적용, upsampling도 weight 적용

 

32x upsampling을 통한 pixel wise prediction

32배 upsampling하면서 뭉개진 형태가 됨

그래서 de-convolution을 통해서 최대한 비슷하게 복구하는 방법 찾음

Feature map 혼합 pixel wise prediction

- con7을 2배시켜서 2x2로 만들어서 pool4이랑 합치고, 합친 concat pool을 16x upsampling 해서 prediction한게 FCN 16s

- con7을 4배시켜서 4x4로 만들어서 2배 pool4이랑 pool3이랑 합치고, 합친 concat pool을 8x upsampling 해서 prediction한게 FCN 8s

 

  FCN-32s FCN-16s FCN-8s
IOU 59.4% 62.4% 62.7%

 

반응형

'Computer_Science > Mask RCNN' 카테고리의 다른 글

13-3~4. MASK RCNN  (0) 2021.10.31
13-1. Segmentation  (0) 2021.10.27
728x90
반응형

Segmentation

- masking 정보로 의미별 문맥으로 분할

- semantic segmentation : 동일한 object는 붙임

- instance Segmentation : 개별 object로 분할

  * mask RCNN(instance rcnn) = FCN(semantic) + faster RCNN 

 

Semantic Segmentation

- pixel wise classification 

    이미지가 800x1000이라면 (0, 0)은 tree 영역 등으로 픽셀단위 classification

- object label 별 classification 후 pixel map으로 찍고 합친것

 

 

Semantic Segmentation Encoder-Decoder Model

- AutoEncoder와 유사한 구조

- size는 줄어들고, channel은 깊어지고 : 위치 정보가 깨짐, 주요 정보가 추상화됨

- 차원축소를 하는 것 => hidden factor를 찾기

- encoder-decoder는 원본과 똑같은 걸찾는 것이 아닌 원본에서는 없던 특성을 찾는 것임

 

 

 

반응형

'Computer_Science > Mask RCNN' 카테고리의 다른 글

13-3~4. MASK RCNN  (0) 2021.10.31
13-2. Semantic Segmentation FCN  (0) 2021.10.31

+ Recent posts