4기(20200711)

YOLO, YOLOv3 논문 리뷰

KAU-Deeperent 2020. 12. 5. 21:22

작성자 : 윤나라

 

 

YOLO

 

<Abstract>

- 45fps로 이미지 처리 가능

- Localization 오류가 많음

- Background에서 false positive를 예측하는 경우는 적음

 

 

1. Introduction

Object Detection을 이미지 픽셀에서 bounding box 좌표 및 클래스 확률에 이르는 single regression problem으로 구성

단일 convolution network가 동시에 multiple bounding box들과 그 box들의 class probability 들을 예측

장점

  - 매우 빠르고, 복잡한 pipeline이 필요 없다.

  - 예측에 대해 globally하게 판단한다

 

 

2. Unified Detection

- Object detection에 대한 분리된 component들을 single neural network로 통합했다.

- bounding box를 예측하기 위해 전체 이미지로부터 뽑은 feature들을 사용한다.

- 모든 클래스에 걸쳐 모든 bounding box를 동시에 예측한다.

 

Input image -> S x S grid

Object의 중심이 어떠한 grid cell에 있다면, 해당 grid cell에서 그 objectdetect 해야 한다.

grid cell1) bounding box B, 2) 해당 box에 대한 confidence score 예측

Confidence score: boxobject를 포함하고 있다는 것과, box가 예측한 것이 얼마나 정확한지

 

Cellobject가 없으면 confidence score0

그렇지 않으면 confidence scorepredicted boxground truth 사이의 IOU

bounding box5개의 prediction들로 구성: x, y, w, h, confidence

(x, y) grid cell의 경계에 상대적인 box의 중심

W, H는 전체 이미지에 대해 예측

Confidence prediction = predicted box (IOU) ground truth box

 

Conditional class probabilities C 예측

바운딩 박스의 수와 상관 없이 grid cell 당 하나의 클래스 확률만을 예측

Class-specific confidence score : 클래스일 확률, predicted boxobject에 얼마나 잘 맞는지

 

 

2.1 Network Design

Convolutional neural network / PASCAL VOC detection dataset

네트워크 초기 convolution layer들은 fully connected layer들이 probability와 좌표들을 예측하는 동안 이미지로부터 feature들을 추출한다.

24개의 convolutional layer2개의 fully connected layer

Final output : 7x7x30 tensor

 

 

2.2 Training

ImageNet 1000-class competition datasetpretrain, 해상도 224

we use the first 20 convolutional layers followed by a average-pooling layer and a fully connected layer

대략 일주일동안 학습시켰으며, 88%accuracy를 달성했다.

모든 training과 예측에 있어서 Darknet framework를 사용

Modeldetection을 하도록 변환

4개의 conv layer2개의 fully connected layerrandom initialize weight와 함께 추가

Detectionclassification보다 세밀한 정보를 요구하기 때문에, 입력 해상도를 224에서 448 증가

Final layerclass probabilitiesbounding box 좌표 모두를 예측.

이미지 widthheight에 대한 0~1 사이의 비율로 bounding box 값이 나오도록 정규화

bounding boxx, y 좌표를 특정 그리드 셀 위치의 오프셋이 되도록 매개변수화 하여, 01 사이로 나타나도록 한다.

Final layerlinear activation function

다른 모든 layer 들은 leaky rectified linear activation

Grid cell에 대해 여러 개의 bounding box 예측

어떠한 prediction에 대해 ground truth와 가장 높은 IOU를 가지는지 기초하여 하나의 object를 예측하도록 할당

 

 

2.3 Inference

Single network evaluation이기 때문에 매우 빠르다.

object나 여러 cell의 경계 근처에 있는 object는 여러 셀에 할당될 수도 있다.

Non-maximal suppression이 이런 multiple detection을 막기 위해 사용

 

 

 

 

 

YOLOv3

<Abstract>

이전 버전보다 약간 크지만, 더 정확하다

SSD만큼 정확하지만 3배 빠르다.

 

2.1 Bounding box prediction

YOLO 9000을 따라 anchor boxdimension cluster들을 사용하여 bounding box를 예측

bounding box에 대해 4개의 좌표 예측: tx, ty, tw, th

Logistic regression을 사용하여, bounding box에 대한 objectness score 예측

Bounding box prior가 다른 어떤 b-box prior보다 ground truth object와 겹친다면 1이 되어야 한다.

bounding box priorbest는 아니지만 ground truth object에 어떠한 threshold보다 더 overlap한다면, 우리는 예측을 무시할 수 있다.

ground truth object에 대해 하나의 bounding box만을 할당한다.

 

2.2 Class Prediction

multi-label이 있을 수 있으므로 class prediction으로 softmax를 쓰지 않고 independent logistic classifiers 사용

loss termbinary cross-entropy로 바꿈

 

2.2 Prediction Across Scales

3개의 bounding box

3개의 feature map 활용 (다른 scale, 각각 2배씩 차이)

feature map에서의 output 형태는

     Grid x Grid x (#bb *(offset + objectiveness + class)) = NxNx(3x(4+1+80))

9(3바운딩박스 x 3피쳐맵)anchor boxk-means clustering을 통해 결정

(10x13), (16x30), (33x23), (30x61), (62x45), (59x119), (116x90), (156x198), (373x326)

 

 

 

2.4 Feature Extractor

Darknet-19 -> Darknet-53으로 변경

 

 

2.5 Training

full image 사용

no hard negative mining(IOU 낮은값들: Best IOU 값 비율 조정 안해주고 그냥 학습)

multi-scale training

data augmentation

batch normalization