논문 링크: https://arxiv.org/pdf/1904.02689.pdf
용어정리
- Instance Segmentation
semantic segmentation은 분할의 기본 단위를 클래스로 하여, 동일한 클래스에 해당하는 사물을 예측 마스크 상에 동일한 색상으로 표시한다.
반면 Instance Segmentation은 분할의 기본 단위를 사물로 하여, 동일한 클래스에 해당하더라도 서로 다른 사물에 해당하면 이들을 예측 마스크상에 다른 색상으로 표시한다.
출처: http://research.sualab.com/introduction/2017/11/29/image-recognition-overview-2.html
https://byeongjokim.github.io/posts/YOLACT,-Real-time-Instance-Segmentation/
- mAP(mean Average Precision):
mutiple object detection 알고리즘에 대한 성능을 1개의 scalar value로 표현한 것
출처: https://eehoeskrap.tistory.com/237 [Enough is not enough]
-repooing
-NMS
-FPS(Frame pre Second)
Abstract
우리는 real-time instance sementation을 수행하기 위해 단순한 fully_convolutional model을 제시한다. 이는 이전보다 상당히 빠른 MS COCO 기준 29.8 mAP 및 33.5 fps를 달성하여 실시간으로 객체를 탐지할 수 있다.
게다가 오직 한번 GPU를 훈련시킨후에 결과를 얻는다. 처음엔 프로토타입 mask set를 생성하고, instance별 mask 계수(coefficient)를 예측한다. 그 다음 프로토타입을 mask 계수와 선형으로 결합하여 instance mask를 생성하게 된다. 이 프로세스는 repooling에 의존하지 않기 때문에 고품질의 마스크를 생성할 수 있고 temporal stability도 보여준다. 또한 이 논문에서는 성능 저하 없이 표준 NMS를 12ms 더 빠르게 대체 할 수 있는 face NMS를 제안한다.
Introduction
Mask-R-CNN이나 FCIS와 같은 Instance Segmentation연구에서는 Fast-RCNN 및 R-FCN과 같은 객체 탐지와 깊은 연관이 있다. 그러나 이러한 방법은 속도보다는 성능에 중점을 눈다. 이러한 점에서 이 논문의 목표는 SSD와 YOLO 같은 방식으로 빠르게 One-Stage Instance Segmentaion 모델을 구현하는것이다.
하지만 각각의 클래스를 분할하는 문제는 객체 탐지 문제보다 훨씬 어려운 문제이다.
One-stage 접근법에서 Localization 후에 상당한 야의 Post-processing이 필요하기 때문에 실시간으로 작동하기 어렵다.
이러한 문제를 해결하기 위하여 즉,방대한 Post-processing이 필요한 Localization을 포기하고 real-time으로 작동하도록
객체 분할(Instance segmentation) 프레임워크 YOLACT를 제안하였다.
대신 객체 분할 단계를 2개의 병렬 작업으로 수행한다.
1) 전체 이미지에 대해 Non-local Prototype Mask를 생성
2) Instance 당 linear combination coefficients 세트를 예측
YOLACT
YOLACT의 네트워크는 ResNet101 + FPN을 이용하여 RetinaNet에 기반한 구조이다.
프로토타입을 생성하는 분기에서는 전체 이미지에 대해 k개의 프로토타입 마스크세트를 예측한다. 아래 그림과 같이, 마지막 계층에서는 k개의 채널이 있는 FCN으로 ProtinaNet을 구현하고 이를 백본 특징 레이어에 연결한다. 더 깊은 백본 특징에서 Protonet을 가져오면 더 강력한 마스크가 생성되고, 솔루션 프로토타입이 높을수록 작은 마스크와 성능이 향상된다, 따라서 가장 큰 특징 레이어가 가장 깉기때문에 FPN을 사용한다. 그 다음 사이즈가 작은 이미지의 성능을 높이기 위하여 입력 이미지 크기의 1/4로 업샘플링을 수행한다. 마지막으로 프로토타입의 output은 제한을 받지 않아야한다. 이는 신경망이 내놓는 프로토타입, 예를 들면 명확한 배경에 대해 압도적으로 활성화를 할 수 있기 때문이다. 따라서 ReLU를 사용하거나 비선형성을 갖지 않는 프로토타입을 사용한다.
Results
-Implementation Details
우리는 모든 모델을 훈련된 weights를 가진 ImageNet(큰 Image database)을 사용하여 batch size 8로 훈련시켰다.
우리는 batch norm을 하기에 충분한 batch size라는 것을 발견해서 layer을 더 추가하지 않고 훈련된 batch norm으로 동결했다.
-Mask Results
COCO 데이터세트에 대하여 평가한 지표이다.
YOLACT-550은 Mask R_CNN과 비교해서 우월한 FPS를 보여주며 빠른 속도를 보인다.
또한 YOLOACT-400(400x400)과 YOLOACT-700(700x700)을 비교해서 보면 instance segmentaion은 큰 이미지를 요구하기 때문에 작은 이미지 사이즈는 성능을 크게 감소시킨다.
-Mask Quality
YOLACT는 Mask R-CNN과 FCIS보다 더 높은 품질의 mask이다. 왜냐하면 더 큰 mask 사이즈와 feature repooling의 lack 때문이다. repooling은 마스크 품질의 감소에 원인이 된다.
'Programmer > Deep Learning' 카테고리의 다른 글
[논문리뷰] Rapid Object Detection using a Boosted Cascade of Simple Features (0) | 2020.04.21 |
---|---|
[논문리뷰] An Overview Of Face Liveness Detection 2 (0) | 2020.04.19 |
[논문리뷰] An Overview of Face Liveness Detection1 (0) | 2020.04.18 |
Precision(정밀도) , Recall(재현율) , Accuracy(정확도) , FLOPS (0) | 2020.04.08 |
[논문리뷰] SSD : Single Shot MultiBox Detector (2) | 2020.04.04 |