Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

docs: 논문스터디 이현우 5주차 #16

Open
wants to merge 1 commit into
base: master
Choose a base branch
from
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
82 changes: 82 additions & 0 deletions week5/5주차_이현우.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,82 @@
# HAI 논문 스터디 5주차
### YOLOv4: Optimal Speed and Accuracy of Object Detection


## YOLOv1
이미지를 S x S의 그리드로 나누어 추론
각 셀에서 하나의 클래스와 2개의 바운더리를 예측
각각의 셀에서 20개의 클래스와 박스 (Pc, x, y, w, h) 2개를 가짐

각각의 클래스에 NMS를 적용
* 학습에서는 Iou가 더 높은 박스를 사용
* 테스트에서는 신뢰도가 높은 박스를 사용

수정된 GoogLeNet 기반으로 1x1 Conv를 사용해 다운샘플링함
모델의 출력은 S x S x (5 * 2 + 20)


## YOLOv2

더 빠르고 정확해짐
* batch normalization 적용
* 더 고화질인 448 * 448에서 학습
* Darknet-19로의 백본 강화
* Pass through layer 구조

Pass through layer
* 한 단계 이전에 26 * 26 * 512의 텐서를 13 * 13 * 2048로 reshape 후 concat

Anchor boxes
* 바로 bounding box를 예측하는 대신 데이터셋을 기반으로 미리 box shape를 조정
* K=5일때 정확도와 복잡성의 효율이 가장 좋았음


## YOLOv3
점진적 개선
* Feature Pyramid Network
* B-Box을 통한 클래스 예측 개선
* ResNet 기반의 Darknet-53을 사용한 백본 개선

Feature Pyramid Network
* SKip-Connection, Transpose Convolution, concat등을 사용하여 U-Net과 구조가 비슷해짐
* Large, Middle, Small scale에서 각각 박스를 예측

로지스틱 회귀 분석을 통한 점수
* IoU best에는 "1"
* Iou > 0.5이지만 best가 아니면 "ignore"
* 다른 박스에는 "0"

클래스 예측 개선
* Softmax 대신 logistic regression


## YOLOv4
속도와 정확도를 위한 다양한 실험


Bag of Freebies
* Photometric/ Geometric Distortions
* Object Occlusion
* Regularization
* Loss Function

Bag of Specials
* Enhancement of receptive field
* Attention Module
* Feature Integration
* Normalization
* Activation function

Architecture
* CSPResNext50
* CSPDarknet53

추가개선
* Mosaic, SAT과 같은 새로운 data augmentation
* 유전 알고리즘을 통한 hyper-parametes 탐색
* 수정된 SAM과 PAN, 교차 미니 배치 정규화

YOLOv4 = YOLOv3 + CSPDarknet53 + SPP + PAN + BoF + Bos

분류에서는 CutMix, Mosaic, Label Smoothing, Mish를 적용한 것이 가장 좋은 결과
감지에서는 Mosaic, 유전 알고리즘, 교차 미니 배치 정규화 등을 적용한 것이 가장 좋은 결과