Object Detection Models
최신 detector는 주로 백본(Backbone)과 헤드(Head)라는 두 부분으로 구성된다. 백본은 입력 이미지를 feature map으로 변형시켜주는 부분이다. ImageNet 데이터셋으로 pre-trained 시킨 VGG16, ResNet-50 등이 대표적인 Backbone이다. 헤드는 Backbone에서 추출한 feature map의 location 작업을 수행하는 부분이다. 헤드에서 predict classes와 bounding boxes 작업이 수행된다.
헤드는 크게 Dense Prediction, Sparse Prediction으로 나뉘는데, 이는 Object Detection의 종류인 1-stage인지 2-stage인지와 직결된다. Sparse Prediction 헤드를 사용하는 Two-Stage Detector는 대표적으로 Faster R-CNN, R-FCN 등이 있다. Predict Classes와 Bounding Box Regression 부분이 분리되어 있는 것이 특징이다. Dense Prediction 헤드를 사용하는 One-Stage Detector는 대표적으로 YOLO, SSD 등이 있다. Two-Stage Detector과 다르게, One-Stage Detector는 Predict Classes와 Bounding Box Regression이 통합되어 있는 것이 특징이다. 자세한 설명은 아래 블로그에서 친절히 설명되어 있다.
넥(Neck)은 Backbone과 Head를 연결하는 부분으로, feature map을 refinement(정제), reconfiguration(재구성)한다. 대표적으로 FPN(Feature Pyramid Network), PAN(Path Aggregation Network), BiFPN, NAS-FPN 등이 있다.
https://paperswithcode.com/sota/image-classification-on-imagenet
Bag of Freebies (BOF)
BOF는 inference cost의 변화 없이 (공짜로) 성능 향상(better accuracy)을 꾀할 수 있는 딥러닝 기법들이다. 대표적으로 데이터 증강(CutMix, Mosaic 등)과 BBox(Bounding Box) Regression의 loss 함수(IOU loss, CIOU loss 등)이 있다.
Bag of Specials (BOS)
BOS는 BOF의 반대로, inference cost가 조금 상승하지만, 성능 향상이 되는 딥러닝 기법들이다. 대표적으로 enhance receptive filed(SPP, ASPP, RFB), feature integration(skip-connection, hyper-column, Bi-FPN) 그리고 최적의 activation function(P-ReLU, ReLU6, Mish)이 있다.
YOLO v4
YOLO v4의 아키텍쳐는 다음과 같다.
1) Backbone : CSP-Darkent53
2) Neck : SPP(Spatial Pyramid Pooling), PAN(Path Aggregation Network)
3) Head : YOLO-v3
'인공지능 > 인공지능' 카테고리의 다른 글
Deep Learning Framework 종류 (0) | 2021.05.17 |
---|---|
CNN(Convolutional Neural Network) 알고리즘 (0) | 2021.05.17 |
Object Detection on COCO test-dev(COCO test-dev Benchmark Object Detection) (0) | 2020.09.15 |
EfficientDet vs Yolov5 비교 (0) | 2020.09.15 |
EfficientDet의 성능 (0) | 2020.09.15 |