관리 메뉴

ComputerVision Jack

YOLO 90000: Better, Faster, Stronger 본문

Reading Paper/Object Detection

YOLO 90000: Better, Faster, Stronger

JackYoon 2022. 3. 30. 18:51
반응형

YOLO 90000: Better, Faster, Stronger

Abstract

Figure 1

  • real-time object detection system YOLO9000 소개한다. 이는 9000개의 object categories에 대해 검출 할 수 있다.
  • 첫 번째로 이전 방법의 새로움과 결점을 토대로 YOLO detection 방법의 다양한 향상을 제안한다.
  • 새로운 방법을 사용하면서, multi-scale training method 똑같이 YOLOv2 모델에 적용하면서 다양한 크기와 speed와 accuracy 사이의 tradeoff에 대해 쉽게 동작할 수 있다.
  • 마지막으로 object detection과 classification 사이의 jointly train method 제안한다.

Introduction

  • neural network 도입된 이후로, detection framework는 더 빨라지고 정확해졌다. 하지만 다수의 detection 방법은 여전히 small set object 검출하는데 어려움을 겪고 있다.
  • 현재 object detection dataset 경우 classification 및 tagging과 관련된 다른 task와 다르게 제약 사항이 존재한다. detection 위한 labelling image는 classification labelling 보다 비용이 부담이다.
  • 따라서 이미 갖고 있는 많은 양의 classification data 대해 detection system 범위에서 사용할 수 있도록 새로운 방법을 제시한다. 해당 방법은 각각의 데이터를 결합할 수 있게 계층 관점을 사용하는 것이다.
  • 또한 joint training algorithm 제안한다. 이는 object detection 학습할 때 detection과 classification 데이터를 동시에 학습하는 것이다.

YOLO: Real-Time Object Detection

 

YOLO: Real-Time Object Detection

YOLO: Real-Time Object Detection You only look once (YOLO) is a state-of-the-art, real-time object detection system. On a Pascal Titan X it processes images at 30 FPS and has a mAP of 57.9% on COCO test-dev. Comparison to Other Detectors YOLOv3 is extremel

pjreddie.com

Better

  • YOLO의 경우 상당히 많은 localization errors 발생한다. 게다가 region proposal-based method와 비교하여 상대적으로 낮은 recall 갖는다. 따라서 classification accuracy 유지하면서 recall과 localization 향상 시키려 한다.
  • YOLOv2 경우 속도 측면은 여전히 빠르기 때문에 더 정확도를 높이는 방법을 원한다. network scaling-up 대신에 network와 representation 쉽게 학습할 수 있게 집중하였다.

Batch Normalization.

Batch normalization 다른 형태의 regularization 필요성을 제거하면서 수렴에 크게 향상을 가져온다. YOLO의 모든 layer에 batch normalization 추가하여 2% mAP 향상을 이루었다. 또한 모델의 regularization 돕고 이를 사용하면서 dropout 제거 했는데 overfitting 이루어지지 않았다.

High Resolution Classifier.

YOLO의 경우 classifier network 학습할 때 224 x 224 resolution 사용했다. detection의 경우 resolution 448 증가하였다. 이는 network가 object detection 전환하고 새로운 input resolution에 대해 적응해야 한다.

YOLOv2 경우 448 resolution 대해 ImageNet 데이터를 10 epoch 동안 classification network 학습했다. 이는 network가 더 높은 resolution input에 적응할 시간을 준다. 이를 통해 4% mAP 향상이 이루어진다.

Convolutional With Anchor Boxes.

YOLO는 convolutional feature extractor 상단의 fully connected layers 사용하여 bounding box 좌표를 직접적으로 예측한다. 좌표 대신 offset 예측하는 것은 문제를 간단하게 하고 network 쉽게 학습할 수 있게 만든다.

저자는 YOLO에서 fully connected layers 제거하고 anchor boxes 사용하여 bounding box 예측한다. 하나의 pooling layer 제거하면서 network의 output이 높은 resolution 갖게 한다. 또한 network의 입력을 448 x 448에서 416 input image 변경한다. 왜냐하면 feature map이 홀수로 나오길 희망하고 그래야 single center cell 배정할 수 있기 때문이다.

anchor boxes 움직일 때, class prediction mechanism에 대해 spatial location에서 분리 시킨다. 그리고 모든 anchor boxes에 대해 classobjectness 예측한다. anchor box 사용하는 것은 정확도를 감소 시킨다. 하지만 YOLO의 경우 image에서 98개의 box 예측하지만 해당 모델은 수 많은 boxes 예측한다.

Demension Clusters.

Figure2

anchor box 직접적으로 선택하는 방법 대신에, k-means clustering 사용하여 학습 데이터 bounding boxes에 적용하였다. 여기서 가장 중요한 점은 box의 size와 독립적으로 좋은 IOU 값을 이끄는 것이다.

$d(box, centroid) = 1 - IOU(box, centroid)$

Direct location prediction.

anchor boxes 사용하면 초기 학습 구간에서 모델이 불안정 한다. 대부분의 불안정은 box의 (x, y) location 예측으로 발생한다.

offset 예측하는 것 대신에 YOLO 접근 법을 따른다. 그리고 grid cell의 location 토대로 location 좌표를 예측한다. 이는 0과 1 사이로 떨어진 ground truth 정보와 연결된다. 따라서 logistic activation 사용하여 network의 예측이 해당 값 사이로 떨어지게 제한한다.

$Pr(object ) * IOU(b, object) = σ(t_o)$

Figure3

Fine-Grained Features.

수정된 YOLO는 13 x 13 feature map 예측한다. 이는 큰 물체에 충분하지만 작은 물체를 localizing 하기에 더 세분화된 기능의 이점을 얻을 수 있다.

Faster R-CNN과 SSD 접근과 다르게 간단한 passthrough layer 추가하여 26 x 26 layers feature map 가져온다.

passthrought layer는 높은 resolution과 낮은 resolution에 대해 공간적 측면이 아닌 채널 측면으로 concate 진행한다. 이는 Resnet의 identity mapping과 비슷하다. 논문의 detector는 확장된 feature map 사용하기 때문에 잘 정제된 features 얻을 수 있고, 1% 모델 성능 향상을 가져온다.

Multi-Scale Training.

원래 YOLO의 input resolution은 448 x 448이다. anchor boxes 추가하면서 resolution 416 x 416 변경하였다.

YOLOv2가 다른 이미지 크기에 대해서 강인하게 작동되기 위해 이를 채택하고 모델을 학습 시켰다. input image size 고정하는 것 대신에 network 반복마다 변경하였다.

Futher Experiments.

Result

Faster

  • robotics와 self-driving cars 같은 대부분의 detection application은 low latency predictions에 의존한다. 성능 측면을 극대화 하기 위해 YOLOv2 빠르게 동작하도록 처음부터 설계하였다.
  • YOLO framework는 Googlenet Architecture 기반으로 수정하여 만들었다. 이 network는 VGG-16 보다 빠르지만 정확도는 약간 좋지 않다.

Darknet-19.

Architecture

YOLOv2에 사용되는 새로운 classification 모델을 제안한다. VGG 모델과 비슷하게 대부분 3 x 3 filters 사용한다. 그리고 pooling 단계 이후 channels 2배로 증가 시킨다.

global average pooling 사용하여 prediction 진행하고, 3 x 3 convolution 이후에 1 x 1 filters 사용하여 feature 압축한다. 다음 batch normalization 사용하여 안정적으로 학습이 진행되고, 수렴을 빠르게 하며 정규화된 모델을 얻는다.

  • Training for classification
  • Training for detection

Stronger

  • 저자는 detection data와 classification data가 연결되어 학습하는 mechanism 제안한다. 해당 방법은 detection의 구체적인 정보를 얻기 위해 detection label 정보를 갖는 image 사용한다. 오직 class label만 확장될 수 있다.
  • 학습 시간에 detection과 classification data 둘 다 섞어서 사용한다.
  • detection data는 일반적으로 흔한 label 정보를 갖는다. 하지만 classification data 경우 더 넓고 깊은 label 범주를 갖는다.
  • classification에 대한 접근은 softmax layer 사용하여 범주에 대한 probability 계산한다. softmax 사용하는 것은 class가 상호 배타적이라는 것을 가정한다. 따라서 이러한 문제는 dataset 결합하는 과정에서 있다.

Hierarchical classification.

Figure5

world graph 구조를 사용하는 것 대신에, ImageNet 개념으로부터 hierarchical tree 설계하여 문제를 간단하게 한다. 최종 결과는 WordTree 이며, 계층 모델이다.

WordTree에 대해 classification 진행할 경우 synset에 해당 하는 모든 node에 대해 조건부 확률(conditional probabilities) 계산한다.

$Pr(Norfolk \quad terrier | terrier) \quad Pr(Yorkshire \quad terrier | terrier)$

특정 node에 대한 절대적인 확률을 얻으려면 간단하게 root node에 대해 조건부 확률을 계산하면 된다.

$Pr(Norfolk) = Pr(Norfolk) * Pr(trrier|huntingdog) * Pr(mammal|Pr(animal)$ 이러한 접근을 검증하기 위해서 Darknet-19 모델에 WordTree 설계하고 1000개의 ImageNet class 사용하였다.

해당 공식은 detection 작업에도 사용할 수 있다. YOLOv2의 objectness predictor에 $Pr(physical\quad object)$ 사용하였다. 따라서 detector는 bounding box와 tree의 probabilities 예측한다.

Dataset combination with WordTree.

Figure6

합리적인 관점으로 WordTree와 multiple dataset 결합할 수 있다. Figure 6 참고하면 간단하게 결합한 것을 확인할 수 있다.

Joint classification and detection.

WordTree 사용하여 dataset 결합하였기 때문에 classification과 detection 결합한 모델에 대해 학습을 진행할 수 있다. (COCO + ImageNet) 이러한 데이터가 WordTree와 상응하기 위해서 ImageNet 경우 너무 큰 데이터이다. 따라서 COCO 데이터를 oversampling하여 비율을 4 : 1 조절하였다.

joint training 사용하면 YOLO9000은 detection(coco) data 활용하여 object 찾을 수 있다. 그리고 classification(ImageNet) data 활용하여 넓고 다양한 object 분별할 수 있다.

 

Conclusion

  • 해당 논문에서 YOLOv2YOLO 9000 소개하며 이는 real-time detection 시스템이다. 게다가 speedaccuracy 사이의 trade-off 위해 다양한 image size 작동 시킬 수 있다.
  • YOLO 9000 real time framework이다. detection과 classification 결합하여 9000개 이상의 categories 찾을 수 있다.
반응형
Comments