2022. 1. 20. 22:11ㆍcomputervision/섹션 6. YOLO(You Only Look Once)
YOLO V1에 이어 등장한 YOLO V2의 경우 anchor box 기반의 모델 구성과 Darknet 기반의 backbone모델을 구성함으로써 v1에 비해 inference 성능과 detection성능 모두 높혀졌다.
YOLO V2는 다음과 같은 특징을 가진다고 요약할 수 있다.
- Batch Normalization(배치 정규화) 기법을 적용
- 13*13 feature map기반에 개별 Grid cell별 5개의 Anchor box에서 Object Detection 수행. 이때 anchor box의 크기와 비율은 K-Means Clustering 으로 설정
- 예측 bbox의 x,y 좌표가 중심 cell에서 벗어나지 않도록 Direct Location Prediction을 적용
- Darknet19 classification 모델의 채택
- classification layer를 fully connected layer에서 fully convolution으로 변경하고 서로 다른 크기의 image들로 네트워크 학습 진행
왼쪽 그림과 같이 하나의 cell에 5개의 고정된 anchor box가 만들어지게 되고 anchor box는 K-means clustering을 통해 비율과 크기가 정해지게 된다.
bbox는 총 하나의 cell 마다 5개가 존재하고 각각의 anchor box마다 총 25개의 개별 정보(중심 좌표값, 크기, 길이, class score)가 담겨지게 된다.
Direct Location Prediction
(pw, ph) : anchor box size(width, height)
(tx, ty, tw, th) : 모델 예측 offset 값
(bx, by), (bw, bh) :예측 bbox 중심 좌표와 size
anchor box의 center좌표값이 정해진 cell 중심을 일정 수준 이상 벗어 나지 못하도록 0~1 사이의 sigmoid 값으로 조절
Passthrough module을 통한 fine grained feature
Yolo v2에서는 더 작은 object를 detect하기 위해 26*26*512 feature map에서 그 특징을 그대로 유지한 채 그 크기를 13*13*2048로 reshape한 뒤 13*13*1024 feature map에 추가하여 Merge Module을 구현하였다.
Multi-scale Training
Yolo v2에서는 classification layer가 convolution layer로 바뀌어지면서 동적으로 입력 이미지의 크기를 변경이 가능했다.
학습시 매번 10회 batch 마다 입력 이미지의 크기를 320*320부터 32의 배수로 608까지 동적으로 변경하여 train을 진행하였다.
입력 이미지의 size가 커지면 mAP의 성능은 올라감에 반에 FPS의 성능은 떨어지는 것을 볼 수 있었다.
Yolo-v2의 성능 향상 표
결과적으로 YOLO V2는 전의 V1버전에 비해 성능향상을 이루어 낼 수 있게 되었다.
'computervision > 섹션 6. YOLO(You Only Look Once)' 카테고리의 다른 글
CVAT 사용해보기 (0) | 2022.01.27 |
---|---|
Ultralytics Yolo 실습(Oxford pet dataset) (0) | 2022.01.25 |
OpenCV Darknet Yolo 실습 (0) | 2022.01.21 |
YOLO(V3) 이해 (0) | 2022.01.20 |
YOLO(V1) 이해 (0) | 2022.01.20 |