YOLO v3
Algorithm
Bounding Box Prediction
기본적으로 YOLO v2와 동일
학습 시에는 sum of squared error 사용
Objectness score 예측 시 logistic regression을 사용; 어느 한 bounding box가 다른 bounding box보다 더 많이 ground truth object에 오버랩된 경우 값이 1이 됨 → 즉, ground truth마다 bounding box가 1개만 할당됨!
Class Prediction
Softmax 대신 binary cross-entropy loss 사용
이 방식이 좀 더 복잡한 domain 상에서 label들이 많이 겹치는 분류 문제에 도움이 됨.
예: 사람 & 여자가 label 셋에 모두 존재하는 경우 mutually exclusive하지 않음
Predictions across Scales
3개의 다른 스케일의 box 예측 (Spatial Pyramid)
416x416 영상의 경우 bounding box의 개수는 (52 x 52) + (26 x 26) + 13 x 13)) x 3 = 10647 개
최종 layer에서 bounding box, objectness, class prediction 예측
예: COCO dataset
N x N x [3*(4+1+80)]
N: grid 개수, 3: anchor box 개수
4 bounding box offsets, 1 objectness score, 80 class predictions
k-means clustering을 좀 더 정교하게 수행
9개의 cluster를 사용해서 3개의 scale에 대해 임의로 anchor box dimension 할당
COCO dataset의 경우 (10×13), (16×30), (33×23), (30×61), (62×45), (59×119), (116×90), (156×198), (373×326) 사용
Feature Extractor
Darknet-53 사용 (resnet과 동일한 성능인데 속도는 2배 빠름, 주로 3x3, 1x1 Conv와 skip-connection으로 이루어져 있음)
ResNet-101보다 1.5배 빠르고 성능은 더 좋고 RsesNet-152와 성능은 비슷하면서 2배 이상 빠름
Training
Fulll image를 모두 사용하고 hard negative mining을 사용하지 않았음
why? background 클래스에만 데이터가 너무 많은 class imbalance가 생겨서 hard negative mining을 사용하는데 YOLOv3은 별도의 background 클래스를 쓰지 않으므로
References
Last updated