일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- Python
- gradient descent
- dl
- Deeplearning
- 코테
- Programmers
- rnn
- 코딩테스트
- prompt engineering
- LLM
- 알고리즘
- 파이썬
- LeetCode
- GPT
- 부스트캠프
- Django
- 프로그래머스
- attention
- 머신러닝
- transformer
- Linear Regression
- machinelearning
- 일기
- deque
- NLP
- Linear Model
- 프롬프트
- BFS
- ChatGPT
- 기계학습
- Today
- Total
크크루쿠쿠
[논문리뷰] Mask R-CNN 본문
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)