728x90
반응형

YOLO Vers 비교

항목 v1 v2 v3
원본 이미지 크기 446x446 416x416 416x416
Feature Extractor Inception 변형 DarkNet19 DarkNet53
(resNet의영향
Grid당 Anchor Box 수 2개 => 셀 별 prediction 2개
(Anchor box는 고정크기)
5개 Output Feature Map 당 3개
서로다른 크기와 스케일로 총 9개
Anchor Box 결정 방법 - Kmeans Clustering Kmeans Clustering
Output Feature Map 크기
(Depth 제외)
7 x 7 13 x 13 13 x 13, 26 x 26, 52 x 52
3개의 Feature Map 사용
Feature Map Scaling
기법
- - FPN
(Feature Pyramid Network)

 

YOLO V2 detection 시간 및 성능

- 속도면에서 ssd와 함께 압도적인 성능을 보여줌.

- yolo 중에서도 tiny yolo는 더욱 빠름

 

YOLO V2 특징

- Batch Normalization 

   * cnn - batch normali(정규화)  - acti(relu)

- High Resolution classifier : 네트웍의 classifier 단을 보다 높은 resolution (448 x 448)로 fine tuning 

- classification layer 를 fully connected dense layer에서 fully convolution 으로 변경하고 서로 다른 크기의 image들로 네트

- 13 x 13 feature map 기반에서 개별 grid cell 별 5개의 Anchor box에서 object detection

   * Anchor box 크기와 ratio는 kmeans clustering으로 설정

- 예측 bbox의 x,y 좌표가 중심 cell 내에서 벗어나지 않도록 direct location prediction 적용

- darknet-19 classification model 채택 => 예측성능, 수행시간 향상

 

 

yolo v2 anchor box로 1cell 에서 여러개 object detection

- SSD와 마찬가지로 1개의 CELL에서 여러개의 Anchor를 통해 개별 cell에서 여러개 object detection가능

- kmeans clustering을 통해 데이터 세트의 이미지크기와 shape ratio따른 5개 군집화 분류를 하여 anchor box 계산

 

Output feature map

 

- depth 125개, anchor box 가 5개라서 개당 25개

- yolo v1 : 각 cell의 bbox의 class 확률 : 2개 ( bbox 좌표 4개, confidence 1개) (10개) // 20개의 pascal

- yolo v2 : bbox 25 => bbox 좌표 4개, confidence score 1개, class scores 20개 // 5개 묶음

 

Direct Location Prediction

 

(pw, ph) : anchor box size

(tx, ty, tw, th) : 모델 예측 offset 값

(bx, by) : 예측 bounding box 중심 좌표와 size

* center 좌표가 cell 중심을 너무 벗어나지 못하도록 0~1 사이의 시그모이드 값(1/1+e^x)으로 조절

 

- yolo v1 loss와 유사한 loss 식

 

Passthrough module을 통한 fine grained feature

- 좀더 작은 오브젝트를 detect하기 위해서 26x26x512 feature map 특징을 유지한 채 13x13x2048로 reshape한 뒤 13x13x1024에 추가하여 feature map 생성

=> 1/4로 줄어듬

- merge module로 넣어서 작은 object를 찾기

- SSD는 각각 feature map에서 끄집어내서 합치고 nms으로 필터링

 

Multi-scale training

- classification layer가 convolution layer로 생성하여 동적으로 입력 이미지 크기 변경 가능

- 학습 시 10회 배치시 마다 입력 이미지 크기를 모델에서 320부터 608까지 동적으로 변경(32배수로 설정)

 

 

Darknet 19 backbone

- classification layer에 fully conneted layer를 제거하고 conv layer를 적용

  * vgg-16 : 30.69 bflops, top5 accuracy : 90%

    -> 3x3이라 간단해서 선호하는 아키텍처

  * yolo v1 : 8.52 bflops, top5 accuracy : 88%

  * yolo v2 darknet19 : 5.58 bflops, top5 accuracy : 91.2%

 

성능 향상

 

 

반응형

'Computer_Science > Computer Vision Guide' 카테고리의 다른 글

7-7. opencv dnn yolo object detection  (0) 2021.10.27
7-6~7. YOLO V3  (0) 2021.10.25
7-2~3. yolo v1  (0) 2021.10.24
7-1. YOLO - You Only Look Once  (0) 2021.10.24
6-7~8. TF hub pretrained model SSD Inference  (0) 2021.10.22

+ Recent posts